]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/textctrl.h
Unselect all wxDataViewCtrl items when clicking outside of the item area.
[wxWidgets.git] / include / wx / gtk / textctrl.h
index 28554b1f9661ddafd79754108ad3aec337471b26..60e07203a7dbba84c55c2232433ec1f8e053c618 100644 (file)
@@ -63,6 +63,7 @@ public:
     virtual void DiscardEdits();
 
     virtual bool SetStyle(long start, long end, const wxTextAttr& style);
+    virtual bool GetStyle(long position, wxTextAttr& style);
 
     // 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
@@ -121,11 +122,6 @@ public:
 
     void SetUpdateFont(bool WXUNUSED(update)) { }
 
-    // GTK+ textctrl is so dumb that you need to freeze/thaw it manually to
-    // avoid horrible flicker/scrolling back and forth
-    virtual void Freeze();
-    virtual void Thaw();
-
     // implementation only from now on
 
     // tell the control to ignore next text changed signal
@@ -148,9 +144,6 @@ public:
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 
-    // has the control been frozen by Freeze()?
-    bool IsFrozen() const { return m_freezeCount > 0; }
-
 protected:
     // wxGTK-specific: called recursively by Enable,
     // to give widgets an oppprtunity to correct their colours after they
@@ -162,8 +155,10 @@ protected:
     virtual void DoApplyWidgetStyle(GtkRcStyle *style);
     virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
 
-    // common part of all ctors
-    void Init();
+    virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const;
+
+    virtual void DoFreeze();
+    virtual void DoThaw();
 
     // Widgets that use the style->base colour for the BG colour should
     // override this and return true.
@@ -171,6 +166,8 @@ protected:
 
     virtual void DoSetValue(const wxString &value, int flags = 0);
 
+    virtual wxPoint DoPositionToCoords(long pos) const;
+
     // wrappers hiding the differences between functions doing the same thing
     // for GtkTextView and GtkEntry (all of them use current window style to
     // set the given characteristic)
@@ -181,9 +178,11 @@ protected:
     void GTKSetJustification();
 
 private:
+    void Init();
+
     // overridden wxTextEntry virtual methods
-    virtual const wxWindow *GetEditableWindow() const { return this; }
     virtual GtkEditable *GetEditable() const;
+    virtual GtkEntry *GetEntry() const;
     virtual void EnableTextChangedEvents(bool enable);
 
     // change the font for everything in this control
@@ -200,8 +199,8 @@ private:
     // both
     void *GetTextObject() const
     {
-        return IsMultiLine() ? wx_static_cast(void *, m_buffer)
-                             : wx_static_cast(void *, m_text);
+        return IsMultiLine() ? static_cast<void *>(m_buffer)
+                             : static_cast<void *>(m_text);
     }
 
 
@@ -217,14 +216,11 @@ private:
     // a dummy one when frozen
     GtkTextBuffer *m_buffer;
 
-    // number of calls to Freeze() minus number of calls to Thaw()
-    unsigned m_freezeCount;
     GtkTextMark* m_showPositionOnThaw;
+    GSList* m_anonymousMarkList;
 
     // For wxTE_AUTO_URL
     void OnUrlMouseEvent(wxMouseEvent&);
-    GdkCursor *m_gdkHandCursor;
-    GdkCursor *m_gdkXTermCursor;
 
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxTextCtrl)