20#ifndef __GTK_DATABOX_H__
21#define __GTK_DATABOX_H__
25#include <gtk/gtkvbox.h>
34#define GTK_TYPE_DATABOX (gtk_databox_get_type ())
35#define GTK_DATABOX(obj) GTK_CHECK_CAST (obj, gtk_databox_get_type (), GtkDatabox)
36#define GTK_DATABOX_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_databox_get_type (), GtkDataboxClass)
37#define GTK_IS_DATABOX(obj) GTK_CHECK_TYPE (obj, gtk_databox_get_type ())
38#define GTK_IS_DATABOX_CLASS(klass) GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DATABOX)
39#define GTK_DATABOX_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_DATABOX, GtkDataboxClass))
42 typedef struct _GtkDatabox GtkDatabox;
43 typedef struct _GtkDataboxClass GtkDataboxClass;
47 GTK_DATABOX_NOT_DISPLAYED = 0,
51 GTK_DATABOX_CROSS_SIMPLE,
98 gboolean selection_flag;
114 GtkDataboxCoord size;
117 GtkDataboxCoord marked;
122 GtkDataboxCoord select;
134 GtkDataboxValue top_left;
135 GtkDataboxValue bottom_right;
142 GtkDataboxValue factor;
153 struct _GtkDataboxClass
155 GtkVBoxClass parent_class;
157 void (*gtk_databox) (GtkDatabox * box);
161 void (*gtk_databox_zoomed) (GtkDatabox * box,
162 GtkDataboxValue * top_left,
163 GtkDataboxValue * bottom_right);
164 void (*gtk_databox_marked) (GtkDatabox * box, GtkDataboxCoord * marked);
165 void (*gtk_databox_selection_started) (GtkDatabox * box,
166 GtkDataboxCoord * marked);
167 void (*gtk_databox_selection_changed) (GtkDatabox * box,
168 GtkDataboxCoord * marked,
169 GtkDataboxCoord * select);
170 void (*gtk_databox_selection_stopped) (GtkDatabox * box,
171 GtkDataboxCoord * marked,
172 GtkDataboxCoord * select);
173 void (*gtk_databox_selection_cancelled) (GtkDatabox * box);
177 guint gtk_databox_get_type (
void);
181 GtkWidget *gtk_databox_new (
void);
186 void gtk_databox_redraw (GtkDatabox * box);
213 gint gtk_databox_data_add_x_y (GtkDatabox * box, guint length, gfloat * X,
214 gfloat * Y, GdkColor color,
215 GtkDataboxDataType type, guint dot_size);
222 gint gtk_databox_data_add_x (GtkDatabox * box, guint length, gfloat * X,
223 gint shared_Y_index, GdkColor color,
224 GtkDataboxDataType type, guint dot_size);
231 gint gtk_databox_data_add_y (GtkDatabox * box, guint length, gfloat * Y,
232 gint shared_X_index, GdkColor color,
233 GtkDataboxDataType type, guint dot_size);
239 gint gtk_databox_data_remove (GtkDatabox * box, gint index);
240 gint gtk_databox_data_remove_all (GtkDatabox * box);
245 gint gtk_databox_data_destroy (GtkDatabox * box, gint index);
246 gint gtk_databox_data_destroy_all (GtkDatabox * box);
265 void gtk_databox_rescale (GtkDatabox * box);
266 void gtk_databox_rescale_with_values (GtkDatabox * box,
268 GtkDataboxValue max);
273 gint gtk_databox_data_get_color (GtkDatabox * box, gint index,
275 gint gtk_databox_data_set_color (GtkDatabox * box, gint index,
277 gint gtk_databox_data_get_type (GtkDatabox * box, gint index,
278 GtkDataboxDataType * type,
280 gint gtk_databox_data_set_type (GtkDatabox * box, gint index,
281 GtkDataboxDataType type, guint dot_size);
289 gint gtk_databox_data_get_grid_config (GtkDatabox * box, gint index,
290 guint * hlines, guint * vlines);
291 gint gtk_databox_data_set_grid_config (GtkDatabox * box, gint index,
292 guint hlines, guint vlines);
299 void gtk_databox_data_get_value (GtkDatabox * box, GtkDataboxCoord coord,
300 GtkDataboxValue * value);
307 void gtk_databox_data_get_extrema (GtkDatabox * box, GtkDataboxValue * min,
308 GtkDataboxValue * max);
315 void gtk_databox_data_get_visible_extrema (GtkDatabox * box,
316 GtkDataboxValue * min,
317 GtkDataboxValue * max);
328 void gtk_databox_show_rulers (GtkDatabox * box);
329 void gtk_databox_hide_rulers (GtkDatabox * box);
330 void gtk_databox_show_scrollbars (GtkDatabox * box);
331 void gtk_databox_hide_scrollbars (GtkDatabox * box);
336 void gtk_databox_show_selection_filled (GtkDatabox * box);
337 void gtk_databox_hide_selection_filled (GtkDatabox * box);
340 void gtk_databox_enable_selection (GtkDatabox * box);
341 void gtk_databox_disable_selection (GtkDatabox * box);
345 void gtk_databox_enable_zoom (GtkDatabox * box);
346 void gtk_databox_disable_zoom (GtkDatabox * box);
363 void gtk_databox_set_zoom_limit (GtkDatabox * box,
365 gfloat gtk_databox_get_zoom_limit (GtkDatabox * box);