]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/textctrl.h
Make wxChoicebook background transparent.
[wxWidgets.git] / include / wx / textctrl.h
index d65e329ddaf2a358e0ac2e0c072717ec31842087..eb7c2140ceff0dd7c6113cbddf1c9a3b5656e7ef 100644 (file)
@@ -214,7 +214,7 @@ enum wxTextAttrFlags
     wxTEXT_ATTR_PARAGRAPH = \
         (wxTEXT_ATTR_ALIGNMENT|wxTEXT_ATTR_LEFT_INDENT|wxTEXT_ATTR_RIGHT_INDENT|wxTEXT_ATTR_TABS|\
             wxTEXT_ATTR_PARA_SPACING_BEFORE|wxTEXT_ATTR_PARA_SPACING_AFTER|wxTEXT_ATTR_LINE_SPACING|\
-            wxTEXT_ATTR_BULLET|wxTEXT_ATTR_PARAGRAPH_STYLE_NAME|wxTEXT_ATTR_LIST_STYLE_NAME|wxTEXT_ATTR_OUTLINE_LEVEL),
+            wxTEXT_ATTR_BULLET|wxTEXT_ATTR_PARAGRAPH_STYLE_NAME|wxTEXT_ATTR_LIST_STYLE_NAME|wxTEXT_ATTR_OUTLINE_LEVEL|wxTEXT_ATTR_PAGE_BREAK),
 
     wxTEXT_ATTR_ALL = (wxTEXT_ATTR_CHARACTER|wxTEXT_ATTR_PARAGRAPH)
 };
@@ -298,8 +298,8 @@ public:
     // Equality test
     bool operator== (const wxTextAttr& attr) const;
 
-    // Partial equality test taking flags into account
-    bool EqPartial(const wxTextAttr& attr, int flags) const;
+    // Partial equality test
+    bool EqPartial(const wxTextAttr& attr) const;
 
     // Get attributes from font.
     bool GetFontAttributes(const wxFont& font, int flags = wxTEXT_ATTR_FONT);
@@ -411,6 +411,8 @@ public:
     bool HasOutlineLevel() const { return HasFlag(wxTEXT_ATTR_OUTLINE_LEVEL); }
 
     bool HasFlag(long flag) const { return (m_flags & flag) != 0; }
+    void RemoveFlag(long flag) { m_flags &= ~flag; }
+    void AddFlag(long flag) { m_flags |= flag; }
 
     // Is this a character style?
     bool IsCharacterStyle() const { return HasFlag(wxTEXT_ATTR_CHARACTER); }
@@ -422,11 +424,11 @@ public:
         return GetFlags() == 0;
     }
 
-    // Merges the given attributes. Does not affect 'this'. If compareWith
+    // Merges the given attributes. If compareWith
     // is non-NULL, then it will be used to mask out those attributes that are the same in style
     // and compareWith, for situations where we don't want to explicitly set inherited attributes.
     bool Apply(const wxTextAttr& style, const wxTextAttr* compareWith = NULL);
-
+    
     // merges the attributes of the base and the overlay objects and returns
     // the result; the parameter attributes take precedence
     //
@@ -582,11 +584,13 @@ public:
     virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt,
                                             wxTextCoord *col,
                                             wxTextCoord *row) const;
+    virtual wxString GetValue() const = 0;
+    virtual void SetValue(const wxString& value) = 0;
 
 protected:
     // implementation of loading/saving
-    virtual bool DoLoadFile(const wxString& file, int fileType) = 0;
-    virtual bool DoSaveFile(const wxString& file, int fileType) = 0;
+    virtual bool DoLoadFile(const wxString& file, int fileType);
+    virtual bool DoSaveFile(const wxString& file, int fileType);
 
 
     // the name of the last file loaded with LoadFile() which will be used by
@@ -597,7 +601,7 @@ protected:
     wxTextAttr m_defaultStyle;
 
 
-    DECLARE_NO_COPY_CLASS(wxTextAreaBase)
+    wxDECLARE_NO_COPY_CLASS(wxTextAreaBase);
 };
 
 // this class defines wxTextCtrl interface, wxTextCtrlBase actually implements
@@ -611,8 +615,18 @@ class WXDLLIMPEXP_CORE wxTextCtrlIface : public wxTextAreaBase,
 public:
     wxTextCtrlIface() { }
 
+    // wxTextAreaBase overrides
+    virtual wxString GetValue() const
+    {
+       return wxTextEntryBase::GetValue();
+    }
+    virtual void SetValue(const wxString& value)
+    {
+       wxTextEntryBase::SetValue(value);
+    }
+
 private:
-    DECLARE_NO_COPY_CLASS(wxTextCtrlIface)
+    wxDECLARE_NO_COPY_CLASS(wxTextCtrlIface);
 };
 
 // ----------------------------------------------------------------------------
@@ -653,11 +667,6 @@ public:
     virtual bool EmulateKeyPress(const wxKeyEvent& event);
 
 
-    // generate the wxEVT_COMMAND_TEXT_UPDATED event, like SetValue() does and
-    // return true if the event was processed
-    static bool SendTextUpdatedEvent(wxWindow *win);
-    bool SendTextUpdatedEvent() { return SendTextUpdatedEvent(this); }
-
     // do the window-specific processing after processing the update event
     virtual void DoUpdateWindowUI(wxUpdateUIEvent& event);
 
@@ -683,6 +692,28 @@ public:
     virtual bool GetStyle(long position, wxTextAttr& style);
     virtual bool SetDefaultStyle(const wxTextAttr& style);
 
+    // wxTextAreaBase overrides
+    virtual wxString GetValue() const
+    {
+       return wxTextEntry::GetValue();
+    }
+    virtual void SetValue(const wxString& value)
+    {
+       wxTextEntry::SetValue(value);
+    }
+
+    // wxWindow overrides
+    virtual wxVisualAttributes GetDefaultAttributes() const
+    {
+        return GetClassDefaultAttributes(GetWindowVariant());
+    }
+
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL)
+    {
+        return GetCompositeControlsDefaultAttributes(variant);
+    }
+
 protected:
     // override streambuf method
 #if wxHAS_TEXT_WINDOW_STREAM
@@ -692,8 +723,10 @@ protected:
     virtual bool DoLoadFile(const wxString& file, int fileType);
     virtual bool DoSaveFile(const wxString& file, int fileType);
 
+    // implement the wxTextEntry pure virtual method
+    virtual wxWindow *GetEditableWindow() { return this; }
 
-    DECLARE_NO_COPY_CLASS(wxTextCtrlBase)
+    wxDECLARE_NO_COPY_CLASS(wxTextCtrlBase);
     DECLARE_ABSTRACT_CLASS(wxTextCtrlBase)
 };
 
@@ -731,10 +764,10 @@ protected:
 
 class WXDLLIMPEXP_FWD_CORE wxTextUrlEvent;
 
-wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent)
-wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_ENTER, wxCommandEvent)
-wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_URL, wxTextUrlEvent)
-wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_MAXLEN, wxCommandEvent)
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_ENTER, wxCommandEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_URL, wxTextUrlEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_MAXLEN, wxCommandEvent);
 
 class WXDLLIMPEXP_CORE wxTextUrlEvent : public wxCommandEvent
 {