X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/112892b9180e35d20ca68d2383feb04a0aaa4af3..8ffd43c56b793781fde046aa532340b92a0067eb:/include/wx/gtk/textctrl.h diff --git a/include/wx/gtk/textctrl.h b/include/wx/gtk/textctrl.h index 249ed18c17..fcc1be71f3 100644 --- a/include/wx/gtk/textctrl.h +++ b/include/wx/gtk/textctrl.h @@ -3,9 +3,9 @@ // Purpose: // Author: Robert Roebling // Created: 01/02/97 -// Id: +// Id: $Id$ // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -21,12 +21,20 @@ #include "wx/string.h" #include "wx/control.h" -#if USE_IOSTREAMH +#if wxUSE_STD_IOSTREAM + +#if wxUSE_IOSTREAMH #include #else #include #endif +#else + +#define NO_TEXT_WINDOW_STREAM + +#endif + //----------------------------------------------------------------------------- // classes //----------------------------------------------------------------------------- @@ -43,67 +51,87 @@ extern const char *wxTextCtrlNameStr; // wxTextCtrl //----------------------------------------------------------------------------- +#ifndef NO_TEXT_WINDOW_STREAM class wxTextCtrl: public wxControl, public streambuf +#else +class wxTextCtrl: public wxControl +#endif { + DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxTextCtrl); public: - - wxTextCtrl(void); - wxTextCtrl( wxWindow *parent, const wxWindowID id, const wxString &value = "", - const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, - const int style = 0, const wxString &name = wxTextCtrlNameStr ); - bool Create( wxWindow *parent, const wxWindowID id, const wxString &value = "", - const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, - const int style = 0, const wxString &name = wxTextCtrlNameStr ); - wxString GetValue(void) const; + wxTextCtrl(); + wxTextCtrl( wxWindow *parent, wxWindowID id, const wxString &value = "", + const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, + int style = 0, const wxValidator& validator = wxDefaultValidator, + 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 wxValidator& validator = wxDefaultValidator, + const wxString &name = wxTextCtrlNameStr ); + wxString GetValue() const; void SetValue( const wxString &value ); void WriteText( const wxString &text ); - + void AppendText( const wxString &text ); + bool LoadFile( const wxString &file ); bool SaveFile( const wxString &file ); - bool IsModified(void); - void DiscardEdits(void); -/* - wxString GetLineText( const long lineNo ) const; + bool IsModified() const { return m_modified; } + void SetModified() { m_modified = TRUE; } + void DiscardEdits() { m_modified = FALSE; } + wxString GetLineText( long lineNo ) const; void OnDropFiles( wxDropFilesEvent &event ); - long PositionToXY( const long pos, long *x, long *y ) const; - long XYToPosition( const long x, const long y ); - int GetNumberOfLines(void); -*/ - virtual void SetInsertionPoint( const long pos ); - virtual void SetInsertionPointEnd(void); - virtual void SetEditable( const bool editable ); - virtual void SetSelection( const long from, const long to ); - void ShowPosition( const long pos ); - virtual long GetInsertionPoint(void) const; - virtual long GetLastPosition(void) const; - virtual void Remove( const long from, const long to ); - virtual void Replace( const long from, const long to, const wxString &value ); - void Cut(void); - void Copy(void); - void Paste(void); - void Delete(void); - + long PositionToXY( long pos, long *x, long *y ) const; + long XYToPosition( long x, long y ) const; + int GetLineLength(long lineNo) const; + int GetNumberOfLines() const; + virtual void SetInsertionPoint( long pos ); + virtual void SetInsertionPointEnd(); + virtual void SetEditable( bool editable ); + virtual void SetSelection( long from, long to ); + void ShowPosition( long pos ); + virtual long GetInsertionPoint() const; + virtual long GetLastPosition() const; + virtual void Remove( long from, long to ); + virtual void Replace( long from, long to, const wxString &value ); + void Cut(); + void Copy(); + void Paste(); + void Clear(); + void OnChar( wxKeyEvent &event ); - + +#ifndef NO_TEXT_WINDOW_STREAM int overflow(int i); - int sync(void); - int underflow(void); + int sync(); + int underflow(); wxTextCtrl& operator<<(const wxString& s); - wxTextCtrl& operator<<(const int i); - wxTextCtrl& operator<<(const long i); - wxTextCtrl& operator<<(const float f); - wxTextCtrl& operator<<(const double d); + 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; +#endif - DECLARE_EVENT_TABLE() + void SetFont( const wxFont &font ); + void SetForegroundColour(const wxColour &colour); + void SetBackgroundColour(const wxColour &colour); + + // implementation + + GtkWidget* GetConnectWidget(); + bool IsOwnGtkWindow( GdkWindow *window ); + void ApplyWidgetStyle(); + void CalculateScrollbar(); + private: + + bool m_modified; + GtkWidget *m_text; + GtkWidget *m_vScrollbar; + bool m_vScrollbarVisible; }; #endif // __GTKTEXTCTRLH__