; Module/File: Trackbar_AddChangeEvent.pb ; Function: Add a #PB_EventType_Change event to TracckBarGadget - Linux ; Author: Omi ; Date: Aug. 26, 2017 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.31/5.5/5.6 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- EnableExplicit ImportC "" g_signal_connect(*instance, detailed_signal.p-utf8, *c_handler, *data, destroy= 0, flags= 0) As "g_signal_connect_data" EndImport ; Window Variablen #Win_Main= 0 #TB1 = 0 Global.i gEvent, gEventGadget, gQuit Structure USERDATA window.i gadget.i EndStructure Global.i User_Data.USERDATA ProcedureC Callback_TrackBarChange(*range.GtkRange, *user_data.USERDATA) PostEvent(#PB_Event_Gadget, *user_data\window, *user_data\gadget, #PB_EventType_Change) EndProcedure If OpenWindow(#Win_Main, 300, 200, 400, 150, "'Change-Event' on TrackbarGadget", #PB_Window_SystemMenu) TrackBarGadget(#TB1, 5, 5, 300, 40, 0, 15, #PB_TrackBar_Ticks) With User_Data \window= #Win_Main \gadget= #TB1 EndWith g_signal_connect(GadgetID(#TB1), "value-changed", @Callback_TrackBarChange(), @User_Data) Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Gadget gEventGadget= EventGadget() Select gEventGadget Case #TB1 If EventType() = #PB_EventType_Change Debug "TrackBar change to " + GetGadgetState(#TB1) EndIf EndSelect EndSelect Until gQuit EndIf ; IDE Options = PureBasic 5.44 LTS (Linux - x86) ; CursorPosition = 8 ; Folding = - ; EnableUnicode ; EnableXP