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:
@@ -2115,7 +2115,7 @@ gtk_window_realized_callback( GtkWidget *m_widget, wxWindow *win )
|
||||
|
||||
static
|
||||
void gtk_window_size_callback( GtkWidget *WXUNUSED(widget),
|
||||
GtkAllocation *WXUNUSED(alloc),
|
||||
GtkAllocation *alloc,
|
||||
wxWindow *win )
|
||||
{
|
||||
if (g_isIdle)
|
||||
@@ -2127,6 +2127,8 @@ void gtk_window_size_callback( GtkWidget *WXUNUSED(widget),
|
||||
if ((client_width == win->m_oldClientWidth) && (client_height == win->m_oldClientHeight))
|
||||
return;
|
||||
|
||||
GTK_PIZZA(win->m_wxwindow)->m_width = alloc->width;
|
||||
|
||||
win->m_oldClientWidth = client_width;
|
||||
win->m_oldClientHeight = client_height;
|
||||
|
||||
@@ -2732,7 +2734,9 @@ bool wxWindowGTK::Destroy()
|
||||
|
||||
void wxWindowGTK::DoMoveWindow(int x, int y, int width, int height)
|
||||
{
|
||||
// inform the parent to perform the move
|
||||
gtk_pizza_set_size( GTK_PIZZA(m_parent->m_wxwindow), m_widget, x, y, width, height );
|
||||
|
||||
}
|
||||
|
||||
void wxWindowGTK::DoSetSize( int x, int y, int width, int height, int sizeFlags )
|
||||
@@ -3479,7 +3483,16 @@ void wxWindowGTK::SetLayoutDirection(wxLayoutDirection dir)
|
||||
GTKSetLayout(m_widget, dir);
|
||||
|
||||
if (m_wxwindow)
|
||||
GTKSetLayout(m_widget, dir);
|
||||
GTKSetLayout(m_wxwindow, dir);
|
||||
}
|
||||
|
||||
wxCoord
|
||||
wxWindowGTK::AdjustForLayoutDirection(wxCoord x,
|
||||
wxCoord WXUNUSED(width),
|
||||
wxCoord WXUNUSED(widthTotal)) const
|
||||
{
|
||||
// We now mirrors the coordinates of RTL windows in GtkPizza
|
||||
return x;
|
||||
}
|
||||
|
||||
void wxWindowGTK::DoMoveInTabOrder(wxWindow *win, MoveKind move)
|
||||
|
Reference in New Issue
Block a user