// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
-// RCS-ID: $Id: slider.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);
wxWidgetCocoaImpl(peer, w)
{
}
-
+
~wxSliderCocoaImpl()
{
}
- virtual void clickedAction(WXWidget slf, void* _cmd, void *sender);
+ virtual void controlAction(WXWidget slf, void* _cmd, void *sender);
virtual void mouseEvent(WX_NSEvent event, WXWidget slf, void* _cmd);
};
-// we will have a mouseDown, then in the native
+// we will have a mouseDown, then in the native
// implementation of mouseDown the tracking code
// is calling clickedAction, therefore we wire this
-// to thumbtrack and only after super mouseDown
+// to thumbtrack and only after super mouseDown
// returns we will call the thumbrelease
-void wxSliderCocoaImpl::clickedAction( WXWidget slf, void *_cmd, void *sender)
+void wxSliderCocoaImpl::controlAction( WXWidget WXUNUSED(slf), void *WXUNUSED(_cmd), void *WXUNUSED(sender))
{
wxWindow* wxpeer = (wxWindow*) GetWXPeer();
if ( wxpeer )
void wxSliderCocoaImpl::mouseEvent(WX_NSEvent event, WXWidget slf, void *_cmd)
{
wxWidgetCocoaImpl::mouseEvent(event, slf, _cmd);
-
+
if ( strcmp( sel_getName((SEL) _cmd) , "mouseDown:") == 0 )
{
wxWindow* wxpeer = (wxWindow*) GetWXPeer();
-wxWidgetImplType* wxWidgetImpl::CreateSlider( wxWindowMac* wxpeer,
- wxWindowMac* parent,
- wxWindowID id,
+wxWidgetImplType* wxWidgetImpl::CreateSlider( 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 extraStyle)
+ long style,
+ long WXUNUSED(extraStyle))
{
NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
+ if ( size == wxDefaultSize )
+ {
+ if ( style & wxSL_VERTICAL )
+ r.size.height = r.size.width * 2;
+ else
+ r.size.width = r.size.height * 2;
+ }
wxNSSlider* v = [[wxNSSlider alloc] initWithFrame:r];
int tickMarks = 0;
// it to a UInt16
while (tickMarks > 20)
tickMarks /= 5;
-
+
[v setNumberOfTickMarks:tickMarks];
[v setTickMarkPosition:NSTickMarkBelow];
}