TreeView.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. TODO:
  2. - Callback on tree item select
  3. - When dragging in tree view automatically expand mouse over elements
  4. - When I select elements in tree view via arrow keys, make sure to automatically scroll the scroll-area so that element becomes visible
  5. - Context menu with rename/copy/paste/duplicate
  6. - Delete with Undo/Redo support
  7. - Auto scroll
  8. - 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.
  9. - Support for icons next to tree elements
  10. - Clicking on an already selectecd element starts rename
  11. - Will likely need some kind of check to ignore double-clicks?
  12. MenuBar problems:
  13. - Clicking the top menu item closes and immediately opens the menu again (it should only close it)
  14. - Something similar probably also happens with ListBox
  15. Other:
  16. - "Ping" effect
  17. - Copy/Paste/Duplicate
  18. - 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.
  19. --------------------------------------------------
  20. LOW PRIORITY:
  21. Shortcut plan:
  22. Replace all GUICommandEventType with two things:
  23. - 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.
  24. - Events like Rename, Undo, Redo, Copy, Paste, etc. should be globally set shortcut keys
  25. - Shortcut keys are globally registered on program start in ShortcutManager
  26. - Objects can then register callbacks for certain shortcut using mechanism like: addCallback("Undo", onUndo).
  27. - They should also be able to unregister those callbacks.
  28. - GUIElement can choose to listen to certain shortcut keys
  29. - getUsedShortcut is a overridable method that returns a list of shortcuts and callbacks
  30. - When element comes into focus or loses focus GUIManager will register/unregister those shortcuts with ShortcutManager
  31. - I should probably prevent one shortcut from possibly triggering multiple callbacks
  32. - Whenever some key combination or a single key is pressed all elements in focus get send the shortcut key (if that shortcut exists)