GtkToolItem * ToolButton::newItem() { XOJ_CHECK_TYPE(ToolButton); GtkToolItem * it; if (!stock.isEmpty()) { if (popupMenu) { it = gtk_menu_tool_button_new_from_stock(stock.c_str()); gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(it), popupMenu); } else { it = gtk_tool_button_new_from_stock(stock.c_str()); } } else if (group != GROUP_NOGROUP) { if (popupMenu) { it = gtk_menu_tool_toggle_button_new(this->gui->loadIcon(iconName.c_str()), description.c_str()); gtk_menu_tool_toggle_button_set_menu(GTK_MENU_TOOL_TOGGLE_BUTTON(it), popupMenu); } else { it = gtk_toggle_tool_button_new(); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(it), this->gui->loadIcon(iconName.c_str())); } } else { if (popupMenu) { it = gtk_menu_tool_button_new(this->gui->loadIcon(iconName.c_str()), description.c_str()); gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(it), popupMenu); } else { it = gtk_tool_button_new(this->gui->loadIcon(iconName.c_str()), description.c_str()); } } gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(it), description.c_str()); gtk_tool_button_set_label(GTK_TOOL_BUTTON(it), description.c_str()); return it; }
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; }