| 12345678910111213141516171819202122232425262728293031323334 |
- Add icons to drag and drop - There's a built-in windows icon for this. I think. Although solution that accepts custom cursors is probably better longterm. (Special class BuiltinCursors?)
- - Drag and drop manager currently ignores the provided icon, but it should use it as a cursor
- Add highlight to WindowMover so I can know when I'm mousing over it with a dragged window in hand
- Ensure that dropping a window onto a mover will actually docks it properly
- GUIManager only changes mouse over events in MouseMove method, but that method doesn't get called when mouse leaves the window!
- I still have the issue where GUIManager hack code got triggered
- Get rid of the GUIManager mouseUp hack when I ensure resize/move using non client areas work
- Prevent docking if available size is less than 20 pixels, otherwise there might be some weirdness
- Possible solution to MouseUp problem:
- on WM_ENTERSIZEMOVE call OIS and SetCooperativeLevel(BACKGROUND)
- and on WM_EXITSIZEMOVE revert back to FOREGROUND coop level
- And for MouseMove problem:
- Track mouse leave events, add a handler to Platform and hook up GUIManager to it
- ------------------------
- Other things to remember:
- - Possibly add a way to have hidden widgets in the EditorWidgetContainer (like side-bars that pop on mouse over in Visual Studio)
- - A way to persist window states
- - Also a way to reset all widgets to original locations
- Will destroying a GUIWidget properly schedule destruction? (i.e. so it won't be destroyed mid-frame)
- - I will probably need to add deferred destroy to Components and SceneObjects as well
- GUIViewport:
- - TODO - GUIViewport updateRenderElementsInternal only gets called when contents change, but viewport should update even if
- only its offset changes (normally that just marks the mesh as modified, which doesn't result in a call to updateRenderElementsInternal)
- - UPDATE: I don't use GUIViewport anymore
|