]> git.saurik.com Git - wxWidgets.git/blob - include/wx/generic/fontdlgg.h
supporting clang memory management annotations
[wxWidgets.git] / include / wx / generic / fontdlgg.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/generic/fontdlgg.h
3 // Purpose: wxGenericFontDialog
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_GENERIC_FONTDLGG_H
13 #define _WX_GENERIC_FONTDLGG_H
14
15 #include "wx/gdicmn.h"
16 #include "wx/font.h"
17
18 #ifdef __WXWINCE__
19 #define USE_SPINCTRL_FOR_POINT_SIZE 1
20 class WXDLLIMPEXP_FWD_CORE wxSpinEvent;
21 #else
22 #define USE_SPINCTRL_FOR_POINT_SIZE 0
23 #endif
24
25 /*
26 * FONT DIALOG
27 */
28
29 class WXDLLIMPEXP_FWD_CORE wxChoice;
30 class WXDLLIMPEXP_FWD_CORE wxText;
31 class WXDLLIMPEXP_FWD_CORE wxCheckBox;
32 class WXDLLIMPEXP_FWD_CORE wxFontPreviewer;
33
34 enum
35 {
36 wxID_FONT_UNDERLINE = 3000,
37 wxID_FONT_STYLE,
38 wxID_FONT_WEIGHT,
39 wxID_FONT_FAMILY,
40 wxID_FONT_COLOUR,
41 wxID_FONT_SIZE
42 };
43
44 class WXDLLIMPEXP_CORE wxGenericFontDialog : public wxFontDialogBase
45 {
46 public:
47 wxGenericFontDialog() { Init(); }
48 wxGenericFontDialog(wxWindow *parent)
49 : wxFontDialogBase(parent) { Init(); }
50 wxGenericFontDialog(wxWindow *parent, const wxFontData& data)
51 : wxFontDialogBase(parent, data) { Init(); }
52 virtual ~wxGenericFontDialog();
53
54 virtual int ShowModal();
55
56 #if WXWIN_COMPATIBILITY_2_6
57 // deprecated, for backwards compatibility only
58 wxDEPRECATED( wxGenericFontDialog(wxWindow *parent, const wxFontData *data) );
59 #endif // WXWIN_COMPATIBILITY_2_6
60
61 // Internal functions
62 void OnCloseWindow(wxCloseEvent& event);
63
64 virtual void CreateWidgets();
65 virtual void InitializeFont();
66
67 void OnChangeFont(wxCommandEvent& event);
68
69 #if USE_SPINCTRL_FOR_POINT_SIZE
70 void OnChangeSize(wxSpinEvent& event);
71 #endif
72
73 protected:
74
75 virtual bool DoCreate(wxWindow *parent);
76
77 private:
78
79 // common part of all ctors
80 void Init();
81
82 void DoChangeFont();
83
84 wxFont m_dialogFont;
85
86 wxChoice *m_familyChoice;
87 wxChoice *m_styleChoice;
88 wxChoice *m_weightChoice;
89 wxChoice *m_colourChoice;
90 wxCheckBox *m_underLineCheckBox;
91
92 #if !USE_SPINCTRL_FOR_POINT_SIZE
93 wxChoice *m_pointSizeChoice;
94 #endif
95
96 wxFontPreviewer *m_previewer;
97 bool m_useEvents;
98
99 // static bool fontDialogCancelled;
100 DECLARE_EVENT_TABLE()
101 DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
102 };
103
104 #if WXWIN_COMPATIBILITY_2_6
105 // deprecated, for backwards compatibility only
106 inline wxGenericFontDialog::wxGenericFontDialog(wxWindow *parent, const wxFontData *data)
107 :wxFontDialogBase(parent) { Init(); InitFontData(data); Create(parent); }
108 #endif // WXWIN_COMPATIBILITY_2_6
109
110 #endif // _WX_GENERIC_FONTDLGG_H