Refactor the entire frame layout
DennisRas opened this issue ยท 4 comments
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.
Different idea: Separate characters from the left first column in order to allow scrolling in the future. Turn each character into one column each.
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
Hint: Use TOPLEFT and TOPRIGHT points combined with a height to remove the need of resizing the width of every row.