OmniaFramework/other/TODO.txt
2026-05-11 21:10:41 +02:00

116 lines
4.1 KiB
Text

***Add Color constants to ostd::Color
***Add MouseEntered/MouseExited callbacks
***Fix mouse detection currently using local coordinates
***implement file theme loading
***Implemenmt MouseDragged callback
***Add scissoring to only draw inside the bounds of containers
***Implement Drag And Drop
***Implement a way to determine on what widget (in the hierarchy chain) and event must stop
***Implement const in stylesheet
***Implement color constants in stylesheet
***Implement margin for widgets
***Implement mouse scroll callback
***Fix: Text rendering bug in labels
***Implement callback for state changes in checkbox
***FIX: WindowOutputHandler text rendering
***Implement wrappers in Renderer2D to take a center and size for rects
***find a way to add fixed update to gui::Window
***Add triangle drawing functions to BasicRenderer2D
***Implement Panel title
***Implement show/hide functionality for widgets
***Create reliable default stylesheet
***Implement global scale (probably query desktop scale and adjust accordingly)
***Add Dark Mode Default theme
***FIX: Optimize ListView
***FIX: Limit FPS even when continuous events happen
***FIX: Float values in stylesheet needing to have decimal point to be read as float
***Make parsing of vec2 and rect in stylesheet, consistent with other value functions like gradients and animations
***FIX: ToolBar::AddButton not consistent order
***FIX: KeyPress crash on TreeView
***FIX: Animated icons not working in TreeView
***Check if possible, then change all WindowCore& refs to Window&
***Add utf-8 codepoint walking functions to String
***Change the stored text in KeyEventData from a single char to the full utf-8 string
***Check if Text Entered events are enabled via SDL
***Add modifiers to Event.keyboard path
***Implement max length in TextEdit
***Make label auto-size
***Implement shift-selection in TextEdit (mouse/keyboard)
***Implement ctrl-selection/navigation in TextEdit
***Implement home/end and pg up/pg down in TextEdit
***Implement Undo stack in TextBuffer
***Resolve lifetime issue for character filter in TextEdit
Implement cursors in Stylesheet
FIX: Window getting exponentially bigger when Desktop scale changes
FIX: Refreshing scroll when content extent changes
See if I can query OS theme mode to saelect the right theme
Add buttons to scroll tabs in TabPanel
Add Font class, to handle different font attributes
Add multi-selection to TreeView
Cache getStringDimensions() call in TabPanel::draw_tabs
Add gradient to TreeView selection
Add gradient to menubar background and selection
Add cursor stack
Add MacOS global menu integration
FIX: Tooltips
XML Layout file?
Add Hex Editor widget
Add Message Boxes
FIX: Widget Content extents increasing negatively not showing scrollbars
FIX: Button state getting hung after showing an openFileDialog
FIX: TreeView last item is covered by scrollbar
FIX: TreeView last item not clickable even when no horizontal scrollbar present
FIX: Refresh display text in ComboBox when font size changes and also on theme reload
Add setSelectedMenuItem() function to ComboBox
FIX: ContextMenu rendering partly outside the screen when showing it close to the right Window border
Add ToolBar::addButton overload that takes a ogfx::Icon wrapper
Redesign theme overrides to be more robust
Implement a font-fallback chain in FontGlyphAtlas
Implement appendText in TextBuffer and TextEdit
Implement per-glyph caching in BasicRenderer2D
Added double-click event to widgets
Implement notification system
Fix cursor not advancing when selection is present and left arrow is pressed in TextEdit
Check widgets/layouts interactions
Add per-widget font
Implement following widgets:
***Label
***Checkbox
***Panel / Container
***Title Label
***ScrollView
***Image / Icon
***Tab Panel
***Button
***Image/Icon
***Save/Open File Dialogs (and folder dialogs)
***Tooltips
***Radio Button
***Grouping
***Progressbar
***Horizontal Slider
***Vertical Slider
***ListBox
***Context Menu
***MenuBar
***Toolbar
***StatusBar
***Layouts
***Vertical
***Horizontal
***Grid
***Fill
***ComboBox
***TreeView
***Text Input
***Numeric Field
***Password Field
Text Area
Color Picker
Calendar