1 /////////////////////////////////////////////////////////////////////////////// 2 // Name: wx/gauge.h 3 // Purpose: wxGauge interface 4 // Author: Vadim Zeitlin 5 // Modified by: 6 // Created: 20.02.01 7 // RCS-ID: $Id: gauge.h 41089 2006-09-09 13:36:54Z RR $ 8 // Copyright: (c) 1996-2001 wxWidgets team 9 // Licence: wxWindows licence 10 /////////////////////////////////////////////////////////////////////////////// 11 12 #ifndef _WX_GAUGE_H_BASE_ 13 #define _WX_GAUGE_H_BASE_ 14 15 #include "wx/defs.h" 16 17 #if wxUSE_GAUGE 18 19 #include "wx/control.h" 20 21 // ---------------------------------------------------------------------------- 22 // wxGauge style flags 23 // ---------------------------------------------------------------------------- 24 25 #define wxGA_HORIZONTAL wxHORIZONTAL 26 #define wxGA_VERTICAL wxVERTICAL 27 28 // Win32 only, is default (and only) on some other platforms 29 #define wxGA_SMOOTH 0x0020 30 31 #if WXWIN_COMPATIBILITY_2_6 32 // obsolete style 33 #define wxGA_PROGRESSBAR 0 34 #endif // WXWIN_COMPATIBILITY_2_6 35 36 // GTK and Mac always have native implementation of the indeterminate mode 37 // wxMSW has native implementation only if comctl32.dll >= 6.00 38 #if !defined(__WXGTK20__) && !defined(__WXMAC__) && !defined(__WXCOCOA__) 39 #define wxGAUGE_EMULATE_INDETERMINATE_MODE 1 40 #else 41 #define wxGAUGE_EMULATE_INDETERMINATE_MODE 0 42 #endif 43 44 extern WXDLLEXPORT_DATA(const wxChar) wxGaugeNameStr[]; 45 46 // ---------------------------------------------------------------------------- 47 // wxGauge: a progress bar 48 // ---------------------------------------------------------------------------- 49 50 class WXDLLEXPORT wxGaugeBase : public wxControl 51 { 52 public: wxGaugeBase()53 wxGaugeBase() { m_rangeMax = m_gaugePos = 0; } 54 virtual ~wxGaugeBase(); 55 56 bool Create(wxWindow *parent, 57 wxWindowID id, 58 int range, 59 const wxPoint& pos = wxDefaultPosition, 60 const wxSize& size = wxDefaultSize, 61 long style = wxGA_HORIZONTAL, 62 const wxValidator& validator = wxDefaultValidator, 63 const wxString& name = wxGaugeNameStr); 64 65 // determinate mode API 66 67 // set/get the control range 68 virtual void SetRange(int range); 69 virtual int GetRange() const; 70 71 virtual void SetValue(int pos); 72 virtual int GetValue() const; 73 74 // indeterminate mode API 75 virtual void Pulse(); 76 77 // simple accessors IsVertical()78 bool IsVertical() const { return HasFlag(wxGA_VERTICAL); } 79 80 // appearance params (not implemented for most ports) 81 virtual void SetShadowWidth(int w); 82 virtual int GetShadowWidth() const; 83 84 virtual void SetBezelFace(int w); 85 virtual int GetBezelFace() const; 86 87 // overriden base class virtuals AcceptsFocus()88 virtual bool AcceptsFocus() const { return false; } 89 90 protected: 91 // the max position 92 int m_rangeMax; 93 94 // the current position 95 int m_gaugePos; 96 97 #if wxGAUGE_EMULATE_INDETERMINATE_MODE 98 int m_nDirection; // can be wxRIGHT or wxLEFT 99 #endif 100 101 DECLARE_NO_COPY_CLASS(wxGaugeBase) 102 }; 103 104 #if defined(__WXUNIVERSAL__) 105 #include "wx/univ/gauge.h" 106 #elif defined(__WXMSW__) 107 #include "wx/msw/gauge95.h" 108 #define wxGauge wxGauge95 109 #elif defined(__WXMOTIF__) 110 #include "wx/motif/gauge.h" 111 #elif defined(__WXGTK20__) 112 #include "wx/gtk/gauge.h" 113 #elif defined(__WXGTK__) 114 #include "wx/gtk1/gauge.h" 115 #elif defined(__WXMAC__) 116 #include "wx/mac/gauge.h" 117 #elif defined(__WXCOCOA__) 118 #include "wx/cocoa/gauge.h" 119 #elif defined(__WXPM__) 120 #include "wx/os2/gauge.h" 121 #endif 122 123 #endif // wxUSE_GAUGE 124 125 #endif 126 // _WX_GAUGE_H_BASE_ 127