static void gtk_tool_button_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GtkToolButton *button = GTK_TOOL_BUTTON (object); switch (prop_id) { case PROP_LABEL: gtk_tool_button_set_label (button, g_value_get_string (value)); break; case PROP_USE_UNDERLINE: gtk_tool_button_set_use_underline (button, g_value_get_boolean (value)); break; case PROP_LABEL_WIDGET: gtk_tool_button_set_label_widget (button, g_value_get_object (value)); break; case PROP_STOCK_ID: gtk_tool_button_set_stock_id (button, g_value_get_string (value)); break; case PROP_ICON_NAME: gtk_tool_button_set_icon_name (button, g_value_get_string (value)); break; case PROP_ICON_WIDGET: gtk_tool_button_set_icon_widget (button, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
GtkToolItem* ToolDrawCombocontrol::newItem() { XOJ_CHECK_TYPE(ToolDrawCombocontrol); labelWidget = gtk_label_new(_("Draw Rectangle")); iconWidget = gtk_image_new_from_icon_name(drawTypes[0]->icon.c_str(), GTK_ICON_SIZE_SMALL_TOOLBAR); GtkToolItem* it = gtk_menu_tool_toggle_button_new(iconWidget, _("Draw Rectangle")); gtk_tool_button_set_label_widget(GTK_TOOL_BUTTON(it), labelWidget); gtk_menu_tool_toggle_button_set_menu(GTK_MENU_TOOL_TOGGLE_BUTTON(it), popupMenu); return it; }
GtkToolItem * ToolSelectCombocontrol::newItem() { XOJ_CHECK_TYPE(ToolSelectCombocontrol); GtkToolItem * it; labelWidget = gtk_label_new(_("Select Rectangle")); iconWidget = gtk_image_new_from_pixbuf(this->iconSelectRect); it = gtk_menu_tool_toggle_button_new(iconWidget, "test0"); gtk_tool_button_set_label_widget(GTK_TOOL_BUTTON(it), labelWidget); gtk_menu_tool_toggle_button_set_menu(GTK_MENU_TOOL_TOGGLE_BUTTON(it), popupMenu); return it; }
/*# @method set_label_widget GtkToolButton @brief Sets label_widget as the widget that will be used as the label for button. @param label_widget the widget used as label, or NULL. If label_widget is NULL the "label" property is used as label. If "label" is also NULL, the label in the stock item determined by the "stock_id" property is used as label. If "stock_id" is also NULL, button does not have a label. */ FALCON_FUNC ToolButton::set_label_widget( VMARG ) { Item* i_wdt = vm->param( 0 ); #ifndef NO_PARAMETER_CHECK if ( !i_wdt || !( i_wdt->isNil() || ( i_wdt->isObject() && IS_DERIVED( i_wdt, GtkWidget ) ) ) ) throw_inv_params( "[GtkWidget]" ); #endif GtkWidget* wdt = i_wdt->isNil() ? NULL : (GtkWidget*) COREGOBJECT( i_wdt )->getObject(); MYSELF; GET_OBJ( self ); gtk_tool_button_set_label_widget( (GtkToolButton*)_obj, wdt ); }
void mapinfowindow_init(GladeXML* pGladeXML) { GLADE_LINK_WIDGET(pGladeXML, g_MapInfoWindow.pCountryButton, GTK_MENU_TOOL_BUTTON, "countrybutton"); GLADE_LINK_WIDGET(pGladeXML, g_MapInfoWindow.pStateButton, GTK_MENU_TOOL_BUTTON, "statebutton"); GLADE_LINK_WIDGET(pGladeXML, g_MapInfoWindow.pCityButton, GTK_MENU_TOOL_BUTTON, "citybutton"); g_MapInfoWindow.pCountryLabel = GTK_LABEL(gtk_label_new("")); gtk_widget_show(GTK_WIDGET(g_MapInfoWindow.pCountryLabel)); g_MapInfoWindow.pStateLabel = GTK_LABEL(gtk_label_new("")); gtk_widget_show(GTK_WIDGET(g_MapInfoWindow.pStateLabel)); g_MapInfoWindow.pCityLabel = GTK_LABEL(gtk_label_new("")); gtk_widget_show(GTK_WIDGET(g_MapInfoWindow.pCityLabel)); gtk_tool_button_set_label_widget(GTK_TOOL_BUTTON(g_MapInfoWindow.pCountryButton), GTK_WIDGET(g_MapInfoWindow.pCountryLabel)); gtk_tool_button_set_label_widget(GTK_TOOL_BUTTON(g_MapInfoWindow.pStateButton), GTK_WIDGET(g_MapInfoWindow.pStateLabel)); gtk_tool_button_set_label_widget(GTK_TOOL_BUTTON(g_MapInfoWindow.pCityButton), GTK_WIDGET(g_MapInfoWindow.pCityLabel)); g_signal_connect(G_OBJECT(g_MapInfoWindow.pCountryButton), "clicked", (GCallback)mapinfowindow_on_country_button_clicked, NULL); g_signal_connect(G_OBJECT(g_MapInfoWindow.pStateButton), "clicked", (GCallback)mapinfowindow_on_state_button_clicked, NULL); g_signal_connect(G_OBJECT(g_MapInfoWindow.pCityButton), "clicked", (GCallback)mapinfowindow_on_city_button_clicked, NULL); g_MapInfoWindow.nCurrentCountryID = -1; // g_MapInfoWindow.nCurrentStateID = -1; g_MapInfoWindow.nCurrentCityID = -1; mapinfowindow_load_countries(); }
static void collecturiCallback(BrowserWindow *window, GtkEntryIconPosition iconPosition, GdkEvent *event) { if (iconPosition == GTK_ENTRY_ICON_SECONDARY) { g_print("add bookmarkbutton\n"); /* GtkWidget *bookmarkbtn = gtk_button_new(); GtkBox *hBox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));` GtkWidget *image = gtk_image_new_from_pixbuf(window->favicon); GtkWidget *lab = gtk_label_new(webkit_web_view_get_title(window->webView)); gtk_box_pack_start(hBox, image, FALSE, FALSE, 0); gtk_box_pack_start(hBox, lab, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(bookmarkbtn), hBox); gtk_box_pack_start(window->bookmarkbox, bookmarkbtn, FALSE, FALSE, 0); gtk_widget_show_all(bookmarkbtn); */ GtkToolItem *item = gtk_tool_button_new(NULL, ""); GtkWidget *image = gtk_image_new_from_pixbuf(window->favicon); cairo_surface_t* fivacon = webkit_web_view_get_favicon(window->webView); gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (item), fivacon); GtkWidget* label = gtk_label_new (webkit_web_view_get_title(window->webView)); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_label_set_max_width_chars (GTK_LABEL (label), 25); gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_MIDDLE); gtk_widget_show (label); gtk_tool_button_set_label_widget (GTK_TOOL_BUTTON (item), label); // g_signal_connect_swapped(item, "clicked", G_CALLBACK(goBackCallback), (gpointer)window); gtk_toolbar_insert(GTK_TOOLBAR(window->bookmarkbar), item, -1); gtk_widget_show_all(GTK_WIDGET(item)); /* GtkToolItem *item = gtk_tool_button_new_from_stock(GTK_STOCK_HOME); // g_signal_connect_swapped(item, "clicked", G_CALLBACK(goBackCallback), (gpointer)window); gtk_toolbar_insert(GTK_TOOLBAR(window->bookmarkbar), item, -1); gtk_widget_show(GTK_WIDGET(item)); */ // GdkEventButton *eventButton = (GdkEventButton *)event; //todo 弹出对话框 } }
static void gtk_tool_button_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GtkToolButton *button = GTK_TOOL_BUTTON (object); switch (prop_id) { case PROP_LABEL: gtk_tool_button_set_label (button, g_value_get_string (value)); break; case PROP_USE_UNDERLINE: gtk_tool_button_set_use_underline (button, g_value_get_boolean (value)); break; case PROP_LABEL_WIDGET: gtk_tool_button_set_label_widget (button, g_value_get_object (value)); break; case PROP_STOCK_ID: G_GNUC_BEGIN_IGNORE_DEPRECATIONS; gtk_tool_button_set_stock_id (button, g_value_get_string (value)); G_GNUC_END_IGNORE_DEPRECATIONS; break; case PROP_ICON_NAME: gtk_tool_button_set_icon_name (button, g_value_get_string (value)); break; case PROP_ICON_WIDGET: gtk_tool_button_set_icon_widget (button, g_value_get_object (value)); break; case PROP_ACTION_NAME: g_object_set_property (G_OBJECT (button->priv->button), "action-name", value); break; case PROP_ACTION_TARGET: g_object_set_property (G_OBJECT (button->priv->button), "action-target", value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }