X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f2aa6287bd281037a8c329c65219324f81c613c..42c5812dbf723b1cd075fbc6d8cef1dd17df717b:/src/gtk1/textctrl.cpp diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 5d5b5056b3..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); } @@ -429,5 +440,35 @@ bool wxTextCtrl::IsOwnGtkWindow( GdkWindow *window ) return (window == GTK_ENTRY(m_text)->text_area); } +void wxTextCtrl::SetFont( const wxFont &font ) +{ + if (((wxFont*)&font)->Ok()) + m_font = font; + else + m_font = *wxSWISS_FONT; + + GtkStyle *style = (GtkStyle*) NULL; + if (!m_hasOwnStyle) + { + m_hasOwnStyle = TRUE; + style = gtk_style_copy( gtk_widget_get_style( m_text ) ); + } + else + { + style = gtk_widget_get_style( m_text ); + } + + gdk_font_unref( style->font ); + style->font = gdk_font_ref( m_font.GetInternalFont( 1.0 ) ); + + 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 ); +}