GtkDatabox
A set of GTK+ widgets to display large amounts of numerical data quickly and easily.
|
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__ */