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:
@@ -208,6 +208,7 @@ bool wxArrowButton::Create( wxSpinButton* parent, wxWindowID id,
|
|||||||
xmArrowButtonWidgetClass,
|
xmArrowButtonWidgetClass,
|
||||||
parentWidget,
|
parentWidget,
|
||||||
XmNarrowDirection, arrow_dir,
|
XmNarrowDirection, arrow_dir,
|
||||||
|
XmNborderWidth, 0,
|
||||||
NULL );
|
NULL );
|
||||||
|
|
||||||
XtAddCallback( (Widget) m_mainWidget,
|
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,
|
void wxSpinButton::DoSetSize(int x, int y, int width, int height,
|
||||||
int sizeFlags)
|
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 )
|
if( sizeFlags & wxSIZE_USE_EXISTING && width == -1 )
|
||||||
width = GetSize().x;
|
width = GetSize().x;
|
||||||
if( sizeFlags & wxSIZE_USE_EXISTING && height == -1 )
|
if( sizeFlags & wxSIZE_USE_EXISTING && height == -1 )
|
||||||
@@ -326,8 +323,20 @@ void wxSpinButton::Increment( int delta )
|
|||||||
|
|
||||||
int npos = m_pos + delta;
|
int npos = m_pos + delta;
|
||||||
|
|
||||||
if( npos < m_min ) npos = m_min;
|
if( npos < m_min )
|
||||||
if( npos > m_max ) npos = m_max;
|
{
|
||||||
|
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;
|
if( npos == m_pos ) return;
|
||||||
|
|
||||||
wxSpinEvent event( delta > 0 ? wxEVT_SCROLL_LINEUP : wxEVT_SCROLL_LINEDOWN,
|
wxSpinEvent event( delta > 0 ? wxEVT_SCROLL_LINEUP : wxEVT_SCROLL_LINEDOWN,
|
||||||
|
Reference in New Issue
Block a user