; Module/File: Trackbar_DClickDetectGtk3.pb ; Function: Detect doubleclick on TrackBar-slider - Linux gtk3 ; Author: Omi ; Date: Dec. 14, 2016 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.31/5.4/5.5 ; 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 ; Object constants #MainWin = 0 #TBar1 = 0 Global.i gEvent, gQuit ProcedureC TrackBar_LDoubleclick(*widget.GtkWidget, *Event.GdkEventButton, user_data) If user_data = #TBar1 If *Event\button = 1 If *Event\type = #GDK_2BUTTON_PRESS SetGadgetState(#TBar1, 0); Set slider to '0' on doubleclick EndIf EndIf EndIf EndProcedure If OpenWindow(#MainWin, 300, 200, 300, 100, "Trackbar doubleclick-detect", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) TextGadget(#PB_Any, 5, 10, 200, 20, "Detect left-doubleclick on slider") TrackBarGadget(#TBar1, 5, 30, 235, 40, -5, 5, #PB_TrackBar_Ticks) SetGadgetState(#TBar1, 2) g_signal_connect(GadgetID(#TBar1), "button-press-event", @TrackBar_LDoubleclick(), #TBar1); event on doubleclicking slider Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True EndSelect Until gQuit EndIf ; IDE Options = PureBasic 5.45 LTS (Linux - x86) ; CursorPosition = 20 ; Folding = - ; EnableUnicode ; EnableXP