]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/richtext/richtextformatdlg.h
Test using wxString::ToCDouble() in wxAny.
[wxWidgets.git] / include / wx / richtext / richtextformatdlg.h
index 1f22c147f219a87da18d37326ed97f118d1c5093..ec785a5b0043b58412ab22c2dca7917f49f0ca6e 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "wx/propdlg.h"
 #include "wx/bookctrl.h"
+#include "wx/withimages.h"
 
 #if wxUSE_HTML
 #include "wx/htmllbox.h"
@@ -32,7 +33,8 @@
 #include "wx/richtext/richtextuicustomization.h"
 
 class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextFormattingDialog;
-class WXDLLIMPEXP_FWD_CORE wxImageList;
+class WXDLLIMPEXP_FWD_CORE wxComboBox;
+class WXDLLIMPEXP_FWD_CORE wxCheckBox;
 
 /*!
  * Flags determining the pages and buttons to be created in the dialog
@@ -86,7 +88,7 @@ public:
     wxRichTextFormattingDialogFactory() {}
     virtual ~wxRichTextFormattingDialogFactory() {}
 
-// Overrideables
+// Overridables
 
     /// Create all pages, under the dialog's book control, also calling AddPage
     virtual bool CreatePages(long pages, wxRichTextFormattingDialog* dialog);
@@ -117,12 +119,15 @@ public:
  * Formatting dialog for a wxRichTextCtrl
  */
 
-class WXDLLIMPEXP_RICHTEXT wxRichTextFormattingDialog: public wxPropertySheetDialog
+class WXDLLIMPEXP_RICHTEXT wxRichTextFormattingDialog: public wxPropertySheetDialog,
+                                                       public wxWithImages
 {
 DECLARE_CLASS(wxRichTextFormattingDialog)
 DECLARE_HELP_PROVISION()
 
 public:
+    enum { Option_AllowPixelFontSize = 0x0001 };
+
     wxRichTextFormattingDialog() { Init(); }
 
     wxRichTextFormattingDialog(long flags, wxWindow* parent, const wxString& title = wxGetTranslation(wxT("Formatting")), wxWindowID id = wxID_ANY,
@@ -161,7 +166,7 @@ public:
 
     /// Apply attributes to the given range
     virtual bool ApplyStyle(wxRichTextCtrl* ctrl, const wxRichTextRange& range, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO|wxRICHTEXT_SETSTYLE_OPTIMIZE);
-    
+
     /// Apply attributes to the object being edited, if any
     virtual bool ApplyStyle(wxRichTextCtrl* ctrl, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO);
 
@@ -169,12 +174,18 @@ public:
     const wxRichTextAttr& GetAttributes() const { return m_attributes; }
     wxRichTextAttr& GetAttributes() { return m_attributes; }
     void SetAttributes(const wxRichTextAttr& attr) { m_attributes = attr; }
-#if 0
-    /// Gets and sets the attributes that the user wants to reset
-    const wxRichTextAttr& GetResetAttributes() const { return m_resetAttributes; }
-    wxRichTextAttr& GetResetAttributes() { return m_resetAttributes; }
-    void SetResetAttributes(const wxRichTextAttr& attr) { m_resetAttributes = attr; }
-#endif
+
+    /// Sets the dialog options, determining what the interface presents to the user.
+    /// Currently the only option is Option_AllowPixelFontSize.
+    void SetOptions(int options) { m_options = options; }
+
+    /// Gets the dialog options, determining what the interface presents to the user.
+    /// Currently the only option is Option_AllowPixelFontSize.
+    int GetOptions() const { return m_options; }
+
+    /// Returns @true if the given option is present.
+    bool HasOption(int option) const { return (m_options & option) != 0; }
+
     /// If editing the attributes for a particular object, such as an image,
     /// set the object so the code can initialize attributes such as size correctly.
     wxRichTextObject* GetObject() const { return m_object; }
@@ -192,10 +203,6 @@ public:
     void OnHelp(wxCommandEvent& event);
     void OnUpdateHelp(wxUpdateUIEvent& event);
 
-    /// Set/get image list
-    void SetImageList(wxImageList* imageList) { m_imageList = imageList; }
-    wxImageList* GetImageList() const { return m_imageList; }
-
     /// Get/set formatting factory object
     static void SetFormattingDialogFactory(wxRichTextFormattingDialogFactory* factory);
     static wxRichTextFormattingDialogFactory* GetFormattingDialogFactory() { return ms_FormattingDialogFactory; }
@@ -223,25 +230,24 @@ public:
 
     /// Get the dimension from the value and units controls
     static void GetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl, wxCheckBox* checkBox);
-    
+
     /// Convert CM to MM
     static bool ConvertFromString(const wxString& string, int& ret, int scale);
 
     /// Map book control page index to our page id
     void AddPageId(int id) { m_pageIds.Add(id); }
-    
+
     /// Find a page by class
     wxWindow* FindPage(wxClassInfo* info) const;
 
 protected:
 
-    wxImageList*                                m_imageList;
     wxRichTextAttr                              m_attributes;
-    //wxRichTextAttr                              m_resetAttributes;
     wxRichTextStyleDefinition*                  m_styleDefinition;
     wxRichTextStyleSheet*                       m_styleSheet;
     wxRichTextObject*                           m_object;
     wxArrayInt                                  m_pageIds; // mapping of book control indexes to page ids
+    int                                         m_options; // UI options
 
     static wxRichTextFormattingDialogFactory*   ms_FormattingDialogFactory;
     static bool                                 sm_showToolTips;