]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/textentry.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / gtk / textentry.h
index eb329722cd28ea830fa853abf296fe41a5b969c9..5df686cf246f7f491d996fce6d54bce69bfe236f 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     wxGTK-specific wxTextEntry implementation
 // Author:      Vadim Zeitlin
 // Created:     2007-09-24
-// RCS-ID:      $Id$
 // Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -11,7 +10,9 @@
 #ifndef _WX_GTK_TEXTENTRY_H_
 #define _WX_GTK_TEXTENTRY_H_
 
+typedef struct _GdkEventKey GdkEventKey;
 typedef struct _GtkEditable GtkEditable;
+typedef struct _GtkEntry GtkEntry;
 
 // ----------------------------------------------------------------------------
 // wxTextEntry: roughly corresponds to GtkEditable
@@ -24,7 +25,6 @@ public:
 
     // 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();
@@ -43,8 +43,6 @@ public:
     virtual void SetSelection(long from, long to);
     virtual void GetSelection(long *from, long *to) const;
 
-    virtual bool AutoComplete(const wxArrayString& choices);
-
     virtual bool IsEditable() const;
     virtual void SetEditable(bool editable);
 
@@ -52,15 +50,36 @@ public:
 
     // 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
+    virtual GtkEntry *GetEntry() const = 0;
 };
 
 #endif // _WX_GTK_TEXTENTRY_H_