| 123456789101112131415161718192021222324252627282930313233343536 |
- TODO:
- - Callback on tree item select
- - When dragging in tree view automatically expand mouse over elements
- - When I select elements in tree view via arrow keys, make sure to automatically scroll the scroll-area so that element becomes visible
- - Context menu with rename/copy/paste/duplicate
- - Delete with Undo/Redo support
- - Auto scroll
- - Sliding over top or bottom of the tree view while dragging an element will search GUIElement parents to find a ScrollArea. If it finds one it will attempt to scroll up or down.
- - Support for icons next to tree elements
- - Clicking on an already selectecd element starts rename
- - Will likely need some kind of check to ignore double-clicks?
- MenuBar problems:
- - Clicking the top menu item closes and immediately opens the menu again (it should only close it)
- - Something similar probably also happens with ListBox
- Other:
- - "Ping" effect
- - Copy/Paste/Duplicate
- - This is more of a problem with actual copying of SceneObjects (It's not implemented). I should be able to serialize, and then de-serialize with a new parent as a form of copy.
- --------------------------------------------------
- LOW PRIORITY:
- Shortcut plan:
- Replace all GUICommandEventType with two things:
- - Events like CursorMoveUp should just be received a keys + modifiers (shift/ctrl/alt) and the individual element can then decide what to do with them and how to interpret them.
- - Events like Rename, Undo, Redo, Copy, Paste, etc. should be globally set shortcut keys
- - Shortcut keys are globally registered on program start in ShortcutManager
- - Objects can then register callbacks for certain shortcut using mechanism like: addCallback("Undo", onUndo).
- - They should also be able to unregister those callbacks.
- - GUIElement can choose to listen to certain shortcut keys
- - getUsedShortcut is a overridable method that returns a list of shortcuts and callbacks
- - When element comes into focus or loses focus GUIManager will register/unregister those shortcuts with ShortcutManager
- - I should probably prevent one shortcut from possibly triggering multiple callbacks
- - Whenever some key combination or a single key is pressed all elements in focus get send the shortcut key (if that shortcut exists)
|