Commit 5fb70574 authored by Miguel de Icaza's avatar Miguel de Icaza Committed by Miguel de Icaza

remove invocation to glade_gnome_init(), this is not required.


2000-02-23  Miguel de Icaza  <miguel@helixcode.com>

	* src/dialogs/dialog-stf.c (dialog_stf): remove invocation to
	glade_gnome_init(), this is not required.

	* src/sheet-object-container.c (sheet_object_container_realize):
	Update to new Bonobo API.

2000-02-19  Miguel de Icaza  <miguel@gnu.org>

	* src/workbook.c (launch_graphics_wizard_cmd): New function, used
	to launch the graphics wizard.

	* src/wizard.h: New file.

	* src/corba-workbook-factory.c (WorkbookFactory_read): Fixed
	command_context_corba usage.  Kill memory leak.

	* src/sheet-object.c (sheet_set_mode_type): Remove the sheet event
	button binding code from here.
	(sheet_object_bind_button_events): New function.  To here.

	* src/sheet.h: New creation mode: SHEET_OBJECT_CREATE_COMPONENT.
	The GRAPHICS one will be used only by the wizard.

	* src/pixmaps.h: Include object.xpm.

	* src/pixmaps/object.xpm: More Modern Art work from Miguel, this
	image represents an object.  The object has suffered a lot and is
	in pain as you can see by the colors chosen by the artist.

2000-02-24  Miguel de Icaza  <miguel@helixcode.com>

	* main.c (graphics_wizard): Grab focus, run mainloop,
	(button_cancel): quit mainloop.

	* graphic-type.c: Add the graphic types.

	* graphic-context.c (data_range_destroy): Implement.
	(data_range_new): Implement.

2000-02-23  Miguel de Icaza  <miguel@helixcode.com>

	* main.c (customize): remove dead code.

	* graphic-context.c (graphic_context_new): Cleanup and update the
	routine.

2000-02-19  Miguel de Icaza  <miguel@gnu.org>

	* Makefile.am: Changed it to be a static library.  For now it will
	simplify the debugging process on Red Hat Linux 6.1.  A combo
	which is extraordinarly bad for debugging anything bigger than 10
	lines of code.
