]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/textctrl.h
Use proper format in wxGTK clipboard selection handler.
[wxWidgets.git] / include / wx / gtk / textctrl.h
index 8a4aac53eeee44844a4a0cc027297397f8bed363..336a5cfa2e44116a474da8afc2fa1ad5a8b809c5 100644 (file)
@@ -63,6 +63,7 @@ public:
     virtual void DiscardEdits();
 
     virtual bool SetStyle(long start, long end, const wxTextAttr& style);
     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
 
     // 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,18 +122,8 @@ public:
 
     void SetUpdateFont(bool WXUNUSED(update)) { }
 
 
     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
 
     // implementation only from now on
 
-    // wxGTK-specific: called recursively by Enable,
-    // to give widgets an oppprtunity to correct their colours after they
-    // have been changed by Enable
-    virtual void OnEnabled( bool enable ) ;
-
     // tell the control to ignore next text changed signal
     void IgnoreNextTextUpdate(int n = 1) { m_countUpdatesToIgnore = n; }
 
     // tell the control to ignore next text changed signal
     void IgnoreNextTextUpdate(int n = 1) { m_countUpdatesToIgnore = n; }
 
@@ -153,19 +144,19 @@ public:
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 
-    // has the control been frozen by Freeze()?
-    bool IsFrozen() const { return m_freezeCount > 0; }
-
 protected:
 protected:
+    // wxGTK-specific: called recursively by Enable,
+    // to give widgets an oppprtunity to correct their colours after they
+    // have been changed by Enable
+    virtual void OnEnabled(bool enable);
+
     // overridden wxWindow virtual methods
     virtual wxSize DoGetBestSize() const;
     virtual void DoApplyWidgetStyle(GtkRcStyle *style);
     virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
 
     // overridden wxWindow virtual methods
     virtual wxSize DoGetBestSize() const;
     virtual void DoApplyWidgetStyle(GtkRcStyle *style);
     virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
 
-    // overridden wxTextEntry virtual methods
-    virtual const wxWindow *GetEditableWindow() const { return this; }
-    virtual GtkEditable *GetEditable() const;
-    virtual void EnableTextChangedEvents(bool enable);
+    virtual void DoFreeze();
+    virtual void DoThaw();
 
     // common part of all ctors
     void Init();
 
     // common part of all ctors
     void Init();
@@ -176,15 +167,23 @@ protected:
 
     virtual void DoSetValue(const wxString &value, int flags = 0);
 
 
     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)
     void GTKSetEditable();
     void GTKSetVisibility();
     // 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)
     void GTKSetEditable();
     void GTKSetVisibility();
+    void GTKSetActivatesDefault();
     void GTKSetWrapMode();
     void GTKSetJustification();
 
 private:
     void GTKSetWrapMode();
     void GTKSetJustification();
 
 private:
+    // overridden wxTextEntry virtual methods
+    virtual GtkEditable *GetEditable() const;
+    virtual GtkEntry *GetEntry() const;
+    virtual void EnableTextChangedEvents(bool enable);
+
     // change the font for everything in this control
     void ChangeFontGlobally();
 
     // change the font for everything in this control
     void ChangeFontGlobally();
 
@@ -199,8 +198,8 @@ private:
     // both
     void *GetTextObject() const
     {
     // 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);
     }
 
 
     }
 
 
@@ -216,14 +215,11 @@ private:
     // a dummy one when frozen
     GtkTextBuffer *m_buffer;
 
     // 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;
     GtkTextMark* m_showPositionOnThaw;
+    GSList* m_anonymousMarkList;
 
     // For wxTE_AUTO_URL
     void OnUrlMouseEvent(wxMouseEvent&);
 
     // For wxTE_AUTO_URL
     void OnUrlMouseEvent(wxMouseEvent&);
-    GdkCursor *m_gdkHandCursor;
-    GdkCursor *m_gdkXTermCursor;
 
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxTextCtrl)
 
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxTextCtrl)