]> git.saurik.com Git - wxWidgets.git/blob - include/wx/richtext/richtextfontpage.h
replacing old core graphics with new graphics context implementation
[wxWidgets.git] / include / wx / richtext / richtextfontpage.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/richtext/richeditfontpage.h
3 // Purpose: Font page for wxRichTextFormattingDialog
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 2006-10-02
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _RICHTEXTFONTPAGE_H_
13 #define _RICHTEXTFONTPAGE_H_
14
15 /*!
16 * Includes
17 */
18
19 ////@begin includes
20 ////@end includes
21
22 /*!
23 * Forward declarations
24 */
25
26 ////@begin forward declarations
27 class wxRichTextFontListBox;
28 class wxRichTextColourSwatchCtrl;
29 class wxRichTextFontPreviewCtrl;
30 ////@end forward declarations
31
32 /*!
33 * Control identifiers
34 */
35
36 ////@begin control identifiers
37 #define SYMBOL_WXRICHTEXTFONTPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL
38 #define SYMBOL_WXRICHTEXTFONTPAGE_TITLE _("wxRichTextFontPage")
39 #define SYMBOL_WXRICHTEXTFONTPAGE_IDNAME ID_RICHTEXTFONTPAGE
40 #define SYMBOL_WXRICHTEXTFONTPAGE_SIZE wxSize(400, 300)
41 #define SYMBOL_WXRICHTEXTFONTPAGE_POSITION wxDefaultPosition
42 ////@end control identifiers
43
44 /*!
45 * wxRichTextFontPage class declaration
46 */
47
48 class WXDLLIMPEXP_RICHTEXT wxRichTextFontPage: public wxPanel
49 {
50 DECLARE_DYNAMIC_CLASS( wxRichTextFontPage )
51 DECLARE_EVENT_TABLE()
52
53 public:
54 /// Constructors
55 wxRichTextFontPage( );
56 wxRichTextFontPage( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTFONTPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTFONTPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTFONTPAGE_SIZE, long style = SYMBOL_WXRICHTEXTFONTPAGE_STYLE );
57
58 /// Initialise members
59 void Init();
60
61 /// Creation
62 bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTFONTPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTFONTPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTFONTPAGE_SIZE, long style = SYMBOL_WXRICHTEXTFONTPAGE_STYLE );
63
64 /// Creates the controls and sizers
65 void CreateControls();
66
67 /// Transfer data from/to window
68 virtual bool TransferDataFromWindow();
69 virtual bool TransferDataToWindow();
70
71 /// Updates the font preview
72 void UpdatePreview();
73
74 void OnFaceListBoxSelected( wxCommandEvent& event );
75 void OnColourClicked( wxCommandEvent& event );
76
77 /// Gets the attributes associated with the main formatting dialog
78 wxTextAttrEx* GetAttributes();
79
80 ////@begin wxRichTextFontPage event handler declarations
81
82 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTFONTPAGE_FACETEXTCTRL
83 void OnFaceTextCtrlUpdated( wxCommandEvent& event );
84
85 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTFONTPAGE_SIZETEXTCTRL
86 void OnSizeTextCtrlUpdated( wxCommandEvent& event );
87
88 /// wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_SIZELISTBOX
89 void OnSizeListBoxSelected( wxCommandEvent& event );
90
91 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_STYLECTRL
92 void OnStyleCtrlSelected( wxCommandEvent& event );
93
94 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_WEIGHTCTRL
95 void OnWeightCtrlSelected( wxCommandEvent& event );
96
97 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL
98 void OnUnderliningCtrlSelected( wxCommandEvent& event );
99
100 ////@end wxRichTextFontPage event handler declarations
101
102 ////@begin wxRichTextFontPage member function declarations
103
104 /// Retrieves bitmap resources
105 wxBitmap GetBitmapResource( const wxString& name );
106
107 /// Retrieves icon resources
108 wxIcon GetIconResource( const wxString& name );
109 ////@end wxRichTextFontPage member function declarations
110
111 /// Should we show tooltips?
112 static bool ShowToolTips();
113
114 ////@begin wxRichTextFontPage member variables
115 wxTextCtrl* m_faceTextCtrl;
116 wxRichTextFontListBox* m_faceListBox;
117 wxTextCtrl* m_sizeTextCtrl;
118 wxListBox* m_sizeListBox;
119 wxComboBox* m_styleCtrl;
120 wxComboBox* m_weightCtrl;
121 wxComboBox* m_underliningCtrl;
122 wxRichTextColourSwatchCtrl* m_colourCtrl;
123 wxRichTextFontPreviewCtrl* m_previewCtrl;
124 /// Control identifiers
125 enum {
126 ID_RICHTEXTFONTPAGE = 10000,
127 ID_RICHTEXTFONTPAGE_FACETEXTCTRL = 10001,
128 ID_RICHTEXTFONTPAGE_FACELISTBOX = 10002,
129 ID_RICHTEXTFONTPAGE_SIZETEXTCTRL = 10005,
130 ID_RICHTEXTFONTPAGE_SIZELISTBOX = 10006,
131 ID_RICHTEXTFONTPAGE_STYLECTRL = 10007,
132 ID_RICHTEXTFONTPAGE_WEIGHTCTRL = 10004,
133 ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL = 10008,
134 ID_RICHTEXTFONTPAGE_COLOURCTRL = 10009,
135 ID_RICHTEXTFONTPAGE_PREVIEWCTRL = 10003
136 };
137 ////@end wxRichTextFontPage member variables
138
139 bool m_dontUpdate;
140 bool m_colourPresent;
141 };
142
143 #endif
144 // _RICHTEXTFONTPAGE_H_