"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__ */