Fix wxALWAYS_SHOW_SB behaviour in wxGTK.
Don't show the scrollbar always if it's not enabled at all, i.e. if the corresponding wxHSCROLL or wxVSCROLL style is not specified. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2270,14 +2270,20 @@ void wxWindowGTK::GTKCreateScrolledWindowWith(GtkWidget* view)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (HasFlag(wxALWAYS_SHOW_SB))
|
// If wx[HV]SCROLL is not given, the corresponding scrollbar is not shown
|
||||||
{
|
// at all. Otherwise it may be shown only on demand (default) or always, if
|
||||||
gtk_scrolled_window_set_policy( scrolledWindow, GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS );
|
// the wxALWAYS_SHOW_SB is specified.
|
||||||
}
|
GtkPolicyType horzPolicy = HasFlag(wxHSCROLL)
|
||||||
else
|
? HasFlag(wxALWAYS_SHOW_SB)
|
||||||
{
|
? GTK_POLICY_ALWAYS
|
||||||
gtk_scrolled_window_set_policy( scrolledWindow, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
|
: GTK_POLICY_AUTOMATIC
|
||||||
}
|
: GTK_POLICY_NEVER;
|
||||||
|
GtkPolicyType vertPolicy = HasFlag(wxVSCROLL)
|
||||||
|
? HasFlag(wxALWAYS_SHOW_SB)
|
||||||
|
? GTK_POLICY_ALWAYS
|
||||||
|
: GTK_POLICY_AUTOMATIC
|
||||||
|
: GTK_POLICY_NEVER;
|
||||||
|
gtk_scrolled_window_set_policy( scrolledWindow, horzPolicy, vertPolicy );
|
||||||
|
|
||||||
m_scrollBar[ScrollDir_Horz] = GTK_RANGE(gtk_scrolled_window_get_hscrollbar(scrolledWindow));
|
m_scrollBar[ScrollDir_Horz] = GTK_RANGE(gtk_scrolled_window_get_hscrollbar(scrolledWindow));
|
||||||
m_scrollBar[ScrollDir_Vert] = GTK_RANGE(gtk_scrolled_window_get_vscrollbar(scrolledWindow));
|
m_scrollBar[ScrollDir_Vert] = GTK_RANGE(gtk_scrolled_window_get_vscrollbar(scrolledWindow));
|
||||||
|
Reference in New Issue
Block a user