show the cursor on screen after moving it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-07-23 21:56:25 +00:00
parent 8e033d81f2
commit 74c5a810e5
2 changed files with 16 additions and 6 deletions

View File

@@ -821,14 +821,19 @@ void wxTextCtrl::SetInsertionPoint( long pos )
{ {
wxCHECK_RET( m_text != NULL, wxT("invalid text ctrl") ); wxCHECK_RET( m_text != NULL, wxT("invalid text ctrl") );
if (m_windowStyle & wxTE_MULTILINE) if ( IsMultiLine() )
{ {
#ifdef __WXGTK20__ #ifdef __WXGTK20__
GtkTextBuffer *text_buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(m_text) ); GtkTextBuffer *text_buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(m_text) );
GtkTextIter iter; GtkTextIter iter;
gtk_text_buffer_get_iter_at_offset( text_buffer, &iter, pos ); gtk_text_buffer_get_iter_at_offset( text_buffer, &iter, pos );
gtk_text_buffer_place_cursor( text_buffer, &iter ); gtk_text_buffer_place_cursor( text_buffer, &iter );
#else gtk_text_view_scroll_mark_onscreen
(
GTK_TEXT_VIEW(m_text),
gtk_text_buffer_get_insert( text_buffer )
);
#else // GTK+ 1.x
gtk_signal_disconnect_by_func( GTK_OBJECT(m_text), gtk_signal_disconnect_by_func( GTK_OBJECT(m_text),
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this); GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
@@ -845,7 +850,7 @@ void wxTextCtrl::SetInsertionPoint( long pos )
// bring editable's cursor uptodate. Bug in GTK. // bring editable's cursor uptodate. Bug in GTK.
SET_EDITABLE_POS(m_text, gtk_text_get_point( GTK_TEXT(m_text) )); SET_EDITABLE_POS(m_text, gtk_text_get_point( GTK_TEXT(m_text) ));
#endif #endif // GTK+ 2/1
} }
else else
{ {

View File

@@ -821,14 +821,19 @@ void wxTextCtrl::SetInsertionPoint( long pos )
{ {
wxCHECK_RET( m_text != NULL, wxT("invalid text ctrl") ); wxCHECK_RET( m_text != NULL, wxT("invalid text ctrl") );
if (m_windowStyle & wxTE_MULTILINE) if ( IsMultiLine() )
{ {
#ifdef __WXGTK20__ #ifdef __WXGTK20__
GtkTextBuffer *text_buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(m_text) ); GtkTextBuffer *text_buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(m_text) );
GtkTextIter iter; GtkTextIter iter;
gtk_text_buffer_get_iter_at_offset( text_buffer, &iter, pos ); gtk_text_buffer_get_iter_at_offset( text_buffer, &iter, pos );
gtk_text_buffer_place_cursor( text_buffer, &iter ); gtk_text_buffer_place_cursor( text_buffer, &iter );
#else gtk_text_view_scroll_mark_onscreen
(
GTK_TEXT_VIEW(m_text),
gtk_text_buffer_get_insert( text_buffer )
);
#else // GTK+ 1.x
gtk_signal_disconnect_by_func( GTK_OBJECT(m_text), gtk_signal_disconnect_by_func( GTK_OBJECT(m_text),
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this); GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
@@ -845,7 +850,7 @@ void wxTextCtrl::SetInsertionPoint( long pos )
// bring editable's cursor uptodate. Bug in GTK. // bring editable's cursor uptodate. Bug in GTK.
SET_EDITABLE_POS(m_text, gtk_text_get_point( GTK_TEXT(m_text) )); SET_EDITABLE_POS(m_text, gtk_text_get_point( GTK_TEXT(m_text) ));
#endif #endif // GTK+ 2/1
} }
else else
{ {