manpagez: man pages & more
html files: goffice
Home | html | info | man

GogGraph

GogGraph — The graph object.

Synopsis

                    GogGraph;
                    GogGraphClass;
gboolean            gog_graph_validate_chart_layout     (GogGraph *graph);
unsigned            gog_graph_num_cols                  (GogGraph const *graph);
unsigned            gog_graph_num_rows                  (GogGraph const *graph);
GogGraph *          gog_graph_dup                       (GogGraph const *graph);
GogTheme *          gog_graph_get_theme                 (GogGraph const *graph);
void                gog_graph_set_theme                 (GogGraph *graph,
                                                         GogTheme *theme);
GSList *            gog_graph_get_data                  (GogGraph const *graph);
GOData *            gog_graph_ref_data                  (GogGraph *graph,
                                                         GOData *dat);
void                gog_graph_unref_data                (GogGraph *graph,
                                                         GOData *dat);
void                gog_graph_get_size                  (GogGraph *graph,
                                                         double *width,
                                                         double *height);
void                gog_graph_set_size                  (GogGraph *graph,
                                                         double width,
                                                         double height);
GSList *            gog_graph_get_supported_image_formats
                                                        (void);
gboolean            gog_graph_export_image              (GogGraph *graph,
                                                         GOImageFormat format,
                                                         GsfOutput *output,
                                                         double x_dpi,
                                                         double y_dpi);
void                gog_graph_render_to_cairo           (GogGraph *graph,
                                                         cairo_t *cairo,
                                                         double w,
                                                         double h);

                    GogGraphView;
void                gog_graph_view_handle_event         (GogGraphView *gview,
                                                         GdkEvent *event,
                                                         double x_offset,
                                                         double y_offset);
GogView *           gog_graph_view_get_selection        (GogGraphView *gview);
void                gog_graph_view_set_selection        (GogGraphView *gview,
                                                         GogObject *gobj);

Object Hierarchy

  GObject
   +----GogObject
         +----GogStyledObject
               +----GogOutlinedObject
                     +----GogGraph
  GObject
   +----GogView
         +----GogOutlinedView
               +----GogGraphView

Implemented Interfaces

GogGraph implements GOStyledObject.

Properties

  "document"                 GODoc*                : Read / Write
  "height-pts"               gdouble               : Read / Write
  "theme"                    GogTheme*             : Read / Write
  "theme-name"               gchar*                : Read / Write
  "width-pts"                gdouble               : Read / Write
  "renderer"                 GogRenderer*          : Write

Signals

  "add-data"                                       : Run Last
  "remove-data"                                    : Run Last
  "selection-changed"                              : Run Last

Description

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".

Details

GogGraph

typedef struct _GogGraph GogGraph;


GogGraphClass

typedef struct {
	GogOutlinedObjectClass base;

	/* signals */
	void (*add_data)    (GogGraph *graph, GOData *input);
	void (*remove_data) (GogGraph *graph, GOData *input);
} GogGraphClass;


gog_graph_validate_chart_layout ()

gboolean            gog_graph_validate_chart_layout     (GogGraph *graph);

Check the layout of the chart grid and ensure that there are no empty cols or rows, and resize as necessary

graph :

GogGraph

Returns :

TRUE if anything changed.

gog_graph_num_cols ()

unsigned            gog_graph_num_cols                  (GogGraph const *graph);

graph :

Returns :


gog_graph_num_rows ()

unsigned            gog_graph_num_rows                  (GogGraph const *graph);

graph :

Returns :


gog_graph_dup ()

GogGraph *          gog_graph_dup                       (GogGraph const *graph);

graph :

GogGraph

Returns :

a deep copy of graph.

gog_graph_get_theme ()

GogTheme *          gog_graph_get_theme                 (GogGraph const *graph);

graph :

Returns :


gog_graph_set_theme ()

void                gog_graph_set_theme                 (GogGraph *graph,
                                                         GogTheme *theme);

graph :

theme :


gog_graph_get_data ()

GSList *            gog_graph_get_data                  (GogGraph const *graph);

graph :

GogGraph

Returns :

a list of the GOData objects that are data to the graph. The caller should _not_ modify or free the list.

gog_graph_ref_data ()

GOData *            gog_graph_ref_data                  (GogGraph *graph,
                                                         GOData *dat);

graph :

GogGraph

dat :

GOData

Returns :

dat or something equivalent to it that already exists in the graph. Otherwise use dat. Adds a gobject ref to the target and increments a count of the number of refs made from this GogGraph.

