X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..6b30ffedb18b86329fdc41ac1be27bc85bd758ff:/include/wx/cocoa/slider.h diff --git a/include/wx/cocoa/slider.h b/include/wx/cocoa/slider.h index e1a9193f03..46a4ef7c40 100644 --- a/include/wx/cocoa/slider.h +++ b/include/wx/cocoa/slider.h @@ -2,26 +2,28 @@ // Name: wx/cocoa/slider.h // Purpose: wxSlider class // Author: David Elliott +// Mark Oxenham // Modified by: // Created: 2003/06/19 // RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott -// Licence: wxWindows licence +// (c) 2007 Software 2000 Ltd. +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __WX_COCOA_SLIDER_H__ #define __WX_COCOA_SLIDER_H__ -// #include "wx/cocoa/NSSlider.h" +#include "wx/cocoa/NSSlider.h" // ======================================================================== // wxSlider // ======================================================================== -class WXDLLEXPORT wxSlider: public wxSliderBase// , protected wxCocoaNSSlider +class WXDLLIMPEXP_CORE wxSlider: public wxSliderBase, protected wxCocoaNSSlider { DECLARE_DYNAMIC_CLASS(wxSlider) DECLARE_EVENT_TABLE() -// WX_DECLARE_COCOA_OWNER(NSSlider,NSControl,NSView) + WX_DECLARE_COCOA_OWNER(NSSlider,NSControl,NSView) // ------------------------------------------------------------------------ // initialization // ------------------------------------------------------------------------ @@ -52,31 +54,55 @@ public: // Cocoa callbacks // ------------------------------------------------------------------------ protected: + // 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); + + // 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 // ------------------------------------------------------------------------ public: // Pure Virtuals - virtual int GetValue() const { return 0; } - virtual void SetValue(int value) { } + virtual int GetValue() const; + virtual void SetValue(int value); // retrieve/change the range - virtual void SetRange(int minValue, int maxValue) { } - virtual int GetMin() const { return 0; } - virtual int GetMax() const { return 0; } + virtual void SetRange(int minValue, int maxValue); + virtual int GetMin() const; + virtual int GetMax() const; // the line/page size is the increment by which the slider moves when // cursor arrow key/page up or down are pressed (clicking the mouse is like // pressing PageUp/Down) and are by default set to 1 and 1/10 of the range - virtual void SetLineSize(int lineSize) { } - virtual void SetPageSize(int pageSize) { } - virtual int GetLineSize() const { return 0; } - virtual int GetPageSize() const { return 0; } + virtual void SetLineSize(int lineSize); + virtual void SetPageSize(int pageSize); + virtual int GetLineSize() const; + virtual int GetPageSize() const; // these methods get/set the length of the slider pointer in pixels - virtual void SetThumbLength(int lenPixels) { } - virtual int GetThumbLength() const { return 0; } + virtual void SetThumbLength(int lenPixels); + virtual int GetThumbLength() const; + // copied from (wxSliderCocoa.h) + virtual int GetTickFreq() const; + virtual void ClearTicks() { SetTickFreq(0); } + + virtual void SetTickPos(int pos); + +protected: + // Platform-specific implementation of SetTickFreq + virtual void DoSetTickFreq(int freq); }; -#endif // __WX_COCOA_SLIDER_H__ +#endif + // __WX_COCOA_SLIDER_H__