X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b68603d5359cdfa4a79fc1798d87959d5a578f51..4f2511d706e5274a34e1521e11c1b95fed735b42:/include/wx/richtext/richtextformatdlg.h diff --git a/include/wx/richtext/richtextformatdlg.h b/include/wx/richtext/richtextformatdlg.h index 70b7cbe195..5a69bf5683 100644 --- a/include/wx/richtext/richtextformatdlg.h +++ b/include/wx/richtext/richtextformatdlg.h @@ -21,6 +21,8 @@ #if wxUSE_RICHTEXT #include "wx/propdlg.h" +#include "wx/bookctrl.h" + #if wxUSE_HTML #include "wx/htmllbox.h" #endif @@ -28,12 +30,11 @@ #include "wx/richtext/richtextbuffer.h" #include "wx/richtext/richtextstyles.h" -class WXDLLEXPORT wxNotebookEvent; -class WXDLLIMPEXP_RICHTEXT wxRichTextFormattingDialog; -class WXDLLIMPEXP_CORE wxImageList; +class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextFormattingDialog; +class WXDLLIMPEXP_FWD_CORE wxImageList; /*! - * Flags determining the pages to be created in the dialog + * Flags determining the pages and buttons to be created in the dialog */ #define wxRICHTEXT_FORMAT_STYLE_EDITOR 0x0001 @@ -41,6 +42,26 @@ class WXDLLIMPEXP_CORE wxImageList; #define wxRICHTEXT_FORMAT_TABS 0x0004 #define wxRICHTEXT_FORMAT_BULLETS 0x0008 #define wxRICHTEXT_FORMAT_INDENTS_SPACING 0x0010 +#define wxRICHTEXT_FORMAT_LIST_STYLE 0x0020 + +#define wxRICHTEXT_FORMAT_HELP_BUTTON 0x0100 + +/*! + * Indices for bullet styles in list control + */ + +enum { + wxRICHTEXT_BULLETINDEX_NONE = 0, + wxRICHTEXT_BULLETINDEX_ARABIC, + wxRICHTEXT_BULLETINDEX_UPPER_CASE, + wxRICHTEXT_BULLETINDEX_LOWER_CASE, + wxRICHTEXT_BULLETINDEX_UPPER_CASE_ROMAN, + wxRICHTEXT_BULLETINDEX_LOWER_CASE_ROMAN, + wxRICHTEXT_BULLETINDEX_OUTLINE, + wxRICHTEXT_BULLETINDEX_SYMBOL, + wxRICHTEXT_BULLETINDEX_BITMAP, + wxRICHTEXT_BULLETINDEX_STANDARD +}; /*! * Shorthand for common combinations of pages @@ -97,7 +118,7 @@ DECLARE_CLASS(wxRichTextFormattingDialog) public: wxRichTextFormattingDialog() { Init(); } - wxRichTextFormattingDialog(long flags, wxWindow* parent, const wxString& title = _("Formatting"), wxWindowID id = wxID_ANY, + wxRichTextFormattingDialog(long flags, wxWindow* parent, const wxString& title = wxGetTranslation(wxT("Formatting")), wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE) { @@ -109,7 +130,7 @@ public: void Init(); - bool Create(long flags, wxWindow* parent, const wxString& title, wxWindowID id, + bool Create(long flags, wxWindow* parent, const wxString& title = wxGetTranslation(wxT("Formatting")), wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE); @@ -117,7 +138,7 @@ public: virtual bool GetStyle(wxRichTextCtrl* ctrl, const wxRichTextRange& range); /// Set the attributes and optionally update the display - virtual bool SetStyle(const wxTextAttrEx& style, bool update = true); + virtual bool SetStyle(const wxTextAttr& style, bool update = true); /// Set the style definition and optionally update the display virtual bool SetStyleDefinition(const wxRichTextStyleDefinition& styleDef, wxRichTextStyleSheet* sheet, bool update = true); @@ -135,9 +156,9 @@ public: virtual bool ApplyStyle(wxRichTextCtrl* ctrl, const wxRichTextRange& range, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO|wxRICHTEXT_SETSTYLE_OPTIMIZE); /// Gets and sets the attributes - const wxTextAttrEx& GetAttributes() const { return m_attributes; } - wxTextAttrEx& GetAttributes() { return m_attributes; } - void SetAttributes(const wxTextAttrEx& attr) { m_attributes = attr; } + const wxTextAttr& GetAttributes() const { return m_attributes; } + wxTextAttr& GetAttributes() { return m_attributes; } + void SetAttributes(const wxTextAttr& attr) { m_attributes = attr; } /// Transfers the data and from to the window virtual bool TransferDataToWindow(); @@ -145,7 +166,10 @@ public: /// Apply the styles when a different tab is selected, so the previews are /// up to date - void OnTabChanged(wxNotebookEvent& event); + void OnTabChanged(wxBookCtrlEvent& event); + + /// Respond to help command + void OnHelp(wxCommandEvent& event); /// Set/get image list void SetImageList(wxImageList* imageList) { m_imageList = imageList; } @@ -159,19 +183,30 @@ public: static wxRichTextFormattingDialog* GetDialog(wxWindow* win); /// Helper for pages to get the attributes - static wxTextAttrEx* GetDialogAttributes(wxWindow* win); + static wxTextAttr* GetDialogAttributes(wxWindow* win); /// Helper for pages to get the style static wxRichTextStyleDefinition* GetDialogStyleDefinition(wxWindow* win); + /// Should we show tooltips? + static bool ShowToolTips() { return sm_showToolTips; } + + /// Determines whether tooltips will be shown + static void SetShowToolTips(bool show) { sm_showToolTips = show; } + + /// Map book control page index to our page id + void AddPageId(int id) { m_pageIds.Add(id); } + protected: wxImageList* m_imageList; - wxTextAttrEx m_attributes; + wxTextAttr m_attributes; wxRichTextStyleDefinition* m_styleDefinition; wxRichTextStyleSheet* m_styleSheet; + wxArrayInt m_pageIds; // mapping of book control indexes to page ids static wxRichTextFormattingDialogFactory* ms_FormattingDialogFactory; + static bool sm_showToolTips; DECLARE_EVENT_TABLE() }; @@ -183,13 +218,14 @@ DECLARE_EVENT_TABLE() class WXDLLIMPEXP_RICHTEXT wxRichTextFontPreviewCtrl : public wxWindow { public: - wxRichTextFontPreviewCtrl(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = 0) : - wxWindow(parent, id, pos, sz, style) - { - SetBackgroundColour(*wxWHITE); - } + wxRichTextFontPreviewCtrl(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = 0); + + void SetTextEffects(int effects) { m_textEffects = effects; } + int GetTextEffects() const { return m_textEffects; } private: + int m_textEffects; + void OnPaint(wxPaintEvent& event); DECLARE_EVENT_TABLE() };