172 lines
6.6 KiB
C
172 lines
6.6 KiB
C
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// 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;
|
||
|
};
|
||
|
|