; Module/File: StatusBar_AddStockIcon.pb ; Function: Adds icon with function to existing statusbar - Linux ; Author: Omi, walker method ; Date: Oct. 13, 2014 ; Version: 0.2 ; Target Compiler: PureBasic 5.22/5.31/5.40/5.5/5.6 ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- EnableExplicit ImportC "" gtk_button_set_image(*button.GtkWidget, *image.GtkWidget) gtk_image_new_from_stock(stock_id.p-utf8, size); till gtk3.1 ; gtk_image_new_from_icon_name(stock_id.p-utf8, size); replaces 'gtk_image_new_from_stock()', 2.6 up gtk_image_clear(*image.GtkWidget) 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 #StatusBar = 0 Global.i gEvent, gQuit Global *StatusBar Global *SB_Button1.GtkWidget, *image1.gtkwidget ProcedureC Callback_ClickEvent(*Widget, signal, user_data) If *widget= *SB_Button1 Debug "New Statusbar-Button clicked, signal: " + Str(signal) EndIf EndProcedure If OpenWindow(#Win_Main, 300, 200, 300, 200, "Statusbar add icon", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) If CreateStatusBar(#StatusBar, WindowID(#Win_Main)) AddStatusBarField(150) StatusBarText(#StatusBar, 0, "StatusBar-Text") *StatusBar= StatusBarID(#StatusBar) *SB_Button1= gtk_button_new_(); easier first to make button without text gtk_box_pack_start_(*StatusBar, *SB_Button1, #False, #False, 0); pack in statusbar gtk_button_set_relief_(*SB_Button1, #GTK_RELIEF_NONE); no border, or use #GTK_RELIEF_HALF, #GTK_RELIEF_NORMAL gtk_widget_show_(*SB_Button1); show *image1= gtk_image_new_from_stock("gtk-find", #GTK_ICON_SIZE_MENU); Use new stockicon, till gtk3.1 ; *image1= gtk_image_new_from_icon_name("edit-find", #GTK_ICON_SIZE_MENU); new stockicon from gtk2.6 gtk_button_set_image(*SB_Button1, *image1); add icon to button g_signal_connect(*SB_Button1, "clicked", @Callback_ClickEvent(), #GDK_BUTTON_PRESS, #Null, #Null) EndIf Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True EndSelect Until gQuit EndIf gtk_image_clear(*image1) ; IDE Options = PureBasic 5.44 LTS (Linux - x86) ; CursorPosition = 16 ; Folding = - ; EnableUnicode ; EnableXP