parent 2bdefefa
2000-02-23 Miguel de Icaza <miguel@helixcode.com>
* src/dialogs/dialog-stf.c (dialog_stf): remove invocation to
glade_gnome_init(), this is not required.
* src/sheet-object-container.c (sheet_object_container_realize):
Update to new Bonobo API.
2000-02-19 Miguel de Icaza <miguel@gnu.org>
* src/workbook.c (launch_graphics_wizard_cmd): New function, used
to launch the graphics wizard.
* src/wizard.h: New file.
* src/corba-workbook-factory.c (WorkbookFactory_read): Fixed
command_context_corba usage. Kill memory leak.
* src/sheet-object.c (sheet_set_mode_type): Remove the sheet event
button binding code from here.
(sheet_object_bind_button_events): New function. To here.
* src/sheet.h: New creation mode: SHEET_OBJECT_CREATE_COMPONENT.
The GRAPHICS one will be used only by the wizard.
* src/pixmaps.h: Include object.xpm.
* src/pixmaps/object.xpm: More Modern Art work from Miguel, this
image represents an object. The object has suffered a lot and is
in pain as you can see by the colors chosen by the artist.
2000-02-24 Michael Meeks <michael@helixcode.com>
* src/plugin.c (plugin_close): expand.
......
2000-02-23 Miguel de Icaza <miguel@helixcode.com>
* src/dialogs/dialog-stf.c (dialog_stf): remove invocation to
glade_gnome_init(), this is not required.
* src/sheet-object-container.c (sheet_object_container_realize):
Update to new Bonobo API.
2000-02-19 Miguel de Icaza <miguel@gnu.org>
* src/workbook.c (launch_graphics_wizard_cmd): New function, used
to launch the graphics wizard.
* src/wizard.h: New file.
* src/corba-workbook-factory.c (WorkbookFactory_read): Fixed
command_context_corba usage. Kill memory leak.
* src/sheet-object.c (sheet_set_mode_type): Remove the sheet event
button binding code from here.
(sheet_object_bind_button_events): New function. To here.
* src/sheet.h: New creation mode: SHEET_OBJECT_CREATE_COMPONENT.
The GRAPHICS one will be used only by the wizard.
* src/pixmaps.h: Include object.xpm.
* src/pixmaps/object.xpm: More Modern Art work from Miguel, this
image represents an object. The object has suffered a lot and is
in pain as you can see by the colors chosen by the artist.
2000-02-24 Michael Meeks <michael@helixcode.com>
* src/plugin.c (plugin_close): expand.
......
......@@ -188,6 +188,7 @@ GNUMERIC_BASE_SOURCES = \
value.c \
value.h \
value-sheet.c \
wizard.h \
workbook.c \
workbook.h \
workbook-cmd-format.c \
......@@ -216,44 +217,45 @@ Gnumeric-impl.o: Gnumeric.h
$(GNUMERIC_CORBA_GENERATED): Gnumeric.idl
orbit-idl -I`$(GNOME_CONFIG) --datadir`/idl -I$(srcdir) $(srcdir)/Gnumeric.idl
gnumeric_SOURCES = \
main.c \
normal-args.c \
gnumeric_SOURCES = \
main.c \
normal-args.c \
$(GNUMERIC_BASE_SOURCES)
corba-sheet.c corba-workbook-factory.c corba-workbook.c Gnumeric-impl.c \
embeddable-grid.c: Gnumeric.h
gnumeric_bonobo_SOURCES = \
main.c \
corba-args.c \
corba-sheet.c \
corba-workbook.c \
corba-workbook-factory.c \
$(GNUMERIC_BASE_SOURCES) \
gnumeric_bonobo_SOURCES = \
main.c \
corba-args.c \
corba-sheet.c \
corba-workbook.c \
corba-workbook-factory.c \
$(GNUMERIC_BASE_SOURCES) \
$(GNUMERIC_BONOBO_SOURCES)
gnumeric_LDFLAGS = -export-dynamic
gnumeric_libs = \
../plugins/excel/libexcel.a \
../plugins/excel/libole2/libole2.a \
dialogs/libdialogs.a \
widgets/libwidgets.a \
gnumeric_libs = \
../plugins/excel/libexcel.a \
../plugins/excel/libole2/libole2.a \
dialogs/libdialogs.a \
widgets/libwidgets.a \
functions/libfunctions.a
gnumeric_LDADD = \
$(gnumeric_libs) \
$(EXTRA_GNOME_LIBS) \
$(GNOME_XML_LIB) \
$(GUILE_LIBS) \
gnumeric_LDADD = \
$(gnumeric_libs) \
$(EXTRA_GNOME_LIBS) \
$(GNOME_XML_LIB) \
$(GUILE_LIBS) \
$(INTLLIBS)
gnumeric_bonobo_LDADD = \
$(gnumeric_libs) \
$(EXTRA_GNOME_LIBS) \
$(GNOME_XML_LIB) \
$(GUILE_LIBS) \
gnumeric_bonobo_LDADD = \
$(gnumeric_libs) \
../wizards/graphics/libwizard_graphics.a \
$(EXTRA_GNOME_LIBS) \
$(GNOME_XML_LIB) \
$(GUILE_LIBS) \
$(INTLLIBS)
......
......@@ -37,11 +37,13 @@ static POA_GNOME_Gnumeric_WorkbookFactory__vepv gnumeric_workbook_factory_vepv;
static GNOME_Gnumeric_Workbook
WorkbookFactory_read (PortableServer_Servant servant, const CORBA_char * filename, CORBA_Environment * ev)
{
CommandContext *tmp_context = command_context_corba_new ();
Workbook *workbook = workbook_read (tmp_context, filename);
CommandContext *context;
Workbook *workbook;
context = command_context_corba (NULL);
workbook = workbook_read (context, filename);
gtk_widget_show (workbook->toplevel);
gtk_object_unref (GTK_OBJECT (tmp_context));
gtk_object_unref (GTK_OBJECT (context));
if (workbook)
return CORBA_Object_duplicate (workbook->corba_server, ev);
......
......@@ -407,8 +407,6 @@ dialog_stf (CommandContext *context, const char *filename, const char *data)
StfParseOptions_t *parseoptions;
char* message;
glade_gnome_init();
gui = glade_xml_new (GNUMERIC_GLADEDIR "/" GLADE_FILE, NULL);
if (!gui) {
......
......@@ -11,6 +11,7 @@
#endif
#ifdef ENABLE_BONOBO
#include "pixmaps/graphic.xpm"
#include "pixmaps/object.xpm"
#endif
#include "pixmaps/preview.xpm"
......
......@@ -119,8 +119,7 @@ sheet_object_container_realize (SheetObject *so, SheetView *sheet_view)
soc = SHEET_OBJECT_CONTAINER (so);
view_frame = bonobo_client_site_new_view (SHEET_OBJECT_BONOBO (so)->client_site,
so->sheet->workbook->uih->top_level_uih);
view_frame = bonobo_client_site_new_view (SHEET_OBJECT_BONOBO (so)->client_site);
gtk_signal_connect (GTK_OBJECT (view_frame), "user_activate",
GTK_SIGNAL_FUNC (user_activation_request_cb), so);
......
......@@ -455,6 +455,7 @@ create_object (Sheet *sheet, gdouble to_x, gdouble to_y)
}
case SHEET_MODE_CREATE_GRAPHIC:
case SHEET_MODE_CREATE_COMPONENT:
#ifdef ENABLE_BONOBO
o = sheet_object_container_new (
sheet, x1, y1, x2, y2, sheet->mode_data);
......@@ -658,6 +659,22 @@ sheet_finish_object_creation (Sheet *sheet, SheetObject *o)
}
}
static void
sheet_object_bind_button_events (Sheet *sheet)
{
GList *l;
for (l = sheet->sheet_views; l; l = l->next) {
SheetView *sheet_view = l->data;
GnumericSheet *gsheet = GNUMERIC_SHEET (sheet_view->sheet_view);
sheet_view->temp_item = NULL;
gtk_signal_connect (GTK_OBJECT (gsheet), "button_press_event",
GTK_SIGNAL_FUNC (sheet_button_press), sheet);
}
}
/*
* sheet_set_mode_type:
* @sheet: The sheet
......@@ -678,8 +695,6 @@ sheet_finish_object_creation (Sheet *sheet, SheetObject *o)
void
sheet_set_mode_type (Sheet *sheet, SheetModeType mode)
{
GList *l;
g_return_if_fail (sheet != NULL);
g_return_if_fail (IS_SHEET (sheet));
......@@ -712,6 +727,9 @@ sheet_set_mode_type (Sheet *sheet, SheetModeType mode)
switch (sheet->mode) {
case SHEET_MODE_CREATE_GRAPHIC:
sheet_object_bind_button_events (sheet);
case SHEET_MODE_CREATE_COMPONENT:
case SHEET_MODE_CREATE_CANVAS_ITEM:
#ifdef ENABLE_BONOBO
{
......@@ -723,32 +741,26 @@ sheet_set_mode_type (Sheet *sheet, SheetModeType mode)
else
required_interfaces [0] = "IDL:GNOME/Embeddable:1.0";
required_interfaces [1] = NULL;
goad_id = gnome_bonobo_select_goad_id (_("Select an object"), required_interfaces);
if (goad_id == NULL){
sheet_set_mode_type (sheet, SHEET_MODE_SHEET);
return;
}
sheet->mode_data = g_strdup (goad_id);
sheet_object_bind_button_events (sheet);
break;
}
#endif
/* fall down */
case SHEET_MODE_CREATE_LINE:
case SHEET_MODE_CREATE_ARROW:
case SHEET_MODE_CREATE_OVAL:
case SHEET_MODE_CREATE_BOX:
case SHEET_MODE_CREATE_BUTTON:
case SHEET_MODE_CREATE_CHECKBOX:
for (l = sheet->sheet_views; l; l = l->next) {
SheetView *sheet_view = l->data;
GnumericSheet *gsheet = GNUMERIC_SHEET (sheet_view->sheet_view);
sheet_view->temp_item = NULL;
gtk_signal_connect (GTK_OBJECT (gsheet), "button_press_event",
GTK_SIGNAL_FUNC (sheet_button_press), sheet);
}
sheet_object_bind_button_events (sheet);
break;
default:
......
......@@ -15,8 +15,11 @@
#define SHEET_OBJECT_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SHEET_OBJECT_TYPE, SheetObjectClass))
#define IS_SHEET_OBJECT(o) (GTK_CHECK_TYPE((o), SHEET_OBJECT_TYPE))
typedef enum { SHEET_OBJECT_ACTION_STATIC,
SHEET_OBJECT_ACTION_CAN_PRESS } SheetObjectAction;
typedef enum {
SHEET_OBJECT_ACTION_STATIC,
SHEET_OBJECT_ACTION_CAN_PRESS
} SheetObjectAction;
typedef struct {
GtkObject parent_object;
SheetObjectAction type;
......
......@@ -49,6 +49,7 @@ typedef enum {
/* Selection for the region for a Graphics object */
SHEET_MODE_CREATE_GRAPHIC,
SHEET_MODE_CREATE_CANVAS_ITEM,
SHEET_MODE_CREATE_COMPONENT,
SHEET_MODE_CREATE_BUTTON,
SHEET_MODE_CREATE_CHECKBOX,
......
......@@ -4,7 +4,7 @@
* Author:
* Miguel de Icaza (miguel@gnu.org).
*
* (C) 1998, 1999 Miguel de Icaza
* (C) 1998, 1999, 2000 Miguel de Icaza
*/
#include <config.h>
#include <gnome.h>
......@@ -34,6 +34,7 @@
#include "command-context-gui.h"
#include "commands.h"
#include "widgets/gtk-combo-text.h"
#include "wizard.h"
#ifdef ENABLE_BONOBO
#include <bonobo/bonobo-persist-file.h>
......@@ -181,18 +182,26 @@ about_cmd (GtkWidget *widget, Workbook *wb)
#else
static void
create_graphic_cmd (GtkWidget *widget, Workbook *wb)
create_embedded_component_cmd (GtkWidget *widget, Workbook *wb)
{
Sheet *sheet = wb->current_sheet;
sheet_set_mode_type (sheet, SHEET_MODE_CREATE_GRAPHIC);
sheet_set_mode_type (sheet, SHEET_MODE_CREATE_COMPONENT);
}
static void
create_embedded_item_cmd (GtkWidget *widget, Workbook *wb)
{
Sheet *sheet = wb->current_sheet;
sheet_set_mode_type (sheet, SHEET_MODE_CREATE_CANVAS_ITEM);
}
static void
launch_graphics_wizard_cmd (GtkWidget *widget, Workbook *wb)
{
graphics_wizard (wb);
}
#endif
#ifdef GNUMERIC_TEST_ACTIVE_OBJECT
......@@ -1337,11 +1346,14 @@ static GnomeUIInfo workbook_standard_toolbar [] = {
#ifdef ENABLE_BONOBO
GNOMEUIINFO_ITEM_DATA (
N_("Graphic"), N_("Creates a graphic in the spreadsheet"),
create_graphic_cmd, NULL, graphic_xpm),
N_("Creates a graphic"), N_("Invokes the graphic wizard to create a graphic"),
launch_graphics_wizard_cmd, NULL, graphic_xpm),
GNOMEUIINFO_ITEM_DATA (
N_("Insert Object"), N_("Inserts an object in the spreadsheet"),
create_embedded_component_cmd, NULL, object_xpm),
GNOMEUIINFO_ITEM_DATA (
N_("Bonobo Item"), N_("Creates a Bonobo shaped item"),
create_embedded_item_cmd, NULL, graphic_xpm),
N_("Insert shaped object"), N_("Inserts a shaped object in the spreadsheet"),
create_embedded_item_cmd, NULL, object_xpm),
#endif
#ifdef GNUMERIC_TEST_ACTIVE_OBJECT
GNOMEUIINFO_ITEM_DATA (
......
2000-02-24 Miguel de Icaza <miguel@helixcode.com>
* main.c (graphics_wizard): Grab focus, run mainloop,
(button_cancel): quit mainloop.
* graphic-type.c: Add the graphic types.
* graphic-context.c (data_range_destroy): Implement.
(data_range_new): Implement.
2000-02-23 Miguel de Icaza <miguel@helixcode.com>
* main.c (customize): remove dead code.
* graphic-context.c (graphic_context_new): Cleanup and update the
routine.
2000-02-19 Miguel de Icaza <miguel@gnu.org>
* Makefile.am: Changed it to be a static library. For now it will
simplify the debugging process on Red Hat Linux 6.1. A combo
which is extraordinarly bad for debugging anything bigger than 10
lines of code.
2000-02-18 Miguel de Icaza <miguel@gnu.org>
* Makefile.am (wizard_graphics__la_LIBADD): Create a shared
......
......@@ -3,27 +3,32 @@
#
# Author: Miguel de Icaza (miguel@kernel.org)
#
# If you make this a shared module, remember to set
# the WIZARD_PLUGIN variable
#
wizarddir = $(libdir)/gnumeric/wizards/$(VERSION)
gladedir = $(datadir)/gnumeric/glade
glade_DATA = graphics.glade
wizard_LTLIBRARIES = libwizard_graphics.la
noinst_LIBRARIES = libwizard_graphics.a
libwizard_graphics_la_SOURCES = \
libwizard_graphics_a_SOURCES = \
main.c \
graphic-context.c \
graphic-type.c \
graphic-context.h \
wizard.h
libwizard_graphics_la_LIBADD = \
$(GNOME_LIBDIR) \
$(GNOMEUI_LIBS) \
$(INTLLIBS)
INCLUDES = \
-I$(top_srcdir)/libglade \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-DGNUMERIC_GLADEDIR=\""$(gladedir)"\" \
-I$(includedir) \
-I$(top_srcdir)/src \
$(GNOME_INCLUDEDIR)
EXTRA_DIST = $(glade_DATA)
......@@ -9,18 +9,19 @@
#include <config.h>
#include <gnome.h>
#include "gnumeric.h"
#include "workbook.h"
#include <glade/glade.h>
#include <bonobo.h>
#include "graphic-context.h"
#define GUPPI_ID "Guppi_component"
#define GRAPH_GOADID "GOADID:embeddable:Graph:Layout"
static BonoboObjectClient *
launch_guppi (void)
get_graphics_component (void)
{
BonoboObjectClient *object_server;
object_server = bonobo_object_activate_with_goad_id (NULL, GUPPI_ID, 0, NULL);
object_server = bonobo_object_activate_with_goad_id (NULL, GRAPH_GOADID, 0, NULL);
return object_server;
}
......@@ -30,7 +31,6 @@ graphic_context_new (Workbook *wb, GladeXML *gui)
{
WizardGraphicContext *gc;
BonoboClientSite *client_site;
BonoboContainer *container;
BonoboObjectClient *object_server;
g_return_val_if_fail (wb != NULL, NULL);
......@@ -38,27 +38,21 @@ graphic_context_new (Workbook *wb, GladeXML *gui)
/*
* Configure our container end
*/
container = BONOBO_CONTAINER (bonobo_container_new ());
client_site = bonobo_client_site_new (container);
bonobo_container_add (container, BONOBO_OBJECT (client_site));
client_site = bonobo_client_site_new (wb->bonobo_container);
bonobo_container_add (wb->bonobo_container, BONOBO_OBJECT (client_site));
/*
* Launch server
*/
object_server = launch_guppi ();
object_server = get_graphics_component ();
if (!object_server)
return NULL;
goto error_activation;
/*
* Bind them together
*/
if (!bonobo_client_site_bind_embeddable (client_site, object_server)){
gtk_object_unref (GTK_OBJECT (client_site));
gtk_object_unref (GTK_OBJECT (container));
gtk_object_unref (GTK_OBJECT (object_server));
return NULL;
}
if (!bonobo_client_site_bind_embeddable (client_site, object_server))
goto error_binding;
/*
* Create the graphic context
......@@ -70,11 +64,18 @@ graphic_context_new (Workbook *wb, GladeXML *gui)
gc->gui = gui;
gc->dialog_toplevel = glade_xml_get_widget (gui, "graphics-wizard-dialog");
gc->container = container;
gc->client_site = client_site;
gc->guppi = object_server;
gc->graphics_server = object_server;
return gc;
error_binding:
gtk_object_unref (GTK_OBJECT (object_server));
error_activation:
gtk_object_unref (GTK_OBJECT (client_site));
return NULL;
}
void
......@@ -104,7 +105,7 @@ graphic_context_destroy (WizardGraphicContext *gc)
}
g_list_free (gc->data_range_list);
gtk_object_unref (GTK_OBJECT (gc->guppi));
gtk_object_unref (GTK_OBJECT (gc->graphics_server));
g_free (gc);
}
......@@ -168,40 +169,48 @@ graphic_context_set_data_range (WizardGraphicContext *gc,
const char *data_range_spec,
gboolean vertical)
{
ExprTree *tree, *args;
gchar * expr;
char *p;
char *error;
g_return_if_fail (gc != NULL);
g_return_if_fail (data_range_spec != NULL);
graphics_context_data_range_clear (gc);
}
DataRange *
data_range_new (const char *name, const char *expression)
{
DataRange *data_range;
ExprTree *tree;
gchar * expr;
char *error;
/* Hack:
* Create a valid expression, parse as expression, and pull the
* parsed arguments.
*/
expr = g_strconcat ("=SELECTION(", data_range_spec, ")", NULL);
expr = g_strconcat ("=SELECTION(", expression, ")", NULL);
tree = expr_parse_string (expr, NULL, NULL, &error);
g_free (expr);
if (tree == NULL)
return;
return NULL;
g_assert (tree->oper == OPER_FUNCALL);
args = tree->u.function.arg_list;
/*
* Guess the data ranges. From the selected ranges. Simple
* case is just a region selected, so we can guess a number
* of parameters from this.
*/
g_warning ("Should do something more interesting with disjoint selections");
data_range = g_new (DataRange, 1);
data_range->name = string_get (name);
data_range->base_tree = tree;
expr_tree_unref (tree);
}
data_range->list_of_expressions = tree->u.function.arg_list;
return data_range;
}
void
data_range_destroy (DataRange *data_range)
{
string_unref (data_range->name);
expr_tree_unref (data_range->base_tree);
g_free (data_range);
}
......@@ -11,7 +11,8 @@ typedef enum {
typedef struct {
String *name;
ExprTree *tree;
ExprTree *base_tree;
GList *list_of_expressions;
} DataRange;
DataRange *data_range_new (const char *name, const char *expression);
......@@ -38,9 +39,8 @@ typedef struct {
String *plot_title;
String *y_axis_label;
BonoboObjectClient *guppi;
BonoboObjectClient *graphics_server;
BonoboClientSite *client_site;
BonoboContainer *container;
} WizardGraphicContext;
#define GC_SIGNATURE ((('G' << 8) | ('C' << 8)) | 'o')
......
......@@ -11,16 +11,268 @@
#include "gnumeric.h"
#include <glade/glade.h>
#include "wizard.h"
#include "../../graph/Graph.h"
typedef struct {
GNOME_Graph_ChartType chart_type;
GNOME_Graph_PlotMode plot_mode;
GNOME_Graph_ColBarMode col_bar_mode;
GNOME_Graph_DirMode direction;
GNOME_Graph_LineMode line_mode;
GNOME_Graph_PieMode pie_mode;
GNOME_Graph_PieDimension pie_dim;
GNOME_Graph_ScatterPoints scatter_mode;
GNOME_Graph_ScatterConn scatter_conn;
GNOME_Graph_SurfaceMode surface_mode;
} PlotParameters;
typedef struct {
char *description;
char *icon_name;
char *guppi_type_name;
int col, row;
PlotParameters par;
} subtype_info_t;
static subtype_info_t column_subtypes [] = {
{
N_("Clustered columns. Compares values between categories"),
1, 1,
{
GNOME_Graph_CHART_TYPE_CLUSTERED,
GNOME_Graph_PLOT_COLBAR,
GNOME_Graph_COLBAR_FLAT,
GNOME_Graph_DIR_COL
}
},
{
N_("Stacked columns. Compares the values brought by each category"),
1, 2,
{
GNOME_Graph_CHART_TYPE_STACKED,
GNOME_Graph_PLOT_COLBAR,
GNOME_Graph_COLBAR_FLAT,
GNOME_Graph_DIR_COL
}
},
{
N_("Stacked columns, 100%. Compares between the categories the values broght to a total"),
1, 3,
{
GNOME_Graph_CHART_TYPE_STACKED_FULL,
GNOME_Graph_PLOT_COLBAR,
GNOME_Graph_COLBAR_FLAT,
GNOME_Graph_DIR_COL
}
},
{ NULL }
};
static subtype_info_t bar_subtypes [] = {
{ N_("Plain bar display"), "icon-bar-plain.png", "bar" },
{ NULL, NULL, NULL }
{
N_("Clustered bars. Compares values between categories"),
1, 1,
{
GNOME_Graph_CHART_TYPE_CLUSTERED,
GNOME_Graph_PLOT_COLBAR,
GNOME_Graph_COLBAR_FLAT,
GNOME_Graph_DIR_BAR
}
},
{
N_("Stacked bars. Compares the values brought by each category"),
1, 2,
{
GNOME_Graph_CHART_TYPE_STACKED,
GNOME_Graph_PLOT_COLBAR,
GNOME_Graph_COLBAR_FLAT,
GNOME_Graph_DIR_BAR
}
},
{
N_("Stacked bars, 100%. Compares between the categories the values broght to a total"),
1, 3,
{
GNOME_Graph_CHART_TYPE_STACKED_FULL,
GNOME_Graph_PLOT_COLBAR,
GNOME_Graph_COLBAR_FLAT,
GNOME_Graph_DIR_BAR
}
},
{ NULL }
};
static subtype_info_t lines_subtypes [] = {
{
N_("Lines. FIXME: Add nice explanation"),
1, 1,
{
GNOME_Graph_CHART_TYPE_CLUSTERED,
GNOME_Graph_PLOT_LINES,
GNOME_Graph_COLBAR_FLAT,
GNOME_Graph_DIR_COL,
GNOME_Graph_LINE_PLAIN,
}
},
{
N_("Stacked Lines. FIXME: Add nice explanation"),
1, 2,
{
GNOME_Graph_CHART_TYPE_STACKED,
GNOME_Graph_PLOT_LINES,
GNOME_Graph_COLBAR_FLAT,
GNOME_Graph_DIR_COL,
GNOME_Graph_LINE_PLAIN
}
},
{
N_("Stacked lines, 100%. FIXME: Add nice explanation"),
1, 3,
{
GNOME_Graph_CHART_TYPE_STACKED_FULL,