- gtk_tree_view_columns_autosize (GTK_TREE_VIEW(chart->treeview));
-}
-
-
-
-
-/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
-
-/* legend list */
-
-static GdkPixbuf *
-//create_color_pixbuf (const char *color)
-create_color_pixbuf (GdkColor *col)
-{
- GdkPixbuf *pixbuf;
- //GdkColor col = color;
-
- int x;
- int num;
- guchar *p;
-
-/*
- if (!gdk_color_parse (color, &col))
- return NULL;
- */
-
-#define squaredim 12
-
- pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
- FALSE, 8, //bits
- squaredim, squaredim); //width,height
-
- //rowstride = gdk_pixbuf_get_rowstride (pixbuf);
- p = gdk_pixbuf_get_pixels (pixbuf);
-
- num = gdk_pixbuf_get_width (pixbuf) *
- gdk_pixbuf_get_height (pixbuf);
-
- for (x = 0; x < num; x++) {
-
- p[0] = col->red;
- p[1] = col->green;
- p[2] = col->blue;
-
- /*
- p[0] = col->red / 65535 * 255;
- p[1] = col->green / 65535 * 255;
- p[2] = col->blue / 65535 * 255;
- */
- p += 3;
- }
-
- return pixbuf;
-}
-
-static void legend_list_cell_data_function(GtkTreeViewColumn *col,
- GtkCellRenderer *renderer,
- GtkTreeModel *model,
- GtkTreeIter *iter,
- gpointer user_data)
-{
-GdkPixbuf *pixbuf;
-gchar *title;
-
- gtk_tree_model_get(model, iter,
- LST_LEGEND_COLOR, &pixbuf,
- LST_LEGEND_TITLE, &title,
- -1);
-
- switch(GPOINTER_TO_INT(user_data))
- {
- case LST_LEGEND_COLOR:
- g_object_set(renderer, "pixbuf", pixbuf, NULL);
- break;
- case LST_LEGEND_TITLE:
- g_object_set(renderer, "text", title, NULL);
- break;
- }
-
-}
-
-static void
-legend_list_float_cell_data_function (GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data)
-{
-GtkChart *chart = user_data;
-gchar buf[G_ASCII_DTOSTR_BUF_SIZE];
-gdouble amount;
-
- gtk_tree_model_get(model, iter,
- LST_LEGEND_AMOUNT, &amount,
- -1);
-
- //hb_strfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, value, kcur);
- //todo: manage GLOBALS->minor eq
- mystrfmon(buf, G_ASCII_DTOSTR_BUF_SIZE-1, amount, chart->minor);
-
- g_object_set(renderer,
- "text", buf,
- NULL);
-
-}
-
-static void legend_list_rate_cell_data_function (GtkTreeViewColumn *col,
- GtkCellRenderer *renderer,
- GtkTreeModel *model,
- GtkTreeIter *iter,
- gpointer user_data)
-{
-gdouble rate;
-gchar buf[8];
-
- gtk_tree_model_get(model, iter,
- LST_LEGEND_RATE, &rate,
- -1);
-
- g_snprintf(buf, sizeof(buf), "%.02f %%", rate);
- g_object_set(renderer, "text", buf, NULL);
-
-}
-
-
-static GtkWidget *legend_list_new(GtkChart *chart)
-{
-GtkListStore *store;
-GtkWidget *view;
-GtkCellRenderer *renderer;
-GtkTreeViewColumn *column;
-
- store = gtk_list_store_new(NUM_LST_LEGEND,
- G_TYPE_POINTER,
- GDK_TYPE_PIXBUF,
- G_TYPE_STRING,
- G_TYPE_DOUBLE,
- G_TYPE_DOUBLE
- );
-
- //treeview
- view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
- g_object_unref(store);
-
-#if MYDEBUG == 1
-/* GtkStyle *style;
- PangoFontDescription *font_desc;
-
- g_print("legend_list_new font\n");
-
- style = gtk_widget_get_style(GTK_WIDGET(view));
- font_desc = style->font_desc;
-
- g_print("family: %s\n", pango_font_description_get_family(font_desc) );
- g_print("size: %d (%d)\n", pango_font_description_get_size (font_desc), pango_font_description_get_size (font_desc )/PANGO_SCALE );
-*/
-#endif
-
- // change the font size to a smaller one
- PangoFontDescription *font = pango_font_description_new();
- pango_font_description_set_size (font, 8 * PANGO_SCALE);
- gtk_widget_modify_font(GTK_WIDGET(view), font);
- pango_font_description_free( font );
-
- // column 1
- column = gtk_tree_view_column_new();
- renderer = gtk_cell_renderer_pixbuf_new ();
- gtk_tree_view_column_pack_start(column, renderer, FALSE);
- gtk_tree_view_column_set_cell_data_func(column, renderer, legend_list_cell_data_function, GINT_TO_POINTER(LST_LEGEND_COLOR), NULL);
-
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_column_pack_start(column, renderer, FALSE);
- gtk_tree_view_column_set_cell_data_func(column, renderer, legend_list_cell_data_function, GINT_TO_POINTER(LST_LEGEND_TITLE), NULL);
- gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
-
- gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
-
- // column 2
- column = gtk_tree_view_column_new();
- //gtk_tree_view_column_set_title(column, name);
-
- renderer = gtk_cell_renderer_text_new ();
- g_object_set(renderer, "xalign", 1.0, NULL);
- gtk_tree_view_column_pack_start(column, renderer, FALSE);
- gtk_tree_view_column_set_cell_data_func(column, renderer, legend_list_float_cell_data_function, chart, NULL);
- gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
- //gtk_tree_view_column_set_resizable(column, TRUE);
- //gtk_tree_view_column_set_alignment (column, 0.5);
- //gtk_tree_view_column_set_spacing( column, 16 );
-
- gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
- gtk_tree_view_column_set_visible (column, FALSE);
-
- // column 3
- column = gtk_tree_view_column_new();
- //gtk_tree_view_column_set_title(column, "%");
- renderer = gtk_cell_renderer_text_new ();
- g_object_set(renderer, "xalign", 1.0, NULL);
- gtk_tree_view_column_pack_start(column, renderer, TRUE);
- //gtk_tree_view_column_add_attribute(column, renderer, "text", id);
- gtk_tree_view_column_set_cell_data_func(column, renderer, legend_list_rate_cell_data_function, GINT_TO_POINTER(3), NULL);
- gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
- //gtk_tree_view_column_set_alignment (column, 0.5);
- gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
- gtk_tree_view_column_set_visible (column, FALSE);
-
-
- gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_NONE);
- gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(view), FALSE);
- //gtk_tree_view_set_reorderable (GTK_TREE_VIEW(view), TRUE);
-
-/*
- GValue value = { 0, };
- g_value_init (&value, G_TYPE_INT);
- g_value_set_int (&value, 20);
- g_object_set_property(view, "vertical-separator", &value);
- g_value_unset (&value);
-*/
-
- return(view);