]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/richtext/richtextformatdlg.h
do platform-specific checks after ensuring that the symbols we use are defined; extra...
[wxWidgets.git] / include / wx / richtext / richtextformatdlg.h
index a5645b39398c16c435a8e05e93b5d9a9750e08c8..3e2726342ba6e0f950fabb155f4dd659f4d12d0d 100644 (file)
 #include "wx/richtext/richtextbuffer.h"
 #include "wx/richtext/richtextstyles.h"
 
-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
@@ -42,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
@@ -98,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)
     {
@@ -110,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);
 
@@ -148,6 +168,9 @@ public:
     /// up to date
     void OnTabChanged(wxBookCtrlEvent& event);
 
+    /// Respond to help command
+    void OnHelp(wxCommandEvent& event);
+
     /// Set/get image list
     void SetImageList(wxImageList* imageList) { m_imageList = imageList; }
     wxImageList* GetImageList() const { return m_imageList; }
@@ -165,14 +188,25 @@ public:
     /// 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;
     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()
 };
@@ -188,9 +222,15 @@ public:
         wxWindow(parent, id, pos, sz, style)
     {
         SetBackgroundColour(*wxWHITE);
+        m_textEffects = 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()
 };