X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b328fc942acc9bdab7588c7b33eaaa945ec539d..19f45995fb86029cb9800bdce8f0cc677c816283:/src/gtk/textctrl.cpp diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index 48cb8c1e77..1c63ae186e 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -791,9 +791,19 @@ void wxTextCtrl::SetSelection( long from, long to ) gtk_editable_select_region( GTK_EDITABLE(m_text), (gint)from, (gint)to ); } -void wxTextCtrl::ShowPosition( long WXUNUSED(pos) ) +void wxTextCtrl::ShowPosition( long pos ) { -// SetInsertionPoint( pos ); + if (m_windowStyle & wxTE_MULTILINE) + { + GtkAdjustment *vp = GTK_TEXT(m_text)->vadj; + float totalLines = (float) GetNumberOfLines(); + long posX; + long posY; + PositionToXY(pos, &posX, &posY); + float posLine = (float) posY; + float p = (posLine/totalLines)*(vp->upper - vp->lower) + vp->lower; + gtk_adjustment_set_value(GTK_TEXT(m_text)->vadj, p); + } } long wxTextCtrl::GetInsertionPoint() const @@ -1004,7 +1014,7 @@ bool wxTextCtrl::SetFont( const wxFont &font ) { wxCHECK_MSG( m_text != NULL, FALSE, wxT("invalid text ctrl") ); - if ( !wxWindowBase::SetFont(font) ) + if ( !wxTextCtrlBase::SetFont(font) ) { // font didn't change, nothing to do return FALSE;