X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..644b283d6aa7740c0f4478945ca423279fe6d2da:/interface/wx/richtext/richtextstyles.h diff --git a/interface/wx/richtext/richtextstyles.h b/interface/wx/richtext/richtextstyles.h index fc065d170d..0c20ec9a26 100644 --- a/interface/wx/richtext/richtextstyles.h +++ b/interface/wx/richtext/richtextstyles.h @@ -9,19 +9,21 @@ /** @class wxRichTextStyleListCtrl - 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} @@ -29,7 +31,7 @@ @endStyleTable @library{wxrichtext} - @category{FIXME} + @category{richtext} */ class wxRichTextStyleListCtrl : public wxControl { @@ -90,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); @@ -111,7 +116,7 @@ public: This is a base class for paragraph and character styles. @library{wxrichtext} - @category{FIXME} + @category{richtext} */ class wxRichTextStyleDefinition : public wxObject { @@ -124,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; //@{ /** @@ -153,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. @@ -198,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. @@ -224,8 +229,7 @@ public: @library{wxrichtext} @category{richtext} - @see wxRichTextStyleComboCtrl, @ref overview_wxrichtextctrloverview - "wxRichTextCtrl overview" + @see wxRichTextStyleComboCtrl, @ref overview_richtextctrl */ class wxRichTextStyleListBox : public wxHtmlListBox { @@ -242,7 +246,7 @@ public: /** Destructor. */ - ~wxRichTextStyleListBox(); + virtual ~wxRichTextStyleListBox(); /** Applies the @e ith style to the associated rich text control. @@ -261,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; @@ -286,11 +289,6 @@ 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. @@ -304,8 +302,7 @@ public: /** 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); @@ -321,9 +318,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); @@ -331,6 +329,13 @@ 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; }; @@ -346,8 +351,7 @@ public: @library{wxrichtext} @category{richtext} - @see wxRichTextStyleListBox, @ref overview_wxrichtextctrloverview - "wxRichTextCtrl overview" + @see wxRichTextStyleListBox, @ref overview_richtextctrl */ class wxRichTextStyleComboCtrl : public wxComboCtrl { @@ -364,7 +368,7 @@ public: /** Destructor. */ - ~wxRichTextStyleComboCtrl(); + virtual ~wxRichTextStyleComboCtrl(); /** Returns the wxRichTextCtrl associated with this control. @@ -414,7 +418,7 @@ public: /** Destructor. */ - ~wxRichTextCharacterStyleDefinition(); + virtual ~wxRichTextCharacterStyleDefinition(); }; @@ -425,18 +429,16 @@ public: 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} @@ -453,11 +455,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. */ @@ -474,15 +477,17 @@ 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. */ @@ -503,20 +508,14 @@ 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); - //@} }; @@ -527,9 +526,8 @@ public: 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} @@ -545,7 +543,7 @@ public: /** Destructor. */ - ~wxRichTextStyleSheet(); + virtual ~wxRichTextStyleSheet(); /** Adds a definition to the character style list. @@ -575,17 +573,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. @@ -605,7 +606,7 @@ public: /** Returns the style sheet's description. */ - const wxString GetDescription() const; + const wxString& GetDescription() const; /** Returns the @e nth list style. @@ -620,7 +621,7 @@ public: /** Returns the style sheet's name. */ - const wxString GetName() const; + const wxString& GetName() const; /** Returns the @e nth paragraph style.