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