; Module/File: Gadget_TooltipSetDynamic.pb ; Function: A dynamic tooltip, example - Linux ; Author: Omi ; Date: Mar. 18, 2015 ; Version: 0.1 ; 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_set_tooltip_text(*widget.GtkWidget, text.p-utf8) gtk_tooltip_set_text(*tooltip, text.p-utf8) 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 #Text1 = 0 Global.i gEvent, gQuit ProcedureC Callback_WidgetCheckTooltip(*Widget.GtkWidget, mX, mY, key, *tooltip, Gadget); user_data= Gadget Protected Show= #False Static TTCounter, *oldtooltip If *oldtooltip <> *tooltip : TTCounter+ 1 : EndIf gtk_tooltip_set_text(*tooltip, "A dynamic Tooltip!" + #LF$ + "Shown the " + Str(TTCounter) + ". time") Show= #True *oldtooltip= *tooltip ProcedureReturn Show EndProcedure If OpenWindow(#MainWin, 300, 200, 300, 100, "Add dynamic tooltip", #PB_Window_SystemMenu) TextGadget(#Text1, 5, 10, 290, 25, "Mouseover shows a dynamic tooltip with counter") gtk_widget_set_tooltip_text(GadgetID(#Text1), " "); A dummy g_signal_connect(GadgetID(#Text1), "query-tooltip", @Callback_WidgetCheckTooltip(), #Text1, #Null, #Null) Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True EndSelect Until gQuit EndIf ; IDE Options = PureBasic 5.44 LTS (Linux - x86) ; CursorPosition = 14 ; Folding = - ; EnableUnicode ; EnableXP