-
Notifications
You must be signed in to change notification settings - Fork 1
Feature - Implement TabControl Data Model & Save Logic #9
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Title:
Feature: Implement TabControl class and SAGE engine properties
Description:
We need to support the TabControl UI element based on the original SAGE engine C++ source code . Unlike standard User controls, a Tab Control handles an array of sub-panes and specific layout orientations.
Tasks:
- Create a new
TabControlclass inheriting fromUserControl(orWindow). - Inject specific default properties into the initialization:
TABORIENTATION(default: 'TOPLEFT')TABWIDTHandTABHEIGHTNUMTABS(default: 1)
- Create a
TABSarray property capable of holding up to 8 tab dictionaries. Each dictionary must contain:NAME(label),SUBPANE(associated window name), andDISABLED(boolean). - Update the
texturesdictionary to include exactly 3 slots forENABLEDDRAWDATA: Background, Active Tab, Inactive Tab. - Update the saving logic to ensure
TABORIENTATIONis written to the file before theTABSlist.
Acceptance Criteria:
-
TabControlobject generates the correct Python dictionary structure. - All specific Tab properties exist in the Property Editor.
- Exporting to
.wndgenerates the syntax exactly as the game engine expects it (strict order of properties).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request