TODOEditor.txt 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. TODO for next few days:
  2. - Layout manager that saves/restores user layout
  3. - Keeps position, size ands possibly docking information for every window
  4. (Main window probably needs to be handled specially)
  5. - At startup all windows register with it
  6. - Calling restore() will place all windows in proper positions
  7. - It will also set up hooks to those windows so it gets updates when they get moved/sized/docked
  8. - Project create/Project open window
  9. - Shows at the start of the editor
  10. - Also has hooks directly from File menu (Create project, Open project)
  11. - EditorPrefs class
  12. - Stores all of editor preferences, including layout information
  13. - Also keeps a list of all known projects
  14. - Menu bar:
  15. - File->Create project, File->Open project
  16. - Windows menu with a list of all windows
  17. - List gets populated easily so people can write plugin windows
  18. - Plugin windows should possibly also be able to assign themselves to other Menu item than Windows
  19. - Docking system
  20. - All open windows can be docked/unocked
  21. - Their layout data gets saved
  22. - The way I handle editor windows at the moment is pretty weird with alot of custom handling for resize/move
  23. - Attempt to get rid of that or at least dont use it until I have window look more fleshed out
  24. - Look at QSizeGrip for resizing
  25. - QStackWidget (or QStackLayout) for stacking and tabbed windows
  26. - Make sure entire interface is skinnable
  27. - Create a generic "Prefs" system that supports arrays and loading/saving to ini files
  28. - Using EditorPrefs is too cumbersome and it won't allow extensions to use it anyway
  29. Dock overlay widget colors need to be customizable
  30. Unique IDs for windows. Currently I don't guarantee IDs will be the same if user adds a window before I restore them from file.
  31. When restoring windows what happens why I try to restore an unloaded plugin?
  32. - A NullWindow?
  33. After I undock a window it needs to return itself to the default size
  34. - Allow widgets to specify default size
  35. WindowDockManager
  36. Checks if we're mousing over any dock widgets
  37. If not it checks if we're mousing over DynamicTabBar (in any open window)
  38. If we are it gets the polygons from DynamicTabBar and renders them
  39. Also gets the current polygon and highlights it
  40. Upon mouse release it find exactly at what index the mouse was released and adds the widget to the tab bar
  41. getWindowAtPosition doesn't consider if two or more windows are overlapping. It should return the front most
  42. Dragging window around occludes possible dock points. I need to make the window less visible while dragging.