X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/828f655fd31ac19d83cf7ec14d0b207e9b254977..b59bf2db65896d128d72016c201dc1df9ff6c94e:/src/gtk1/textctrl.cpp diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 7c6817aa3e..4da56a23e5 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -42,10 +42,9 @@ gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win ) win->CalculateScrollbar(); wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, win->m_windowId ); - event.SetString( copystring(win->GetValue()) ); + event.SetString( win->GetValue() ); event.SetEventObject( win ); win->GetEventHandler()->ProcessEvent( event ); - delete[] event.GetString(); } //----------------------------------------------------------------------------- @@ -675,7 +674,7 @@ void wxTextCtrl::Cut() { wxCHECK_RET( m_text != NULL, "invalid text ctrl" ); -#if (GTK_MINOR_VERSION == 1) +#if (GTK_MINOR_VERSION > 0) gtk_editable_cut_clipboard( GTK_EDITABLE(m_text) ); #else gtk_editable_cut_clipboard( GTK_EDITABLE(m_text), 0 ); @@ -686,7 +685,7 @@ void wxTextCtrl::Copy() { wxCHECK_RET( m_text != NULL, "invalid text ctrl" ); -#if (GTK_MINOR_VERSION == 1) +#if (GTK_MINOR_VERSION > 0) gtk_editable_copy_clipboard( GTK_EDITABLE(m_text) ); #else gtk_editable_copy_clipboard( GTK_EDITABLE(m_text), 0 ); @@ -697,13 +696,78 @@ void wxTextCtrl::Paste() { wxCHECK_RET( m_text != NULL, "invalid text ctrl" ); -#if (GTK_MINOR_VERSION == 1) +#if (GTK_MINOR_VERSION > 0) gtk_editable_paste_clipboard( GTK_EDITABLE(m_text) ); #else gtk_editable_paste_clipboard( GTK_EDITABLE(m_text), 0 ); #endif } +bool wxTextCtrl::CanCopy() const +{ + // Can copy if there's a selection + long from, to; + GetSelection(& from, & to); + return (from != to) ; +} + +bool wxTextCtrl::CanCut() const +{ + // Can cut if there's a selection + long from, to; + GetSelection(& from, & to); + return (from != to) ; +} + +bool wxTextCtrl::CanPaste() const +{ + return IsEditable() ; +} + +// Undo/redo +void wxTextCtrl::Undo() +{ + // TODO + wxFAIL_MSG( "wxTextCtrl::Undo not implemented" ); +} + +void wxTextCtrl::Redo() +{ + // TODO + wxFAIL_MSG( "wxTextCtrl::Redo not implemented" ); +} + +bool wxTextCtrl::CanUndo() const +{ + // TODO + wxFAIL_MSG( "wxTextCtrl::CanUndo not implemented" ); + return FALSE; +} + +bool wxTextCtrl::CanRedo() const +{ + // TODO + wxFAIL_MSG( "wxTextCtrl::CanRedo not implemented" ); + return FALSE; +} + +// If the return values from and to are the same, there is no +// selection. +void wxTextCtrl::GetSelection(long* from, long* to) const +{ + // TODO + *from = 0; + *to = 0; + wxFAIL_MSG( "wxTextCtrl::GetSelection not implemented" ); +} + +bool wxTextCtrl::IsEditable() const +{ + // TODO + wxFAIL_MSG( "wxTextCtrl::IsEditable not implemented" ); + return FALSE; +} + void wxTextCtrl::Clear() { SetValue( "" );