X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c41ac7b42b380730dc85bb48dd40cca0f461a33..9018abe3ef28d237b0421c8d96987907adbe5532:/include/wx/gtk/textctrl.h diff --git a/include/wx/gtk/textctrl.h b/include/wx/gtk/textctrl.h index b1867509f3..fcc1be71f3 100644 --- a/include/wx/gtk/textctrl.h +++ b/include/wx/gtk/textctrl.h @@ -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,35 +51,41 @@ 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: + public: wxTextCtrl(); wxTextCtrl( wxWindow *parent, wxWindowID id, const wxString &value = "", const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, - int style = 0, const wxString &name = wxTextCtrlNameStr ); + 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 wxString &name = wxTextCtrlNameStr ); + 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() 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( long pos, long *x, long *y ) const; - long XYToPosition( long x, long y ); - int GetNumberOfLines(); -*/ + 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 ); @@ -84,10 +98,11 @@ public: void Cut(); void Copy(); void Paste(); - void Delete(); + void Clear(); void OnChar( wxKeyEvent &event ); +#ifndef NO_TEXT_WINDOW_STREAM int overflow(int i); int sync(); int underflow(); @@ -98,9 +113,25 @@ public: wxTextCtrl& operator<<(float f); wxTextCtrl& operator<<(double d); wxTextCtrl& operator<<(const char c); +#endif -private: - bool m_modified; + 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__