Implemented window coord mirroring for RTL. This

is only implemented for *setting* the coordinates
    which is enough for wxSizers and 99% or other
    dialogs to work.
  Also reversed the meaning of wxStaticText alignment
    in RTL mode. It is possible that later versions
    of GTK actually do that themselves. (?)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2006-09-10 19:39:22 +00:00
parent 1d203ed837
commit 6959763942
5 changed files with 60 additions and 30 deletions

View File

@@ -237,8 +237,13 @@ static void gtk_frame_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
(int)alloc->height );
*/
// Tell the wxWindow class about the new size
win->m_width = alloc->width;
win->m_height = alloc->height;
if (win->m_mainWidget)
GTK_PIZZA(win->m_mainWidget)->m_width = win->m_width;
win->GtkUpdateSize();
}
}
@@ -559,6 +564,8 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS );
gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget );
GTK_PIZZA(m_mainWidget)->m_width = m_width;
if (m_miniEdge == 0) // wxMiniFrame has its own version.
{
// For m_mainWidget themes
@@ -852,6 +859,9 @@ void wxTopLevelWindowGTK::DoSetSize( int x, int y, int width, int height, int si
}
if (width != -1) m_width = width;
if (height != -1) m_height = height;
if (m_mainWidget)
GTK_PIZZA(m_mainWidget)->m_width = m_width;
/*
if ((sizeFlags & wxSIZE_AUTO_WIDTH) == wxSIZE_AUTO_WIDTH)
@@ -1024,6 +1034,7 @@ void wxTopLevelWindowGTK::GtkOnSize()
if (client_h < 0)
client_h = 0;
// Let the parent perform the resize
gtk_pizza_set_size( GTK_PIZZA(m_mainWidget),
m_wxwindow,
client_x, client_y, client_w, client_h );