; Module/File: Scrollbar_Inverted.pb ; Function: Inverted ScrollBar direction - Linux gtk2/gtk3 ; Author: Omi ; Date: Apr. 7, 2018 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.3/5.4/5.5/5.6/5.7 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- EnableExplicit ; Object constants #Win_Main = 0 Enumeration #But1 #SBar1 #TxtG1 #SBar2 #TxtG2 EndEnumeration Global.i gEvent, gQuit Procedure ScrollBar_SetInverted(Gadget, Inverted) gtk_range_set_inverted_(GadgetID(Gadget), Inverted) EndProcedure Procedure Create_WinMain() If OpenWindow(#Win_Main, 0, 0, 400, 200, "Inverted ScrollBar direction", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ButtonGadget (#But1, 5, 5, 390, 30, "Invert ScrollBar 2", #PB_Button_Toggle) ScrollBarGadget(#SBar1, 5, 50, 350, 22, 0, 100, 25) TextGadget (#TxtG1, 360, 50, 35, 22, "") ScrollBarGadget(#SBar2, 5, 120, 350, 20, 20, 50, 8) TextGadget (#TxtG2, 360, 120, 35, 22, "") EndIf EndProcedure Create_WinMain() Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Gadget Select EventGadget() Case #But1 ScrollBar_SetInverted(#SBar2, GetGadgetState(#But1)) Case #SBar1 SetGadgetText(#TxtG1, Str(GetGadgetState(#SBar1))) Case #SBar2 SetGadgetText(#TxtG2, Str(GetGadgetState(#SBar2))) EndSelect EndSelect Until gQuit ; IDE Options = PureBasic 5.70 LTS beta 2 (Linux - x64) ; CursorPosition = 5 ; Folding = - ; EnableXP ; EnableUnicode