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