GwyGraphArea

GwyGraphArea — Layout for drawing graph curves

Synopsis

#include <libgwydgets/gwydgets.h>

struct              GwyGraphArea;
struct              GwyGraphAreaClass;
GtkWidget *         gwy_graph_area_new                  (void);
GtkWidget *         gwy_graph_area_get_label            (GwyGraphArea *area);
void                gwy_graph_area_set_model            (GwyGraphArea *area,
                                                         GwyGraphModel *gmodel);
GwyGraphModel *     gwy_graph_area_get_model            (GwyGraphArea *area);
void                gwy_graph_area_get_cursor           (GwyGraphArea *area,
                                                         gdouble *x_cursor,
                                                         gdouble *y_cursor);
void                gwy_graph_area_set_x_range          (GwyGraphArea *area,
                                                         gdouble x_min,
                                                         gdouble x_max);
void                gwy_graph_area_set_y_range          (GwyGraphArea *area,
                                                         gdouble y_min,
                                                         gdouble y_max);
void                gwy_graph_area_set_x_grid_data      (GwyGraphArea *area,
                                                         guint ndata,
                                                         const gdouble *grid_data);
void                gwy_graph_area_set_y_grid_data      (GwyGraphArea *area,
                                                         guint ndata,
                                                         const gdouble *grid_data);
const gdouble *     gwy_graph_area_get_x_grid_data      (GwyGraphArea *area,
                                                         guint *ndata);
const gdouble *     gwy_graph_area_get_y_grid_data      (GwyGraphArea *area,
                                                         guint *ndata);
GwySelection *      gwy_graph_area_get_selection        (GwyGraphArea *area,
                                                         GwyGraphStatusType status_type);
void                gwy_graph_area_set_status           (GwyGraphArea *area,
                                                         GwyGraphStatusType status_type);
GwyGraphStatusType  gwy_graph_area_get_status           (GwyGraphArea *area);
void                gwy_graph_area_draw_on_drawable     (GwyGraphArea *area,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height);
GString *           gwy_graph_area_export_vector        (GwyGraphArea *area,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height);
void                gwy_graph_area_enable_user_input    (GwyGraphArea *area,
                                                         gboolean enable);
void                gwy_graph_area_edit_curve           (GwyGraphArea *area,
                                                         gint id);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkLayout
                                 +----GwyGraphArea

Implemented Interfaces

GwyGraphArea implements AtkImplementorIface and GtkBuildable.

Properties

  "status"                   GwyGraphStatusType    : Read / Write

Signals

  "edit-curve"                                     : Action

Description

GwyGraphArea is the central part of GwyGraph widget. It plots a set of data curves with the given plot properties.

It is recommended to use it within GwyGraph, however, it can also be used separately.

Details

struct GwyGraphArea

struct GwyGraphArea;


struct GwyGraphAreaClass

struct GwyGraphAreaClass {
    GtkLayoutClass parent_class;

    void (*edit_curve)(GwyGraphArea *area,
                       gint id);
    void (*reserved2)(void);
};


gwy_graph_area_new ()

GtkWidget *         gwy_graph_area_new                  (void);

Creates a new graph area widget.

Returns :

Newly created graph area as GtkWidget.

gwy_graph_area_get_label ()

GtkWidget *         gwy_graph_area_get_label            (GwyGraphArea *area);

Gets the label inside a graph area.

area :

A graph area.

Returns :

The graph label widget within the graph area.

gwy_graph_area_set_model ()

void                gwy_graph_area_set_model            (GwyGraphArea *area,
                                                         GwyGraphModel *gmodel);

Sets the graph model of a graph area.

area :

A graph area.

gmodel :

New graph model.

gwy_graph_area_get_model ()

GwyGraphModel *     gwy_graph_area_get_model            (GwyGraphArea *area);

Gets the model of a graph area.

area :

A graph area.

Returns :

The graph model this graph area widget displays.

gwy_graph_area_get_cursor ()

void                gwy_graph_area_get_cursor           (GwyGraphArea *area,
                                                         gdouble *x_cursor,
                                                         gdouble *y_cursor);

Gets mouse cursor related values within a graph area.

area :

A graph area.

x_cursor :

Location to store the x value corresponding to cursor position.

y_cursor :

Location to store the y value corresponding to cursor position.

gwy_graph_area_set_x_range ()

void                gwy_graph_area_set_x_range          (GwyGraphArea *area,
                                                         gdouble x_min,
                                                         gdouble x_max);

Sets the horizontal range a graph area displays.

area :

A graph area.

x_min :

The minimum x value, in real coodrinates.

x_max :

The maximum x value, in real coodrinates.

gwy_graph_area_set_y_range ()

void                gwy_graph_area_set_y_range          (GwyGraphArea *area,
                                                         gdouble y_min,
                                                         gdouble y_max);

Sets the vertical range a graph area displays.

area :

A graph area.

y_min :

The minimum y value, in real coodrinates.

y_max :

The maximum y value, in real coodrinates.

