Le jeudi 30 avril 2009 à 15:46 +0100, jcup...@gmail.com a écrit : > 2009/4/30 Jean Bréfort <jean.bref...@normalesup.org>: > > You should call gog_object_request_update instead of > > gog_styled_object_style_changed. > > Hi Jean, thank you for the reply, but I still don't get a red line :-(
Yes, sorry, I missed the obvious, what you need is: style = gog_styled_object_get_style (GOG_STYLED_OBJECT (series)); style->line.color = RGBA_RED; style->line.auto_color = FALSE; There is no need in this case to call gog_object_request_update. But you need to use RGBA_RED instead of RGB_RED and set auto_color to FALSE. > I made a tiny example program: > > ------------- > /* Compile with: > > gcc -g -Wall try156.c `pkg-config libgoffice-0.8 --cflags --libs` > > */ > > #include <gtk/gtk.h> > > #include <goffice/goffice.h> > > #include <goffice/app/go-plugin.h> > #include <goffice/app/go-plugin-loader-module.h> > > #include <goffice/data/go-data-simple.h> > > #include <goffice/graph/gog-data-set.h> > #include <goffice/graph/gog-label.h> > #include <goffice/graph/gog-object.h> > #include <goffice/graph/gog-plot.h> > #include <goffice/graph/gog-series.h> > #include <goffice/graph/gog-style.h> > > #include <goffice/gtk/go-graph-widget.h> > > #include <goffice/utils/go-color.h> > > static double xes[] = { 1.0, 2.0, 3.0 }; > static double yes[] = { 1.0, 12.0, 5.0 }; > > int > main (int argc, char **argv) > { > GtkWidget *window; > > GtkWidget *graph; > GogChart *chart; > GogPlot *plot; > GogSeries *series; > GOData *data; > GError *error; > GogStyle *style; > > gtk_init (&argc, &argv); > > libgoffice_init (); > go_plugins_init (NULL, NULL, NULL, NULL, TRUE, > GO_PLUGIN_LOADER_MODULE_TYPE); > > window = gtk_window_new (GTK_WINDOW_TOPLEVEL); > > graph = go_graph_widget_new (NULL); > gtk_container_add (GTK_CONTAINER (window), graph); > > chart = go_graph_widget_get_chart (GO_GRAPH_WIDGET (graph)); > > plot = gog_plot_new_by_name ("GogXYPlot"); > gog_object_add_by_name (GOG_OBJECT (chart), "Plot", GOG_OBJECT (plot)); > > series = gog_plot_new_series (plot); > data = go_data_vector_val_new (xes, 3, NULL); > gog_series_set_dim (series, 0, data, &error); > data = go_data_vector_val_new (yes, 3, NULL); > gog_series_set_dim (series, 1, data, &error); > > style = gog_styled_object_get_style (GOG_STYLED_OBJECT (series)); > style->line.color = RGB_RED; > gog_object_request_update (GOG_OBJECT (series)); > > gtk_widget_show_all (window); > > gtk_main (); > > return 0; > } > --------------------- > > What's the best way to make the line red? > > My motivation: this is for displaying image profiles, so I need to > display three series as a line graph, and they need to be red, green, > blue. > > John > _______________________________________________ > gnumeric-list mailing list > gnumeric-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gnumeric-list _______________________________________________ gnumeric-list mailing list gnumeric-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnumeric-list