///////////////////////////////////////////////////////////////////////////// // Name: textctrl.h // Purpose: // Author: Robert Roebling // Created: 01/02/97 // Id: // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __GTKTEXTCTRLH__ #define __GTKTEXTCTRLH__ #ifdef __GNUG__ #pragma interface #endif #include "wx/defs.h" #include "wx/object.h" #include "wx/string.h" #include "wx/control.h" #if USE_IOSTREAMH #include #else #include #endif //----------------------------------------------------------------------------- // classes //----------------------------------------------------------------------------- class wxTextCtrl; //----------------------------------------------------------------------------- // global data //----------------------------------------------------------------------------- extern const char *wxTextCtrlNameStr; //----------------------------------------------------------------------------- // wxTextCtrl //----------------------------------------------------------------------------- class wxTextCtrl: public wxControl, public streambuf { DECLARE_DYNAMIC_CLASS(wxTextCtrl); public: wxTextCtrl(void); wxTextCtrl( wxWindow *parent, wxWindowID id, const wxString &value = "", const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, int style = 0, const wxString &name = wxTextCtrlNameStr ); bool Create( wxWindow *parent, wxWindowID id, const wxString &value = "", const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, int style = 0, const wxString &name = wxTextCtrlNameStr ); wxString GetValue(void) const; void SetValue( const wxString &value ); void WriteText( const wxString &text ); bool LoadFile( const wxString &file ); bool SaveFile( const wxString &file ); bool IsModified(void); void DiscardEdits(void); /* wxString GetLineText( long lineNo ) const; void OnDropFiles( wxDropFilesEvent &event ); long PositionToXY( long pos, long *x, long *y ) const; long XYToPosition( long x, long y ); int GetNumberOfLines(void); */ virtual void SetInsertionPoint( long pos ); virtual void SetInsertionPointEnd(void); virtual void SetEditable( bool editable ); virtual void SetSelection( long from, long to ); void ShowPosition( long pos ); virtual long GetInsertionPoint(void) const; virtual long GetLastPosition(void) const; virtual void Remove( long from, long to ); virtual void Replace( long from, long to, const wxString &value ); void Cut(void); void Copy(void); void Paste(void); void Delete(void); void OnChar( wxKeyEvent &event ); int overflow(int i); int sync(void); int underflow(void); wxTextCtrl& operator<<(const wxString& s); wxTextCtrl& operator<<(int i); wxTextCtrl& operator<<(long i); wxTextCtrl& operator<<(float f); wxTextCtrl& operator<<(double d); wxTextCtrl& operator<<(const char c); public: bool m_modified; DECLARE_EVENT_TABLE() }; #endif // __GTKTEXTCTRLH__