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