X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1807a1f3cf63a4f0ae277ef8e8d059a0d089c807..1a9a3ce9a39580a537b1cd25b4e207ac760075d6:/include/wx/richtext/richtextctrl.h diff --git a/include/wx/richtext/richtextctrl.h b/include/wx/richtext/richtextctrl.h index 1e0e289712..15c1d3791a 100644 --- a/include/wx/richtext/richtextctrl.h +++ b/include/wx/richtext/richtextctrl.h @@ -196,6 +196,23 @@ public: virtual const wxTextAttrEx& GetDefaultStyleEx() const; virtual const wxTextAttr& GetDefaultStyle() const; + /// Set list style + virtual bool SetListStyle(const wxRichTextRange& range, wxRichTextListStyleDefinition* def, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom = 1, int specifiedLevel = -1); + virtual bool SetListStyle(const wxRichTextRange& range, const wxString& defName, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom = 1, int specifiedLevel = -1); + + /// Clear list for given range + virtual bool ClearListStyle(const wxRichTextRange& range, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO); + + /// Number/renumber any list elements in the given range + /// def/defName can be NULL/empty to indicate that the existing list style should be used. + virtual bool NumberList(const wxRichTextRange& range, wxRichTextListStyleDefinition* def = NULL, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom = 1, int specifiedLevel = -1); + virtual bool NumberList(const wxRichTextRange& range, const wxString& defName, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom = 1, int specifiedLevel = -1); + + /// Promote the list items within the given range. promoteBy can be a positive or negative number, e.g. 1 or -1 + /// def/defName can be NULL/empty to indicate that the existing list style should be used. + virtual bool PromoteList(int promoteBy, const wxRichTextRange& range, wxRichTextListStyleDefinition* def = NULL, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO, int specifiedLevel = -1); + virtual bool PromoteList(int promoteBy, const wxRichTextRange& range, const wxString& defName, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO, int specifiedLevel = -1); + // translate between the position (which is just an index in the text ctrl // considering all its contents as a single strings) and (x, y) coordinates // which represent column and line. @@ -367,6 +384,13 @@ public: /// End symbol bullet bool EndSymbolBullet() { return GetBuffer().EndSymbolBullet(); } + /// Begin standard bullet + bool BeginStandardBullet(const wxString& bulletName, int leftIndent, int leftSubIndent, int bulletStyle = wxTEXT_ATTR_BULLET_STYLE_STANDARD) + { return GetBuffer().BeginStandardBullet(bulletName, leftIndent, leftSubIndent, bulletStyle); } + + /// End standard bullet + bool EndStandardBullet() { return GetBuffer().EndStandardBullet(); } + /// Begin named character style bool BeginCharacterStyle(const wxString& characterStyle) { return GetBuffer().BeginCharacterStyle(characterStyle); } @@ -379,6 +403,12 @@ public: /// End named character style bool EndParagraphStyle() { return GetBuffer().EndParagraphStyle(); } + /// Begin named list style + bool BeginListStyle(const wxString& listStyle, int level = 1, int number = 1) { return GetBuffer().BeginListStyle(listStyle, level, number); } + + /// End named character style + bool EndListStyle() { return GetBuffer().EndListStyle(); } + /// Sets the default style to the style under the cursor bool SetDefaultStyleToCursorStyle(); @@ -530,10 +560,16 @@ public: /// Apply a named style to the selection virtual bool ApplyStyle(wxRichTextStyleDefinition* def); - /// Set style sheet, if any. + /// Set style sheet, if any void SetStyleSheet(wxRichTextStyleSheet* styleSheet) { GetBuffer().SetStyleSheet(styleSheet); } wxRichTextStyleSheet* GetStyleSheet() const { return GetBuffer().GetStyleSheet(); } + /// Push style sheet to top of stack + bool PushStyleSheet(wxRichTextStyleSheet* styleSheet) { return GetBuffer().PushStyleSheet(styleSheet); } + + /// Pop style sheet from top of stack + wxRichTextStyleSheet* PopStyleSheet() { return GetBuffer().PopStyleSheet(); } + /// Apply the style sheet to the buffer, for example if the styles have changed. bool ApplyStyleSheet(wxRichTextStyleSheet* styleSheet = NULL); @@ -714,6 +750,10 @@ public: // Implementation + /// Font names take a long time to retrieve, so cache them (on demand) + static const wxArrayString& GetAvailableFontNames(); + static void ClearAvailableFontNames(); + WX_FORWARD_TO_SCROLL_HELPER() // Overrides @@ -776,6 +816,8 @@ private: /// Threshold for doing delayed layout long m_delayedLayoutThreshold; + + static wxArrayString sm_availableFontNames; }; /*! @@ -840,4 +882,3 @@ typedef void (wxEvtHandler::*wxRichTextEventFunction)(wxRichTextEvent&); #endif // _WX_RICHTEXTCTRL_H_ -