; Module/File: Window_FreezeUpdate.pb ; Function: Freezes Window-Updates - Linux gtk2/gtk3 ; Author: Omi/Shardik ; Date: Sep. 18, 2014 ; Version: 0.2 updt. gtk3 ; Target Compiler: PureBasic 5.22/5.31/5.40 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- EnableExplicit ImportC "" gtk_widget_get_window(*widget.GtkWidget) EndImport ; Object constants #MainWin = 0 #Button1 = 0 #Button2 = 1 #Text1 = 2 Global.i gEvent, gQuit OpenWindow(#MainWin, 100, 100, 170, 160, "freeze Window") ButtonGadget(#Button1, 10, 10, WindowWidth(0) - 20, 24, "First Button") ButtonGadget(#Button2, 10, 70, WindowWidth(0) - 20, 24, "New Button") HideGadget(#Button2, #True) TextGadget(#Text1, 10, 40, WindowWidth(0) - 20, 24, "Unhide Button 2 in 2 sec.") AddWindowTimer(#MainWin, 0, 1000) AddWindowTimer(#MainWin, 1, 1000) AddWindowTimer(#MainWin, 2, 5000) Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True Case #PB_Event_Timer Select EventTimer() Case 0 gdk_window_freeze_updates_(gtk_widget_get_window(WindowID(#MainWin))) RemoveWindowTimer(#MainWin, 0) Case 1 HideGadget(#Button2, #False) RemoveWindowTimer(#MainWin, 1) Case 2 SetGadgetText(#Text1, "now 'thaw_updates'") gdk_window_thaw_updates_(gtk_widget_get_window(WindowID(#MainWin))); redraw now RemoveWindowTimer(#MainWin, 2) EndSelect EndSelect Until gQuit ; IDE Options = PureBasic 5.45 LTS (Linux - x86) ; CursorPosition = 21 ; EnableUnicode ; EnableXP