/////////////////////////////////////////////////////////////////////////////
-// Name: spinbutt.cpp
+// Name: src/osx/cocoa/spinbutt.mm
// Purpose: wxSpinButton
// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
-// RCS-ID: $Id: spinbutt.cpp 54129 2008-06-11 19:30:52Z SC $
+// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+ (void)initialize
{
static BOOL initialized = NO;
- if (!initialized)
+ if (!initialized)
{
initialized = YES;
wxOSXCocoaClassAddWXMethods(self);
{
m_formerValue = 0;
}
-
+
~wxSpinButtonCocoaImpl()
{
}
void wxSpinButtonCocoaImpl::mouseEvent(WX_NSEvent event, WXWidget slf, void *_cmd)
{
-
+
// send a release event in case we've been tracking the thumb
if ( strcmp( sel_getName((SEL) _cmd) , "mouseDown:") == 0 )
{
wxWindow* wxpeer = (wxWindow*) GetWXPeer();
if ( wxpeer )
{
- // because wx expects to be able to veto
+ // because wx expects to be able to veto
// a change we must revert the value change
// and expose it
int currentValue = [(NSStepper*)m_osxView intValue];
[(NSStepper*)m_osxView setIntValue:m_formerValue];
int inc = currentValue-m_formerValue;
-
+
// adjust for wrap arounds
if ( inc > 1 )
inc = -1;
else if (inc < -1 )
inc = 1;
-
+
if ( inc == 1 )
wxpeer->TriggerScrollEvent(wxEVT_SCROLL_LINEUP);
else if ( inc == -1 )
}
}
-wxWidgetImplType* wxWidgetImpl::CreateSpinButton( wxWindowMac* wxpeer,
- wxWindowMac* WXUNUSED(parent),
- wxWindowID WXUNUSED(id),
+wxWidgetImplType* wxWidgetImpl::CreateSpinButton( wxWindowMac* wxpeer,
+ wxWindowMac* WXUNUSED(parent),
+ wxWindowID WXUNUSED(id),
wxInt32 value,
wxInt32 minimum,
wxInt32 maximum,
- const wxPoint& pos,
+ const wxPoint& pos,
const wxSize& size,
- long style,
+ long style,
long WXUNUSED(extraStyle))
{
NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
[v setMinValue: minimum];
[v setMaxValue: maximum];
[v setIntValue: value];
-
+
+ if ( style & wxSP_HORIZONTAL )
+ [v rotateByAngle:90.0];
+
+ BOOL wrap = NO;
if ( style & wxSP_WRAP )
- [v setValueWraps:YES];
+ wrap = YES;
+ [v setValueWraps:wrap];
wxWidgetCocoaImpl* c = new wxSpinButtonCocoaImpl( wxpeer, v );
return c;