Editor_Scroll To Bottomline crash works not
Posted: Wed Oct 14, 2015 9:26 am
Tested PB 5.40 b10 Mint 64
Code: Select all
;======================================================================
; Module/File: Editor_ScrollToBottomline.pb
; Function: scrollt zur letzten Zeile - Linux
; Author: freak
; Date: July 30, 2014
; Version: 0.1
; Target Compiler: PureBasic 5.22, 5.30
; Target OS: (X/K)ubuntu 32/64, Ascii/Uni
; License: Free, unrestricted, no warranty
;======================================================================
ImportC ""
gtk_adjustment_get_page_size.d(*adjustment.GtkAdjustment)
gtk_adjustment_get_upper.d(*adjustment.GtkAdjustment)
gtk_adjustment_get_step_increment.d(*adjustment.GtkAdjustment)
EndImport
EnableExplicit
; Object constants
#MainWin= 0
#Button = 0
#Editor = 1
#WinX=300
#WinY=200
#WinW=400
#WinH=200
Global.i gEvent, gLineCount
Global *Adjustment.GtkAdjustment
If OpenWindow(0, #WinX, #WinY, #WinW, #WinH, "editor scroll", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(#Button, 10, 10, 150, 30, "add line")
EditorGadget(#Editor, 10, 50, 380, 140)
Repeat
gEvent = WaitWindowEvent()
If gEvent = #PB_Event_Gadget And EventGadget() = #Button
AddGadgetItem(#Editor, -1, "New line: " + Str(gLineCount))
gLineCount+ 1
; get the vertical adjustment of the scrolled window ...
*Adjustment= gtk_scrolled_window_get_vadjustment_(gtk_widget_get_parent_(GadgetID(#Editor)))
; some Adjustment-values to debug ...
Debug "Page-Size : " + Str(gtk_adjustment_get_page_size(*Adjustment))
Debug "rel. upper pos: " + Str(gtk_adjustment_get_upper(*Adjustment))
Debug "step increment: " + Str(gtk_adjustment_get_step_increment(*Adjustment))
; change the value to the max ...
*Adjustment\value= *Adjustment\upper
; notify the scrolled window of the change ...
gtk_adjustment_value_changed_(*Adjustment)
EndIf
Until gEvent = #PB_Event_CloseWindow
EndIf
; IDE Options = PureBasic 5.30 (Linux - x64)
; CursorPosition = 10
; EnableUnicode
; EnableXP
; CurrentDirectory = /home/charly-xubuntu/Programming/PureBasic/purebasic/