ahr-i / luminex-setup-manager

We provide an installer that makes it easy to install the Luminex-Agent.
GNU General Public License v3.0
2 stars 0 forks source link

[Proposal] Simplifying Screen Implementation #9

Open ahr-i opened 1 week ago

ahr-i commented 1 week ago

At the current implementation level, adding and modifying screens is very challenging. Therefore, I propose a new approach.

Currently, there are a total of 9 screens. To represent these, we have 9 separate WinForms and at least 9 corresponding control files in C#. Each time a new screen is needed, we must create both a WinForm and a control file.

However, with just 4 WinForms, we can represent all existing screens. Here are the details:


  1. Header Text / Main Content / 1 Left Button / 2 Right Buttons

    • final_screen
    • step_2_wsl2
    • step_3_docker
    • step_6_agent
  2. Centered Header Text / Text Box / 1 Left Button / 2 Right Buttons

    • step_0_main
  3. Header Text / Main Content / Text Box / Bottom Text / 1 Left Button / 2 Right Buttons

    • step_1_agreement
    • step_4_nvidia_driver
    • step_5_cuda
  4. Progress Bar / Progress Percentage Text

    • ProgressForm

The approach is quite simple:
Create template screens, and delegate all controls to external handlers.

ahr-i commented 1 week ago

I’m currently working on this. Fingers crossed it’ll be finished soon. :D :D :D :D :D :D :D

ahr-i commented 1 week ago

With the addition of the Template Form Type, things have become much simpler. The update has been made, and if no bugs are found, this issue will be closed.