]> git.saurik.com Git - wxWidgets.git/blob - src/richtext/richtextmarginspage.cpp
c0d68e2fdc5c5d3d020e17705aae165170b83f1b
[wxWidgets.git] / src / richtext / richtextmarginspage.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: richtextmarginspage.cpp
3 // Purpose:
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 20/10/2010 10:27:34
7 // RCS-ID:
8 // Copyright: (c) Julian Smart
9 // Licence:
10 /////////////////////////////////////////////////////////////////////////////
11
12 // For compilers that support precompilation, includes "wx/wx.h".
13 #include "wx/wxprec.h"
14
15 #ifdef __BORLANDC__
16 #pragma hdrstop
17 #endif
18
19 #ifndef WX_PRECOMP
20 #include "wx/wx.h"
21 #endif
22
23 ////@begin includes
24 ////@end includes
25
26 #include "wx/richtext/richtextmarginspage.h"
27
28 ////@begin XPM images
29 ////@end XPM images
30
31
32 /*!
33 * wxRichTextMarginsPage type definition
34 */
35
36 IMPLEMENT_DYNAMIC_CLASS( wxRichTextMarginsPage, wxRichTextDialogPage )
37
38
39 /*!
40 * wxRichTextMarginsPage event table definition
41 */
42
43 BEGIN_EVENT_TABLE( wxRichTextMarginsPage, wxRichTextDialogPage )
44
45 ////@begin wxRichTextMarginsPage event table entries
46 EVT_UPDATE_UI( ID_RICHTEXT_LEFT_MARGIN, wxRichTextMarginsPage::OnRichtextLeftMarginUpdate )
47
48 EVT_UPDATE_UI( ID_RICHTEXT_LEFT_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextLeftMarginUpdate )
49
50 EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_MARGIN, wxRichTextMarginsPage::OnRichtextRightMarginUpdate )
51
52 EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextRightMarginUpdate )
53
54 EVT_UPDATE_UI( ID_RICHTEXT_TOP_MARGIN, wxRichTextMarginsPage::OnRichtextTopMarginUpdate )
55
56 EVT_UPDATE_UI( ID_RICHTEXT_TOP_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextTopMarginUpdate )
57
58 EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_MARGIN, wxRichTextMarginsPage::OnRichtextBottomMarginUpdate )
59
60 EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextBottomMarginUpdate )
61
62 EVT_UPDATE_UI( ID_RICHTEXT_LEFT_PADDING, wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate )
63
64 EVT_UPDATE_UI( ID_RICHTEXT_LEFT_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate )
65
66 EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_PADDING, wxRichTextMarginsPage::OnRichtextRightPaddingUpdate )
67
68 EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextRightPaddingUpdate )
69
70 EVT_UPDATE_UI( ID_RICHTEXT_TOP_PADDING, wxRichTextMarginsPage::OnRichtextTopPaddingUpdate )
71
72 EVT_UPDATE_UI( ID_RICHTEXT_TOP_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextTopPaddingUpdate )
73
74 EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_PADDING, wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate )
75
76 EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate )
77
78 ////@end wxRichTextMarginsPage event table entries
79
80 END_EVENT_TABLE()
81
82 IMPLEMENT_HELP_PROVISION(wxRichTextMarginsPage)
83
84 /*!
85 * wxRichTextMarginsPage constructors
86 */
87
88 wxRichTextMarginsPage::wxRichTextMarginsPage()
89 {
90 Init();
91 }
92
93 wxRichTextMarginsPage::wxRichTextMarginsPage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
94 {
95 Init();
96 Create(parent, id, pos, size, style);
97 }
98
99
100 /*!
101 * wxRichTextMarginsPage creator
102 */
103
104 bool wxRichTextMarginsPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
105 {
106 ////@begin wxRichTextMarginsPage creation
107 wxRichTextDialogPage::Create( parent, id, pos, size, style );
108
109 CreateControls();
110 if (GetSizer())
111 {
112 GetSizer()->SetSizeHints(this);
113 }
114 Centre();
115 ////@end wxRichTextMarginsPage creation
116 return true;
117 }
118
119
120 /*!
121 * wxRichTextMarginsPage destructor
122 */
123
124 wxRichTextMarginsPage::~wxRichTextMarginsPage()
125 {
126 ////@begin wxRichTextMarginsPage destruction
127 ////@end wxRichTextMarginsPage destruction
128 }
129
130
131 /*!
132 * Member initialisation
133 */
134
135 void wxRichTextMarginsPage::Init()
136 {
137 m_ignoreUpdates = false;
138
139 ////@begin wxRichTextMarginsPage member initialisation
140 m_leftMarginCheckbox = NULL;
141 m_marginLeft = NULL;
142 m_unitsMarginLeft = NULL;
143 m_rightMarginCheckbox = NULL;
144 m_marginRight = NULL;
145 m_unitsMarginRight = NULL;
146 m_topMarginCheckbox = NULL;
147 m_marginTop = NULL;
148 m_unitsMarginTop = NULL;
149 m_bottomMarginCheckbox = NULL;
150 m_marginBottom = NULL;
151 m_unitsMarginBottom = NULL;
152 m_leftPaddingCheckbox = NULL;
153 m_paddingLeft = NULL;
154 m_unitsPaddingLeft = NULL;
155 m_rightPaddingCheckbox = NULL;
156 m_paddingRight = NULL;
157 m_unitsPaddingRight = NULL;
158 m_topPaddingCheckbox = NULL;
159 m_paddingTop = NULL;
160 m_unitsPaddingTop = NULL;
161 m_bottomPaddingCheckbox = NULL;
162 m_paddingBottom = NULL;
163 m_unitsPaddingBottom = NULL;
164 ////@end wxRichTextMarginsPage member initialisation
165 }
166
167
168 /*!
169 * Control creation for wxRichTextMarginsPage
170 */
171
172 void wxRichTextMarginsPage::CreateControls()
173 {
174 ////@begin wxRichTextMarginsPage content construction
175 wxRichTextMarginsPage* itemRichTextDialogPage1 = this;
176
177 wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
178 itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
179
180 wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
181 itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
182
183 wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
184 itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW, 5);
185
186 wxStaticText* itemStaticText5 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Margins"), wxDefaultPosition, wxDefaultSize, 0 );
187 itemStaticText5->SetFont(wxFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetFamily(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetStyle(), wxBOLD, false, wxT("")));
188 itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
189
190 wxStaticLine* itemStaticLine6 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
191 itemBoxSizer4->Add(itemStaticLine6, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
192
193 wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL);
194 itemBoxSizer3->Add(itemBoxSizer7, 0, wxGROW, 5);
195
196 itemBoxSizer7->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
197
198 wxFlexGridSizer* itemFlexGridSizer9 = new wxFlexGridSizer(0, 4, 0, 0);
199 itemBoxSizer7->Add(itemFlexGridSizer9, 0, wxALIGN_CENTER_VERTICAL, 5);
200
201 m_leftMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
202 m_leftMarginCheckbox->SetValue(false);
203 itemFlexGridSizer9->Add(m_leftMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
204
205 wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxHORIZONTAL);
206 itemFlexGridSizer9->Add(itemBoxSizer11, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
207
208 m_marginLeft = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
209 m_marginLeft->SetHelpText(_("The left margin size."));
210 if (wxRichTextMarginsPage::ShowToolTips())
211 m_marginLeft->SetToolTip(_("The left margin size."));
212 itemBoxSizer11->Add(m_marginLeft, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
213
214 wxArrayString m_unitsMarginLeftStrings;
215 m_unitsMarginLeftStrings.Add(_("px"));
216 m_unitsMarginLeftStrings.Add(_("cm"));
217 m_unitsMarginLeft = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginLeftStrings, wxCB_READONLY );
218 m_unitsMarginLeft->SetStringSelection(_("px"));
219 m_unitsMarginLeft->SetHelpText(_("Units for the left margin."));
220 if (wxRichTextMarginsPage::ShowToolTips())
221 m_unitsMarginLeft->SetToolTip(_("Units for the left margin."));
222 itemBoxSizer11->Add(m_unitsMarginLeft, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
223
224 itemBoxSizer11->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
225
226 m_rightMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
227 m_rightMarginCheckbox->SetValue(false);
228 itemFlexGridSizer9->Add(m_rightMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
229
230 wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxHORIZONTAL);
231 itemFlexGridSizer9->Add(itemBoxSizer16, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
232
233 m_marginRight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
234 m_marginRight->SetHelpText(_("The right margin size."));
235 if (wxRichTextMarginsPage::ShowToolTips())
236 m_marginRight->SetToolTip(_("The right margin size."));
237 itemBoxSizer16->Add(m_marginRight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
238
239 wxArrayString m_unitsMarginRightStrings;
240 m_unitsMarginRightStrings.Add(_("px"));
241 m_unitsMarginRightStrings.Add(_("cm"));
242 m_unitsMarginRight = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginRightStrings, wxCB_READONLY );
243 m_unitsMarginRight->SetStringSelection(_("px"));
244 m_unitsMarginRight->SetHelpText(_("Units for the right margin."));
245 if (wxRichTextMarginsPage::ShowToolTips())
246 m_unitsMarginRight->SetToolTip(_("Units for the right margin."));
247 itemBoxSizer16->Add(m_unitsMarginRight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
248
249 m_topMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, 0 );
250 m_topMarginCheckbox->SetValue(false);
251 itemFlexGridSizer9->Add(m_topMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
252
253 wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
254 itemFlexGridSizer9->Add(itemBoxSizer20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
255
256 m_marginTop = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
257 m_marginTop->SetHelpText(_("The top margin size."));
258 if (wxRichTextMarginsPage::ShowToolTips())
259 m_marginTop->SetToolTip(_("The top margin size."));
260 itemBoxSizer20->Add(m_marginTop, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
261
262 wxArrayString m_unitsMarginTopStrings;
263 m_unitsMarginTopStrings.Add(_("px"));
264 m_unitsMarginTopStrings.Add(_("cm"));
265 m_unitsMarginTop = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginTopStrings, wxCB_READONLY );
266 m_unitsMarginTop->SetStringSelection(_("px"));
267 m_unitsMarginTop->SetHelpText(_("Units for the top margin."));
268 if (wxRichTextMarginsPage::ShowToolTips())
269 m_unitsMarginTop->SetToolTip(_("Units for the top margin."));
270 itemBoxSizer20->Add(m_unitsMarginTop, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
271
272 itemBoxSizer20->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
273
274 m_bottomMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, 0 );
275 m_bottomMarginCheckbox->SetValue(false);
276 itemFlexGridSizer9->Add(m_bottomMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
277
278 wxBoxSizer* itemBoxSizer25 = new wxBoxSizer(wxHORIZONTAL);
279 itemFlexGridSizer9->Add(itemBoxSizer25, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
280
281 m_marginBottom = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
282 m_marginBottom->SetHelpText(_("The bottom margin size."));
283 if (wxRichTextMarginsPage::ShowToolTips())
284 m_marginBottom->SetToolTip(_("The bottom margin size."));
285 itemBoxSizer25->Add(m_marginBottom, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
286
287 wxArrayString m_unitsMarginBottomStrings;
288 m_unitsMarginBottomStrings.Add(_("px"));
289 m_unitsMarginBottomStrings.Add(_("cm"));
290 m_unitsMarginBottom = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginBottomStrings, wxCB_READONLY );
291 m_unitsMarginBottom->SetStringSelection(_("px"));
292 m_unitsMarginBottom->SetHelpText(_("Units for the bottom margin."));
293 if (wxRichTextMarginsPage::ShowToolTips())
294 m_unitsMarginBottom->SetToolTip(_("Units for the bottom margin."));
295 itemBoxSizer25->Add(m_unitsMarginBottom, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
296
297 wxBoxSizer* itemBoxSizer28 = new wxBoxSizer(wxHORIZONTAL);
298 itemBoxSizer3->Add(itemBoxSizer28, 0, wxGROW, 5);
299
300 wxStaticText* itemStaticText29 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Padding"), wxDefaultPosition, wxDefaultSize, 0 );
301 itemStaticText29->SetFont(wxFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetFamily(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetStyle(), wxBOLD, false, wxT("")));
302 itemBoxSizer28->Add(itemStaticText29, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
303
304 wxStaticLine* itemStaticLine30 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
305 itemBoxSizer28->Add(itemStaticLine30, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
306
307 wxBoxSizer* itemBoxSizer31 = new wxBoxSizer(wxHORIZONTAL);
308 itemBoxSizer3->Add(itemBoxSizer31, 0, wxGROW, 5);
309
310 itemBoxSizer31->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
311
312 wxFlexGridSizer* itemFlexGridSizer33 = new wxFlexGridSizer(0, 4, 0, 0);
313 itemBoxSizer31->Add(itemFlexGridSizer33, 0, wxALIGN_CENTER_VERTICAL, 5);
314
315 m_leftPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
316 m_leftPaddingCheckbox->SetValue(false);
317 itemFlexGridSizer33->Add(m_leftPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
318
319 wxBoxSizer* itemBoxSizer35 = new wxBoxSizer(wxHORIZONTAL);
320 itemFlexGridSizer33->Add(itemBoxSizer35, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
321
322 m_paddingLeft = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
323 m_paddingLeft->SetHelpText(_("The left padding size."));
324 if (wxRichTextMarginsPage::ShowToolTips())
325 m_paddingLeft->SetToolTip(_("The left padding size."));
326 itemBoxSizer35->Add(m_paddingLeft, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
327
328 wxArrayString m_unitsPaddingLeftStrings;
329 m_unitsPaddingLeftStrings.Add(_("px"));
330 m_unitsPaddingLeftStrings.Add(_("cm"));
331 m_unitsPaddingLeft = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingLeftStrings, wxCB_READONLY );
332 m_unitsPaddingLeft->SetStringSelection(_("px"));
333 m_unitsPaddingLeft->SetHelpText(_("Units for the left padding."));
334 if (wxRichTextMarginsPage::ShowToolTips())
335 m_unitsPaddingLeft->SetToolTip(_("Units for the left padding."));
336 itemBoxSizer35->Add(m_unitsPaddingLeft, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
337
338 itemBoxSizer35->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
339
340 m_rightPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
341 m_rightPaddingCheckbox->SetValue(false);
342 itemFlexGridSizer33->Add(m_rightPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
343
344 wxBoxSizer* itemBoxSizer40 = new wxBoxSizer(wxHORIZONTAL);
345 itemFlexGridSizer33->Add(itemBoxSizer40, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
346
347 m_paddingRight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
348 m_paddingRight->SetHelpText(_("The right padding size."));
349 if (wxRichTextMarginsPage::ShowToolTips())
350 m_paddingRight->SetToolTip(_("The right padding size."));
351 itemBoxSizer40->Add(m_paddingRight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
352
353 wxArrayString m_unitsPaddingRightStrings;
354 m_unitsPaddingRightStrings.Add(_("px"));
355 m_unitsPaddingRightStrings.Add(_("cm"));
356 m_unitsPaddingRight = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingRightStrings, wxCB_READONLY );
357 m_unitsPaddingRight->SetStringSelection(_("px"));
358 m_unitsPaddingRight->SetHelpText(_("Units for the right padding."));
359 if (wxRichTextMarginsPage::ShowToolTips())
360 m_unitsPaddingRight->SetToolTip(_("Units for the right padding."));
361 itemBoxSizer40->Add(m_unitsPaddingRight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
362
363 m_topPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, 0 );
364 m_topPaddingCheckbox->SetValue(false);
365 itemFlexGridSizer33->Add(m_topPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
366
367 wxBoxSizer* itemBoxSizer44 = new wxBoxSizer(wxHORIZONTAL);
368 itemFlexGridSizer33->Add(itemBoxSizer44, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
369
370 m_paddingTop = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
371 m_paddingTop->SetHelpText(_("The top padding size."));
372 if (wxRichTextMarginsPage::ShowToolTips())
373 m_paddingTop->SetToolTip(_("The top padding size."));
374 itemBoxSizer44->Add(m_paddingTop, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
375
376 wxArrayString m_unitsPaddingTopStrings;
377 m_unitsPaddingTopStrings.Add(_("px"));
378 m_unitsPaddingTopStrings.Add(_("cm"));
379 m_unitsPaddingTop = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingTopStrings, wxCB_READONLY );
380 m_unitsPaddingTop->SetStringSelection(_("px"));
381 m_unitsPaddingTop->SetHelpText(_("Units for the top padding."));
382 if (wxRichTextMarginsPage::ShowToolTips())
383 m_unitsPaddingTop->SetToolTip(_("Units for the top padding."));
384 itemBoxSizer44->Add(m_unitsPaddingTop, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
385
386 itemBoxSizer44->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
387
388 m_bottomPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, 0 );
389 m_bottomPaddingCheckbox->SetValue(false);
390 itemFlexGridSizer33->Add(m_bottomPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
391
392 wxBoxSizer* itemBoxSizer49 = new wxBoxSizer(wxHORIZONTAL);
393 itemFlexGridSizer33->Add(itemBoxSizer49, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
394
395 m_paddingBottom = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
396 m_paddingBottom->SetHelpText(_("The bottom padding size."));
397 if (wxRichTextMarginsPage::ShowToolTips())
398 m_paddingBottom->SetToolTip(_("The bottom padding size."));
399 itemBoxSizer49->Add(m_paddingBottom, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
400
401 wxArrayString m_unitsPaddingBottomStrings;
402 m_unitsPaddingBottomStrings.Add(_("px"));
403 m_unitsPaddingBottomStrings.Add(_("cm"));
404 m_unitsPaddingBottom = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingBottomStrings, wxCB_READONLY );
405 m_unitsPaddingBottom->SetStringSelection(_("px"));
406 m_unitsPaddingBottom->SetHelpText(_("Units for the bottom padding."));
407 if (wxRichTextMarginsPage::ShowToolTips())
408 m_unitsPaddingBottom->SetToolTip(_("Units for the bottom padding."));
409 itemBoxSizer49->Add(m_unitsPaddingBottom, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
410
411 ////@end wxRichTextMarginsPage content construction
412 }
413
414 wxRichTextAttr* wxRichTextMarginsPage::GetAttributes()
415 {
416 return wxRichTextFormattingDialog::GetDialogAttributes(this);
417 }
418
419 /*!
420 * Should we show tooltips?
421 */
422
423 bool wxRichTextMarginsPage::ShowToolTips()
424 {
425 return true;
426 }
427
428 bool wxRichTextMarginsPage::TransferDataToWindow()
429 {
430 // Margins
431 wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetLeft(), m_marginLeft, m_unitsMarginLeft, m_leftMarginCheckbox);
432 wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetTop(), m_marginTop, m_unitsMarginTop, m_topMarginCheckbox);
433 wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetRight(), m_marginRight, m_unitsMarginRight, m_rightMarginCheckbox);
434 wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetBottom(), m_marginBottom, m_unitsMarginBottom, m_bottomMarginCheckbox);
435
436 // Padding
437 wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetLeft(), m_paddingLeft, m_unitsPaddingLeft, m_leftPaddingCheckbox);
438 wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetTop(), m_paddingTop, m_unitsPaddingTop, m_topPaddingCheckbox);
439 wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetRight(), m_paddingRight, m_unitsPaddingRight, m_rightPaddingCheckbox);
440 wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetBottom(), m_paddingBottom, m_unitsPaddingBottom, m_bottomPaddingCheckbox);
441
442 return true;
443 }
444
445 bool wxRichTextMarginsPage::TransferDataFromWindow()
446 {
447 // Margins
448 wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetLeft(), m_marginLeft, m_unitsMarginLeft, m_leftMarginCheckbox);
449 wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetTop(), m_marginTop, m_unitsMarginTop, m_topMarginCheckbox);
450 wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetRight(), m_marginRight, m_unitsMarginRight, m_rightMarginCheckbox);
451 wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetBottom(), m_marginBottom, m_unitsMarginBottom, m_bottomMarginCheckbox);
452
453 // Padding
454 wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetLeft(), m_paddingLeft, m_unitsPaddingLeft, m_leftPaddingCheckbox);
455 wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetTop(), m_paddingTop, m_unitsPaddingTop, m_topPaddingCheckbox);
456 wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetRight(), m_paddingRight, m_unitsPaddingRight, m_rightPaddingCheckbox);
457 wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetBottom(), m_paddingBottom, m_unitsPaddingBottom, m_bottomPaddingCheckbox);
458
459 return true;
460 }
461
462 /*!
463 * Get bitmap resources
464 */
465
466 wxBitmap wxRichTextMarginsPage::GetBitmapResource( const wxString& name )
467 {
468 // Bitmap retrieval
469 ////@begin wxRichTextMarginsPage bitmap retrieval
470 wxUnusedVar(name);
471 return wxNullBitmap;
472 ////@end wxRichTextMarginsPage bitmap retrieval
473 }
474
475 /*!
476 * Get icon resources
477 */
478
479 wxIcon wxRichTextMarginsPage::GetIconResource( const wxString& name )
480 {
481 // Icon retrieval
482 ////@begin wxRichTextMarginsPage icon retrieval
483 wxUnusedVar(name);
484 return wxNullIcon;
485 ////@end wxRichTextMarginsPage icon retrieval
486 }
487
488
489 /*!
490 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_MARGIN
491 */
492
493 void wxRichTextMarginsPage::OnRichtextLeftMarginUpdate( wxUpdateUIEvent& event )
494 {
495 event.Enable(m_leftMarginCheckbox->GetValue());
496 }
497
498
499 /*!
500 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_MARGIN
501 */
502
503 void wxRichTextMarginsPage::OnRichtextRightMarginUpdate( wxUpdateUIEvent& event )
504 {
505 event.Enable(m_rightMarginCheckbox->GetValue());
506 }
507
508 /*!
509 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_MARGIN
510 */
511
512 void wxRichTextMarginsPage::OnRichtextTopMarginUpdate( wxUpdateUIEvent& event )
513 {
514 event.Enable(m_topMarginCheckbox->GetValue());
515 }
516
517 /*!
518 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_MARGIN
519 */
520
521 void wxRichTextMarginsPage::OnRichtextBottomMarginUpdate( wxUpdateUIEvent& event )
522 {
523 event.Enable(m_bottomMarginCheckbox->GetValue());
524 }
525
526
527 /*!
528 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_PADDING
529 */
530
531 void wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate( wxUpdateUIEvent& event )
532 {
533 event.Enable(m_leftPaddingCheckbox->GetValue());
534 }
535
536
537 /*!
538 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_PADDING
539 */
540
541 void wxRichTextMarginsPage::OnRichtextRightPaddingUpdate( wxUpdateUIEvent& event )
542 {
543 event.Enable(m_rightPaddingCheckbox->GetValue());
544 }
545
546
547 /*!
548 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_PADDING
549 */
550
551 void wxRichTextMarginsPage::OnRichtextTopPaddingUpdate( wxUpdateUIEvent& event )
552 {
553 event.Enable(m_topPaddingCheckbox->GetValue());
554 }
555
556 /*!
557 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_PADDING
558 */
559
560 void wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate( wxUpdateUIEvent& event )
561 {
562 event.Enable(m_bottomPaddingCheckbox->GetValue());
563 }