Re: Guppi 0.0.1
- From: Miguel de Icaza <miguel nuclecu unam mx>
- To: rhpennin midway uchicago edu
- CC: gnome-list gnome org, trow emccta com
- Subject: Re: Guppi 0.0.1
- Date: Mon, 24 Aug 1998 11:38:29 -0500
> For example, "draw an axis with tick
> marks," "draw a cross/circle/dot marker," "label the axis with round
> numbers." It could be enhanced (and will be, the functionality isn't
> complete by any means).
I think something like this would suit my needs:
/* This is exported by the spreadsheet as a data source (ie, the sheet) */
struct Value {
int type;
union {
string v_str;
int v_int;
double v_float;
};
}
interface Table {
Value get_value (int int col, in int row);
Value get_value_srt (in string cell_spec);
};
enum {
plot_xy,
plot_xy_lines,
plot_pie,
plot_pie_with_apples,
plot_histogram,
plot_3d,
plot_3d_perspective,
} PlotType;
interface plot {
void set_source (Table table);
void set_x_range (in string cell_range);
void set_type (in PlotType type);
void set_y_range (in int tag, in string cell_range);
void set_z_range (in int tag, in string cell_range);
void delete_y_range (in int tag);
void delete_z_range (in int tag);
void set_axis_title (in string which, in string title, in string font);
string get_postscript (void);
}
That is of course a simplistic interface, but you get the idea:
Gnumeric, when requested for a plot, would invoke Guppi and would call
the plot_set_source routine with a table parameter that points back to
Gnumeric. Guppi will then gather[1] the information to be plotted
with this interface, and Gnumeric might do some further changes and
adjustments as the user requires during runtime.
[1] if we see performance is a problem with the Table interface, we
might return arrays of values in a single operation.
best wishes,
Miguel.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]