| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- /////////////////////////////////////////////////////////////////////////////
- // 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;
- };
|