gwy_graph_area_set_x_grid_data ()

void                gwy_graph_area_set_x_grid_data      (GwyGraphArea *area,
                                                         guint ndata,
                                                         const gdouble *grid_data);

Sets the grid data on the x-axis of a graph area

area :

A graph area.

ndata :

The number of points in grid_data.

grid_data :

Array of grid line positions on the x-axis (in real values, not pixels).

gwy_graph_area_set_y_grid_data ()

void                gwy_graph_area_set_y_grid_data      (GwyGraphArea *area,
                                                         guint ndata,
                                                         const gdouble *grid_data);

Sets the grid data on the y-axis of a graph area

ndata :

The number of points in grid_data.

grid_data :

Array of grid line positions on the y-axis (in real values, not pixels).

gwy_graph_area_get_x_grid_data ()

const gdouble *     gwy_graph_area_get_x_grid_data      (GwyGraphArea *area,
                                                         guint *ndata);

Gets the grid data on the x-axis of a graph area.

area :

A graph area.

ndata :

Location to store the number of returned positions.

Returns :

Array of grid line positions (in real values, not pixels) owned by the graph area.

gwy_graph_area_get_y_grid_data ()

const gdouble *     gwy_graph_area_get_y_grid_data      (GwyGraphArea *area,
                                                         guint *ndata);

Gets the grid data on the y-axis of a graph area.

area :

A graph area.

ndata :

Location to store the number of returned positions.

Returns :

Array of grid line positions (in real values, not pixels) owned by the graph area.

gwy_graph_area_get_selection ()

GwySelection *      gwy_graph_area_get_selection        (GwyGraphArea *area,
                                                         GwyGraphStatusType status_type);

Gets the selection object corresponding to a status of a graph area.

A selection object exists even for inactive status types (selection modes), therefore also selections for other modes than the currently active one can be requested.

area :

A graph area.

status_type :

Graph status. Value GWY_GRAPH_STATUS_PLAIN mode (which has no selection associated) stands for the currentl selection mode.

Returns :

The requested selection. It is NULL only if status_type is GWY_GRAPH_STATUS_PLAIN and the current selection mode is GWY_GRAPH_STATUS_PLAIN.

gwy_graph_area_set_status ()

void                gwy_graph_area_set_status           (GwyGraphArea *area,
                                                         GwyGraphStatusType status_type);

Sets the status of a graph area.

When the area is inside a GwyGraph, use gwy_graph_set_status() instead (also see this function for details).

area :

A graph area.

status_type :

New graph area status.

gwy_graph_area_get_status ()

GwyGraphStatusType  gwy_graph_area_get_status           (GwyGraphArea *area);

Gets the status of a grap area.

See gwy_graph_area_set_status().

area :

A graph area.

Returns :

The current graph area status.

gwy_graph_area_draw_on_drawable ()

void                gwy_graph_area_draw_on_drawable     (GwyGraphArea *area,
                                                         GdkDrawable *drawable,
                                                         GdkGC *gc,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height);

Draws a graph area to a Gdk drawable.

area :

A graph area.

drawable :

a GdkDrawable (destination for graphics operations)

gc :

Graphics context. It is modified by this function unpredictably.

x :

X position in drawable where the graph area should be drawn

y :

Y position in drawable where the graph area should be drawn

width :

width of the graph area on the drawable

height :

height of the graph area on the drawable

gwy_graph_area_export_vector ()

GString *           gwy_graph_area_export_vector        (GwyGraphArea *area,
                                                         gint x,
                                                         gint y,
                                                         gint width,
                                                         gint height);

Creates PostScript representation of a graph area.

area :

A graph area.

Returns :

A fragment of PostScript code representing the the graph area as a newly allocated GString.

gwy_graph_area_enable_user_input ()

void                gwy_graph_area_enable_user_input    (GwyGraphArea *area,
                                                         gboolean enable);

Enables/disables all user input dialogs (invoked by clicking the mouse).

area :

A graph area.

enable :

TRUE to enable user interaction, FALSE to disable it.

gwy_graph_area_edit_curve ()

void                gwy_graph_area_edit_curve           (GwyGraphArea *area,
                                                         gint id);

Invokes the curve property dialog for a curve.

If the dialog is already displayed, it is switched to the requested curve.

area :

A graph area.

id :

The index of the curve to edit properties of.

Since 2.5

Property Details

The "status" property

  "status"                   GwyGraphStatusType    : Read / Write

The type of reaction to mouse events (zoom, selections).

Default value: GWY_GRAPH_STATUS_PLAIN

Signal Details

The "edit-curve" signal

void                user_function                      (GwyGraphArea *gwygraphcurvemodel,
                                                        gint          arg1,
                                                        gpointer      user_data)               : Action

The ::data-changed signal is emitted when a curve properties are to be edited.

gwygraphcurvemodel :

The GwyGraphArea which received the signal.

arg1 :

The index of the curve to edit.

user_data :

user data set when the signal handler was connected.

Since 2.5