]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/mac/carbon/fontdlg.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxFontDialog class using fonts window services (10.2+).
8 // Copyright: (c) Ryan Norton
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_FONTDLG_H_
13 #define _WX_FONTDLG_H_
15 #include "wx/dialog.h"
16 #include "wx/cmndata.h"
18 #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
21 * Forward declarations
24 class wxFontColourSwatchCtrl
;
25 class wxFontPreviewCtrl
;
26 class WXDLLEXPORT wxSpinCtrl
;
27 class WXDLLEXPORT wxSpinEvent
;
28 class WXDLLEXPORT wxListBox
;
29 class WXDLLEXPORT wxChoice
;
30 class WXDLLEXPORT wxButton
;
31 class WXDLLEXPORT wxStaticText
;
32 class WXDLLEXPORT wxCheckBox
;
38 #define wxID_FONTDIALOG_FACENAME 20001
39 #define wxID_FONTDIALOG_FONTSIZE 20002
40 #define wxID_FONTDIALOG_BOLD 20003
41 #define wxID_FONTDIALOG_ITALIC 20004
42 #define wxID_FONTDIALOG_UNDERLINED 20005
43 #define wxID_FONTDIALOG_COLOUR 20006
44 #define wxID_FONTDIALOG_PREVIEW 20007
47 // !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
53 class WXDLLEXPORT wxFontDialog
: public wxDialog
55 DECLARE_DYNAMIC_CLASS(wxFontDialog
)
57 #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
63 wxFontDialog(wxWindow
*parent
, const wxFontData
& data
);
66 bool Create(wxWindow
*parent
, const wxFontData
& data
);
69 wxFontData
& GetFontData() { return m_fontData
; }
72 void SetData(const wxFontData
& data
);
74 #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
76 /// Creates the controls and sizers
77 void CreateControls();
80 void InitializeFont();
82 /// Set controls according to current font
83 void InitializeControls();
85 /// Respond to font change
88 /// Respond to colour change
89 void OnColourChanged(wxCommandEvent
& event
);
91 /// wxEVT_COMMAND_LISTBOX_SELECTED event handler for wxID_FONTDIALOG_FACENAME
92 void OnFontdialogFacenameSelected( wxCommandEvent
& event
);
94 /// wxEVT_COMMAND_SPINCTRL_UPDATED event handler for wxID_FONTDIALOG_FONTSIZE
95 void OnFontdialogFontsizeUpdated( wxSpinEvent
& event
);
97 /// wxEVT_COMMAND_TEXT_UPDATED event handler for wxID_FONTDIALOG_FONTSIZE
98 void OnFontdialogFontsizeTextUpdated( wxCommandEvent
& event
);
100 /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for wxID_FONTDIALOG_BOLD
101 void OnFontdialogBoldClick( wxCommandEvent
& event
);
103 /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for wxID_FONTDIALOG_ITALIC
104 void OnFontdialogItalicClick( wxCommandEvent
& event
);
106 /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for wxID_FONTDIALOG_UNDERLINED
107 void OnFontdialogUnderlinedClick( wxCommandEvent
& event
);
109 /// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
110 void OnOkClick( wxCommandEvent
& event
);
112 /// Should we show tooltips?
113 static bool ShowToolTips();
115 wxListBox
* m_facenameCtrl
;
116 wxSpinCtrl
* m_sizeCtrl
;
117 wxCheckBox
* m_boldCtrl
;
118 wxCheckBox
* m_italicCtrl
;
119 wxCheckBox
* m_underlinedCtrl
;
120 wxFontColourSwatchCtrl
* m_colourCtrl
;
121 wxFontPreviewCtrl
* m_previewCtrl
;
124 bool m_suppressUpdates
;
127 // !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
130 wxWindow
* m_dialogParent
;
131 wxFontData m_fontData
;
132 void* m_pEventHandlerRef
;