add wxScrollHelper::ShowScrollbars() (implemented for GTK only right now, generic implementation coming soon)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-12-24 15:58:37 +00:00
parent a805de23ff
commit 6362d82b3e
7 changed files with 130 additions and 1 deletions

View File

@@ -188,3 +188,45 @@ void wxScrollHelperNative::DoScroll( int x_pos, int y_pos )
DoScrollOneDir(wxHORIZONTAL, x_pos, m_xScrollPixelsPerLine, &m_xScrollPosition);
DoScrollOneDir(wxVERTICAL, y_pos, m_yScrollPixelsPerLine, &m_yScrollPosition);
}
// ----------------------------------------------------------------------------
// scrollbars visibility
// ----------------------------------------------------------------------------
namespace
{
GtkPolicyType GtkPolicyFromWX(wxScrollbarVisibility visibility)
{
GtkPolicyType policy;
switch ( visibility )
{
case wxSHOW_SB_NEVER:
policy = GTK_POLICY_NEVER;
break;
case wxSHOW_SB_DEFAULT:
policy = GTK_POLICY_AUTOMATIC;
break;
case wxSHOW_SB_ALWAYS:
policy = GTK_POLICY_ALWAYS;
break;
}
return policy;
}
} // anonymous namespace
void wxScrollHelperNative::DoShowScrollbars(wxScrollbarVisibility horz,
wxScrollbarVisibility vert)
{
GtkScrolledWindow * const scrolled = GTK_SCROLLED_WINDOW(m_win->m_widget);
wxCHECK_RET( scrolled, "window must be created" );
gtk_scrolled_window_set_policy(scrolled,
GtkPolicyFromWX(horz),
GtkPolicyFromWX(vert));
}