Esempio n. 1
0
static GtkTreeModel *
create_stock_icon_store (void)
{
  gchar *stock_id[6] = {
    GTK_STOCK_DIALOG_WARNING,
    GTK_STOCK_STOP,
    GTK_STOCK_NEW,
    GTK_STOCK_CLEAR,
    NULL,
    GTK_STOCK_OPEN    
  };

  GtkStockItem item;
  GdkPixbuf *pixbuf;
  GtkWidget *cellview;
  GtkTreeIter iter;
  GtkListStore *store;
  gchar *label;
  gint i;

  cellview = gtk_cell_view_new ();
  
  store = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING);

  for (i = 0; i < G_N_ELEMENTS (stock_id); i++)
    {
      if (stock_id[i])
    {
      pixbuf = gtk_widget_render_icon (cellview, stock_id[i],
                       GTK_ICON_SIZE_BUTTON, NULL);
      gtk_stock_lookup (stock_id[i], &item);
      label = strip_underscore (item.label);
      gtk_list_store_append (store, &iter);
      gtk_list_store_set (store, &iter,
                  PIXBUF_COL, pixbuf,
                  TEXT_COL, label,
                  -1);
      g_object_unref (pixbuf);
      g_free (label);
    }
      else
    {
      gtk_list_store_append (store, &iter);
      gtk_list_store_set (store, &iter,
                  PIXBUF_COL, NULL,
                  TEXT_COL, "separator",
                  -1);
    }
    }

  gtk_widget_destroy (cellview);
  
  return GTK_TREE_MODEL (store);
}
Esempio n. 2
0
static void
moo_action_base_set_tooltip (MooActionBase *ab,
                             const char    *tooltip)
{
    GtkStockItem stock_item;
    char *freeme = NULL;

    g_return_if_fail (MOO_IS_ACTION_BASE (ab));

    if (tooltip && gtk_stock_lookup (tooltip, &stock_item))
    {
        freeme = strip_underscore (stock_item.label);
        tooltip = freeme;
    }

    g_object_set (G_OBJECT (ab), "GtkAction::tooltip", tooltip, NULL);
    g_free (freeme);
}
Esempio n. 3
0
static void
moo_action_base_set_display_name (MooActionBase *ab,
                                  const char    *name)
{
    GtkStockItem stock_item;
    char *freeme = NULL;

    g_return_if_fail (MOO_IS_ACTION_BASE (ab));
    g_return_if_fail (name != NULL);

    if (gtk_stock_lookup (name, &stock_item))
    {
        freeme = strip_underscore (stock_item.label);
        name = freeme;
    }

    set_string (ab, "moo-action-display-name", name);
    g_object_notify (G_OBJECT (ab), "display-name");

    g_free (freeme);
}