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