]> git.saurik.com Git - wxWidgets.git/blame - contrib/include/wx/gizmos/ledctrl.h
check for wxUSE_MDI which is needed by this code (patch 1656080)
[wxWidgets.git] / contrib / include / wx / gizmos / ledctrl.h
CommitLineData
950e7faf
RD
1#ifndef _WX_LEDNUMBERCTRL_H_
2#define _WX_LEDNUMBERCTRL_H_
3
936a13b5 4#include "wx/gizmos/gizmos.h"
950e7faf
RD
5
6#include <wx/window.h>
7#include <wx/control.h>
8
9class wxEraseEvent;
10class wxPaintEvent;
11class wxSizeEvent;
12
13// ----------------------------------------------------------------------------
14// enum and styles
15// ----------------------------------------------------------------------------
16
17enum wxLEDValueAlign
18{
19 wxLED_ALIGN_LEFT = 0x01,
20 wxLED_ALIGN_RIGHT = 0x02,
21 wxLED_ALIGN_CENTER = 0x04,
22
23 wxLED_ALIGN_MASK = 0x04
24};
25
26#define wxLED_DRAW_FADED 0x08
27
28// ----------------------------------------------------------------------------
29// wxLEDNumberCtrl
30// ----------------------------------------------------------------------------
31
a2d49353 32class WXDLLIMPEXP_GIZMOS wxLEDNumberCtrl : public wxControl
950e7faf
RD
33{
34public:
35 // Constructors.
36 wxLEDNumberCtrl();
a2d49353 37 wxLEDNumberCtrl(wxWindow *parent, wxWindowID id = wxID_ANY,
950e7faf
RD
38 const wxPoint& pos = wxDefaultPosition,
39 const wxSize& size = wxDefaultSize,
40 long style = wxLED_ALIGN_LEFT | wxLED_DRAW_FADED);
41
42 // Create functions.
a2d49353 43 bool Create(wxWindow *parent, wxWindowID id = wxID_ANY,
950e7faf
RD
44 const wxPoint& pos = wxDefaultPosition,
45 const wxSize& size = wxDefaultSize,
46 long style = 0);
47
48 wxLEDValueAlign GetAlignment() const { return m_Alignment; }
49 bool GetDrawFaded() const { return m_DrawFaded; }
50 const wxString &GetValue() const { return m_Value; }
51
a2d49353
WS
52 void SetAlignment(wxLEDValueAlign Alignment, bool Redraw = true);
53 void SetDrawFaded(bool DrawFaded, bool Redraw = true);
54 void SetValue(const wxString &Value, bool Redraw = true);
950e7faf
RD
55
56private:
57 // Members.
58 wxString m_Value;
59 wxLEDValueAlign m_Alignment;
60
61 int m_LineMargin;
62 int m_DigitMargin;
63 int m_LineLength;
64 int m_LineWidth;
65 bool m_DrawFaded;
66 int m_LeftStartPos;
67
68 // Functions.
69 void DrawDigit(wxDC &Dc, int Digit, int Column);
70 void RecalcInternals(const wxSize &CurrentSize);
71
72 // Events.
73 DECLARE_EVENT_TABLE()
74
75 void OnEraseBackground(wxEraseEvent &Event);
76 void OnPaint(wxPaintEvent &Event);
77 void OnSize(wxSizeEvent &Event);
78};
79
80#endif