PageRenderTime 45ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/ExtLibs/wxWidgets/src/richtext/richtextmarginspage.cpp

https://bitbucket.org/lennonchan/cafu
C++ | 549 lines | 334 code | 129 blank | 86 comment | 17 complexity | e9da2db4c3365bb82ae091602010b24e MD5 | raw file
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: src/richtext/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. #include "wx/richtext/richtextmarginspage.h"
  12. ////@begin XPM images
  13. ////@end XPM images
  14. /*!
  15. * wxRichTextMarginsPage type definition
  16. */
  17. IMPLEMENT_DYNAMIC_CLASS( wxRichTextMarginsPage, wxRichTextDialogPage )
  18. /*!
  19. * wxRichTextMarginsPage event table definition
  20. */
  21. BEGIN_EVENT_TABLE( wxRichTextMarginsPage, wxRichTextDialogPage )
  22. ////@begin wxRichTextMarginsPage event table entries
  23. EVT_UPDATE_UI( ID_RICHTEXT_LEFT_MARGIN, wxRichTextMarginsPage::OnRichtextLeftMarginUpdate )
  24. EVT_UPDATE_UI( ID_RICHTEXT_LEFT_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextLeftMarginUpdate )
  25. EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_MARGIN, wxRichTextMarginsPage::OnRichtextRightMarginUpdate )
  26. EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextRightMarginUpdate )
  27. EVT_UPDATE_UI( ID_RICHTEXT_TOP_MARGIN, wxRichTextMarginsPage::OnRichtextTopMarginUpdate )
  28. EVT_UPDATE_UI( ID_RICHTEXT_TOP_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextTopMarginUpdate )
  29. EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_MARGIN, wxRichTextMarginsPage::OnRichtextBottomMarginUpdate )
  30. EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextBottomMarginUpdate )
  31. EVT_UPDATE_UI( ID_RICHTEXT_LEFT_PADDING, wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate )
  32. EVT_UPDATE_UI( ID_RICHTEXT_LEFT_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate )
  33. EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_PADDING, wxRichTextMarginsPage::OnRichtextRightPaddingUpdate )
  34. EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextRightPaddingUpdate )
  35. EVT_UPDATE_UI( ID_RICHTEXT_TOP_PADDING, wxRichTextMarginsPage::OnRichtextTopPaddingUpdate )
  36. EVT_UPDATE_UI( ID_RICHTEXT_TOP_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextTopPaddingUpdate )
  37. EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_PADDING, wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate )
  38. EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate )
  39. ////@end wxRichTextMarginsPage event table entries
  40. END_EVENT_TABLE()
  41. IMPLEMENT_HELP_PROVISION(wxRichTextMarginsPage)
  42. /*!
  43. * wxRichTextMarginsPage constructors
  44. */
  45. wxRichTextMarginsPage::wxRichTextMarginsPage()
  46. {
  47. Init();
  48. }
  49. wxRichTextMarginsPage::wxRichTextMarginsPage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
  50. {
  51. Init();
  52. Create(parent, id, pos, size, style);
  53. }
  54. /*!
  55. * wxRichTextMarginsPage creator
  56. */
  57. bool wxRichTextMarginsPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
  58. {
  59. ////@begin wxRichTextMarginsPage creation
  60. wxRichTextDialogPage::Create( parent, id, pos, size, style );
  61. CreateControls();
  62. if (GetSizer())
  63. {
  64. GetSizer()->SetSizeHints(this);
  65. }
  66. Centre();
  67. ////@end wxRichTextMarginsPage creation
  68. return true;
  69. }
  70. /*!
  71. * wxRichTextMarginsPage destructor
  72. */
  73. wxRichTextMarginsPage::~wxRichTextMarginsPage()
  74. {
  75. ////@begin wxRichTextMarginsPage destruction
  76. ////@end wxRichTextMarginsPage destruction
  77. }
  78. /*!
  79. * Member initialisation
  80. */
  81. void wxRichTextMarginsPage::Init()
  82. {
  83. m_ignoreUpdates = false;
  84. ////@begin wxRichTextMarginsPage member initialisation
  85. m_leftMarginCheckbox = NULL;
  86. m_marginLeft = NULL;
  87. m_unitsMarginLeft = NULL;
  88. m_rightMarginCheckbox = NULL;
  89. m_marginRight = NULL;
  90. m_unitsMarginRight = NULL;
  91. m_topMarginCheckbox = NULL;
  92. m_marginTop = NULL;
  93. m_unitsMarginTop = NULL;
  94. m_bottomMarginCheckbox = NULL;
  95. m_marginBottom = NULL;
  96. m_unitsMarginBottom = NULL;
  97. m_leftPaddingCheckbox = NULL;
  98. m_paddingLeft = NULL;
  99. m_unitsPaddingLeft = NULL;
  100. m_rightPaddingCheckbox = NULL;
  101. m_paddingRight = NULL;
  102. m_unitsPaddingRight = NULL;
  103. m_topPaddingCheckbox = NULL;
  104. m_paddingTop = NULL;
  105. m_unitsPaddingTop = NULL;
  106. m_bottomPaddingCheckbox = NULL;
  107. m_paddingBottom = NULL;
  108. m_unitsPaddingBottom = NULL;
  109. ////@end wxRichTextMarginsPage member initialisation
  110. }
  111. /*!
  112. * Control creation for wxRichTextMarginsPage
  113. */
  114. void wxRichTextMarginsPage::CreateControls()
  115. {
  116. ////@begin wxRichTextMarginsPage content construction
  117. wxRichTextMarginsPage* itemRichTextDialogPage1 = this;
  118. wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
  119. itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
  120. wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
  121. itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
  122. wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
  123. itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW, 5);
  124. wxStaticText* itemStaticText5 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Margins"), wxDefaultPosition, wxDefaultSize, 0 );
  125. 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("")));
  126. itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  127. wxStaticLine* itemStaticLine6 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  128. itemBoxSizer4->Add(itemStaticLine6, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  129. wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL);
  130. itemBoxSizer3->Add(itemBoxSizer7, 0, wxGROW, 5);
  131. itemBoxSizer7->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  132. wxFlexGridSizer* itemFlexGridSizer9 = new wxFlexGridSizer(0, 4, 0, 0);
  133. itemBoxSizer7->Add(itemFlexGridSizer9, 0, wxALIGN_CENTER_VERTICAL, 5);
  134. m_leftMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
  135. m_leftMarginCheckbox->SetValue(false);
  136. itemFlexGridSizer9->Add(m_leftMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  137. wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxHORIZONTAL);
  138. itemFlexGridSizer9->Add(itemBoxSizer11, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
  139. m_marginLeft = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
  140. m_marginLeft->SetHelpText(_("The left margin size."));
  141. if (wxRichTextMarginsPage::ShowToolTips())
  142. m_marginLeft->SetToolTip(_("The left margin size."));
  143. itemBoxSizer11->Add(m_marginLeft, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  144. wxArrayString m_unitsMarginLeftStrings;
  145. m_unitsMarginLeftStrings.Add(_("px"));
  146. m_unitsMarginLeftStrings.Add(_("cm"));
  147. m_unitsMarginLeft = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginLeftStrings, wxCB_READONLY );
  148. m_unitsMarginLeft->SetStringSelection(_("px"));
  149. m_unitsMarginLeft->SetHelpText(_("Units for the left margin."));
  150. if (wxRichTextMarginsPage::ShowToolTips())
  151. m_unitsMarginLeft->SetToolTip(_("Units for the left margin."));
  152. itemBoxSizer11->Add(m_unitsMarginLeft, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  153. itemBoxSizer11->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  154. m_rightMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
  155. m_rightMarginCheckbox->SetValue(false);
  156. itemFlexGridSizer9->Add(m_rightMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  157. wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxHORIZONTAL);
  158. itemFlexGridSizer9->Add(itemBoxSizer16, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
  159. m_marginRight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
  160. m_marginRight->SetHelpText(_("The right margin size."));
  161. if (wxRichTextMarginsPage::ShowToolTips())
  162. m_marginRight->SetToolTip(_("The right margin size."));
  163. itemBoxSizer16->Add(m_marginRight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  164. wxArrayString m_unitsMarginRightStrings;
  165. m_unitsMarginRightStrings.Add(_("px"));
  166. m_unitsMarginRightStrings.Add(_("cm"));
  167. m_unitsMarginRight = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginRightStrings, wxCB_READONLY );
  168. m_unitsMarginRight->SetStringSelection(_("px"));
  169. m_unitsMarginRight->SetHelpText(_("Units for the right margin."));
  170. if (wxRichTextMarginsPage::ShowToolTips())
  171. m_unitsMarginRight->SetToolTip(_("Units for the right margin."));
  172. itemBoxSizer16->Add(m_unitsMarginRight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  173. m_topMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, 0 );
  174. m_topMarginCheckbox->SetValue(false);
  175. itemFlexGridSizer9->Add(m_topMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  176. wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
  177. itemFlexGridSizer9->Add(itemBoxSizer20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
  178. m_marginTop = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
  179. m_marginTop->SetHelpText(_("The top margin size."));
  180. if (wxRichTextMarginsPage::ShowToolTips())
  181. m_marginTop->SetToolTip(_("The top margin size."));
  182. itemBoxSizer20->Add(m_marginTop, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  183. wxArrayString m_unitsMarginTopStrings;
  184. m_unitsMarginTopStrings.Add(_("px"));
  185. m_unitsMarginTopStrings.Add(_("cm"));
  186. m_unitsMarginTop = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginTopStrings, wxCB_READONLY );
  187. m_unitsMarginTop->SetStringSelection(_("px"));
  188. m_unitsMarginTop->SetHelpText(_("Units for the top margin."));
  189. if (wxRichTextMarginsPage::ShowToolTips())
  190. m_unitsMarginTop->SetToolTip(_("Units for the top margin."));
  191. itemBoxSizer20->Add(m_unitsMarginTop, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  192. itemBoxSizer20->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  193. m_bottomMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, 0 );
  194. m_bottomMarginCheckbox->SetValue(false);
  195. itemFlexGridSizer9->Add(m_bottomMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  196. wxBoxSizer* itemBoxSizer25 = new wxBoxSizer(wxHORIZONTAL);
  197. itemFlexGridSizer9->Add(itemBoxSizer25, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
  198. m_marginBottom = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
  199. m_marginBottom->SetHelpText(_("The bottom margin size."));
  200. if (wxRichTextMarginsPage::ShowToolTips())
  201. m_marginBottom->SetToolTip(_("The bottom margin size."));
  202. itemBoxSizer25->Add(m_marginBottom, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  203. wxArrayString m_unitsMarginBottomStrings;
  204. m_unitsMarginBottomStrings.Add(_("px"));
  205. m_unitsMarginBottomStrings.Add(_("cm"));
  206. m_unitsMarginBottom = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginBottomStrings, wxCB_READONLY );
  207. m_unitsMarginBottom->SetStringSelection(_("px"));
  208. m_unitsMarginBottom->SetHelpText(_("Units for the bottom margin."));
  209. if (wxRichTextMarginsPage::ShowToolTips())
  210. m_unitsMarginBottom->SetToolTip(_("Units for the bottom margin."));
  211. itemBoxSizer25->Add(m_unitsMarginBottom, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  212. wxBoxSizer* itemBoxSizer28 = new wxBoxSizer(wxHORIZONTAL);
  213. itemBoxSizer3->Add(itemBoxSizer28, 0, wxGROW, 5);
  214. wxStaticText* itemStaticText29 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Padding"), wxDefaultPosition, wxDefaultSize, 0 );
  215. 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("")));
  216. itemBoxSizer28->Add(itemStaticText29, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  217. wxStaticLine* itemStaticLine30 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  218. itemBoxSizer28->Add(itemStaticLine30, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  219. wxBoxSizer* itemBoxSizer31 = new wxBoxSizer(wxHORIZONTAL);
  220. itemBoxSizer3->Add(itemBoxSizer31, 0, wxGROW, 5);
  221. itemBoxSizer31->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  222. wxFlexGridSizer* itemFlexGridSizer33 = new wxFlexGridSizer(0, 4, 0, 0);
  223. itemBoxSizer31->Add(itemFlexGridSizer33, 0, wxALIGN_CENTER_VERTICAL, 5);
  224. m_leftPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
  225. m_leftPaddingCheckbox->SetValue(false);
  226. itemFlexGridSizer33->Add(m_leftPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  227. wxBoxSizer* itemBoxSizer35 = new wxBoxSizer(wxHORIZONTAL);
  228. itemFlexGridSizer33->Add(itemBoxSizer35, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
  229. m_paddingLeft = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
  230. m_paddingLeft->SetHelpText(_("The left padding size."));
  231. if (wxRichTextMarginsPage::ShowToolTips())
  232. m_paddingLeft->SetToolTip(_("The left padding size."));
  233. itemBoxSizer35->Add(m_paddingLeft, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  234. wxArrayString m_unitsPaddingLeftStrings;
  235. m_unitsPaddingLeftStrings.Add(_("px"));
  236. m_unitsPaddingLeftStrings.Add(_("cm"));
  237. m_unitsPaddingLeft = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingLeftStrings, wxCB_READONLY );
  238. m_unitsPaddingLeft->SetStringSelection(_("px"));
  239. m_unitsPaddingLeft->SetHelpText(_("Units for the left padding."));
  240. if (wxRichTextMarginsPage::ShowToolTips())
  241. m_unitsPaddingLeft->SetToolTip(_("Units for the left padding."));
  242. itemBoxSizer35->Add(m_unitsPaddingLeft, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  243. itemBoxSizer35->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  244. m_rightPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
  245. m_rightPaddingCheckbox->SetValue(false);
  246. itemFlexGridSizer33->Add(m_rightPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  247. wxBoxSizer* itemBoxSizer40 = new wxBoxSizer(wxHORIZONTAL);
  248. itemFlexGridSizer33->Add(itemBoxSizer40, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
  249. m_paddingRight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
  250. m_paddingRight->SetHelpText(_("The right padding size."));
  251. if (wxRichTextMarginsPage::ShowToolTips())
  252. m_paddingRight->SetToolTip(_("The right padding size."));
  253. itemBoxSizer40->Add(m_paddingRight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  254. wxArrayString m_unitsPaddingRightStrings;
  255. m_unitsPaddingRightStrings.Add(_("px"));
  256. m_unitsPaddingRightStrings.Add(_("cm"));
  257. m_unitsPaddingRight = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingRightStrings, wxCB_READONLY );
  258. m_unitsPaddingRight->SetStringSelection(_("px"));
  259. m_unitsPaddingRight->SetHelpText(_("Units for the right padding."));
  260. if (wxRichTextMarginsPage::ShowToolTips())
  261. m_unitsPaddingRight->SetToolTip(_("Units for the right padding."));
  262. itemBoxSizer40->Add(m_unitsPaddingRight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  263. m_topPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, 0 );
  264. m_topPaddingCheckbox->SetValue(false);
  265. itemFlexGridSizer33->Add(m_topPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  266. wxBoxSizer* itemBoxSizer44 = new wxBoxSizer(wxHORIZONTAL);
  267. itemFlexGridSizer33->Add(itemBoxSizer44, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
  268. m_paddingTop = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
  269. m_paddingTop->SetHelpText(_("The top padding size."));
  270. if (wxRichTextMarginsPage::ShowToolTips())
  271. m_paddingTop->SetToolTip(_("The top padding size."));
  272. itemBoxSizer44->Add(m_paddingTop, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  273. wxArrayString m_unitsPaddingTopStrings;
  274. m_unitsPaddingTopStrings.Add(_("px"));
  275. m_unitsPaddingTopStrings.Add(_("cm"));
  276. m_unitsPaddingTop = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingTopStrings, wxCB_READONLY );
  277. m_unitsPaddingTop->SetStringSelection(_("px"));
  278. m_unitsPaddingTop->SetHelpText(_("Units for the top padding."));
  279. if (wxRichTextMarginsPage::ShowToolTips())
  280. m_unitsPaddingTop->SetToolTip(_("Units for the top padding."));
  281. itemBoxSizer44->Add(m_unitsPaddingTop, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  282. itemBoxSizer44->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  283. m_bottomPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, 0 );
  284. m_bottomPaddingCheckbox->SetValue(false);
  285. itemFlexGridSizer33->Add(m_bottomPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  286. wxBoxSizer* itemBoxSizer49 = new wxBoxSizer(wxHORIZONTAL);
  287. itemFlexGridSizer33->Add(itemBoxSizer49, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
  288. m_paddingBottom = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
  289. m_paddingBottom->SetHelpText(_("The bottom padding size."));
  290. if (wxRichTextMarginsPage::ShowToolTips())
  291. m_paddingBottom->SetToolTip(_("The bottom padding size."));
  292. itemBoxSizer49->Add(m_paddingBottom, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
  293. wxArrayString m_unitsPaddingBottomStrings;
  294. m_unitsPaddingBottomStrings.Add(_("px"));
  295. m_unitsPaddingBottomStrings.Add(_("cm"));
  296. m_unitsPaddingBottom = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingBottomStrings, wxCB_READONLY );
  297. m_unitsPaddingBottom->SetStringSelection(_("px"));
  298. m_unitsPaddingBottom->SetHelpText(_("Units for the bottom padding."));
  299. if (wxRichTextMarginsPage::ShowToolTips())
  300. m_unitsPaddingBottom->SetToolTip(_("Units for the bottom padding."));
  301. itemBoxSizer49->Add(m_unitsPaddingBottom, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
  302. ////@end wxRichTextMarginsPage content construction
  303. }
  304. wxRichTextAttr* wxRichTextMarginsPage::GetAttributes()
  305. {
  306. return wxRichTextFormattingDialog::GetDialogAttributes(this);
  307. }
  308. /*!
  309. * Should we show tooltips?
  310. */
  311. bool wxRichTextMarginsPage::ShowToolTips()
  312. {
  313. return true;
  314. }
  315. bool wxRichTextMarginsPage::TransferDataToWindow()
  316. {
  317. // Margins
  318. wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetLeft(), m_marginLeft, m_unitsMarginLeft, m_leftMarginCheckbox);
  319. wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetTop(), m_marginTop, m_unitsMarginTop, m_topMarginCheckbox);
  320. wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetRight(), m_marginRight, m_unitsMarginRight, m_rightMarginCheckbox);
  321. wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetBottom(), m_marginBottom, m_unitsMarginBottom, m_bottomMarginCheckbox);
  322. // Padding
  323. wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetLeft(), m_paddingLeft, m_unitsPaddingLeft, m_leftPaddingCheckbox);
  324. wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetTop(), m_paddingTop, m_unitsPaddingTop, m_topPaddingCheckbox);
  325. wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetRight(), m_paddingRight, m_unitsPaddingRight, m_rightPaddingCheckbox);
  326. wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetBottom(), m_paddingBottom, m_unitsPaddingBottom, m_bottomPaddingCheckbox);
  327. return true;
  328. }
  329. bool wxRichTextMarginsPage::TransferDataFromWindow()
  330. {
  331. // Margins
  332. wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetLeft(), m_marginLeft, m_unitsMarginLeft, m_leftMarginCheckbox);
  333. wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetTop(), m_marginTop, m_unitsMarginTop, m_topMarginCheckbox);
  334. wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetRight(), m_marginRight, m_unitsMarginRight, m_rightMarginCheckbox);
  335. wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetBottom(), m_marginBottom, m_unitsMarginBottom, m_bottomMarginCheckbox);
  336. // Padding
  337. wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetLeft(), m_paddingLeft, m_unitsPaddingLeft, m_leftPaddingCheckbox);
  338. wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetTop(), m_paddingTop, m_unitsPaddingTop, m_topPaddingCheckbox);
  339. wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetRight(), m_paddingRight, m_unitsPaddingRight, m_rightPaddingCheckbox);
  340. wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetBottom(), m_paddingBottom, m_unitsPaddingBottom, m_bottomPaddingCheckbox);
  341. return true;
  342. }
  343. /*!
  344. * Get bitmap resources
  345. */
  346. wxBitmap wxRichTextMarginsPage::GetBitmapResource( const wxString& name )
  347. {
  348. // Bitmap retrieval
  349. ////@begin wxRichTextMarginsPage bitmap retrieval
  350. wxUnusedVar(name);
  351. return wxNullBitmap;
  352. ////@end wxRichTextMarginsPage bitmap retrieval
  353. }
  354. /*!
  355. * Get icon resources
  356. */
  357. wxIcon wxRichTextMarginsPage::GetIconResource( const wxString& name )
  358. {
  359. // Icon retrieval
  360. ////@begin wxRichTextMarginsPage icon retrieval
  361. wxUnusedVar(name);
  362. return wxNullIcon;
  363. ////@end wxRichTextMarginsPage icon retrieval
  364. }
  365. /*!
  366. * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_MARGIN
  367. */
  368. void wxRichTextMarginsPage::OnRichtextLeftMarginUpdate( wxUpdateUIEvent& event )
  369. {
  370. event.Enable(m_leftMarginCheckbox->GetValue());
  371. }
  372. /*!
  373. * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_MARGIN
  374. */
  375. void wxRichTextMarginsPage::OnRichtextRightMarginUpdate( wxUpdateUIEvent& event )
  376. {
  377. event.Enable(m_rightMarginCheckbox->GetValue());
  378. }
  379. /*!
  380. * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_MARGIN
  381. */
  382. void wxRichTextMarginsPage::OnRichtextTopMarginUpdate( wxUpdateUIEvent& event )
  383. {
  384. event.Enable(m_topMarginCheckbox->GetValue());
  385. }
  386. /*!
  387. * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_MARGIN
  388. */
  389. void wxRichTextMarginsPage::OnRichtextBottomMarginUpdate( wxUpdateUIEvent& event )
  390. {
  391. event.Enable(m_bottomMarginCheckbox->GetValue());
  392. }
  393. /*!
  394. * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_PADDING
  395. */
  396. void wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate( wxUpdateUIEvent& event )
  397. {
  398. event.Enable(m_leftPaddingCheckbox->GetValue());
  399. }
  400. /*!
  401. * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_PADDING
  402. */
  403. void wxRichTextMarginsPage::OnRichtextRightPaddingUpdate( wxUpdateUIEvent& event )
  404. {
  405. event.Enable(m_rightPaddingCheckbox->GetValue());
  406. }
  407. /*!
  408. * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_PADDING
  409. */
  410. void wxRichTextMarginsPage::OnRichtextTopPaddingUpdate( wxUpdateUIEvent& event )
  411. {
  412. event.Enable(m_topPaddingCheckbox->GetValue());
  413. }
  414. /*!
  415. * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_PADDING
  416. */
  417. void wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate( wxUpdateUIEvent& event )
  418. {
  419. event.Enable(m_bottomPaddingCheckbox->GetValue());
  420. }