]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/textentry.h
Applied rowspan patch #15276 (dghart)
[wxWidgets.git] / include / wx / gtk / textentry.h
index 51cd3bd918ac10243d9bc13bca1ff80e5784d016..c146e6ba69d71765855c4adb5efa320a75e85dc3 100644 (file)
@@ -11,7 +11,9 @@
 #ifndef _WX_GTK_TEXTENTRY_H_
 #define _WX_GTK_TEXTENTRY_H_
 
 #ifndef _WX_GTK_TEXTENTRY_H_
 #define _WX_GTK_TEXTENTRY_H_
 
+typedef struct _GdkEventKey GdkEventKey;
 typedef struct _GtkEditable GtkEditable;
 typedef struct _GtkEditable GtkEditable;
+typedef struct _GtkEntry GtkEntry;
 
 // ----------------------------------------------------------------------------
 // wxTextEntry: roughly corresponds to GtkEditable
 
 // ----------------------------------------------------------------------------
 // wxTextEntry: roughly corresponds to GtkEditable
@@ -24,7 +26,6 @@ public:
 
     // implement wxTextEntryBase pure virtual methods
     virtual void WriteText(const wxString& text);
 
     // implement wxTextEntryBase pure virtual methods
     virtual void WriteText(const wxString& text);
-    virtual wxString GetValue() const;
     virtual void Remove(long from, long to);
 
     virtual void Copy();
     virtual void Remove(long from, long to);
 
     virtual void Copy();
@@ -43,26 +44,43 @@ public:
     virtual void SetSelection(long from, long to);
     virtual void GetSelection(long *from, long *to) const;
 
     virtual void SetSelection(long from, long to);
     virtual void GetSelection(long *from, long *to) const;
 
-    // status
     virtual bool IsEditable() const;
     virtual void SetEditable(bool editable);
 
     virtual bool IsEditable() const;
     virtual void SetEditable(bool editable);
 
-    // set the max number of characters which may be entered in a single line
-    // text control
     virtual void SetMaxLength(unsigned long len);
 
     virtual void SetMaxLength(unsigned long len);
 
-
     // implementation only from now on
     void SendMaxLenEvent();
     // implementation only from now on
     void SendMaxLenEvent();
+    bool GTKEntryOnInsertText(const char* text);
 
 
-private:
-    // implement this to return the associated window, it will be used for
-    // event generation
-    virtual const wxWindow *GetEditableWindow() const = 0;
+protected:
+    // This method must be called from the derived class Create() to connect
+    // the handlers for the clipboard (cut/copy/paste) events.
+    void GTKConnectClipboardSignals(GtkWidget* entry);
+
+    // And this one to connect "insert-text" signal.
+    void GTKConnectInsertTextSignal(GtkEntry* entry);
+
+
+    virtual void DoSetValue(const wxString& value, int flags);
+    virtual wxString DoGetValue() const;
 
 
+    // margins functions
+    virtual bool DoSetMargins(const wxPoint& pt);
+    virtual wxPoint DoGetMargins() const;
+
+    virtual bool DoAutoCompleteStrings(const wxArrayString& choices);
+
+    // Override the base class method to use GtkEntry IM context.
+    virtual int GTKIMFilterKeypress(GdkEventKey* event) const;
+
+private:
     // implement this to return the associated GtkEntry or another widget
     // implementing GtkEditable
     virtual GtkEditable *GetEditable() const = 0;
     // implement this to return the associated GtkEntry or another widget
     // implementing GtkEditable
     virtual GtkEditable *GetEditable() const = 0;
+
+    // implement this to return the associated GtkEntry
+    virtual GtkEntry *GetEntry() const = 0;
 };
 
 #endif // _WX_GTK_TEXTENTRY_H_
 };
 
 #endif // _WX_GTK_TEXTENTRY_H_