; Module/File: Splitter_EventOnSet.pb ; Function: Own event on handle release - e.b. for subsequent redraws - Linux gtk2/gtk3 ; Author: Omi ; Date: Jul. 10, 2017 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.31/5.4/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 ; Object constants #Win_Main = 0 #Button1 = 0 #Button2 = 1 #Splitter = 2 Global.i gEvent, gEventWin, gQuit ProcedureC Callback_SplitterHandleRelease(*widget.GtkWidget, *event.GdkEventButton, user_data) If user_data = #Splitter If *Event\button = 1 If *Event\type = #GDK_BUTTON_RELEASE; Left button up Debug "set size" ProcedureReturn #False EndIf EndIf EndIf EndProcedure Procedure Create_WinMain() If OpenWindow(#Win_Main, 300, 200, 500, 200, "Event on SplitterGadget set (release)", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) TextGadget(#PB_Any, 5, 5, 490, 22, "Move and release Splitter ...") ButtonGadget(#Button1, 0, 0, 0, 0, "Button 1") ButtonGadget(#Button2, 0, 0, 0, 0, "Button 2") SplitterGadget(#Splitter, 5, 35, 490, 160, #Button1, #Button2, #PB_Splitter_Separator) g_signal_connect(GadgetID(#Splitter), "button-release-event", @Callback_SplitterHandleRelease(), #Splitter) EndIf EndProcedure Create_WinMain() Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True EndSelect Until gQuit ; IDE Options = PureBasic 5.45 LTS (Linux - x86) ; CursorPosition = 36 ; Folding = - ; EnableUnicode ; EnableXP