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