[goffice] Update API documentation.
- From: Jean Bréfort <jbrefort src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [goffice] Update API documentation.
- Date: Mon, 20 Sep 2010 15:14:03 +0000 (UTC)
commit 2baa5896c31e21370cb52caa0762811cf7f770c2
Author: Jean Brefort <jean brefort normalesup org>
Date: Mon Sep 20 17:15:03 2010 +0200
Update API documentation.
ChangeLog | 15 ++++++++++
NEWS | 3 ++
docs/reference/goffice-docs.sgml | 9 +++---
goffice/goffice.c | 55 ++++++++++++++++++++++++++++++++++++++
goffice/graph/gog-axis.c | 10 +++++++
goffice/graph/gog-chart.c | 9 ++++++
goffice/graph/gog-graph.c | 14 +++++++++
goffice/graph/gog-label.c | 8 +++++
goffice/graph/gog-legend.c | 8 +++++
goffice/graph/gog-object.c | 17 +++++++++++
goffice/graph/gog-plot.c | 15 ++++++++++
goffice/graph/gog-renderer.c | 8 +++++
goffice/graph/gog-series.c | 7 +++++
goffice/gtk/go-graph-widget.c | 7 +++++
14 files changed, 181 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 41c9d93..a4d108f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2010-09-20 Jon Nordby <jonn openismus com>
+
+ * docs/reference/goffice-docs.sgml: update API documentation.
+ * goffice/goffice.c: ditto.
+ * goffice/graph/gog-axis.c: ditto.
+ * goffice/graph/gog-chart.c: ditto.
+ * goffice/graph/gog-graph.c: ditto.
+ * goffice/graph/gog-label.c: ditto.
+ * goffice/graph/gog-legend.c: ditto.
+ * goffice/graph/gog-object.c: ditto.
+ * goffice/graph/gog-plot.c: ditto.
+ * goffice/graph/gog-renderer.c: ditto.
+ * goffice/graph/gog-series.c: ditto.
+ * goffice/gtk/go-graph-widget.c:
+
2010-09-10 Morten Welinder <terra gnome org>
* goffice/graph/gog-axis.c (map_date_get_dim_format): If we have a
diff --git a/NEWS b/NEWS
index 330f458..ccfbf16 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,8 @@
goffice 0.8.11:
+Jon Nordby:
+ * Update API documentation.
+
Morten:
* Improve fractional days support for date axes.
diff --git a/docs/reference/goffice-docs.sgml b/docs/reference/goffice-docs.sgml
index e3384fe..632ee0d 100644
--- a/docs/reference/goffice-docs.sgml
+++ b/docs/reference/goffice-docs.sgml
@@ -9,7 +9,9 @@
<title>Goffice Reference Manual</title>
<releaseinfo>For goffice &version;</releaseinfo>
</bookinfo>
-
+ <chapter>
+ <xi:include href="xml/goffice.xml"/>
+ </chapter>
<part>
<title>Graphs</title>
<chapter>
@@ -25,7 +27,6 @@
<xi:include href="xml/gog-label.xml"/>
<xi:include href="xml/gog-reg-eqn.xml"/>
<xi:include href="xml/gog-series-lines.xml"/>
- <xi:include href="xml/gog-text.xml"/>
</chapter>
<chapter>
<title>Abstract Base Classes</title>
@@ -40,6 +41,7 @@
<xi:include href="xml/gog-view.xml"/>
<xi:include href="xml/gog-data-allocator.xml"/>
<xi:include href="xml/gog-data-set.xml"/>
+ <xi:include href="xml/gog-text.xml"/>
</chapter>
<chapter>
<title>Utilities</title>
@@ -84,6 +86,7 @@
</part>
<part>
<title>Widgets</title>
+ <xi:include href="xml/go-graph-widget.xml"/>
<chapter>
<title>Base widgets</title>
<xi:include href="xml/go-combo-box.xml"/>
@@ -195,7 +198,6 @@
<xi:include href="xml/go-dock-item.xml"/>
<xi:include href="xml/go-dock-item-grip.xml"/>
</chapter>
-<xi:include href="xml/goffice.xml"/>
<xi:include href="xml/goffice-priv.xml"/>
<xi:include href="xml/error-info.xml"/>
<xi:include href="xml/file-priv.xml"/>
@@ -209,7 +211,6 @@
<xi:include href="xml/go-action-combo-stack.xml"/>
<xi:include href="xml/go-action-combo-text.xml"/>
<xi:include href="xml/go-color-palette.xml"/>
-<xi:include href="xml/go-graph-widget.xml"/>
<xi:include href="xml/go-marshal.xml"/>
<xi:include href="xml/goffice-gtk.xml"/>
<xi:include href="xml/go-ms-parser.xml"/>
diff --git a/goffice/goffice.c b/goffice/goffice.c
index 01addbd..67bfecb 100644
--- a/goffice/goffice.c
+++ b/goffice/goffice.c
@@ -68,6 +68,45 @@ static char const *libgoffice_icon_dir = GOFFICE_ICONDIR;
static char const *libgoffice_locale_dir = GOFFICE_LOCALEDIR;
static char const *libgoffice_lib_dir = GOFFICE_LIBDIR;
+/**
+ * SECTION: goffice
+ * @Title: GOffice
+ *
+ * GOffice is a #GObject based C library. It provides easy API access to
+ * creating and manipulating graphs and canvases. See #GogGraph and #GocCanvas.
+ * It also includes a number of utilities and widgets that might be useful in
+ * office productivity software and similar.
+ *
+ * The GOffice code was originally a part of Gnumeric, but was split into a
+ * separate library in 2005. Today it is being used by projects such as
+ * Gnumeric, Gnucash, Abiword (optional), GChemUtils and more.
+ *
+ * GOffice is cross platform, with support for Windows, OSX, GNU/Linux,
+ * and other Unix-like systems. It can be built with or without GTK+
+ * integration support.
+ *
+ * To include GOffice use:
+ * <informalexample>
+ * <programlisting>
+ * #include <goffice/goffice.h>
+ * </programlisting>
+ * </informalexample>
+ * GOffice provides a pkg-config metadata file named
+ * "libgoffice-$major.$minor.pc", where $major and $minor denote which version
+ * GOffice is. So to link against GOffice 0.8 series, use:
+ * <informalexample>
+ * <programlisting>
+ * pkg-config --libs libgoffice-0.8
+ * </programlisting>
+ * </informalexample>
+ *
+ * API and ABI compatability is maintained per minor release series, e.g:
+ * all 0.8.x releases are ABI/API compatible with previous 0.8.x releases.
+ *
+ * As of September 2010, there are no bindings for other languages
+ * than C available.
+ */
+
gchar const *
go_sys_data_dir (void)
{
@@ -86,6 +125,16 @@ go_sys_lib_dir (void)
return libgoffice_lib_dir;
}
+
+/**
+ * libgoffice_init:
+ *
+ * Initialize GOffice.
+ *
+ * This function can be called several times; each call will
+ * increment a reference counter. Code that calls this function should call
+ * libgoffice_shutdown() when done to decrement the counter.
+ */
static int initialized = 0;
void
libgoffice_init (void)
@@ -161,6 +210,12 @@ libgoffice_init (void)
initialized = TRUE;
}
+/**
+ * libgoffice_shutdown:
+ *
+ * Decrements the counter for data initialized by libgoffice_init().
+ * When the counter reaches 0, the data is freed/cleaned up as appropriate.
+ */
void
libgoffice_shutdown (void)
{
diff --git a/goffice/graph/gog-axis.c b/goffice/graph/gog-axis.c
index 307192d..4762c67 100644
--- a/goffice/graph/gog-axis.c
+++ b/goffice/graph/gog-axis.c
@@ -33,6 +33,16 @@
/* this should be per model */
#define PAD_HACK 4 /* pts */
+/**
+ * SECTION: gog-axis
+ * @short_description: An axis.
+ *
+ * An axis of a #GogPlot. The axis handles things like the bounds, ticks, and
+ * tick value formats.
+ * When used in plots with X/Y/Z axes, it can optionally have one
+ * #GogLabel objects in the role "Label".
+ */
+
static struct {
GogAxisPolarUnit unit;
const char *name;
diff --git a/goffice/graph/gog-chart.c b/goffice/graph/gog-chart.c
index adbd99d..2cd70ed 100644
--- a/goffice/graph/gog-chart.c
+++ b/goffice/graph/gog-chart.c
@@ -50,6 +50,15 @@
#include <goffice/gtk/goffice-gtk.h>
#endif
+/**
+ * SECTION: gog-chart
+ * @short_description: A chart.
+ * @See_also: #GogPlot
+ *
+ * #GogChart wraps one or more #GogPlot objects, so that you can superimpose
+ * them on top of each other. In addition, the chart can have a title and a legend.
+*/
+
static const struct {
char const *name;
GogAxisSet const axis_set;
diff --git a/goffice/graph/gog-graph.c b/goffice/graph/gog-graph.c
index 072af7d..a87fca6 100644
--- a/goffice/graph/gog-graph.c
+++ b/goffice/graph/gog-graph.c
@@ -44,6 +44,20 @@
#define GOG_GRAPH_DEFAULT_WIDTH GO_CM_TO_PT (12.0)
#define GOG_GRAPH_DEFAULT_HEIGHT GO_CM_TO_PT (8.0)
+/**
+ * SECTION: gog-graph
+ * @short_description: The graph object.
+ *
+ * A graph (in the abstract sense) in GOffice is an hierarical object model,
+ * with a #GogGraph object as the top-level object.
+ * Objects that can be part of a graph is a subclass of #GogObject. Those, and
+ * related objects have the prefix "Gog" in the class name.
+ * See #GogObject for how to manipulate the object model, and the individual
+ * classes for specifics.
+ *
+ * A #GogGraph can have 1 or more children in the roles "Chart" and "Title".
+ */
+
enum {
GRAPH_PROP_0,
GRAPH_PROP_THEME,
diff --git a/goffice/graph/gog-label.c b/goffice/graph/gog-label.c
index a57461d..7c58595 100644
--- a/goffice/graph/gog-label.c
+++ b/goffice/graph/gog-label.c
@@ -26,6 +26,14 @@
#include <gsf/gsf-impl-utils.h>
#include <glib/gi18n-lib.h>
+/**
+ * SECTION: gog-label
+ * @short_description: A text label.
+ *
+ * A text label for use in a graph.
+ * Can for instance be used as a title of a #GogChart or #GogGraph.
+ */
+
static GType gog_text_view_get_type (void);
enum {
diff --git a/goffice/graph/gog-legend.c b/goffice/graph/gog-legend.c
index 41ad4fe..0b8a532 100644
--- a/goffice/graph/gog-legend.c
+++ b/goffice/graph/gog-legend.c
@@ -40,6 +40,14 @@
#include <math.h>
+/**
+ * SECTION: gog-legend
+ * @short_description: A legend.
+ *
+ * A legend shows the name of each #GogSeries and which colors they
+ * have in the plot. To use, add in the role "Legend" of a #GogChart.
+ */
+
struct _GogLegend {
GogOutlinedObject base;
diff --git a/goffice/graph/gog-object.c b/goffice/graph/gog-object.c
index 5500f69..016397d 100644
--- a/goffice/graph/gog-object.c
+++ b/goffice/graph/gog-object.c
@@ -27,6 +27,23 @@
#include <string.h>
#include <stdlib.h>
+/**
+ * SECTION: gog-object
+ * @short_description: The base class for graph objects.
+ * @See_also: #GogGraph
+ *
+ * Abstract base class that objects in the graph hierarchy are based on.
+ * This class handles manipulation of the object hierarchy, and positioning of
+ * objects in the graph.
+ *
+ * Every object has a name that is unique in the graph. It can have a parent
+ * and a list of children in specific roles (see #GogObjectRole).
+ * There can generally be several children in each role.
+ *
+ * If built with GTK+ support, each object also knows how to populate a widget
+ * that allows one to manipulate the attributes of that object. This can be used
+ * by #GOEditor to present a widget that allows manipulation of the whole graph.
+ */
typedef struct {
char const *label;
diff --git a/goffice/graph/gog-plot.c b/goffice/graph/gog-plot.c
index 8228c4e..1613c5e 100644
--- a/goffice/graph/gog-plot.c
+++ b/goffice/graph/gog-plot.c
@@ -45,6 +45,21 @@
#define GOG_PLOT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOG_TYPE_PLOT, GogPlotClass))
+/**
+ * SECTION: gog-plot
+ * @short_description: A plot.
+ * @See_also: #GogChart, #GogSeries
+ *
+ * This is the object that visualizes data.
+ * To manipulate the data shown in the plot, use gog_plot_new_series() and
+ * gog_plot_clear_series()
+ *
+ * Plots are implemented as plug-ins, so make sure the plug-in system is
+ * initialized before trying to create one. See go_plugins_init()
+ *
+ * GOffice ships a number of common plot implementations by default.
+ */
+
enum {
PLOT_PROP_0,
PLOT_PROP_VARY_STYLE_BY_ELEMENT,
diff --git a/goffice/graph/gog-renderer.c b/goffice/graph/gog-renderer.c
index 233b9dc..17a32ee 100644
--- a/goffice/graph/gog-renderer.c
+++ b/goffice/graph/gog-renderer.c
@@ -51,6 +51,14 @@
#include <math.h>
+/**
+ * SECTION: gog-renderer
+ * @short_description: Rendering
+ *
+ * Note that #GogGraph has a functions for export/rendering, so you do not always
+ * need to use a #GogRenderer directly.
+*/
+
enum {
RENDERER_PROP_0,
RENDERER_PROP_MODEL,
diff --git a/goffice/graph/gog-series.c b/goffice/graph/gog-series.c
index 534744e..ccadb40 100644
--- a/goffice/graph/gog-series.c
+++ b/goffice/graph/gog-series.c
@@ -27,6 +27,13 @@
#include <string.h>
+/**
+ * SECTION: gog-series
+ * @short_description: A single data series.
+ *
+ * A #GogSeries represents a data series that can be added to a #GogPlot.
+ */
+
/* Keep in sync with GogSeriesFillType enum */
static struct {
GogSeriesFillType type;
diff --git a/goffice/gtk/go-graph-widget.c b/goffice/gtk/go-graph-widget.c
index 5c12180..0c20d86 100644
--- a/goffice/gtk/go-graph-widget.c
+++ b/goffice/gtk/go-graph-widget.c
@@ -30,6 +30,13 @@
static void go_graph_widget_request_update (GOGraphWidget *w);
+/**
+ * SECTION: go_graph_widget
+ * @short_description: Widget showing a #GogGraph.
+ *
+ * Utility widget for showing a #GogGraph.
+ */
+
enum {
GRAPH_WIDGET_PROP_0,
GRAPH_WIDGET_PROP_ASPECT_RATIO,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]