Honour wxSB_WRAP in wxMotif spin button

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon
2002-08-27 20:32:21 +00:00
parent c88b736cb9
commit de505a9e23

View File

@@ -208,6 +208,7 @@ bool wxArrowButton::Create( wxSpinButton* parent, wxWindowID id,
xmArrowButtonWidgetClass,
parentWidget,
XmNarrowDirection, arrow_dir,
XmNborderWidth, 0,
NULL );
XtAddCallback( (Widget) m_mainWidget,
@@ -307,10 +308,6 @@ void wxSpinButton::DoMoveWindow(int x, int y, int width, int height)
void wxSpinButton::DoSetSize(int x, int y, int width, int height,
int sizeFlags)
{
if( sizeFlags & wxSIZE_AUTO_WIDTH && width == -1 )
width = 30;
if( sizeFlags & wxSIZE_AUTO_HEIGHT && height == -1 )
height = 30;
if( sizeFlags & wxSIZE_USE_EXISTING && width == -1 )
width = GetSize().x;
if( sizeFlags & wxSIZE_USE_EXISTING && height == -1 )
@@ -326,8 +323,20 @@ void wxSpinButton::Increment( int delta )
int npos = m_pos + delta;
if( npos < m_min ) npos = m_min;
if( npos > m_max ) npos = m_max;
if( npos < m_min )
{
if( GetWindowStyle() && wxSP_WRAP )
npos = m_max;
else
npos = m_min;
}
if( npos > m_max )
{
if( GetWindowStyle() && wxSP_WRAP )
npos = m_min;
else
npos = m_max;
}
if( npos == m_pos ) return;
wxSpinEvent event( delta > 0 ? wxEVT_SCROLL_LINEUP : wxEVT_SCROLL_LINEDOWN,