]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/richtext/richtextstyles.h
Store property name and value in wxPropertyGridEvent, keep track of live event instan...
[wxWidgets.git] / interface / wx / richtext / richtextstyles.h
index fc065d170d7bb9ef9bfe55aed5d19fc79adf822e..0c20ec9a260d711d9df67d6c3f45028bb84df0c8 100644 (file)
@@ -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.