virtual void OnInternalIdle();
virtual void DoGetClientSize( int *width, int *height ) const;
+ virtual void DoGetSize( int *width, int *height ) const;
virtual void DoSetClientSize(int width, int height);
virtual void DoSetSize(int x, int y,
int width, int height,
m_mainWindow = (WXWindow) xwindow;
wxAddWindowToTable( xwindow, (wxWindow*) this );
- XMapWindow( xdisplay, xwindow );
+ // XMapWindow( xdisplay, xwindow );
xattributes.event_mask =
ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
m_clientWindow = (WXWindow) xwindow;
wxAddClientWindowToTable( xwindow, (wxWindow*) this );
+ m_isShown = FALSE;
XMapWindow( xdisplay, xwindow );
}
else
m_clientWindow = (WXWindow) xwindow;
wxAddWindowToTable( xwindow, (wxWindow*) this );
- XMapWindow( xdisplay, xwindow );
+ m_isShown = FALSE;
+ // XMapWindow( xdisplay, xwindow );
}
#else
fixme
*height = m_height;
}
+void wxTopLevelWindowX11::DoGetSize( int *width, int *height ) const
+{
+ // TODO add non-client size
+
+ if (width)
+ *width = m_width;
+ if (height)
+ *height = m_height;
+}
+
void wxTopLevelWindowX11::DoSetClientSize(int width, int height)
{
- // wxLogDebug("DoSetClientSize: %s (%ld) %dx%d", GetClassInfo()->GetClassName(), GetId(), width, height);
-
+ int old_width = m_width;
+ int old_height = m_height;
+
m_width = width;
m_height = height;
+ if (m_width == old_width && m_height == old_height)
+ return;
+
+ // wxLogDebug("DoSetClientSize: %s (%ld) %dx%d", GetClassInfo()->GetClassName(), GetId(), width, height);
+
#if !wxUSE_NANOX
XSizeHints size_hints;
size_hints.flags = PSize;
void wxTopLevelWindowX11::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
- // wxLogDebug("DoSetSize: %s (%ld) %d, %d %dx%d", GetClassInfo()->GetClassName(), GetId(), x, y, width, height);
+ int old_x = m_x;
+ int old_y = m_y;
+ int old_width = m_width;
+ int old_height = m_height;
if (x != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
m_x = x;
if (height != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
m_height = height;
+
+ if (m_x == old_x && m_y == old_y && m_width == old_width && m_height == old_height)
+ return;
+ // wxLogDebug("DoSetSize: %s (%ld) %d, %d %dx%d", GetClassInfo()->GetClassName(), GetId(), x, y, width, height);
+
#if !wxUSE_NANOX
XSizeHints size_hints;
size_hints.flags = 0;