TreeView.txt 2.0 KB

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