00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef GTK_PERIODIC_H
00026 #define GTK_PERIODIC_H
00027
00028 #include <gdk/gdk.h>
00029 #include <gtk/gtkbin.h>
00030 #include <gtk/gtkvbox.h>
00031 #include <gtk/gtktogglebutton.h>
00032
00033 G_BEGIN_DECLS
00034
00045 enum
00046 {
00047 GTK_PERIODIC_COLOR_NONE,
00048 GTK_PERIODIC_COLOR_DEFAULT,
00049 GTK_PERIODIC_COLOR_MAX,
00050 };
00051
00052 #define GTK_TYPE_PERIODIC (gtk_periodic_get_type ())
00053 #define GTK_PERIODIC(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PERIODIC, GtkPeriodic))
00054 #define GTK_PERIODIC_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PERIODIC, GtkPeriodicClass))
00055 #define GTK_IS_PERIODIC(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PERIODIC))
00056 #define GTK_IS_PERIODIC_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PERIODIC))
00057 #define GTK_PERIODIC_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_PERIODIC, GtkPeriodicClass))
00058
00059 typedef struct _GtkPeriodic GtkPeriodic;
00060 typedef struct _GtkPeriodicClass GtkPeriodicClass;
00061 typedef struct _GtkPeriodicPrivate GtkPeriodicPrivate;
00062
00096 typedef void (*GtkPeriodicColorFunc) (int, GdkColor*, gpointer);
00097
00098 struct _GtkPeriodic
00099 {
00100 GtkBin bin;
00101
00102 GtkPeriodicPrivate *priv;
00103 };
00104
00105 struct _GtkPeriodicClass
00106 {
00107 GtkBinClass parent_class;
00108
00109 void (* element_changed_event)(GtkPeriodic *periodic);
00110 };
00111
00112 GType gtk_periodic_get_type (void) G_GNUC_CONST;
00113 GtkWidget* gtk_periodic_new (void);
00114
00123 guint gtk_periodic_get_element (GtkPeriodic* periodic);
00132 void gtk_periodic_set_element (GtkPeriodic* periodic, guint element);
00133
00134 int gtk_periodic_add_color_scheme (GtkPeriodic *periodic,
00135 GtkPeriodicColorFunc func,
00136 GtkWidget *extra_widget,
00137 gpointer user_data);
00138 void gtk_periodic_set_colors(GtkPeriodic *periodic);
00139 G_END_DECLS
00140
00141 #endif //GTK_PERIODIC_H