1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/richtext/richtextindentspage.h 3 // Purpose: 4 // Author: Julian Smart 5 // Modified by: 6 // Created: 10/3/2006 2:28:21 PM 7 // Copyright: (c) Julian Smart 8 // Licence: wxWindows licence 9 ///////////////////////////////////////////////////////////////////////////// 10 11 #ifndef _RICHTEXTINDENTSPAGE_H_ 12 #define _RICHTEXTINDENTSPAGE_H_ 13 14 /*! 15 * Includes 16 */ 17 18 #include "wx/richtext/richtextdialogpage.h" 19 20 ////@begin includes 21 #include "wx/statline.h" 22 ////@end includes 23 24 /*! 25 * Forward declarations 26 */ 27 28 ////@begin forward declarations 29 class wxRichTextCtrl; 30 ////@end forward declarations 31 32 /*! 33 * Control identifiers 34 */ 35 36 ////@begin control identifiers 37 #define SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL 38 #define SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_TITLE wxEmptyString 39 #define SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_IDNAME ID_RICHTEXTINDENTSSPACINGPAGE 40 #define SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_SIZE wxSize(400, 300) 41 #define SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_POSITION wxDefaultPosition 42 ////@end control identifiers 43 44 /*! 45 * wxRichTextIndentsSpacingPage class declaration 46 */ 47 48 class WXDLLIMPEXP_RICHTEXT wxRichTextIndentsSpacingPage: public wxRichTextDialogPage 49 { 50 DECLARE_DYNAMIC_CLASS( wxRichTextIndentsSpacingPage ) 51 DECLARE_EVENT_TABLE() 52 DECLARE_HELP_PROVISION() 53 54 public: 55 /// Constructors 56 wxRichTextIndentsSpacingPage( ); 57 wxRichTextIndentsSpacingPage( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_SIZE, long style = SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_STYLE ); 58 59 /// Creation 60 bool Create( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_SIZE, long style = SYMBOL_WXRICHTEXTINDENTSSPACINGPAGE_STYLE ); 61 62 /// Initialise members 63 void Init(); 64 65 /// Creates the controls and sizers 66 void CreateControls(); 67 68 /// Transfer data from/to window 69 virtual bool TransferDataFromWindow(); 70 virtual bool TransferDataToWindow(); 71 72 /// Updates the paragraph preview 73 void UpdatePreview(); 74 75 /// Gets the attributes associated with the main formatting dialog 76 wxRichTextAttr* GetAttributes(); 77 78 ////@begin wxRichTextIndentsSpacingPage event handler declarations 79 80 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_LEFT 81 void OnAlignmentLeftSelected( wxCommandEvent& event ); 82 83 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_RIGHT 84 void OnAlignmentRightSelected( wxCommandEvent& event ); 85 86 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_JUSTIFIED 87 void OnAlignmentJustifiedSelected( wxCommandEvent& event ); 88 89 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_CENTRED 90 void OnAlignmentCentredSelected( wxCommandEvent& event ); 91 92 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_INDETERMINATE 93 void OnAlignmentIndeterminateSelected( wxCommandEvent& event ); 94 95 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT 96 void OnIndentLeftUpdated( wxCommandEvent& event ); 97 98 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT_FIRST 99 void OnIndentLeftFirstUpdated( wxCommandEvent& event ); 100 101 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_RIGHT 102 void OnIndentRightUpdated( wxCommandEvent& event ); 103 104 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_OUTLINELEVEL 105 void OnRichtextOutlinelevelSelected( wxCommandEvent& event ); 106 107 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_BEFORE 108 void OnSpacingBeforeUpdated( wxCommandEvent& event ); 109 110 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_AFTER 111 void OnSpacingAfterUpdated( wxCommandEvent& event ); 112 113 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_LINE 114 void OnSpacingLineSelected( wxCommandEvent& event ); 115 116 ////@end wxRichTextIndentsSpacingPage event handler declarations 117 118 ////@begin wxRichTextIndentsSpacingPage member function declarations 119 120 /// Retrieves bitmap resources 121 wxBitmap GetBitmapResource( const wxString& name ); 122 123 /// Retrieves icon resources 124 wxIcon GetIconResource( const wxString& name ); 125 ////@end wxRichTextIndentsSpacingPage member function declarations 126 127 /// Should we show tooltips? 128 static bool ShowToolTips(); 129 130 ////@begin wxRichTextIndentsSpacingPage member variables 131 wxRadioButton* m_alignmentLeft; 132 wxRadioButton* m_alignmentRight; 133 wxRadioButton* m_alignmentJustified; 134 wxRadioButton* m_alignmentCentred; 135 wxRadioButton* m_alignmentIndeterminate; 136 wxTextCtrl* m_indentLeft; 137 wxTextCtrl* m_indentLeftFirst; 138 wxTextCtrl* m_indentRight; 139 wxComboBox* m_outlineLevelCtrl; 140 wxTextCtrl* m_spacingBefore; 141 wxTextCtrl* m_spacingAfter; 142 wxComboBox* m_spacingLine; 143 wxCheckBox* m_pageBreakCtrl; 144 wxRichTextCtrl* m_previewCtrl; 145 /// Control identifiers 146 enum { 147 ID_RICHTEXTINDENTSSPACINGPAGE = 10100, 148 ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_LEFT = 10102, 149 ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_RIGHT = 10110, 150 ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_JUSTIFIED = 10111, 151 ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_CENTRED = 10112, 152 ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_INDETERMINATE = 10101, 153 ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT = 10103, 154 ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT_FIRST = 10104, 155 ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_RIGHT = 10113, 156 ID_RICHTEXTINDENTSSPACINGPAGE_OUTLINELEVEL = 10105, 157 ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_BEFORE = 10114, 158 ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_AFTER = 10116, 159 ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_LINE = 10115, 160 ID_RICHTEXTINDENTSSPACINGPAGE_PAGEBREAK = 10106, 161 ID_RICHTEXTINDENTSSPACINGPAGE_PREVIEW_CTRL = 10109 162 }; 163 ////@end wxRichTextIndentsSpacingPage member variables 164 165 bool m_dontUpdate; 166 }; 167 168 #endif 169 // _RICHTEXTINDENTSPAGE_H_ 170