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++ Library : Other (not classified elsewhere) » Display problem with Splitter, GLCtrl and MenuBar
Re: Display problem with Splitter, GLCtrl and MenuBar [message #15800 is a reply to message #15750] Thu, 08 May 2008 00:21 Go to previous messageGo to previous message
mdelfede is currently offline  mdelfede
Messages: 1307
Registered: September 2007
Ultimate Contributor
sorry, I posted incomplete quickfix here in forum... here the complete Status function in X11DHCtrl.cpp (some declarations were missing...). From line 294 :

/////////////////////////////////////////////////////////////////////////////////////////
// State handler
void DHCtrl::State(int reason)
{
	Window dummy;
	int x, y;
	unsigned int width, height, border, depth;
	Rect r;

	// No handling if in error state
	if( isError)
		return;

	// Initializes the control if needed (and possible...)
	if(!isInitialized && GetTopWindow() && GetTopWindow()->GetWindow())
		Init();

	if(isInitialized)
	{
		switch( reason )
		{
			case FOCUS      : // = 10,
				break;

			case ACTIVATE   : // = 11,
				break;

			case DEACTIVATE : // = 12,
				break;

			case SHOW       : // = 13,
				MapWindow(IsShown());
				break;

			case ENABLE     : // = 14,
				break;

			case EDITABLE   : // = 15,
				break;

			case OPEN       : // = 16,
				break;

			case CLOSE      : // = 17,
				Terminate();
				break;

			case POSITION   : // = 100,
			case LAYOUTPOS  : // = 101,
				r = GetRectInParentWindow();
				XGetGeometry(Xdisplay, top->window, &dummy, &x, &y, &width, &height, &border, &depth);
				if( (x != r.left || y != r.top) && ((int)width == r.Width() && (int)height == r.Height()))
					XMoveWindow(Xdisplay, top->window, r.left, r.top);
				else if( (x == r.left || y == r.top) && ((int)width != r.Width() || (int)height != r.Height()))
					XResizeWindow(Xdisplay, top->window, r.Width(), r.Height());
				else if( x != r.left || y != r.top || (int)width != r.Width() || (int)height != r.Height())
					XMoveResizeWindow(Xdisplay, top->window, r.left, r.top, r.Width(), r.Height());

				break;

			default:
				break;

		} // switch(reason)
	}
} // END DHCtrl::State()


In svn that's already ok.
Sorry again for the missing part Sad

Max
 
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: ImageCtrl issue
Next Topic: Uninitialized class members.
Goto Forum:
  


Current Time: Thu May 09 12:44:20 CEST 2024

Total time taken to generate the page: 0.01386 seconds