1 /////////////////////////////////////////////////////////////////////////////
2 // Name: richtextmarginspage.cpp
4 // Author: Julian Smart
6 // Created: 20/10/2010 10:27:34
8 // Copyright: (c) Julian Smart
10 /////////////////////////////////////////////////////////////////////////////
12 // For compilers that support precompilation, includes "wx/wx.h".
13 #include "wx/wxprec.h"
26 #include "wx/richtext/richtextmarginspage.h"
33 * wxRichTextMarginsPage type definition
36 IMPLEMENT_DYNAMIC_CLASS( wxRichTextMarginsPage
, wxRichTextDialogPage
)
40 * wxRichTextMarginsPage event table definition
43 BEGIN_EVENT_TABLE( wxRichTextMarginsPage
, wxRichTextDialogPage
)
45 ////@begin wxRichTextMarginsPage event table entries
46 EVT_UPDATE_UI( ID_RICHTEXT_LEFT_MARGIN
, wxRichTextMarginsPage::OnRichtextLeftMarginUpdate
)
48 EVT_UPDATE_UI( ID_RICHTEXT_LEFT_MARGIN_UNITS
, wxRichTextMarginsPage::OnRichtextLeftMarginUpdate
)
50 EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_MARGIN
, wxRichTextMarginsPage::OnRichtextRightMarginUpdate
)
52 EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_MARGIN_UNITS
, wxRichTextMarginsPage::OnRichtextRightMarginUpdate
)
54 EVT_UPDATE_UI( ID_RICHTEXT_TOP_MARGIN
, wxRichTextMarginsPage::OnRichtextTopMarginUpdate
)
56 EVT_UPDATE_UI( ID_RICHTEXT_TOP_MARGIN_UNITS
, wxRichTextMarginsPage::OnRichtextTopMarginUpdate
)
58 EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_MARGIN
, wxRichTextMarginsPage::OnRichtextBottomMarginUpdate
)
60 EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_MARGIN_UNITS
, wxRichTextMarginsPage::OnRichtextBottomMarginUpdate
)
62 EVT_UPDATE_UI( ID_RICHTEXT_LEFT_PADDING
, wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate
)
64 EVT_UPDATE_UI( ID_RICHTEXT_LEFT_PADDING_UNITS
, wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate
)
66 EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_PADDING
, wxRichTextMarginsPage::OnRichtextRightPaddingUpdate
)
68 EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_PADDING_UNITS
, wxRichTextMarginsPage::OnRichtextRightPaddingUpdate
)
70 EVT_UPDATE_UI( ID_RICHTEXT_TOP_PADDING
, wxRichTextMarginsPage::OnRichtextTopPaddingUpdate
)
72 EVT_UPDATE_UI( ID_RICHTEXT_TOP_PADDING_UNITS
, wxRichTextMarginsPage::OnRichtextTopPaddingUpdate
)
74 EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_PADDING
, wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate
)
76 EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_PADDING_UNITS
, wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate
)
78 ////@end wxRichTextMarginsPage event table entries
82 IMPLEMENT_HELP_PROVISION(wxRichTextMarginsPage
)
85 * wxRichTextMarginsPage constructors
88 wxRichTextMarginsPage::wxRichTextMarginsPage()
93 wxRichTextMarginsPage::wxRichTextMarginsPage( wxWindow
* parent
, wxWindowID id
, const wxPoint
& pos
, const wxSize
& size
, long style
)
96 Create(parent
, id
, pos
, size
, style
);
101 * wxRichTextMarginsPage creator
104 bool wxRichTextMarginsPage::Create( wxWindow
* parent
, wxWindowID id
, const wxPoint
& pos
, const wxSize
& size
, long style
)
106 ////@begin wxRichTextMarginsPage creation
107 wxRichTextDialogPage::Create( parent
, id
, pos
, size
, style
);
112 GetSizer()->SetSizeHints(this);
115 ////@end wxRichTextMarginsPage creation
121 * wxRichTextMarginsPage destructor
124 wxRichTextMarginsPage::~wxRichTextMarginsPage()
126 ////@begin wxRichTextMarginsPage destruction
127 ////@end wxRichTextMarginsPage destruction
132 * Member initialisation
135 void wxRichTextMarginsPage::Init()
137 m_ignoreUpdates
= false;
139 ////@begin wxRichTextMarginsPage member initialisation
140 m_leftMarginCheckbox
= NULL
;
142 m_unitsMarginLeft
= NULL
;
143 m_rightMarginCheckbox
= NULL
;
144 m_marginRight
= NULL
;
145 m_unitsMarginRight
= NULL
;
146 m_topMarginCheckbox
= 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
;
160 m_unitsPaddingTop
= NULL
;
161 m_bottomPaddingCheckbox
= NULL
;
162 m_paddingBottom
= NULL
;
163 m_unitsPaddingBottom
= NULL
;
164 ////@end wxRichTextMarginsPage member initialisation
169 * Control creation for wxRichTextMarginsPage
172 void wxRichTextMarginsPage::CreateControls()
174 ////@begin wxRichTextMarginsPage content construction
175 wxRichTextMarginsPage
* itemRichTextDialogPage1
= this;
177 wxBoxSizer
* itemBoxSizer2
= new wxBoxSizer(wxVERTICAL
);
178 itemRichTextDialogPage1
->SetSizer(itemBoxSizer2
);
180 wxBoxSizer
* itemBoxSizer3
= new wxBoxSizer(wxVERTICAL
);
181 itemBoxSizer2
->Add(itemBoxSizer3
, 1, wxGROW
|wxALL
, 5);
183 wxBoxSizer
* itemBoxSizer4
= new wxBoxSizer(wxHORIZONTAL
);
184 itemBoxSizer3
->Add(itemBoxSizer4
, 0, wxGROW
, 5);
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);
190 wxStaticLine
* itemStaticLine6
= new wxStaticLine( itemRichTextDialogPage1
, wxID_STATIC
, wxDefaultPosition
, wxDefaultSize
, wxLI_HORIZONTAL
);
191 itemBoxSizer4
->Add(itemStaticLine6
, 1, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
193 wxBoxSizer
* itemBoxSizer7
= new wxBoxSizer(wxHORIZONTAL
);
194 itemBoxSizer3
->Add(itemBoxSizer7
, 0, wxGROW
, 5);
196 itemBoxSizer7
->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
198 wxFlexGridSizer
* itemFlexGridSizer9
= new wxFlexGridSizer(0, 4, 0, 0);
199 itemBoxSizer7
->Add(itemFlexGridSizer9
, 0, wxALIGN_CENTER_VERTICAL
, 5);
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);
205 wxBoxSizer
* itemBoxSizer11
= new wxBoxSizer(wxHORIZONTAL
);
206 itemFlexGridSizer9
->Add(itemBoxSizer11
, 0, wxALIGN_LEFT
|wxALIGN_CENTER_VERTICAL
, 5);
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);
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);
224 itemBoxSizer11
->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
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);
230 wxBoxSizer
* itemBoxSizer16
= new wxBoxSizer(wxHORIZONTAL
);
231 itemFlexGridSizer9
->Add(itemBoxSizer16
, 0, wxALIGN_LEFT
|wxALIGN_CENTER_VERTICAL
, 5);
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);
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);
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);
253 wxBoxSizer
* itemBoxSizer20
= new wxBoxSizer(wxHORIZONTAL
);
254 itemFlexGridSizer9
->Add(itemBoxSizer20
, 0, wxALIGN_LEFT
|wxALIGN_CENTER_VERTICAL
, 5);
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);
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);
272 itemBoxSizer20
->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
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);
278 wxBoxSizer
* itemBoxSizer25
= new wxBoxSizer(wxHORIZONTAL
);
279 itemFlexGridSizer9
->Add(itemBoxSizer25
, 0, wxALIGN_LEFT
|wxALIGN_CENTER_VERTICAL
, 5);
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);
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);
297 wxBoxSizer
* itemBoxSizer28
= new wxBoxSizer(wxHORIZONTAL
);
298 itemBoxSizer3
->Add(itemBoxSizer28
, 0, wxGROW
, 5);
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);
304 wxStaticLine
* itemStaticLine30
= new wxStaticLine( itemRichTextDialogPage1
, wxID_STATIC
, wxDefaultPosition
, wxDefaultSize
, wxLI_HORIZONTAL
);
305 itemBoxSizer28
->Add(itemStaticLine30
, 1, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
307 wxBoxSizer
* itemBoxSizer31
= new wxBoxSizer(wxHORIZONTAL
);
308 itemBoxSizer3
->Add(itemBoxSizer31
, 0, wxGROW
, 5);
310 itemBoxSizer31
->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
312 wxFlexGridSizer
* itemFlexGridSizer33
= new wxFlexGridSizer(0, 4, 0, 0);
313 itemBoxSizer31
->Add(itemFlexGridSizer33
, 0, wxALIGN_CENTER_VERTICAL
, 5);
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);
319 wxBoxSizer
* itemBoxSizer35
= new wxBoxSizer(wxHORIZONTAL
);
320 itemFlexGridSizer33
->Add(itemBoxSizer35
, 0, wxALIGN_LEFT
|wxALIGN_CENTER_VERTICAL
, 5);
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);
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);
338 itemBoxSizer35
->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
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);
344 wxBoxSizer
* itemBoxSizer40
= new wxBoxSizer(wxHORIZONTAL
);
345 itemFlexGridSizer33
->Add(itemBoxSizer40
, 0, wxALIGN_LEFT
|wxALIGN_CENTER_VERTICAL
, 5);
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);
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);
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);
367 wxBoxSizer
* itemBoxSizer44
= new wxBoxSizer(wxHORIZONTAL
);
368 itemFlexGridSizer33
->Add(itemBoxSizer44
, 0, wxALIGN_LEFT
|wxALIGN_CENTER_VERTICAL
, 5);
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);
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);
386 itemBoxSizer44
->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
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);
392 wxBoxSizer
* itemBoxSizer49
= new wxBoxSizer(wxHORIZONTAL
);
393 itemFlexGridSizer33
->Add(itemBoxSizer49
, 0, wxALIGN_LEFT
|wxALIGN_CENTER_VERTICAL
, 5);
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);
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);
411 ////@end wxRichTextMarginsPage content construction
414 wxRichTextAttr
* wxRichTextMarginsPage::GetAttributes()
416 return wxRichTextFormattingDialog::GetDialogAttributes(this);
420 * Should we show tooltips?
423 bool wxRichTextMarginsPage::ShowToolTips()
428 bool wxRichTextMarginsPage::TransferDataToWindow()
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
);
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
);
445 bool wxRichTextMarginsPage::TransferDataFromWindow()
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
);
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
);
463 * Get bitmap resources
466 wxBitmap
wxRichTextMarginsPage::GetBitmapResource( const wxString
& name
)
469 ////@begin wxRichTextMarginsPage bitmap retrieval
472 ////@end wxRichTextMarginsPage bitmap retrieval
479 wxIcon
wxRichTextMarginsPage::GetIconResource( const wxString
& name
)
482 ////@begin wxRichTextMarginsPage icon retrieval
485 ////@end wxRichTextMarginsPage icon retrieval
490 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_MARGIN
493 void wxRichTextMarginsPage::OnRichtextLeftMarginUpdate( wxUpdateUIEvent
& event
)
495 event
.Enable(m_leftMarginCheckbox
->GetValue());
500 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_MARGIN
503 void wxRichTextMarginsPage::OnRichtextRightMarginUpdate( wxUpdateUIEvent
& event
)
505 event
.Enable(m_rightMarginCheckbox
->GetValue());
509 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_MARGIN
512 void wxRichTextMarginsPage::OnRichtextTopMarginUpdate( wxUpdateUIEvent
& event
)
514 event
.Enable(m_topMarginCheckbox
->GetValue());
518 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_MARGIN
521 void wxRichTextMarginsPage::OnRichtextBottomMarginUpdate( wxUpdateUIEvent
& event
)
523 event
.Enable(m_bottomMarginCheckbox
->GetValue());
528 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_PADDING
531 void wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate( wxUpdateUIEvent
& event
)
533 event
.Enable(m_leftPaddingCheckbox
->GetValue());
538 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_PADDING
541 void wxRichTextMarginsPage::OnRichtextRightPaddingUpdate( wxUpdateUIEvent
& event
)
543 event
.Enable(m_rightPaddingCheckbox
->GetValue());
548 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_PADDING
551 void wxRichTextMarginsPage::OnRichtextTopPaddingUpdate( wxUpdateUIEvent
& event
)
553 event
.Enable(m_topPaddingCheckbox
->GetValue());
557 * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_PADDING
560 void wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate( wxUpdateUIEvent
& event
)
562 event
.Enable(m_bottomPaddingCheckbox
->GetValue());