X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/868a28262c40a7428d3991ca8a034674814bdb0a..42c5812dbf723b1cd075fbc6d8cef1dd17df717b:/src/gtk1/textctrl.cpp diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index f5e2643287..08c6712364 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -41,7 +41,7 @@ BEGIN_EVENT_TABLE(wxTextCtrl, wxControl) EVT_CHAR(wxTextCtrl::OnChar) END_EVENT_TABLE() -wxTextCtrl::wxTextCtrl(void) : streambuf() +wxTextCtrl::wxTextCtrl() : streambuf() { if (allocate()) setp(base(),ebuf()); @@ -149,7 +149,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, return TRUE; } -wxString wxTextCtrl::GetValue(void) const +wxString wxTextCtrl::GetValue() const { wxString tmp; if (m_windowStyle & wxTE_MULTILINE) @@ -228,7 +228,7 @@ long wxTextCtrl::XYToPosition( long x, long y ) { } -int wxTextCtrl::GetNumberOfLines(void) +int wxTextCtrl::GetNumberOfLines() { } @@ -242,7 +242,7 @@ void wxTextCtrl::SetInsertionPoint( long pos ) gtk_entry_set_position( GTK_ENTRY(m_text), tmp ); } -void wxTextCtrl::SetInsertionPointEnd(void) +void wxTextCtrl::SetInsertionPointEnd() { int pos = 0; if (m_windowStyle & wxTE_MULTILINE) @@ -270,12 +270,12 @@ void wxTextCtrl::ShowPosition( long WXUNUSED(pos) ) wxFAIL_MSG(_("wxTextCtrl::ShowPosition not implemented")); } -long wxTextCtrl::GetInsertionPoint(void) const +long wxTextCtrl::GetInsertionPoint() const { return (long) GTK_EDITABLE(m_text)->current_pos; } -long wxTextCtrl::GetLastPosition(void) const +long wxTextCtrl::GetLastPosition() const { int pos = 0; if (m_windowStyle & wxTE_MULTILINE) @@ -298,22 +298,34 @@ void wxTextCtrl::Replace( long from, long to, const wxString &value ) gtk_editable_insert_text( GTK_EDITABLE(m_text), value, value.Length(), &pos ); } -void wxTextCtrl::Cut(void) +void wxTextCtrl::Cut() { +#if (GTK_MINOR_VERSION == 1) + gtk_editable_cut_clipboard( GTK_EDITABLE(m_text) ); +#else gtk_editable_cut_clipboard( GTK_EDITABLE(m_text), 0 ); +#endif } -void wxTextCtrl::Copy(void) +void wxTextCtrl::Copy() { +#if (GTK_MINOR_VERSION == 1) + gtk_editable_copy_clipboard( GTK_EDITABLE(m_text) ); +#else gtk_editable_copy_clipboard( GTK_EDITABLE(m_text), 0 ); +#endif } -void wxTextCtrl::Paste(void) +void wxTextCtrl::Paste() { +#if (GTK_MINOR_VERSION == 1) + gtk_editable_paste_clipboard( GTK_EDITABLE(m_text) ); +#else gtk_editable_paste_clipboard( GTK_EDITABLE(m_text), 0 ); +#endif } -void wxTextCtrl::Delete(void) +void wxTextCtrl::Clear() { SetValue( "" ); } @@ -324,7 +336,6 @@ void wxTextCtrl::OnChar( wxKeyEvent &key_event ) { wxCommandEvent event(wxEVT_COMMAND_TEXT_ENTER, m_windowId); event.SetEventObject(this); - printf( "Hallo.\n" ); if (GetEventHandler()->ProcessEvent(event)) return; } else if (key_event.KeyCode() == WXK_TAB) @@ -351,7 +362,7 @@ int wxTextCtrl::overflow( int WXUNUSED(c) ) return EOF; } -int wxTextCtrl::sync(void) +int wxTextCtrl::sync() { int len = pptr() - pbase(); char *txt = new char[len+1]; @@ -363,7 +374,7 @@ int wxTextCtrl::sync(void) return 0; } -int wxTextCtrl::underflow(void) +int wxTextCtrl::underflow() { return EOF; } @@ -416,7 +427,7 @@ wxTextCtrl& wxTextCtrl::operator<<(const char c) return *this; } -GtkWidget* wxTextCtrl::GetConnectWidget(void) +GtkWidget* wxTextCtrl::GetConnectWidget() { return GTK_WIDGET(m_text); } @@ -431,7 +442,10 @@ bool wxTextCtrl::IsOwnGtkWindow( GdkWindow *window ) void wxTextCtrl::SetFont( const wxFont &font ) { - m_font = font; + if (((wxFont*)&font)->Ok()) + m_font = font; + else + m_font = *wxSWISS_FONT; GtkStyle *style = (GtkStyle*) NULL; if (!m_hasOwnStyle) @@ -450,4 +464,11 @@ void wxTextCtrl::SetFont( const wxFont &font ) gtk_widget_set_style( m_text, style ); } - +void wxTextCtrl::SetBackgroundColour( const wxColour &colour ) +{ + wxCHECK_RET( m_text != NULL, "invalid text ctrl" ); + + m_backgroundColour = colour; + + SetBackgroundColourHelper( GTK_TEXT(m_text)->text_area ); +}