Page 1 of 1

EditorGadget Scrolling

Posted: Thu Sep 09, 2010 11:41 pm
by dhouston
Three years ago freak wrote...
I think i will add native scrolling functions to the EditorGadget so there is a crossplatform way for it.
in this thread http://www.purebasic.fr/english/viewtop ... 15&t=27913

I think there is still a need for this.

In my specific case, I only need to scroll to the last line (whenever the EditorGadget is updated) and I have solved that portion of it for Windows...

Code: Select all

;Windows
Procedure ScrollToEnd(gadget)       ;scrolls text window to last line
  Protected range.CHARRANGE         ;instantiates 'range' as CHARRANGE structure
  range\cpMin=-1                    ;range element cpMin
  range\cpMax=-1                    ;range element cpMax
  SendMessage_(GadgetID(gadget),#EM_EXSETSEL,0,@range)
EndProcedure
and Linux...

Code: Select all

;Linux
Procedure ScrollToEnd(gadget)       ;scrolls text view to last line
  Protected end_mark,*buffer, end_iter.GtkTextIter
  *buffer=gtk_text_view_get_buffer_(GadgetID(gadget))
  gtk_text_buffer_get_end_iter_(*buffer,@end_iter)
  end_mark=gtk_text_buffer_create_mark_(*buffer,"",@end_iter,#False)
  gtk_text_view_scroll_mark_onscreen_(GadgetID(gadget),end_mark)
EndProcedure
but still need a solution for OSX and don't want to have to learn Objective-C in order to do it.