gog_graph_unref_data ()

void                gog_graph_unref_data                (GogGraph *graph,
                                                         GOData *dat);

graph :

GogGraph

dat :

GOData

gog_graph_get_size ()

void                gog_graph_get_size                  (GogGraph *graph,
                                                         double *width,
                                                         double *height);

FIXME Returns the logical size of graph, in points.

graph :

GogGraph

width :

logical width in pts

height :

logical height in pts

gog_graph_set_size ()

void                gog_graph_set_size                  (GogGraph *graph,
                                                         double width,
                                                         double height);

Sets the logical size of graph, given in points.

graph :

GogGraph

width :

logical width in pts

height :

logical height in pts

gog_graph_get_supported_image_formats ()

GSList *            gog_graph_get_supported_image_formats
                                                        (void);

Builds a list of supported formats for image export.

Returns :

a GSList of GOImageFormat.

gog_graph_export_image ()

gboolean            gog_graph_export_image              (GogGraph *graph,
                                                         GOImageFormat format,
                                                         GsfOutput *output,
                                                         double x_dpi,
                                                         double y_dpi);

Exports an image of graph in given format, writing results in a GsfOutput stream. If export format type is a bitmap one, it computes image size with x_dpi, y_dpi and graph size (see @gog_graph_get_size()).

graph :

a GogGraph

format :

image format for export

output :

a GsfOutput stream

x_dpi :

x resolution of exported graph

y_dpi :

y resolution of exported graph

Returns :

TRUE if export succeed.

gog_graph_render_to_cairo ()

void                gog_graph_render_to_cairo           (GogGraph *graph,
                                                         cairo_t *cairo,
                                                         double w,
                                                         double h);

Renders a graph using cairo. w and h are the requested width an height of the rendered graph, in the current cairo coordinate space. This function is not suited for multiple rendering of the same graph. gog_renderer_render_to cairo or gog_renderer_update/gog_renderer_get_cairo_surface should be used instead.

graph :

a GogGraph

cairo :

a cairo context

w :

width

h :

height

GogGraphView

typedef struct _GogGraphView GogGraphView;


gog_graph_view_handle_event ()

void                gog_graph_view_handle_event         (GogGraphView *gview,
                                                         GdkEvent *event,
                                                         double x_offset,
                                                         double y_offset);

Handle events.

gview :

GogGraphView

event :

GdkEvent

x_offset :

in pixels

y_offset :

in pixels

gog_graph_view_get_selection ()

GogView *           gog_graph_view_get_selection        (GogGraphView *gview);

gview :

GogGraphView

Returns :

current selected view.

gog_graph_view_set_selection ()

void                gog_graph_view_set_selection        (GogGraphView *gview,
                                                         GogObject *gobj);

Sets gobj as current selection. If gobj is different from previously selected object, a selection-changed signal is emitted.

gview :

GogGraphView

gobj :

new selected object

Property Details

The "document" property

  "document"                 GODoc*                : Read / Write

the document for this graph.


The "height-pts" property

  "height-pts"               gdouble               : Read / Write

Logical graph height, in points.

Allowed values: >= 0

Default value: 226.772


The "theme" property

  "theme"                    GogTheme*             : Read / Write

The theme for elements of the graph.


The "theme-name" property

  "theme-name"               gchar*                : Read / Write

The name of the theme for elements of the graph.

Default value: "default"


The "width-pts" property

  "width-pts"                gdouble               : Read / Write

Logical graph width, in points.

Allowed values: >= 0

Default value: 340.157


The "renderer" property

  "renderer"                 GogRenderer*          : Write

the renderer for this view.

Signal Details

The "add-data" signal

void                user_function                      (GogGraph *graph,
                                                        GObject  *data,
                                                        gpointer  user_data)      : Run Last

The ::add-data signal is emitted BEFORE data has been added.

graph :

the object on which the signal is emitted

data :

The new GOData being added to graph

user_data :

user data set when the signal handler was connected.

The "remove-data" signal

void                user_function                      (GogGraph *graph,
                                                        GObject  *data,
                                                        gpointer  user_data)      : Run Last

The ::remove-data signal is emitted BEFORE data has been removed.

graph :

the object on which the signal is emitted

data :

The new GOData being removed to graph

user_data :

user data set when the signal handler was connected.

The "selection-changed" signal

void                user_function                      (GogGraphView *goggraphview,
                                                        GObject      *arg1,
                                                        gpointer      user_data)         : Run Last

goggraphview :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.