EditorWindowDock.txt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536
  1. DockManager implementation steps:
  2. Initial:
  3. - Open up two editor windows on app start
  4. - Initially DockManager has empty background
  5. - Dragging one editor window anywhere on the empty background docks the window
  6. - Dragging another editor window over the window shows the drop overlay and you can dock that window onto any side
  7. - Currently the overlay is always shown and will trigger on mouse move and not only mouse drag
  8. Undock:
  9. - Dragging on a title of a docked window undocks it
  10. Resize sliders
  11. - Add a button between docked windows
  12. - Allow the button to be dragged, and it will automatically resize separating widgets
  13. TitleBar dock/undock move
  14. - Dragging a title bar will move the title bar button while the cursor is within the widget area
  15. - If there are other title bars this will allow you to reposition the title bar
  16. - If cursor leaves the title bar (or widget area?) close the window and start actual drag and drop operation
  17. TitleBar dock/undock
  18. - Releasing the dragged window anywhere not on editor will re-open the window at that location
  19. - Releasing the dragged window over the drop overlay will dock the window
  20. - Moving the dragged window over a title bar will temporarily dock the title bar and allow you to move it (as in first step)
  21. - If you release the mouse the window will then be permanently docked at that location
  22. Polish TOOD:
  23. - Change cursor icon when window is dragged
  24. - Prevent docking if available size is less than 20 pixels, otherwise there might be some weirdness
  25. ------------------------
  26. Other things to remember:
  27. - Possibly add a way to have hidden widgets in the EditorWidgetContainer (like side-bars that pop on mouse over in Visual Studio)
  28. - A way to persist window states
  29. - Also a way to reset all widgets to original locations