]> git.saurik.com Git - wxWidgets.git/blob - include/wx/generic/fontdlgg.h
fixing 'id' objc.h collisions, listbox rewrite
[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/defs.h"
16 #include "wx/gdicmn.h"
17 #include "wx/font.h"
18 #include "wx/dialog.h"
19 #include "wx/cmndata.h"
20
21 #ifdef __WXWINCE__
22 #define USE_SPINCTRL_FOR_POINT_SIZE 1
23 class WXDLLEXPORT wxSpinEvent;
24 #else
25 #define USE_SPINCTRL_FOR_POINT_SIZE 0
26 #endif
27
28 /*
29 * FONT DIALOG
30 */
31
32 class WXDLLEXPORT wxChoice;
33 class WXDLLEXPORT wxText;
34 class WXDLLEXPORT wxCheckBox;
35 class WXDLLEXPORT wxFontPreviewer;
36
37 enum
38 {
39 wxID_FONT_UNDERLINE = 3000,
40 wxID_FONT_STYLE,
41 wxID_FONT_WEIGHT,
42 wxID_FONT_FAMILY,
43 wxID_FONT_COLOUR,
44 wxID_FONT_SIZE
45 };
46
47 class WXDLLEXPORT wxGenericFontDialog : public wxFontDialogBase
48 {
49 public:
50 wxGenericFontDialog() { Init(); }
51 wxGenericFontDialog(wxWindow *parent, const wxFontData& data)
52 : wxFontDialogBase(parent, data) { Init(); }
53 virtual ~wxGenericFontDialog();
54
55 virtual int ShowModal();
56
57 #if WXWIN_COMPATIBILITY_2_6
58 // deprecated, for backwards compatibility only
59 wxDEPRECATED( wxGenericFontDialog(wxWindow *parent, const wxFontData *data) );
60 #endif // WXWIN_COMPATIBILITY_2_6
61
62 // Internal functions
63 void OnCloseWindow(wxCloseEvent& event);
64
65 virtual void CreateWidgets();
66 virtual void InitializeFont();
67
68 void OnChangeFont(wxCommandEvent& event);
69
70 #if USE_SPINCTRL_FOR_POINT_SIZE
71 void OnChangeSize(wxSpinEvent& event);
72 #endif
73
74 protected:
75
76 virtual bool DoCreate(wxWindow *parent);
77
78 private:
79
80 // common part of all ctors
81 void Init();
82
83 void DoChangeFont();
84
85 wxFont m_dialogFont;
86
87 wxChoice *m_familyChoice;
88 wxChoice *m_styleChoice;
89 wxChoice *m_weightChoice;
90 wxChoice *m_colourChoice;
91 wxCheckBox *m_underLineCheckBox;
92
93 #if !USE_SPINCTRL_FOR_POINT_SIZE
94 wxChoice *m_pointSizeChoice;
95 #endif
96
97 wxFontPreviewer *m_previewer;
98 bool m_useEvents;
99
100 // static bool fontDialogCancelled;
101 DECLARE_EVENT_TABLE()
102 DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
103 };
104
105 WXDLLEXPORT const wxChar *wxFontFamilyIntToString(int family);
106 WXDLLEXPORT const wxChar *wxFontWeightIntToString(int weight);
107 WXDLLEXPORT const wxChar *wxFontStyleIntToString(int style);
108 WXDLLEXPORT int wxFontFamilyStringToInt(wxChar *family);
109 WXDLLEXPORT int wxFontWeightStringToInt(wxChar *weight);
110 WXDLLEXPORT int wxFontStyleStringToInt(wxChar *style);
111
112 #if WXWIN_COMPATIBILITY_2_6
113 // deprecated, for backwards compatibility only
114 inline wxGenericFontDialog::wxGenericFontDialog(wxWindow *parent, const wxFontData *data)
115 :wxFontDialogBase(parent) { Init(); InitFontData(data); Create(parent); }
116 #endif // WXWIN_COMPATIBILITY_2_6
117
118 #endif // _WX_GENERIC_FONTDLGG_H