wxWidgets/include/wx/cocoa/NSSlider.h
David Elliott 4f46c20bc4 Further simplificiation of the NSSlider/wxSlider interface such that the
various responder methods don't change the controls action but instead send
all actions through the normal wxCocoaNSControl action handling mechanism.
To determine what caused the action we save the message selector in a global
variable (safe since Cocoa does single-threaded event handling).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-15 04:12:44 +00:00

48 lines
1.4 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/cocoa/NSSlider.h
// Purpose: wxCocoaNSSlider class
// Author: Mark Oxenham
// Modified by: David Elliott
// Created: 2007/08/10
// RCS-ID: $Id$
// Copyright: (c) 2007 Software 2000 Ltd. All rights reserved.
// Licence: wxWidgets licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WXNSSLIDER_H_
#define _WXNSSLIDER_H_
#include "wx/hashmap.h"
#include "wx/cocoa/ObjcAssociate.h"
#include "wx/cocoa/ObjcRef.h"
DECLARE_WXCOCOA_OBJC_CLASS(NSSlider);
WX_DECLARE_OBJC_HASHMAP(NSSlider);
// For when we're not in Objective-C mode:
typedef struct objc_selector *SEL;
class wxCocoaNSSliderLastSelectorChanger;
class wxCocoaNSSlider
{
friend class wxCocoaNSSliderLastSelectorChanger;
WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSSlider);
public:
void AssociateNSSlider(WX_NSSlider cocoaNSSlider);
void DisassociateNSSlider(WX_NSSlider cocoaNSSlider);
virtual void CocoaNotification_startTracking(WX_NSNotification notification) = 0;
virtual void CocoaNotification_continueTracking(WX_NSNotification notification) = 0;
virtual void CocoaNotification_stopTracking(WX_NSNotification notification) = 0;
static SEL GetLastResponderSelector()
{ return sm_lastResponderSelector; }
protected:
virtual ~wxCocoaNSSlider() { }
static SEL sm_lastResponderSelector;
};
#endif