1 ///////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/os2/textentry.h
3 // Purpose:     wxOS2-specific wxTextEntry implementation
4 // Author:      Stefan Neis
5 // Created:     2007-11-18
6 // Copyright:   (c) 2007 Stefan Neis
7 // Licence:     wxWindows licence
8 ///////////////////////////////////////////////////////////////////////////////
9 
10 #ifndef _WX_OS2_TEXTENTRY_H_
11 #define _WX_OS2_TEXTENTRY_H_
12 
13 // ----------------------------------------------------------------------------
14 // wxTextEntry: common part of wxComboBox and (single line) wxTextCtrl
15 // ----------------------------------------------------------------------------
16 
17 class WXDLLIMPEXP_CORE wxTextEntry : public wxTextEntryBase
18 {
19 public:
wxTextEntry()20     wxTextEntry() { }
21 
22     // implement wxTextEntryBase pure virtual methods
23     virtual void WriteText(const wxString& text);
24     virtual void Remove(long from, long to);
25 
26     virtual void Copy();
27     virtual void Cut();
28     virtual void Paste();
29 
30     virtual void Undo();
31     virtual void Redo();
32     virtual bool CanUndo() const;
33     virtual bool CanRedo() const;
34 
35     virtual void SetInsertionPoint(long pos);
36     virtual long GetInsertionPoint() const;
37     virtual long GetLastPosition() const;
38 
SetSelection(long from,long to)39     virtual void SetSelection(long from, long to)
40         { DoSetSelection(from, to); }
41     virtual void GetSelection(long *from, long *to) const;
42 
43     virtual bool IsEditable() const;
44     virtual void SetEditable(bool editable);
45 
46     virtual void SetMaxLength(unsigned long len);
47 
48 protected:
49     virtual wxString DoGetValue() const;
50 
51     // this is really a hook for multiline text controls as the single line
52     // ones don't need to ever scroll to show the selection but having it here
53     // allows us to put Remove() in the base class
54     enum
55     {
56         SetSel_NoScroll = 0,    // don't do anything special
57         SetSel_Scroll = 1       // default: scroll to make the selection visible
58     };
59     virtual void DoSetSelection(long from, long to, int flags = SetSel_Scroll);
60 
61 private:
62     // implement this to return the HWND of the EDIT control
63     virtual WXHWND GetEditHWND() const = 0;
64 };
65 
66 #endif // _WX_OS2_TEXTENTRY_H_
67 
68