summaryrefslogtreecommitdiffstats
path: root/math/guppi/files/GNOME_Gnumeric_Graph.idl
diff options
context:
space:
mode:
Diffstat (limited to 'math/guppi/files/GNOME_Gnumeric_Graph.idl')
-rw-r--r--math/guppi/files/GNOME_Gnumeric_Graph.idl123
1 files changed, 123 insertions, 0 deletions
diff --git a/math/guppi/files/GNOME_Gnumeric_Graph.idl b/math/guppi/files/GNOME_Gnumeric_Graph.idl
new file mode 100644
index 000000000..5a1049737
--- /dev/null
+++ b/math/guppi/files/GNOME_Gnumeric_Graph.idl
@@ -0,0 +1,123 @@
+/**
+ * The interfaces Gnumeric uses to communicate with graphing components
+ *
+ * Author:
+ * Jody Goldberg <jody@gnome.org>
+ */
+#include <Bonobo.idl>
+
+module GNOME {
+ module Gnumeric {
+ struct Pair {
+ short start;
+ short end;
+ };
+ typedef long PlotID;
+ typedef long SeriesID;
+ typedef long VectorID;
+ typedef sequence<Pair> SeqPair;
+ typedef sequence<VectorID> VectorIDs;
+ typedef sequence<octet> Buffer;
+
+ exception Error { string mesg; };
+
+ enum VectorType {
+ VECTOR_TYPE_SCALAR,
+ VECTOR_TYPE_DATE,
+ VECTOR_TYPE_STRING
+ };
+
+ /* This is a place holder */
+ interface VectorSelection {
+ oneway void selected (in SeqPair ranges);
+ };
+ module Scalar {
+ typedef sequence<double> Seq;
+ interface Vector : VectorSelection {
+ oneway void changed (in short start, in Seq new_values);
+ void value (out Seq values);
+ };
+ };
+ module String {
+ typedef sequence<string> Seq;
+ interface Vector : VectorSelection {
+ oneway void changed (in short start, in Seq new_values);
+ void value (out Seq values);
+ };
+ };
+
+ module Graph_v2 {
+ interface ConfigGuru : Bonobo::Control {
+ oneway void applyChanges ();
+ };
+
+ interface DataGuru : ConfigGuru {
+ readonly attribute Buffer spec;
+
+ /**
+ * seriesSetDimension :
+ *
+ * Add/Remove/Edit the vector associated with a specific dimension
+ * of an series.
+ *
+ * a vectorID of -1 will remove the dimension.
+ */
+ void seriesSetDimension (in SeriesID seriesID,
+ in string dim,
+ in VectorID vectorID)
+ raises (Error);
+
+ PlotID plotAdd () raises (Error);
+ void plotDelete (in PlotID plot) raises (Error);
+ SeriesID seriesAdd (in PlotID plot) raises (Error);
+ void seriesDelete (in SeriesID series) raises (Error);
+ };
+
+ interface Manager : Bonobo::Embeddable {
+ ConfigGuru configure (in string type);
+
+ /**
+ * Read :
+ * A full specified document including enough markup
+ * information to assist in data assignment and for
+ * persistence.
+ *
+ * Write :
+ * Take a possibly incomplete description of a graph using
+ * a subset of the dtd used for persistence and initialize
+ * the graphs state. The document refers to vectors by
+ * IDs that were assigned previously.
+ */
+ attribute Buffer spec;
+
+ /**
+ * addVector :
+ *
+ * Register new vectors and get their callbacks.
+ */
+ VectorSelection addVector (in VectorSelection v,
+ in VectorType type, in VectorID id,
+ in string default_fmt);
+
+ /**
+ * clearVectors :
+ *
+ * Remove all references to the existing set of vectors.
+ */
+ oneway void clearVectors ();
+
+ /**
+ * arrangeVectors :
+ *
+ * Take the set of vectors and their optional
+ * headers in the order specified by the
+ * supplied @data ids, and arrange them into a
+ * graph using the 'current' graph type.
+ */
+ oneway void arrangeVectors (in VectorIDs data,
+ in VectorIDs optional_headers);
+
+ };
+ };
+ };
+};