"Fossies" - the Fresh Open Source Software Archive 
Member "gtkdatabox-1.0.0/gtk/gtkdatabox_ruler.h" (31 Mar 2021, 6896 Bytes) of package /linux/privat/gtkdatabox-1.0.0.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "gtkdatabox_ruler.h" see the
Fossies "Dox" file reference documentation and the latest
Fossies "Diffs" side-by-side code changes report:
0.9.3.1_vs_1.0.0.
1 /* $Id: gtkdatabox_ruler.h 4 2008-06-22 09:19:11Z rbock $ */
2 /* GTK - The GIMP Toolkit
3 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301 USA.
19 */
20
21 /*
22 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
23 * file for a list of people on the GTK+ Team. See the ChangeLog
24 * files for a list of changes. These files are distributed with
25 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
26 */
27
28 /*
29 * Modified by Roland Bock 2007 - 2008.
30 */
31
32 #ifndef __GTK_DATABOX_RULER_H__
33 #define __GTK_DATABOX_RULER_H__
34
35 #include <gdk/gdk.h>
36 #include <gtk/gtk.h>
37 #include <gtkdatabox_scale.h>
38
39 /**
40 * SECTION:gtkdatabox_ruler
41 * @short_description: An improved version of the #GtkRuler.
42 * @include: gtkdatabox_ruler.h
43 * @see_also: #GtkDatabox
44 *
45 * #GtkDataboxRuler is a widget for the GTK+ library similar to GtkRuler.
46 *
47 * It is improved in several ways:
48 *
49 * <itemizedlist>
50 * <listitem>
51 * <para>
52 * It supports linear and logarithmic scales.
53 * </para>
54 * </listitem>
55 * <listitem>
56 * <para>
57 * In the vertical orientation, the labels are rotated 90° (instead of being written
58 * as a vertical column of horizontal characters). This increases readability.
59 * </para>
60 * </listitem>
61 * <listitem>
62 * <para>
63 * It works for very small and very large value ranges.
64 * </para>
65 * </listitem>
66 * </itemizedlist>
67 **/
68
69 G_BEGIN_DECLS
70 #define GTK_DATABOX_TYPE_RULER (gtk_databox_ruler_get_type ())
71 #define GTK_DATABOX_RULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_DATABOX_TYPE_RULER, GtkDataboxRuler))
72 #define GTK_DATABOX_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_DATABOX_TYPE_RULER, GtkDataboxRulerClass))
73 #define GTK_DATABOX_IS_RULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_DATABOX_TYPE_RULER))
74 #define GTK_DATABOX_IS_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_DATABOX_TYPE_RULER))
75 #define GTK_DATABOX_RULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_DATABOX_TYPE_RULER, GtkDataboxRulerClass))
76
77 /**
78 * GtkDataboxRuler:
79 *
80 * An improved version (see above) of GtkRuler which supports linear and logarithmic scales.
81 *
82 **/
83 typedef struct _GtkDataboxRuler GtkDataboxRuler;
84
85 /**
86 * GtkDataboxRulerPrivate
87 *
88 * A private data structure used by the #GtkDataboxRuler. It shields all internal things
89 * from developers who are just using the object.
90 *
91 **/
92 typedef struct _GtkDataboxRulerPrivate GtkDataboxRulerPrivate;
93
94 /**
95 * GtkDataboxRulerClass
96 *
97 * The object class of #GtkDataboxRuler.
98 *
99 **/
100 typedef struct _GtkDataboxRulerClass GtkDataboxRulerClass;
101
102 struct _GtkDataboxRulerClass
103 {
104 GtkWidgetClass parent_class;
105 };
106
107 struct _GtkDataboxRuler
108 {
109 GtkWidget widget;
110
111 GtkDataboxRulerPrivate *priv;
112 };
113
114 /**
115 * GTK_DATABOX_RULER_MAX_MAX_LENGTH
116 *
117 * The maximum upper limit of label length in characters
118 */
119 #define GTK_DATABOX_RULER_MAX_MAX_LENGTH 63
120
121 GType gtk_databox_ruler_get_type (void) G_GNUC_CONST;
122
123 GtkWidget *gtk_databox_ruler_new (GtkOrientation orientation);
124
125 void gtk_databox_ruler_set_range (GtkDataboxRuler * ruler,
126 gdouble lower,
127 gdouble upper, gdouble position);
128 void gtk_databox_ruler_set_max_length (GtkDataboxRuler * ruler,
129 guint max_length);
130 void gtk_databox_ruler_set_scale_type (GtkDataboxRuler * ruler,
131 guint scale_type);
132
133 void gtk_databox_ruler_get_range (GtkDataboxRuler * ruler,
134 gdouble * lower,
135 gdouble * upper, gdouble * position);
136 guint gtk_databox_ruler_get_max_length (GtkDataboxRuler * ruler);
137 GtkDataboxScaleType gtk_databox_ruler_get_scale_type (GtkDataboxRuler *
138 ruler);
139
140 void gtk_databox_ruler_set_orientation (GtkDataboxRuler * ruler, GtkOrientation orientation);
141 GtkOrientation gtk_databox_ruler_get_orientation (GtkDataboxRuler *ruler);
142
143 void gtk_databox_ruler_set_text_orientation (GtkDataboxRuler * ruler, GtkOrientation orientation);
144 GtkOrientation gtk_databox_ruler_get_text_orientation (GtkDataboxRuler *ruler);
145
146 void gtk_databox_ruler_set_text_alignment (GtkDataboxRuler * ruler, PangoAlignment alignment);
147 PangoAlignment gtk_databox_ruler_get_text_alignment (GtkDataboxRuler * ruler);
148
149 void gtk_databox_ruler_set_text_hoffset (GtkDataboxRuler * ruler,gint offset);
150 gint gtk_databox_ruler_get_text_hoffset (GtkDataboxRuler * ruler);
151
152 void gtk_databox_ruler_set_draw_ticks(GtkDataboxRuler * ruler, gboolean draw);
153 gboolean gtk_databox_ruler_get_draw_ticks(GtkDataboxRuler * ruler);
154
155 void gtk_databox_ruler_set_draw_position(GtkDataboxRuler * ruler, gboolean draw);
156 gboolean gtk_databox_ruler_get_draw_position(GtkDataboxRuler * ruler);
157
158 void gtk_databox_ruler_set_draw_subticks(GtkDataboxRuler * ruler, gboolean draw);
159 gboolean gtk_databox_ruler_get_draw_subticks(GtkDataboxRuler * ruler);
160
161 void gtk_databox_ruler_set_invert_edge(GtkDataboxRuler * ruler, gboolean invert);
162 gboolean gtk_databox_ruler_get_invert_edge(GtkDataboxRuler * ruler);
163
164 void gtk_databox_ruler_set_linear_label_format(GtkDataboxRuler * ruler, gchar *format);
165 void gtk_databox_ruler_set_log_label_format(GtkDataboxRuler * ruler, gchar *format);
166
167 gchar* gtk_databox_ruler_get_linear_label_format(GtkDataboxRuler * ruler);
168 gchar* gtk_databox_ruler_get_log_label_format(GtkDataboxRuler * ruler);
169
170 void gtk_databox_ruler_set_manual_ticks(GtkDataboxRuler * ruler, gfloat* manual_ticks);
171 gfloat* gtk_databox_ruler_get_manual_ticks(GtkDataboxRuler * ruler);
172
173 void gtk_databox_ruler_set_manual_tick_cnt(GtkDataboxRuler * ruler, guint manual_tick_cnt);
174 guint gtk_databox_ruler_get_manual_tick_cnt(GtkDataboxRuler * ruler);
175
176 void gtk_databox_ruler_set_manual_tick_labels(GtkDataboxRuler *ruler, gchar **manual_tick_labels);
177 gchar ** gtk_databox_ruler_get_manual_tick_labels(GtkDataboxRuler * ruler);
178
179 void gtk_databox_ruler_set_box_shadow(GtkDataboxRuler * ruler, GtkShadowType which_shadow);
180 GtkShadowType gtk_databox_ruler_get_box_shadow(GtkDataboxRuler * ruler);
181
182 G_END_DECLS
183 #endif /* __GTK_DATABOX_RULER_H__ */