1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/textentry.h
3 // Purpose: wxGTK-specific wxTextEntry implementation
4 // Author: Vadim Zeitlin
7 // Copyright: (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_GTK_TEXTENTRY_H_
12 #define _WX_GTK_TEXTENTRY_H_
14 typedef struct _GdkEventKey GdkEventKey
;
15 typedef struct _GtkEditable GtkEditable
;
16 typedef struct _GtkEntry GtkEntry
;
18 // ----------------------------------------------------------------------------
19 // wxTextEntry: roughly corresponds to GtkEditable
20 // ----------------------------------------------------------------------------
22 class WXDLLIMPEXP_CORE wxTextEntry
: public wxTextEntryBase
27 // implement wxTextEntryBase pure virtual methods
28 virtual void WriteText(const wxString
& text
);
29 virtual void Remove(long from
, long to
);
37 virtual bool CanUndo() const;
38 virtual bool CanRedo() const;
40 virtual void SetInsertionPoint(long pos
);
41 virtual long GetInsertionPoint() const;
42 virtual long GetLastPosition() const;
44 virtual void SetSelection(long from
, long to
);
45 virtual void GetSelection(long *from
, long *to
) const;
47 virtual bool IsEditable() const;
48 virtual void SetEditable(bool editable
);
50 virtual void SetMaxLength(unsigned long len
);
52 // implementation only from now on
53 void SendMaxLenEvent();
54 bool GTKEntryOnInsertText(const char* text
);
57 // This method must be called from the derived class Create() to connect
58 // the handlers for the clipboard (cut/copy/paste) events.
59 void GTKConnectClipboardSignals(GtkWidget
* entry
);
61 // And this one to connect "insert-text" signal.
62 void GTKConnectInsertTextSignal(GtkEntry
* entry
);
65 virtual void DoSetValue(const wxString
& value
, int flags
);
66 virtual wxString
DoGetValue() const;
69 virtual bool DoSetMargins(const wxPoint
& pt
);
70 virtual wxPoint
DoGetMargins() const;
72 virtual bool DoAutoCompleteStrings(const wxArrayString
& choices
);
74 // Override the base class method to use GtkEntry IM context.
75 virtual int GTKIMFilterKeypress(GdkEventKey
* event
) const;
78 // implement this to return the associated GtkEntry or another widget
79 // implementing GtkEditable
80 virtual GtkEditable
*GetEditable() const = 0;
82 // implement this to return the associated GtkEntry
83 virtual GtkEntry
*GetEntry() const = 0;
86 #endif // _WX_GTK_TEXTENTRY_H_