]> git.saurik.com Git - wxWidgets.git/blame - include/wx/gtk1/gauge.h
Fix memory leak by letting the base class version handle the
[wxWidgets.git] / include / wx / gtk1 / gauge.h
CommitLineData
c801d85f
KB
1/////////////////////////////////////////////////////////////////////////////
2// Name: gauge.h
3// Purpose:
4// Author: Robert Roebling
58614078
RR
5// Id: $Id$
6// Copyright: (c) 1998 Robert Roebling
77ffb593 7// Licence: wxWidgets licence
c801d85f
KB
8/////////////////////////////////////////////////////////////////////////////
9
10
11#ifndef __GTKGAUGEH__
12#define __GTKGAUGEH__
13
12028905 14#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
c801d85f
KB
15#pragma interface
16#endif
17
18#include "wx/defs.h"
dcf924a3
RR
19
20#if wxUSE_GAUGE
21
c801d85f
KB
22#include "wx/object.h"
23#include "wx/list.h"
24#include "wx/control.h"
25
26//-----------------------------------------------------------------------------
27// classes
28//-----------------------------------------------------------------------------
29
30class wxGauge;
31
1a56f55c
RR
32//-----------------------------------------------------------------------------
33// global data
34//-----------------------------------------------------------------------------
35
401eb3de 36extern const wxChar* wxGaugeNameStr;
1a56f55c 37
c801d85f
KB
38//-----------------------------------------------------------------------------
39// wxGaugeBox
40//-----------------------------------------------------------------------------
41
1a56f55c
RR
42class wxGauge: public wxControl
43{
20e05ffb 44public:
2b5f62a0
VZ
45 wxGauge() { Init(); }
46
47 wxGauge( wxWindow *parent,
48 wxWindowID id,
49 int range,
50 const wxPoint& pos = wxDefaultPosition,
51 const wxSize& size = wxDefaultSize,
52 long style = wxGA_HORIZONTAL,
53 const wxValidator& validator = wxDefaultValidator,
54 const wxString& name = wxGaugeNameStr )
6de97a3b 55 {
2b5f62a0
VZ
56 Init();
57
58 Create(parent, id, range, pos, size, style, validator, name);
6de97a3b 59 }
2b5f62a0
VZ
60
61 bool Create( wxWindow *parent,
62 wxWindowID id, int range,
63 const wxPoint& pos = wxDefaultPosition,
64 const wxSize& size = wxDefaultSize,
65 long style = wxGA_HORIZONTAL,
66 const wxValidator& validator = wxDefaultValidator,
67 const wxString& name = wxGaugeNameStr );
68
69 void SetShadowWidth( int WXUNUSED(w) ) { }
70 void SetBezelFace( int WXUNUSED(w) ) { }
6de97a3b
RR
71 void SetRange( int r );
72 void SetValue( int pos );
36b3b54a
RR
73 int GetShadowWidth() const { return 0; };
74 int GetBezelFace() const { return 0; };
75 int GetRange() const;
76 int GetValue() const;
6de97a3b 77
e04fe03d
RD
78 bool IsVertical() const { return HasFlag(wxGA_VERTICAL); }
79
9d522606
RD
80 static wxVisualAttributes
81 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
82
20e05ffb
RR
83 // implementation
84 // -------------
2b5f62a0 85
58614078 86 void ApplyWidgetStyle();
2b5f62a0
VZ
87
88 // the max and current gauge values
89 int m_rangeMax,
90 m_gaugePos;
91
92 // obsolete functions, don't use
45bbbc54
VZ
93#if WXWIN_COMPATIBILITY_2_2
94 bool GetProgressBar() const { return true; }
2b5f62a0
VZ
95#endif // WXWIN_COMPATIBILITY_2_2
96
97protected:
98 // common part of all ctors
99 void Init() { m_rangeMax = m_gaugePos = 0; }
100
101 // set the gauge value to the value of m_gaugePos
102 void DoSetGauge();
103
3a12cb0a
RD
104 virtual wxSize DoGetBestSize() const;
105
9d522606
RD
106 virtual wxVisualAttributes GetDefaultAttributes() const;
107
20e05ffb
RR
108private:
109 DECLARE_DYNAMIC_CLASS(wxGauge)
1a56f55c
RR
110};
111
dcf924a3
RR
112#endif
113
c801d85f 114#endif // __GTKGAUGEH__