; Module/File: Panel_SetStockImageGtk3.pb ; Function: Set stock image on PanelGadget tabs (empty place, till it's fixed) - Linux gtk3 ; Author: Omi ; Date: Jul. 09, 2016 ; Version: 0.1 ; Target Compiler: PureBasic 5.22/5.31/5.4x ; Target OS: Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni ;-------------------------------------------------------------- ImportC "" gtk_image_set_from_icon_name(*image.GtkImage, icon_name.p-utf8, size) EndImport EnableExplicit ; Object constants #Win_Main= 0 #Panel1 = 0 Global.i gEvent, gQuit Global.i gI, gO, gTabs= 4 Global.s gTempStockImage Global *gWidget.GtkWidget, *gHBox.GtkHBox Global *gList.GList If OpenWindow(#Win_Main, 300, 200, 350, 290, "gtk3 PanelGadget: w. StockImages", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) PanelGadget(#Panel1, 0, 10, 350, 270) For gI=0 To gTabs- 1 AddGadgetItem(#Panel1, -1, " Tab "+Str(gI)) TextGadget(#PB_Any, 5, 5, 200, 20, "Panel "+Str(gI)) Next gI gTabs= gtk_notebook_get_n_pages_(GadgetID(#Panel1)) For gI= 0 To gTabs- 1 *gWidget= gtk_notebook_get_nth_page_(GadgetID(#Panel1), gI); panel widget *gHBox = gtk_notebook_get_tab_label_(GadgetID(#Panel1), *gWidget); hbox from tab for panel If *gHBox *gList= gtk_container_get_children_(*gHBox) For gO= 1 To g_list_length_(*gList) If PeekS(gtk_widget_get_name_(g_list_nth_data_(*gList, gO-1)), -1, #PB_UTF8) = "GtkImage" Select gI Case 0 : gTempStockImage= "help-about" Case 1 : gTempStockImage= "document-print" Case 2 : gTempStockImage= "document-properties" Default : gTempStockImage= "help-browser" EndSelect gtk_image_set_from_icon_name(g_list_nth_data_(*gList, gO-1), gTempStockImage, #GTK_ICON_SIZE_MENU) EndIf Next gO g_list_free_(*gList) EndIf Next gI Repeat gEvent= WaitWindowEvent() Select gEvent Case #PB_Event_CloseWindow gQuit= #True EndSelect Until gQuit EndIf End ; IDE Options = PureBasic 5.45 LTS (Linux - x86) ; CursorPosition = 25 ; EnableUnicode ; EnableXP