X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..c0430d964dca888a28eff26436e6360a7b79b65f:/interface/wx/richtext/richtextstyles.h diff --git a/interface/wx/richtext/richtextstyles.h b/interface/wx/richtext/richtextstyles.h index a054d938cc..c1c636fef8 100644 --- a/interface/wx/richtext/richtextstyles.h +++ b/interface/wx/richtext/richtextstyles.h @@ -3,26 +3,27 @@ // Purpose: interface of wxRichTextStyleListCtrl // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxRichTextStyleListCtrl - @headerfile richtextstyles.h wx/richtext/richtextstyles.h - This class incorporates a wxRichTextStyleListBox and - a choice control that allows the user to select the category of style to view. + This class incorporates a wxRichTextStyleListBox and a choice control that + allows the user to select the category of style to view. + It is demonstrated in the wxRichTextCtrl sample in @c samples/richtext. To use wxRichTextStyleListCtrl, add the control to your window hierarchy and - call wxRichTextStyleListCtrl::SetStyleType with - one of wxRichTextStyleListBox::wxRICHTEXT_STYLE_ALL, + call wxRichTextStyleListCtrl::SetStyleType with one of + wxRichTextStyleListBox::wxRICHTEXT_STYLE_ALL, wxRichTextStyleListBox::wxRICHTEXT_STYLE_PARAGRAPH, wxRichTextStyleListBox::wxRICHTEXT_STYLE_CHARACTER and wxRichTextStyleListBox::wxRICHTEXT_STYLE_LIST to set the current view. + Associate the control with a style sheet and rich text control with - SetStyleSheet and SetRichTextCtrl, - so that when a style is double-clicked, it is applied to the selection. + SetStyleSheet and SetRichTextCtrl, so that when a style is double-clicked, + it is applied to the selection. @beginStyleTable @style{wxRICHTEXTSTYLELIST_HIDE_TYPE_SELECTOR} @@ -30,7 +31,7 @@ @endStyleTable @library{wxrichtext} - @category{FIXME} + @category{richtext} */ class wxRichTextStyleListCtrl : public wxControl { @@ -91,10 +92,13 @@ public: void SetStyleSheet(wxRichTextStyleSheet* styleSheet); /** - Sets the style type to display. One of - wxRichTextStyleListBox::wxRICHTEXT_STYLE_ALL, wxRichTextStyleListBox::wxRICHTEXT_STYLE_PARAGRAPH, - wxRichTextStyleListBox::wxRICHTEXT_STYLE_CHARACTER and - wxRichTextStyleListBox::wxRICHTEXT_STYLE_LIST. + Sets the style type to display. + + One of + - wxRichTextStyleListBox::wxRICHTEXT_STYLE_ALL, + - wxRichTextStyleListBox::wxRICHTEXT_STYLE_PARAGRAPH, + - wxRichTextStyleListBox::wxRICHTEXT_STYLE_CHARACTER + - wxRichTextStyleListBox::wxRICHTEXT_STYLE_LIST. */ void SetStyleType(wxRichTextStyleListBox::wxRichTextStyleType styleType); @@ -108,12 +112,11 @@ public: /** @class wxRichTextStyleDefinition - @headerfile richtextstyles.h wx/richtext/richtextstyles.h This is a base class for paragraph and character styles. @library{wxrichtext} - @category{FIXME} + @category{richtext} */ class wxRichTextStyleDefinition : public wxObject { @@ -126,22 +129,22 @@ public: /** Destructor. */ - ~wxRichTextStyleDefinition(); + virtual ~wxRichTextStyleDefinition(); /** Returns the style on which this style is based. */ - const wxString GetBaseStyle() const; + const wxString& GetBaseStyle() const; /** Returns the style's description. */ - const wxString GetDescription() const; + const wxString& GetDescription() const; /** Returns the style name. */ - const wxString GetName() const; + const wxString& GetName() const; //@{ /** @@ -155,7 +158,7 @@ public: Returns the style attributes combined with the attributes of the specified base style, if any. This function works recursively. */ - wxTextAttr GetStyleMergedWithBase(wxRichTextStyleSheet* sheet) const; + virtual wxTextAttr GetStyleMergedWithBase(const wxRichTextStyleSheet* sheet) const; /** Sets the name of the style that this style is based on. @@ -182,7 +185,6 @@ public: /** @class wxRichTextParagraphStyleDefinition - @headerfile richtextstyles.h wx/richtext/richtextstyles.h This class represents a paragraph style definition, usually added to a wxRichTextStyleSheet. @@ -201,12 +203,12 @@ public: /** Destructor. */ - ~wxRichTextParagraphStyleDefinition(); + virtual ~wxRichTextParagraphStyleDefinition(); /** Returns the style that should normally follow this style. */ - const wxString GetNextStyle() const; + const wxString& GetNextStyle() const; /** Sets the style that should normally follow this style. @@ -218,7 +220,6 @@ public: /** @class wxRichTextStyleListBox - @headerfile richtextstyles.h wx/richtext/richtextstyles.h This is a listbox that can display the styles in a wxRichTextStyleSheet, and apply the selection to an associated wxRichTextCtrl. @@ -228,8 +229,7 @@ public: @library{wxrichtext} @category{richtext} - @see wxRichTextStyleComboCtrl, @ref overview_wxrichtextctrloverview - "wxRichTextCtrl overview" + @see wxRichTextStyleComboCtrl, @ref overview_richtextctrl */ class wxRichTextStyleListBox : public wxHtmlListBox { @@ -246,7 +246,7 @@ public: /** Destructor. */ - ~wxRichTextStyleListBox(); + virtual ~wxRichTextStyleListBox(); /** Applies the @e ith style to the associated rich text control. @@ -265,8 +265,7 @@ public: /** If the return value is @true, clicking on a style name in the list will - immediately - apply the style to the associated rich text control. + immediately apply the style to the associated rich text control. */ bool GetApplyOnSelection() const; @@ -290,26 +289,15 @@ public: */ wxRichTextStyleListBox::wxRichTextStyleType GetStyleType() const; - /** - Returns the HTML for this item. - */ - wxString OnGetItem(size_t n) const; - /** Implements left click behaviour, applying the clicked style to the wxRichTextCtrl. */ void OnLeftDown(wxMouseEvent& event); - /** - Reacts to selection. - */ - void OnSelect(wxCommandEvent& event); - /** If @a applyOnSelection is @true, clicking on a style name in the list will - immediately - apply the style to the associated rich text control. + immediately apply the style to the associated rich text control. */ void SetApplyOnSelection(bool applyOnSelection); @@ -325,9 +313,10 @@ public: /** Sets the style type to display. One of - wxRichTextStyleListBox::wxRICHTEXT_STYLE_ALL, wxRichTextStyleListBox::wxRICHTEXT_STYLE_PARAGRAPH, - wxRichTextStyleListBox::wxRICHTEXT_STYLE_CHARACTER and - wxRichTextStyleListBox::wxRICHTEXT_STYLE_LIST. + - wxRichTextStyleListBox::wxRICHTEXT_STYLE_ALL, + - wxRichTextStyleListBox::wxRICHTEXT_STYLE_PARAGRAPH, + - wxRichTextStyleListBox::wxRICHTEXT_STYLE_CHARACTER + - wxRichTextStyleListBox::wxRICHTEXT_STYLE_LIST. */ void SetStyleType(wxRichTextStyleListBox::wxRichTextStyleType styleType); @@ -335,13 +324,19 @@ public: Updates the list from the associated style sheet. */ void UpdateStyles(); + +protected: + + /** + Returns the HTML for this item. + */ + virtual wxString OnGetItem(size_t n) const; }; /** @class wxRichTextStyleComboCtrl - @headerfile richtextstyles.h wx/richtext/richtextstyles.h This is a combo control that can display the styles in a wxRichTextStyleSheet, and apply the selection to an associated wxRichTextCtrl. @@ -351,8 +346,7 @@ public: @library{wxrichtext} @category{richtext} - @see wxRichTextStyleListBox, @ref overview_wxrichtextctrloverview - "wxRichTextCtrl overview" + @see wxRichTextStyleListBox, @ref overview_richtextctrl */ class wxRichTextStyleComboCtrl : public wxComboCtrl { @@ -369,7 +363,7 @@ public: /** Destructor. */ - ~wxRichTextStyleComboCtrl(); + virtual ~wxRichTextStyleComboCtrl(); /** Returns the wxRichTextCtrl associated with this control. @@ -401,7 +395,6 @@ public: /** @class wxRichTextCharacterStyleDefinition - @headerfile richtextstyles.h wx/richtext/richtextstyles.h This class represents a character style definition, usually added to a wxRichTextStyleSheet. @@ -420,30 +413,27 @@ public: /** Destructor. */ - ~wxRichTextCharacterStyleDefinition(); + virtual ~wxRichTextCharacterStyleDefinition(); }; /** @class wxRichTextListStyleDefinition - @headerfile richtextstyles.h wx/richtext/richtextstyles.h This class represents a list style definition, usually added to a wxRichTextStyleSheet. - The class inherits paragraph attributes from - wxRichTextStyleParagraphDefinition, and adds 10 further attribute objects, one for each level of a list. + The class inherits paragraph attributes from wxRichTextStyleParagraphDefinition, + and adds 10 further attribute objects, one for each level of a list. When applying a list style to a paragraph, the list style's base and - appropriate level attributes are merged with the - paragraph's existing attributes. - - You can apply a list style to one or more paragraphs using - wxRichTextCtrl::SetListStyle. You - can also use the functions wxRichTextCtrl::NumberList, - wxRichTextCtrl::PromoteList and - wxRichTextCtrl::ClearListStyle. As usual, there are wxRichTextBuffer versions - of these functions + appropriate level attributes are merged with the paragraph's existing attributes. + + You can apply a list style to one or more paragraphs using wxRichTextCtrl::SetListStyle. + You can also use the functions wxRichTextCtrl::NumberList, wxRichTextCtrl::PromoteList and + wxRichTextCtrl::ClearListStyle. + + As usual, there are wxRichTextBuffer versions of these functions so that you can apply them directly to a buffer without requiring a control. @library{wxrichtext} @@ -460,11 +450,12 @@ public: /** Destructor. */ - ~wxRichTextListStyleDefinition(); + virtual ~wxRichTextListStyleDefinition(); /** This function combines the given paragraph style with the list style's base attributes and level style matching the given indent, returning the combined attributes. + If @a styleSheet is specified, the base style for this definition will also be included in the result. */ @@ -481,19 +472,22 @@ public: /** This function combines the list style's base attributes and the level style matching the given indent, returning the combined attributes. + If @a styleSheet is specified, the base style for this definition will also be included in the result. */ wxTextAttr GetCombinedStyle(int indent, - wxRichTextStyleSheet* styleSheet = NULL) const; + wxRichTextStyleSheet* styleSheet = NULL); /** This function combines the list style's base attributes and the style for the specified level, returning the combined attributes. + If @a styleSheet is specified, the base style for this definition will also be included in the result. */ - wxTextAttr GetCombinedStyleLevel(int level, + + wxTextAttr GetCombinedStyleForLevel(int level, wxRichTextStyleSheet* styleSheet = NULL) const; /** @@ -510,34 +504,26 @@ public: /** Returns @true if the given level has numbered list attributes. */ - int IsNumbered(int level) const; + bool IsNumbered(int level) const; - //@{ /** Sets the style for the given level. @a level is a number between 0 and 9. The first and most flexible form uses a wxTextAttr object, while the second form is for convenient setting of the most commonly-used attributes. */ void SetLevelAttributes(int level, const wxTextAttr& attr); - void SetLevelAttributes(int level, int leftIndent, - int leftSubIndent, - int bulletStyle, - const wxString& bulletSymbol = wxEmptyString); - //@} }; /** @class wxRichTextStyleSheet - @headerfile richtextstyles.h wx/richtext/richtextstyles.h A style sheet contains named paragraph and character styles that make it easy for a user to apply combinations of attributes to a wxRichTextCtrl. - You can use a wxRichTextStyleListBox in your - user interface to show available styles to the user, and allow application - of styles to the control. + You can use a wxRichTextStyleListBox in your user interface to show available + styles to the user, and allow application of styles to the control. @library{wxrichtext} @category{richtext} @@ -553,7 +539,7 @@ public: /** Destructor. */ - ~wxRichTextStyleSheet(); + virtual ~wxRichTextStyleSheet(); /** Adds a definition to the character style list. @@ -583,17 +569,20 @@ public: /** Finds a character definition by name. */ - wxRichTextCharacterStyleDefinition* FindCharacterStyle(const wxString& name) const; + wxRichTextCharacterStyleDefinition* FindCharacterStyle(const wxString& name, + bool recurse = true) const; /** Finds a list definition by name. */ - wxRichTextListStyleDefinition* FindListStyle(const wxString& name) const; + wxRichTextListStyleDefinition* FindListStyle(const wxString& name, + bool recurse = true) const; /** Finds a paragraph definition by name. */ - wxRichTextParagraphStyleDefinition* FindParagraphStyle(const wxString& name) const; + wxRichTextParagraphStyleDefinition* FindParagraphStyle(const wxString& name, + bool recurse = true) const; /** Finds a style definition by name. @@ -613,7 +602,7 @@ public: /** Returns the style sheet's description. */ - const wxString GetDescription() const; + const wxString& GetDescription() const; /** Returns the @e nth list style. @@ -628,7 +617,7 @@ public: /** Returns the style sheet's name. */ - const wxString GetName() const; + const wxString& GetName() const; /** Returns the @e nth paragraph style.