1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/richtext/richtextsizepage.h 3 // Purpose: 4 // Author: Julian Smart 5 // Modified by: 6 // Created: 20/10/2010 10:23:24 7 // RCS-ID: 8 // Copyright: (c) Julian Smart 9 // Licence: 10 ///////////////////////////////////////////////////////////////////////////// 11 12 #ifndef _RICHTEXTSIZEPAGE_H_ 13 #define _RICHTEXTSIZEPAGE_H_ 14 15 /*! 16 * Includes 17 */ 18 19 #include "wx/richtext/richtextdialogpage.h" 20 #include "wx/sizer.h" 21 22 ////@begin includes 23 #include "wx/statline.h" 24 #include "wx/valgen.h" 25 ////@end includes 26 #include "wx/stattext.h" 27 28 /*! 29 * Forward declarations 30 */ 31 32 33 /*! 34 * Control identifiers 35 */ 36 37 ////@begin control identifiers 38 #define SYMBOL_WXRICHTEXTSIZEPAGE_STYLE wxTAB_TRAVERSAL 39 #define SYMBOL_WXRICHTEXTSIZEPAGE_TITLE wxEmptyString 40 #define SYMBOL_WXRICHTEXTSIZEPAGE_IDNAME ID_WXRICHTEXTSIZEPAGE 41 #define SYMBOL_WXRICHTEXTSIZEPAGE_SIZE wxSize(400, 300) 42 #define SYMBOL_WXRICHTEXTSIZEPAGE_POSITION wxDefaultPosition 43 ////@end control identifiers 44 45 46 /*! 47 * wxRichTextSizePage class declaration 48 */ 49 50 class WXDLLIMPEXP_RICHTEXT wxRichTextSizePage: public wxRichTextDialogPage 51 { 52 DECLARE_DYNAMIC_CLASS( wxRichTextSizePage ) 53 DECLARE_EVENT_TABLE() 54 DECLARE_HELP_PROVISION() 55 56 public: 57 /// Constructors 58 wxRichTextSizePage(); 59 wxRichTextSizePage( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTSIZEPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTSIZEPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTSIZEPAGE_SIZE, long style = SYMBOL_WXRICHTEXTSIZEPAGE_STYLE ); 60 61 /// Creation 62 bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTSIZEPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTSIZEPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTSIZEPAGE_SIZE, long style = SYMBOL_WXRICHTEXTSIZEPAGE_STYLE ); 63 64 /// Destructor 65 ~wxRichTextSizePage(); 66 67 /// Initialises member variables 68 void Init(); 69 70 /// Creates the controls and sizers 71 void CreateControls(); 72 73 /// Gets the attributes from the formatting dialog 74 wxRichTextAttr* GetAttributes(); 75 76 /// Data transfer 77 virtual bool TransferDataToWindow(); 78 virtual bool TransferDataFromWindow(); 79 80 /// Show/hide position controls ShowPositionControls(bool show)81 static void ShowPositionControls(bool show) { sm_showPositionControls = show; } 82 83 /// Show/hide minimum and maximum size controls ShowMinMaxSizeControls(bool show)84 static void ShowMinMaxSizeControls(bool show) { sm_showMinMaxSizeControls = show; } 85 86 /// Show/hide position mode controls ShowPositionModeControls(bool show)87 static void ShowPositionModeControls(bool show) { sm_showPositionModeControls = show; } 88 89 /// Show/hide right/bottom position controls ShowRightBottomPositionControls(bool show)90 static void ShowRightBottomPositionControls(bool show) { sm_showRightBottomPositionControls = show; } 91 92 /// Show/hide floating and alignment controls ShowFloatingAndAlignmentControls(bool show)93 static void ShowFloatingAndAlignmentControls(bool show) { sm_showFloatingAndAlignmentControls = show; } 94 95 /// Show/hide floating controls ShowFloatingControls(bool show)96 static void ShowFloatingControls(bool show) { sm_showFloatingControls = show; } 97 98 /// Show/hide alignment controls ShowAlignmentControls(bool show)99 static void ShowAlignmentControls(bool show) { sm_showAlignmentControls = show; } 100 101 /// Enable the position and size units EnablePositionAndSizeUnits(bool enable)102 static void EnablePositionAndSizeUnits(bool enable) { sm_enablePositionAndSizeUnits = enable; } 103 104 /// Enable the checkboxes for position and size EnablePositionAndSizeCheckboxes(bool enable)105 static void EnablePositionAndSizeCheckboxes(bool enable) { sm_enablePositionAndSizeCheckboxes = enable; } 106 107 ////@begin wxRichTextSizePage event handler declarations 108 109 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX 110 void OnRichtextVerticalAlignmentComboboxUpdate( wxUpdateUIEvent& event ); 111 112 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_WIDTH 113 void OnRichtextWidthUpdate( wxUpdateUIEvent& event ); 114 115 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_UNITS_W 116 void OnRichtextWidthUnitsUpdate( wxUpdateUIEvent& event ); 117 118 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_HEIGHT 119 void OnRichtextHeightUpdate( wxUpdateUIEvent& event ); 120 121 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_UNITS_H 122 void OnRichtextHeightUnitsUpdate( wxUpdateUIEvent& event ); 123 124 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MIN_WIDTH 125 void OnRichtextMinWidthUpdate( wxUpdateUIEvent& event ); 126 127 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MIN_HEIGHT 128 void OnRichtextMinHeightUpdate( wxUpdateUIEvent& event ); 129 130 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MAX_WIDTH 131 void OnRichtextMaxWidthUpdate( wxUpdateUIEvent& event ); 132 133 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MAX_HEIGHT 134 void OnRichtextMaxHeightUpdate( wxUpdateUIEvent& event ); 135 136 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT 137 void OnRichtextLeftUpdate( wxUpdateUIEvent& event ); 138 139 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_UNITS 140 void OnRichtextLeftUnitsUpdate( wxUpdateUIEvent& event ); 141 142 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP 143 void OnRichtextTopUpdate( wxUpdateUIEvent& event ); 144 145 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_UNITS 146 void OnRichtextTopUnitsUpdate( wxUpdateUIEvent& event ); 147 148 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT 149 void OnRichtextRightUpdate( wxUpdateUIEvent& event ); 150 151 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_UNITS 152 void OnRichtextRightUnitsUpdate( wxUpdateUIEvent& event ); 153 154 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM 155 void OnRichtextBottomUpdate( wxUpdateUIEvent& event ); 156 157 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_UNITS 158 void OnRichtextBottomUnitsUpdate( wxUpdateUIEvent& event ); 159 160 /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXT_PARA_UP 161 void OnRichtextParaUpClick( wxCommandEvent& event ); 162 163 /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXT_PARA_DOWN 164 void OnRichtextParaDownClick( wxCommandEvent& event ); 165 166 ////@end wxRichTextSizePage event handler declarations 167 168 ////@begin wxRichTextSizePage member function declarations 169 GetPositionMode()170 int GetPositionMode() const { return m_positionMode ; } SetPositionMode(int value)171 void SetPositionMode(int value) { m_positionMode = value ; } 172 173 /// Retrieves bitmap resources 174 wxBitmap GetBitmapResource( const wxString& name ); 175 176 /// Retrieves icon resources 177 wxIcon GetIconResource( const wxString& name ); 178 ////@end wxRichTextSizePage member function declarations 179 180 /// Should we show tooltips? 181 static bool ShowToolTips(); 182 183 ////@begin wxRichTextSizePage member variables 184 wxBoxSizer* m_parentSizer; 185 wxBoxSizer* m_floatingAlignmentSizer; 186 wxBoxSizer* m_floatingSizer; 187 wxChoice* m_float; 188 wxBoxSizer* m_alignmentSizer; 189 wxCheckBox* m_verticalAlignmentCheckbox; 190 wxChoice* m_verticalAlignmentComboBox; 191 wxFlexGridSizer* m_sizeSizer; 192 wxBoxSizer* m_widthSizer; 193 wxCheckBox* m_widthCheckbox; 194 wxStaticText* m_widthLabel; 195 wxTextCtrl* m_width; 196 wxComboBox* m_unitsW; 197 wxBoxSizer* m_heightSizer; 198 wxCheckBox* m_heightCheckbox; 199 wxStaticText* m_heightLabel; 200 wxTextCtrl* m_height; 201 wxComboBox* m_unitsH; 202 wxCheckBox* m_minWidthCheckbox; 203 wxBoxSizer* m_minWidthSizer; 204 wxTextCtrl* m_minWidth; 205 wxComboBox* m_unitsMinW; 206 wxCheckBox* m_minHeightCheckbox; 207 wxBoxSizer* m_minHeightSizer; 208 wxTextCtrl* m_minHeight; 209 wxComboBox* m_unitsMinH; 210 wxCheckBox* m_maxWidthCheckbox; 211 wxBoxSizer* m_maxWidthSizer; 212 wxTextCtrl* m_maxWidth; 213 wxComboBox* m_unitsMaxW; 214 wxCheckBox* m_maxHeightCheckbox; 215 wxBoxSizer* m_maxHeightSizer; 216 wxTextCtrl* m_maxHeight; 217 wxComboBox* m_unitsMaxH; 218 wxBoxSizer* m_positionControls; 219 wxBoxSizer* m_moveObjectParentSizer; 220 wxBoxSizer* m_positionModeSizer; 221 wxChoice* m_positionModeCtrl; 222 wxFlexGridSizer* m_positionGridSizer; 223 wxBoxSizer* m_leftSizer; 224 wxCheckBox* m_positionLeftCheckbox; 225 wxStaticText* m_leftLabel; 226 wxTextCtrl* m_left; 227 wxComboBox* m_unitsLeft; 228 wxBoxSizer* m_topSizer; 229 wxCheckBox* m_positionTopCheckbox; 230 wxStaticText* m_topLabel; 231 wxTextCtrl* m_top; 232 wxComboBox* m_unitsTop; 233 wxBoxSizer* m_rightSizer; 234 wxCheckBox* m_positionRightCheckbox; 235 wxStaticText* m_rightLabel; 236 wxBoxSizer* m_rightPositionSizer; 237 wxTextCtrl* m_right; 238 wxComboBox* m_unitsRight; 239 wxBoxSizer* m_bottomSizer; 240 wxCheckBox* m_positionBottomCheckbox; 241 wxStaticText* m_bottomLabel; 242 wxBoxSizer* m_bottomPositionSizer; 243 wxTextCtrl* m_bottom; 244 wxComboBox* m_unitsBottom; 245 wxBoxSizer* m_moveObjectSizer; 246 int m_positionMode; 247 /// Control identifiers 248 enum { 249 ID_WXRICHTEXTSIZEPAGE = 10700, 250 ID_RICHTEXT_FLOATING_MODE = 10701, 251 ID_RICHTEXT_VERTICAL_ALIGNMENT_CHECKBOX = 10708, 252 ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX = 10709, 253 ID_RICHTEXT_WIDTH_CHECKBOX = 10702, 254 ID_RICHTEXT_WIDTH = 10703, 255 ID_RICHTEXT_UNITS_W = 10704, 256 ID_RICHTEXT_HEIGHT_CHECKBOX = 10705, 257 ID_RICHTEXT_HEIGHT = 10706, 258 ID_RICHTEXT_UNITS_H = 10707, 259 ID_RICHTEXT_MIN_WIDTH_CHECKBOX = 10715, 260 ID_RICHTEXT_MIN_WIDTH = 10716, 261 ID_RICHTEXT_UNITS_MIN_W = 10717, 262 ID_RICHTEXT_MIN_HEIGHT_CHECKBOX = 10718, 263 ID_RICHTEXT_MIN_HEIGHT = 10719, 264 ID_RICHTEXT_UNITS_MIN_H = 10720, 265 ID_RICHTEXT_MAX_WIDTH_CHECKBOX = 10721, 266 ID_RICHTEXT_MAX_WIDTH = 10722, 267 ID_RICHTEXT_UNITS_MAX_W = 10723, 268 ID_RICHTEXT_MAX_HEIGHT_CHECKBOX = 10724, 269 ID_RICHTEXT_MAX_HEIGHT = 10725, 270 ID_RICHTEXT_UNITS_MAX_H = 10726, 271 ID_RICHTEXT_POSITION_MODE = 10735, 272 ID_RICHTEXT_LEFT_CHECKBOX = 10710, 273 ID_RICHTEXT_LEFT = 10711, 274 ID_RICHTEXT_LEFT_UNITS = 10712, 275 ID_RICHTEXT_TOP_CHECKBOX = 10710, 276 ID_RICHTEXT_TOP = 10728, 277 ID_RICHTEXT_TOP_UNITS = 10729, 278 ID_RICHTEXT_RIGHT_CHECKBOX = 10727, 279 ID_RICHTEXT_RIGHT = 10730, 280 ID_RICHTEXT_RIGHT_UNITS = 10731, 281 ID_RICHTEXT_BOTTOM_CHECKBOX = 10732, 282 ID_RICHTEXT_BOTTOM = 10733, 283 ID_RICHTEXT_BOTTOM_UNITS = 10734, 284 ID_RICHTEXT_PARA_UP = 10713, 285 ID_RICHTEXT_PARA_DOWN = 10714 286 }; 287 ////@end wxRichTextSizePage member variables 288 289 static bool sm_showFloatingControls; 290 static bool sm_showPositionControls; 291 static bool sm_showMinMaxSizeControls; 292 static bool sm_showPositionModeControls; 293 static bool sm_showRightBottomPositionControls; 294 static bool sm_showAlignmentControls; 295 static bool sm_showFloatingAndAlignmentControls; 296 static bool sm_enablePositionAndSizeUnits; 297 static bool sm_enablePositionAndSizeCheckboxes; 298 }; 299 300 #endif 301 // _RICHTEXTSIZEPAGE_H_ 302