Skip to content

Split patch forms from PipelineForm into individual classes - #164

Open
Toastbrot236 wants to merge 20 commits into
LittleBigRefresh:mainfrom
Toastbrot236:gui-rework
Open

Toastbrot236 wants to merge 20 commits into
LittleBigRefresh:mainfrom
Toastbrot236:gui-rework

Conversation

@Toastbrot236

@Toastbrot236 Toastbrot236 commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

This is the first major PR of the Refresher rewrite. This PR removes the TPipeline generic from PipelineForm, and makes the class abstract. From now on, every form will be its own class extending PipelineForm. Additionally, I've marked some of PipelineForm's methods (e.g. OnPatchButtonClick) as abstract or virtual so they can easily be overridden if wanted, and I also renamed some members and moved them around in a way where the order and the names finally make sense and are consistent.

I've moved all major GUI components shared by multiple forms (e.g. server URL input, join key input, game dropdown etc.) into their own classes so they can easily be reused by multiple form classes with little duplication. From now on, every class extending PipelineForm has to just implement its own layout in its constructor, and also implement AddFormInputsToPipeline(), which takes care of reading inputs from GUI components into the Pipeline. As part of the rework, and in preparation of the next PR, this PR also gets rid of ExamplePipeline because it keeps getting in the way while not having any purpose at all.

Additionally, this also added some needed validation in some places, and since I already reworked how GUI components are initialized, I've also used this opportunity to do minor tweaks to the form GUIs. Some examples:

grafik grafik

All form pages seem to open and initialize properly, and while I have tested patch, revert, and AutoDiscover on a few of them, I haven't tested these features on all of them, so that has to happen before merging this. Additionally, the progress bars seem to not show on the form, so that also has to be fixed.

Closes #154.

@Toastbrot236 Toastbrot236 added this to the v3.0.0 milestone Oct 31, 2026
@Toastbrot236
Toastbrot236 requested a review from FeTetra October 31, 2026 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use dedicated classes for each page

1 participant