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