1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/cocoa/NSSlider.h
3// Purpose:     wxCocoaNSSlider class
4// Author:      Mark Oxenham
5// Modified by: David Elliott
6// Created:     2007/08/10
7// RCS-ID:      $Id: NSSlider.h 60554 2009-05-08 23:10:00Z VZ $
8// Copyright:   (c) 2007 Software 2000 Ltd. All rights reserved.
9// Licence:     wxWidgets licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WXNSSLIDER_H_
13#define _WXNSSLIDER_H_
14
15#include "wx/hashmap.h"
16#include "wx/cocoa/ObjcAssociate.h"
17#include "wx/cocoa/ObjcRef.h"
18
19DECLARE_WXCOCOA_OBJC_CLASS(NSSlider);
20
21WX_DECLARE_OBJC_HASHMAP(NSSlider);
22
23// For when we're not in Objective-C mode:
24typedef struct objc_selector    *SEL;
25
26class wxCocoaNSSliderLastSelectorChanger;
27
28class wxCocoaNSSlider
29{
30    friend class wxCocoaNSSliderLastSelectorChanger;
31    WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSSlider);
32public:
33    void AssociateNSSlider(WX_NSSlider cocoaNSSlider);
34    void DisassociateNSSlider(WX_NSSlider cocoaNSSlider);
35
36    virtual void CocoaNotification_startTracking(WX_NSNotification notification) = 0;
37    virtual void CocoaNotification_continueTracking(WX_NSNotification notification) = 0;
38    virtual void CocoaNotification_stopTracking(WX_NSNotification notification) = 0;
39
40    static SEL GetLastResponderSelector()
41    {   return sm_lastResponderSelector; }
42protected:
43    virtual ~wxCocoaNSSlider() { }
44    static SEL sm_lastResponderSelector;
45};
46
47#endif
48