]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/richtext/richtextstyledlg.h
Implement wx-prefixed macros versions of DECLARE/IMPLEMENT*CLASS macros.
[wxWidgets.git] / interface / wx / richtext / richtextstyledlg.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: richtext/richtextstyledlg.h
21b447dc 3// Purpose: interface of wxRichTextStyleOrganiserDialog
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxRichTextStyleOrganiserDialog
7c913512 11
9e7ad1ca
FM
12 This class shows a style sheet and allows the user to edit, add and remove styles.
13
23324ae1
FM
14 It can also be used as a style browser, for example if the application is not
15 using a permanent wxRichTextStyleComboCtrl or wxRichTextStyleListCtrl to
16 present styles.
7c913512 17
23324ae1 18 @library{wxrichtext}
21b447dc 19 @category{richtext}
23324ae1
FM
20*/
21class wxRichTextStyleOrganiserDialog : public wxDialog
22{
23public:
23324ae1 24 /**
9e7ad1ca
FM
25 Default ctor.
26 */
27 wxRichTextStyleOrganiserDialog();
28
29 /**
30 Constructor.
31
4cc4bfaf 32 To create a dialog, pass a bitlist of @a flags (see below), a style sheet, a
9e7ad1ca
FM
33 text control to apply a selected style to (or @NULL), followed by the usual
34 window parameters.
35
23324ae1
FM
36 To specify the operations available to the user, pass a combination of these
37 values to @e flags:
9e7ad1ca
FM
38
39 - @b wxRICHTEXT_ORGANISER_DELETE_STYLES: Provides a button for deleting styles.
40 - @b wxRICHTEXT_ORGANISER_CREATE_STYLES: Provides buttons for creating styles.
41 - @b wxRICHTEXT_ORGANISER_APPLY_STYLES: Provides a button for applying the
42 currently selected style to the selection.
43 - @b wxRICHTEXT_ORGANISER_EDIT_STYLES: Provides a button for editing styles.
44 - @b wxRICHTEXT_ORGANISER_RENAME_STYLES: Provides a button for renaming styles.
45 - @b wxRICHTEXT_ORGANISER_OK_CANCEL: Provides OK and Cancel buttons.
46 - @b wxRICHTEXT_ORGANISER_RENUMBER: Provides a checkbox for specifying that
47 the selection should be renumbered.
48
23324ae1 49 The following flags determine what will be displayed in the style list:
9e7ad1ca
FM
50
51 - @b wxRICHTEXT_ORGANISER_SHOW_CHARACTER: Displays character styles only.
52 - @b wxRICHTEXT_ORGANISER_SHOW_PARAGRAPH: Displays paragraph styles only.
53 - @b wxRICHTEXT_ORGANISER_SHOW_LIST: Displays list styles only.
54 - @b wxRICHTEXT_ORGANISER_SHOW_ALL: Displays all styles.
55
23324ae1 56 The following symbols define commonly-used combinations of flags:
9e7ad1ca
FM
57
58 - @b wxRICHTEXT_ORGANISER_ORGANISE:
59 Enable all style editing operations so the dialog behaves as a style organiser.
60 - @b wxRICHTEXT_ORGANISER_BROWSE:
61 Show a list of all styles and their previews, but only allow application of a
62 style or cancellation of the dialog. This makes the dialog behave as a style browser.
63 - @b wxRICHTEXT_ORGANISER_BROWSE_NUMBERING:
64 Enables only list style browsing, plus a control to specify renumbering.
65 This allows the dialog to be used for applying list styles to the selection.
23324ae1
FM
66 */
67 wxRichTextStyleOrganiserDialog(int flags,
68 wxRichTextStyleSheet* sheet,
69 wxRichTextCtrl* ctrl,
70 wxWindow* parent,
9e7ad1ca
FM
71 wxWindowID id = wxID_ANY,
72 const wxString& caption = _("Style Organiser"),
73 const wxPoint& pos = wxDefaultPosition,
74 const wxSize& size = wxDefaultSize,
75 long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX);
23324ae1
FM
76
77 /**
78 Applies the selected style to selection in the given control or the control
79 passed to the constructor.
80 */
4cc4bfaf 81 bool ApplyStyle(wxRichTextCtrl* ctrl = NULL);
23324ae1
FM
82
83 /**
9e7ad1ca 84 Creates the dialog. See the ctor.
23324ae1 85 */
5267aefd
FM
86 bool Create(int flags, wxRichTextStyleSheet* sheet, wxRichTextCtrl* ctrl,
87 wxWindow* parent, wxWindowID id = wxID_ANY,
88 const wxString& caption = wxGetTranslation("Style Organiser"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(400, 300), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX);
23324ae1
FM
89
90 /**
91 Returns @true if the user has opted to restart numbering.
92 */
328f5751 93 bool GetRestartNumbering() const;
23324ae1
FM
94
95 /**
96 Returns the associated rich text control (if any).
97 */
328f5751 98 wxRichTextCtrl* GetRichTextCtrl() const;
23324ae1
FM
99
100 /**
101 Returns selected style name.
102 */
328f5751 103 wxString GetSelectedStyle() const;
23324ae1
FM
104
105 /**
106 Returns selected style definition.
107 */
328f5751 108 wxRichTextStyleDefinition* GetSelectedStyleDefinition() const;
23324ae1
FM
109
110 /**
111 Returns the associated style sheet.
112 */
328f5751 113 wxRichTextStyleSheet* GetStyleSheet() const;
23324ae1
FM
114
115 /**
116 Sets the flags used to control the interface presented to the user.
117 */
118 void SetFlags(int flags);
119
120 /**
121 Checks or unchecks the restart numbering checkbox.
122 */
123 void SetRestartNumbering(bool restartNumbering);
124
125 /**
126 Sets the control to be associated with the dialog, for the purposes of applying
127 a style to the selection.
128 */
129 void SetRichTextCtrl(wxRichTextCtrl* ctrl);
130
131 /**
132 Determines whether tooltips will be shown.
133 */
adaaa686 134 static void SetShowToolTips(bool show);
23324ae1
FM
135
136 /**
137 Sets the associated style sheet.
138 */
139 void SetStyleSheet(wxRichTextStyleSheet* sheet);
140
141 /**
142 Returns the flags used to control the interface presented to the user.
143 */
328f5751 144 int GetFlags() const;
23324ae1 145};
e54c96f1 146