Attempt to create custom drag&drop
Posted: Wed May 03, 2006 08:55
Hi there,
The drag&drop functionality available in CEGUI through CEGUI::DragContainer doesn't fit my requirements, so I added drag&drop functionnality to one of my own widget type.
I made it to avoid any functional change during the drag, no change in windows hierarchy or anything like that (I discovered by doing this that there is childing update when setting always on top...).
So far so good except that I can't get my widget over already "always on topped" other widgets (especially those placed higher in the hierarchy), like ScrollablePane Scrollbars. This remains my last problem, in other cases, it seems the behavior is right.
Here is what I set on the widget when "being dragged" state changes :
A also noticed that even if I set the "alwaysOnTop" flag, my problem with Scrollbars remains unchanged.
The drag&drop functionality available in CEGUI through CEGUI::DragContainer doesn't fit my requirements, so I added drag&drop functionnality to one of my own widget type.
I made it to avoid any functional change during the drag, no change in windows hierarchy or anything like that (I discovered by doing this that there is childing update when setting always on top...).
So far so good except that I can't get my widget over already "always on topped" other widgets (especially those placed higher in the hierarchy), like ScrollablePane Scrollbars. This remains my last problem, in other cases, it seems the behavior is right.
Here is what I set on the widget when "being dragged" state changes :
Code: Select all
void setDragging( bool bState )
{
getParent()->setMutedState( bState );
setClippedByParent( !bState );
setModalState( bState );
//setAlwaysOnTop( bState );
//setEnabled( !bState );
}
A also noticed that even if I set the "alwaysOnTop" flag, my problem with Scrollbars remains unchanged.