Re: libgoffice help
- From: Jean Bréfort <jean brefort normalesup org>
- To: jcupitt gmail com
- Cc: gnumeric-list gnome org
- Subject: Re: libgoffice help
- Date: Fri, 01 May 2009 09:17:26 +0200
Le jeudi 30 avril 2009 à 15:46 +0100, jcupitt gmail com a écrit :
2009/4/30 Jean Bréfort <jean brefort 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
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]