AlterEgo

AlterEgo

39k Downloads

Refactor the entire frame layout

DennisRas opened this issue ยท 4 comments

commented

Currently the UI table structure is hardcoded.

It would be a lot easier to work with if I had a table object for creating and updating cell values, layout and event handlers for all rows and columns.

commented

Different idea: Separate characters from the left first column in order to allow scrolling in the future. Turn each character into one column each.

commented

Suggested new frame hierarchy and templates:

Window
Window.Border
Window.TitleBar
Window.TitleBar.Icon
Window.TitleBar.Text
Window.TitleBar.Dropdowns[]
Window.TitleBar.Dropdowns[].TemplateDropdown*
Window.TitleBar.CloseButton
Window.TitleBar.CloseButton.Border
Window.TitleBar.CloseButton.Text
Window.Body
Window.Body.Sidebar
Window.Body.Sidebar.Labels[]
Window.Body.Sidebar.Labels[].TemplateLabel*
Window.Body.ScrollingFrame
Window.Body.ScrollingFrame.Characters[]
Window.Body.ScrollingFrame.Characters[].TemplateCharacter*

TemplateDropdown
TemplateDropdown.Border
TemplateDropdown.Button
TemplateDropdown.Button.Icon
TemplateDropdown.Button.Text
TemplateDropdown.Options[]
TemplateDropdown.Options[].Option
TemplateDropdown.Options[].Option.Checkbox
TemplateDropdown.Options[].Option.Text

TemplateLabel
TemplateLabel.Icon
TemplateLabel.Text

TemplateCharacter
TemplateCharacter.Name
TemplateCharacter.Name.Text
TemplateCharacter.Realm
TemplateCharacter.Realm.Text
TemplateCharacter.Rating
TemplateCharacter.Rating.Text
TemplateCharacter.ItemLevel
TemplateCharacter.ItemLevel.Text
TemplateCharacter.Vault
TemplateCharacter.Vault.Text
TemplateCharacter.CurrentKey
TemplateCharacter.CurrentKey.Text
TemplateCharacter.Affixes[]
TemplateCharacter.Affixes[].Affix
TemplateCharacter.Affixes[].Affix.Icon
TemplateCharacter.Dungeons[]
TemplateCharacter.Dungeons[].Keys[]
TemplateCharacter.Dungeons[].Keys[].Key
TemplateCharacter.Dungeons[].Keys[].Key.Text
TemplateCharacter.Dungeons[].Keys[].Key.Icon

commented

Hint: Use TOPLEFT and TOPRIGHT points combined with a height to remove the need of resizing the width of every row.

commented

This is now completed.