Implement a reasonable DoGetBestSize (NSProgressIndicator is not an NSControl)
[wxWidgets.git] / include / wx / cocoa / gauge.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/cocoa/gauge.h
3 // Purpose: wxGauge class
4 // Author: David Elliott
5 // Modified by:
6 // Created: 2003/07/15
7 // RCS-ID: $Id$
8 // Copyright: (c) 2003 David Elliott
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __WX_COCOA_GAUGE_H__
13 #define __WX_COCOA_GAUGE_H__
14
15 // #include "wx/cocoa/NSProgressIndicator.h"
16
17 DECLARE_WXCOCOA_OBJC_CLASS(NSProgressIndicator);
18
19 // ========================================================================
20 // wxGauge
21 // ========================================================================
22 class WXDLLEXPORT wxGauge: public wxGaugeBase// , protected wxCocoaNSProgressIndicator
23 {
24 DECLARE_DYNAMIC_CLASS(wxGauge)
25 DECLARE_EVENT_TABLE()
26 // WX_DECLARE_COCOA_OWNER(NSProgressIndicator,NSView,NSView)
27 // ------------------------------------------------------------------------
28 // initialization
29 // ------------------------------------------------------------------------
30 public:
31 wxGauge() { }
32 wxGauge(wxWindow *parent, wxWindowID winid, int range,
33 const wxPoint& pos = wxDefaultPosition,
34 const wxSize& size = wxDefaultSize,
35 long style = wxGA_HORIZONTAL,
36 const wxValidator& validator = wxDefaultValidator,
37 const wxString& name = wxGaugeNameStr)
38 {
39 Create(parent, winid, range, pos, size, style, validator, name);
40 }
41
42 bool Create(wxWindow *parent, wxWindowID winid, int range,
43 const wxPoint& pos = wxDefaultPosition,
44 const wxSize& size = wxDefaultSize,
45 long style = wxSL_HORIZONTAL,
46 const wxValidator& validator = wxDefaultValidator,
47 const wxString& name = wxGaugeNameStr);
48 virtual ~wxGauge();
49
50 // ------------------------------------------------------------------------
51 // Cocoa callbacks
52 // ------------------------------------------------------------------------
53 public:
54 inline WX_NSProgressIndicator GetNSProgressIndicator() const { return (WX_NSProgressIndicator)m_cocoaNSView; }
55 protected:
56 // NSProgressIndicator cannot be enabled/disabled
57 virtual void CocoaSetEnabled(bool enable) { }
58 // ------------------------------------------------------------------------
59 // Implementation
60 // ------------------------------------------------------------------------
61 public:
62 // Pure Virtuals
63 virtual int GetValue() const;
64 virtual void SetValue(int value);
65
66 // retrieve/change the range
67 virtual void SetRange(int maxValue);
68 int GetRange(void) const;
69 protected:
70 virtual wxSize DoGetBestSize() const;
71 };
72
73 #endif // __WX_COCOA_GAUGE_H__