GtkDatabox
A set of GTK+ widgets to display large amounts of numerical data quickly and easily.
gtk/gtkdatabox_markers.h
Go to the documentation of this file.
00001 /* $Id: gtkdatabox_markers.h 4 2008-06-22 09:19:11Z rbock $ */
00002 /* GtkDatabox - An extension to the gtk+ library
00003  * Copyright (C) 1998 - 2008  Dr. Roland Bock
00004  *
00005  * This program is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public License
00007  * as published by the Free Software Foundation; either version 2.1
00008  * of the License, or (at your option) any later version.
00009  * 
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU Lesser General Public License for more details.
00014  * 
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00018  */
00019 
00030 #ifndef __GTK_DATABOX_MARKERS_H__
00031 #define __GTK_DATABOX_MARKERS_H__
00032 
00033 #include <gtkdatabox_xyc_graph.h>
00034 
00035 G_BEGIN_DECLS
00036 #define GTK_DATABOX_TYPE_MARKERS                  (gtk_databox_markers_get_type ())
00037 #define GTK_DATABOX_MARKERS(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
00038                                            GTK_DATABOX_TYPE_MARKERS, \
00039                                            GtkDataboxMarkers))
00040 #define GTK_DATABOX_MARKERS_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), \
00041                                            GTK_DATABOX_TYPE_MARKERS, \
00042                                            GtkDataboxMarkersClass))
00043 #define GTK_DATABOX_IS_MARKERS(obj)       (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
00044                                            GTK_DATABOX_TYPE_MARKERS))
00045 #define GTK_DATABOX_IS_MARKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
00046                                            GTK_DATABOX_TYPE_MARKERS))
00047 #define GTK_DATABOX_MARKERS_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
00048                                            GTK_DATABOX_TYPE_MARKERS, \
00049                                            GtkDataboxMarkersClass))
00050 
00059    typedef struct _GtkDataboxMarkers GtkDataboxMarkers;
00060 
00061    typedef struct _GtkDataboxMarkersClass GtkDataboxMarkersClass;
00062 
00070    typedef struct _GtkDataboxMarkersPrivate GtkDataboxMarkersPrivate;
00071 
00082    typedef enum
00083    {
00084       GTK_DATABOX_MARKERS_C = 0,
00085       GTK_DATABOX_MARKERS_N,
00086       GTK_DATABOX_MARKERS_E,
00087       GTK_DATABOX_MARKERS_S,
00088       GTK_DATABOX_MARKERS_W
00089    }
00090    GtkDataboxMarkersPosition;
00091 
00106    typedef enum
00107    {
00108       GTK_DATABOX_MARKERS_TEXT_CENTER = 0,/* text centered   on marker */
00109       GTK_DATABOX_MARKERS_TEXT_N,         /* text north      of marker */
00110       GTK_DATABOX_MARKERS_TEXT_NE,        /* text north-east of marker */
00111       GTK_DATABOX_MARKERS_TEXT_E,         /* text east       of marker */
00112       GTK_DATABOX_MARKERS_TEXT_SE,        /* text south-east of marker */
00113       GTK_DATABOX_MARKERS_TEXT_S,         /* text south      of marker */
00114       GTK_DATABOX_MARKERS_TEXT_SW,        /* text south-west of marker */
00115       GTK_DATABOX_MARKERS_TEXT_W,         /* text west       of marker */
00116       GTK_DATABOX_MARKERS_TEXT_NW         /* text north-west of marker */
00117    }
00118    GtkDataboxMarkersTextPosition;
00119 
00129    typedef enum
00130    {
00131       GTK_DATABOX_MARKERS_NONE = 0,     /* No Marker (just text) */
00132       GTK_DATABOX_MARKERS_TRIANGLE,     /* Marker is a triangle */
00133       GTK_DATABOX_MARKERS_SOLID_LINE,   /* Marker is a solid line */
00134       GTK_DATABOX_MARKERS_DASHED_LINE   /* Marker is a dashed line */
00135    }
00136    GtkDataboxMarkersType;
00137 
00138    struct _GtkDataboxMarkers
00139    {
00140       /*< private >*/
00141       GtkDataboxXYCGraph parent;
00142 
00143       GtkDataboxMarkersPrivate *priv;
00144    };
00145 
00146    struct _GtkDataboxMarkersClass
00147    {
00148       GtkDataboxXYCGraphClass parent_class;
00149    };
00150 
00151    GType gtk_databox_markers_get_type (void);
00152 
00153    GtkDataboxGraph *gtk_databox_markers_new (guint len, gfloat * X, gfloat * Y,
00154                                             GdkColor * color, guint size,
00155                                             GtkDataboxMarkersType type);
00156    void gtk_databox_markers_set_position (GtkDataboxMarkers * markers,
00157                                          guint index,
00158                                          GtkDataboxMarkersPosition position);
00159 
00160    void gtk_databox_markers_set_label (GtkDataboxMarkers * markers,
00161                                       guint index,
00162                                       GtkDataboxMarkersTextPosition label_position,
00163                                       gchar * text, gboolean boxed);
00164 
00165 G_END_DECLS
00166 #endif                          /* __GTK_DATABOX_MARKERS_H__ */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines