X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ec55dc0bee338e32aa0612b36328cc82b9e9194..7ddb15416407390de67cc26b04e91ea99a521f57:/include/wx/cocoa/slider.h diff --git a/include/wx/cocoa/slider.h b/include/wx/cocoa/slider.h index d89415fdc9..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 // ------------------------------------------------------------------------ @@ -33,7 +35,7 @@ public: const wxSize& size = wxDefaultSize, long style = wxSL_HORIZONTAL, const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxStaticTextNameStr) + const wxString& name = wxSliderNameStr) { Create(parent, winid, value, minValue, maxValue, pos, size, style, validator, name); @@ -45,38 +47,62 @@ public: const wxSize& size = wxDefaultSize, long style = wxSL_HORIZONTAL, const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxStaticTextNameStr); + const wxString& name = wxSliderNameStr); virtual ~wxSlider(); // ------------------------------------------------------------------------ // 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__