Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Widgets - General questions or Mixed problems » DockCtrl (A dockable window widget for U++)
Re: DockCtrl (A dockable window widget for U++) [message #11810 is a reply to message #11482] Wed, 26 September 2007 14:57 Go to previous messageGo to previous message
Oblivion is currently offline  Oblivion
Messages: 1094
Registered: August 2007
Senior Contributor
Ok, from now on DockCtrl has its very basic DnD mechanism (no position/placement awareness added yet). I've posted the new version of the example exe. You can test it Smile

I am trying to implement two types of DnD mechanism. First one uses a sort of tracker rectangle (which is, at the moment for testing-purpose only (so please don't get dissapointed by it's ugliness, it will be refined as well Very Happy ). It works fine. Second "will" use solid window dragging (as in QT). But the problem is solid window draging needs a neat trick which will involve win32 API functions, so I will need some assistance about X11 equivalents. In fact, DockCtrl already uses some win32 API calls, so I need help Crying or Very Sad . Here are the code snippets which need to be implemented in X11:
(don't get confused about the other methods, I only need X11 API calls)

//====================================================
#ifdef PLATFORM_WIN32
LRESULT DockWindow::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
UINT defmsg = TopWindow::WindowProc(message, wParam, lParam);

if(IsFloating())
{
if(message == WM_MOVING)
{
POINT pos; GetCursorPos(&pos);
DockCtrlMessage(DMSG_DRAGGING, Point(pos.x, pos.y));
}
if(defmsg == HTCAPTION)
{
if(DnDHasTarget())
{
Dock(DndGetTarget(), State(), Placement(), Position());
Refresh();
DnDTargetORange();
}

}
}

return defmsg;
}
#endif
//==========================================================

Rect DockableCtrl::GetWindowRect(TopWindow& window, Rect& r)
{
#ifdef PLATFORM_WIN32

Rect wrect = r;
::AdjustWindowRect(wrect, window.GetStyle(), false); //Win32 call
return wrect;

#endif

//==========================================================

Any suggestions, help and code are welcome Smile

Regards


[Updated on: Wed, 26 September 2007 15:34]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: TheIDE bug in layout designer?
Next Topic: Linux RectTracker problem
Goto Forum:
  


Current Time: Thu May 16 04:49:19 CEST 2024

Total time taken to generate the page: 0.02461 seconds