Beispiel #1
0
JNIEXPORT void JNICALL
Java_org_gnome_gtk_GtkToolItem_gtk_1tool_1item_1set_1visible_1horizontal
(
    JNIEnv* env,
    jclass cls,
    jlong _self,
    jboolean _visibleHorizontal
)
{
    GtkToolItem* self;
    gboolean visibleHorizontal;

    // convert parameter self
    self = (GtkToolItem*) _self;

    // convert parameter visibleHorizontal
    visibleHorizontal = (gboolean) _visibleHorizontal;

    // call function
    gtk_tool_item_set_visible_horizontal(self, visibleHorizontal);

    // cleanup parameter self

    // cleanup parameter visibleHorizontal
}
void ZLGtkApplicationWindow::setToolbarItemState(ZLToolbar::ItemPtr item, bool visible, bool enabled) {
	std::map<const ZLToolbar::Item*,GtkToolItem*>::const_iterator it = myAbstractToGtk.find(&*item);
	if (it == myAbstractToGtk.end()) {
		return;
	}

	GtkToolItem *toolItem = it->second;
	gtk_tool_item_set_visible_horizontal(toolItem, visible);
	/*
	 * Not sure, but looks like gtk_widget_set_sensitive(WIDGET, false)
	 * does something strange if WIDGET is already insensitive.
	 */
	bool alreadyEnabled =
		(GTK_WIDGET_STATE(toolItem) & GTK_STATE_INSENSITIVE) == 0;
	if (enabled != alreadyEnabled) {
		gtk_widget_set_sensitive(GTK_WIDGET(toolItem), enabled);
	}

	if (item->type() == ZLToolbar::Item::MENU_BUTTON) {
		updatePopupData(
			GTK_MENU_TOOL_BUTTON(toolItem),
			((ZLToolbar::MenuButtonItem&)*item).popupData()
		);
	}
}
Beispiel #3
0
static void
gtk_tool_item_update (GtkActivatable *activatable,
                      GtkAction      *action,
                      const gchar    *property_name)
{
    if (strcmp (property_name, "visible") == 0)
    {
        if (gtk_action_is_visible (action))
            gtk_widget_show (GTK_WIDGET (activatable));
        else
            gtk_widget_hide (GTK_WIDGET (activatable));
    }
    else if (strcmp (property_name, "sensitive") == 0)
        gtk_widget_set_sensitive (GTK_WIDGET (activatable), gtk_action_is_sensitive (action));
    else if (strcmp (property_name, "tooltip") == 0)
        gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (activatable),
                                        gtk_action_get_tooltip (action));
    else if (strcmp (property_name, "visible-horizontal") == 0)
        gtk_tool_item_set_visible_horizontal (GTK_TOOL_ITEM (activatable),
                                              gtk_action_get_visible_horizontal (action));
    else if (strcmp (property_name, "visible-vertical") == 0)
        gtk_tool_item_set_visible_vertical (GTK_TOOL_ITEM (activatable),
                                            gtk_action_get_visible_vertical (action));
    else if (strcmp (property_name, "is-important") == 0)
        gtk_tool_item_set_is_important (GTK_TOOL_ITEM (activatable),
                                        gtk_action_get_is_important (action));
}
Beispiel #4
0
static void
gtk_tool_item_set_property (GObject      *object,
                            guint         prop_id,
                            const GValue *value,
                            GParamSpec   *pspec)
{
    GtkToolItem *toolitem = GTK_TOOL_ITEM (object);

    switch (prop_id)
    {
    case PROP_VISIBLE_HORIZONTAL:
        gtk_tool_item_set_visible_horizontal (toolitem, g_value_get_boolean (value));
        break;
    case PROP_VISIBLE_VERTICAL:
        gtk_tool_item_set_visible_vertical (toolitem, g_value_get_boolean (value));
        break;
    case PROP_IS_IMPORTANT:
        gtk_tool_item_set_is_important (toolitem, g_value_get_boolean (value));
        break;
    case PROP_ACTIVATABLE_RELATED_ACTION:
        gtk_tool_item_set_related_action (toolitem, g_value_get_object (value));
        break;
    case PROP_ACTIVATABLE_USE_ACTION_APPEARANCE:
        gtk_tool_item_set_use_action_appearance (toolitem, g_value_get_boolean (value));
        break;
    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
        break;
    }
}
Beispiel #5
0
/** Show or hide a button in the toolbar */
static void gui_toolbar_show_button(const gchar * path, gboolean visible)
{
	gchar *fullpath;
	GtkWidget *w;
	GtkToolItem *item;

	fullpath = g_strdup_printf("ui/MainToolbar/%s", path);
	w = gtk_ui_manager_get_widget(ui_manager, fullpath);
	if (w == NULL) {
		g_assert(!"Widget not found");
		return;
	}
	item = GTK_TOOL_ITEM(w);
	if (item == NULL) {
		g_assert(!"Widget is not a tool button");
		return;
	}
	gtk_tool_item_set_visible_horizontal(item, visible);

	g_free(fullpath);
}
Beispiel #6
0
static void
gtk_tool_item_sync_action_properties (GtkActivatable *activatable,
                                      GtkAction      *action)
{
    if (!action)
        return;

    if (gtk_action_is_visible (action))
        gtk_widget_show (GTK_WIDGET (activatable));
    else
        gtk_widget_hide (GTK_WIDGET (activatable));

    gtk_widget_set_sensitive (GTK_WIDGET (activatable), gtk_action_is_sensitive (action));

    gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (activatable),
                                    gtk_action_get_tooltip (action));
    gtk_tool_item_set_visible_horizontal (GTK_TOOL_ITEM (activatable),
                                          gtk_action_get_visible_horizontal (action));
    gtk_tool_item_set_visible_vertical (GTK_TOOL_ITEM (activatable),
                                        gtk_action_get_visible_vertical (action));
    gtk_tool_item_set_is_important (GTK_TOOL_ITEM (activatable),
                                    gtk_action_get_is_important (action));
}
Beispiel #7
0
static void
gtk_tool_item_set_property (GObject      *object,
			    guint         prop_id,
			    const GValue *value,
			    GParamSpec   *pspec)
{
  GtkToolItem *toolitem = GTK_TOOL_ITEM (object);

  switch (prop_id)
    {
    case PROP_VISIBLE_HORIZONTAL:
      gtk_tool_item_set_visible_horizontal (toolitem, g_value_get_boolean (value));
      break;
    case PROP_VISIBLE_VERTICAL:
      gtk_tool_item_set_visible_vertical (toolitem, g_value_get_boolean (value));
      break;
    case PROP_IS_IMPORTANT:
      gtk_tool_item_set_is_important (toolitem, g_value_get_boolean (value));
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
      break;
    }
}
static void
load_special_items (GtkToolPalette *palette)
{
  GtkToolItem *item;
  GtkWidget *group;
  GtkWidget *label_button;

  group = gtk_tool_item_group_new (NULL);
  label_button = gtk_button_new_with_label ("Advanced Features");
  gtk_widget_show (label_button);
  gtk_tool_item_group_set_label_widget (GTK_TOOL_ITEM_GROUP (group),
                                        label_button);
  gtk_container_add (GTK_CONTAINER (palette), group);

  item = create_entry_item ("homogeneous=FALSE");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE, NULL);

  item = create_entry_item ("homogeneous=FALSE, expand=TRUE");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE, "expand", TRUE,
                           NULL);

  item = create_entry_item ("homogeneous=FALSE, expand=TRUE, fill=FALSE");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE, "expand", TRUE,
                           "fill", FALSE, NULL);

  item = create_entry_item ("homogeneous=FALSE, expand=TRUE, new-row=TRUE");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE, "expand", TRUE,
                           "new-row", TRUE, NULL);

  item = gtk_tool_button_new_from_stock (GTK_STOCK_GO_UP);
  gtk_tool_item_set_tooltip_text (item, "Show on vertical palettes only");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_tool_item_set_visible_horizontal (item, FALSE);

  item = gtk_tool_button_new_from_stock (GTK_STOCK_GO_FORWARD);
  gtk_tool_item_set_tooltip_text (item, "Show on horizontal palettes only");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_tool_item_set_visible_vertical (item, FALSE);

  item = gtk_tool_button_new_from_stock (GTK_STOCK_DELETE);
  gtk_tool_item_set_tooltip_text (item, "Do not show at all");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_widget_set_no_show_all (GTK_WIDGET (item), TRUE);

  item = gtk_tool_button_new_from_stock (GTK_STOCK_FULLSCREEN);
  gtk_tool_item_set_tooltip_text (item, "Expanded this item");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE,
                           "expand", TRUE,
                           NULL);

  item = gtk_tool_button_new_from_stock (GTK_STOCK_HELP);
  gtk_tool_item_set_tooltip_text (item, "A regular item");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
}
Beispiel #9
0
static void
load_special_items (GtkToolPalette *palette)
{
  GtkToolItem *item;
  GtkWidget *group;
  GtkWidget *label_button;

  group = gtk_tool_item_group_new (NULL);
  label_button = gtk_button_new_with_label ("Advanced Features");
  gtk_widget_show (label_button);
  gtk_tool_item_group_set_label_widget (GTK_TOOL_ITEM_GROUP (group),
                                        label_button);
  gtk_container_add (GTK_CONTAINER (palette), group);

  item = create_entry_item ("homogeneous=FALSE");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE, NULL);

  item = create_entry_item ("homogeneous=FALSE, expand=TRUE");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE, "expand", TRUE,
                           NULL);

  item = create_entry_item ("homogeneous=FALSE, expand=TRUE, fill=FALSE");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE, "expand", TRUE,
                           "fill", FALSE, NULL);

  item = create_entry_item ("homogeneous=FALSE, expand=TRUE, new-row=TRUE");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE, "expand", TRUE,
                           "new-row", TRUE, NULL);

  item = gtk_tool_button_new (NULL, NULL);
  gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "go-up");
  gtk_tool_item_set_tooltip_text (item, "Show on vertical palettes only");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_tool_item_set_visible_horizontal (item, FALSE);

  item = gtk_tool_button_new (NULL, NULL);
  gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "go-next");
  gtk_tool_item_set_tooltip_text (item, "Show on horizontal palettes only");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_tool_item_set_visible_vertical (item, FALSE);

  item = gtk_tool_button_new (NULL, NULL);
  gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "edit-delete");
  gtk_tool_item_set_tooltip_text (item, "Do not show at all");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_widget_set_no_show_all (GTK_WIDGET (item), TRUE);

  item = gtk_tool_button_new (NULL, NULL);
  gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "view-fullscreen");
  gtk_tool_item_set_tooltip_text (item, "Expanded this item");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
  gtk_container_child_set (GTK_CONTAINER (group), GTK_WIDGET (item),
                           "homogeneous", FALSE,
                           "expand", TRUE,
                           NULL);

  item = gtk_tool_button_new (NULL, NULL);
  gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "help-browser");
  gtk_tool_item_set_tooltip_text (item, "A regular item");
  gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
}