X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/adaaa68635b4c8a4d8c5284add40366ea3eefb07..7344108e8a129a3f9b4df5ab0f98a1713db03b89:/interface/wx/richtext/richtextstyles.h?ds=inline diff --git a/interface/wx/richtext/richtextstyles.h b/interface/wx/richtext/richtextstyles.h index 4de3688761..e89f8fa7f9 100644 --- a/interface/wx/richtext/richtextstyles.h +++ b/interface/wx/richtext/richtextstyles.h @@ -3,25 +3,27 @@ // Purpose: interface of wxRichTextStyleListCtrl // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @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 { @@ -129,17 +134,17 @@ public: /** 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. @@ -174,6 +179,21 @@ public: Sets the attributes for this style. */ void SetStyle(const wxTextAttr& style); + + /** + Returns the definition's properties. + */ + wxRichTextProperties& GetProperties(); + + /** + Returns the definition's properties. + */ + const wxRichTextProperties& GetProperties() const; + + /** + Sets the definition's properties. + */ + void SetProperties(const wxRichTextProperties& props); }; @@ -203,7 +223,7 @@ public: /** 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 +244,7 @@ public: @library{wxrichtext} @category{richtext} - @see wxRichTextStyleComboCtrl, @ref overview_wxrichtextctrloverview - "wxRichTextCtrl overview" + @see wxRichTextStyleComboCtrl, @ref overview_richtextctrl */ class wxRichTextStyleListBox : public wxHtmlListBox { @@ -261,8 +280,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,26 +304,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); @@ -321,9 +328,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 +339,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 +361,7 @@ public: @library{wxrichtext} @category{richtext} - @see wxRichTextStyleListBox, @ref overview_wxrichtextctrloverview - "wxRichTextCtrl overview" + @see wxRichTextStyleListBox, @ref overview_richtextctrl */ class wxRichTextStyleComboCtrl : public wxComboCtrl { @@ -425,18 +439,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} @@ -458,6 +470,7 @@ public: /** 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,19 +487,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; /** @@ -503,20 +519,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 +537,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} @@ -575,17 +584,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 +617,7 @@ public: /** Returns the style sheet's description. */ - const wxString GetDescription() const; + const wxString& GetDescription() const; /** Returns the @e nth list style. @@ -620,7 +632,7 @@ public: /** Returns the style sheet's name. */ - const wxString GetName() const; + const wxString& GetName() const; /** Returns the @e nth paragraph style. @@ -665,5 +677,20 @@ public: Sets the style sheet's name. */ void SetName(const wxString& name); + + /** + Returns the sheet's properties. + */ + wxRichTextProperties& GetProperties(); + + /** + Returns the sheet's properties. + */ + const wxRichTextProperties& GetProperties() const; + + /** + Sets the sheet's properties. + */ + void SetProperties(const wxRichTextProperties& props); };