// ========================================================================
// wxSlider
// ========================================================================
-class WXDLLEXPORT wxSlider: public wxSliderBase, protected wxCocoaNSSlider
+class WXDLLIMPEXP_CORE wxSlider: public wxSliderBase, protected wxCocoaNSSlider
{
DECLARE_DYNAMIC_CLASS(wxSlider)
DECLARE_EVENT_TABLE()
// Cocoa callbacks
// ------------------------------------------------------------------------
protected:
- // from NSSLider
+ // Override this so we can use wxCocoaNSControl's target
+ void AssociateNSSlider(WX_NSSlider theSlider);
+
+ // Helper method to do the real work
virtual void ProcessEventType(wxEventType commandType);
- virtual void Cocoa_wxNSSliderUpArrowKeyDown(void) { ProcessEventType(wxEVT_SCROLL_PAGEDOWN); }
- virtual void Cocoa_wxNSSliderDownArrowKeyDown(void) { ProcessEventType(wxEVT_SCROLL_PAGEUP); }
- virtual void Cocoa_wxNSSliderLeftArrowKeyDown(void) { ProcessEventType(wxEVT_SCROLL_PAGEUP); }
- virtual void Cocoa_wxNSSliderRightArrowKeyDown(void) { ProcessEventType(wxEVT_SCROLL_PAGEDOWN); }
- virtual void Cocoa_wxNSSliderPageUpKeyDown(void) { ProcessEventType(wxEVT_SCROLL_BOTTOM); }
- virtual void Cocoa_wxNSSliderPageDownKeyDown(void) { ProcessEventType(wxEVT_SCROLL_TOP); }
- virtual void Cocoa_wxNSSliderMoveUp(void) { ProcessEventType(wxEVT_SCROLL_PAGEDOWN); }
- virtual void Cocoa_wxNSSliderMoveDown(void) { ProcessEventType(wxEVT_SCROLL_PAGEUP); }
- virtual void Cocoa_wxNSSliderMoveLeft(void) { ProcessEventType(wxEVT_SCROLL_PAGEUP); }
- virtual void Cocoa_wxNSSliderMoveRight(void) { ProcessEventType(wxEVT_SCROLL_PAGEDOWN); }
- virtual void Cocoa_wxNSSliderPageUp(void) { ProcessEventType(wxEVT_SCROLL_BOTTOM); }
- virtual void Cocoa_wxNSSliderPageDown(void) { ProcessEventType(wxEVT_SCROLL_TOP); }
+
+ // from wxCocoaNSControl:
+ virtual void CocoaTarget_action();
+
+ // from wxCocoaNSSlider:
virtual void CocoaNotification_startTracking(WX_NSNotification notification);
virtual void CocoaNotification_continueTracking(WX_NSNotification notification);
virtual void CocoaNotification_stopTracking(WX_NSNotification notification);
-
-
+
// ------------------------------------------------------------------------
// Implementation
// ------------------------------------------------------------------------
// these methods get/set the length of the slider pointer in pixels
virtual void SetThumbLength(int lenPixels);
virtual int GetThumbLength() const;
-
+
// copied from (wxSliderCocoa.h)
- virtual void SetTickFreq(int n, int pos);
virtual int GetTickFreq() const;
- virtual void ClearTicks() { SetTickFreq(0, 0); }
+ virtual void ClearTicks() { SetTickFreq(0); }
virtual void SetTickPos(int pos);
+protected:
+ // Platform-specific implementation of SetTickFreq
+ virtual void DoSetTickFreq(int freq);
};
#endif