00001 /****************************************************************************** 00002 * Copyright (c) 1999-2008 ACCESS CO., LTD. All rights reserved. 00003 * Copyright (c) 2006 PalmSource, Inc (an ACCESS company). All rights reserved. 00004 *****************************************************************************/ 00010 #ifndef __ALP_TIME_SELECTOR_H__ 00011 #define __ALP_TIME_SELECTOR_H__ 00012 00013 #include <gdk/gdk.h> 00014 #include <gtk/gtk.h> 00015 #include <gtk/gtkbin.h> 00016 00017 G_BEGIN_DECLS 00018 00024 /* @{ */ 00025 00026 #define ALP_TYPE_TIME_SELECTOR (alp_time_selector_get_type()) 00027 #define ALP_TIME_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ALP_TYPE_TIME_SELECTOR, AlpTimeSelector)) 00028 #define ALP_TIME_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), ALP_TYPE_TIME_SELECTOR, AlpTimeSelectorClass)) 00029 #define ALP_IS_TIME_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ALP_TYPE_TIME_SELECTOR)) 00030 #define ALP_IS_TIME_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), ALP_TYPE_TIME_SELECTOR)) 00031 #define ALP_TIME_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ALP_TYPE_TIME_SELECTOR, AlpTimeSelectorClass)) 00032 00033 typedef struct _AlpTimeSelector AlpTimeSelector; 00034 typedef struct _AlpTimeSelectorClass AlpTimeSelectorClass; 00035 00036 struct _AlpTimeSelectorClass { 00037 GtkHBoxClass parent_class; 00038 00039 /* signals */ 00040 void (*value_changed)(AlpTimeSelector *selector); 00041 }; 00042 00043 struct _AlpTimeSelector { 00044 GtkHBox widget; 00045 00049 gint hour; 00050 00054 gint min; 00055 00059 gint flags; 00060 00061 /* private */ 00062 00063 GtkScale *hour1ScaleBtn; 00064 GtkScale *hour0ScaleBtn; 00065 GtkScale *min1ScaleBtn; 00066 GtkScale *min0ScaleBtn; 00067 00068 GtkWidget *ampmVBox; 00069 GtkToggleButton *amButton; 00070 GtkToggleButton *pmButton; 00071 GtkWidget *timeSeparator; 00072 00073 gboolean bTimeInited; 00074 gint hour0OldValue; 00075 gint hour0CurValue; 00076 }; 00077 00082 typedef enum { 00084 ALP_TIME_SELECTOR_24 = (1 << 0), 00086 ALP_TIME_SELECTOR_12 = (1 << 1), 00087 } AlpTimeSelectorFlags; 00088 00089 00095 GType alp_time_selector_get_type(void) G_GNUC_CONST; 00096 00101 GtkWidget *alp_time_selector_new(gint flags); 00102 00109 GtkWidget *alp_time_selector_new_with_time(gint flags, gint hour, gint min); 00110 00116 void alp_time_selector_set_hour(AlpTimeSelector *selector, gint hour); 00117 00123 void alp_time_selector_set_min(AlpTimeSelector *selector, gint min); 00124 00130 gint alp_time_selector_get_hour(AlpTimeSelector *selector); 00131 00137 gint alp_time_selector_get_min(AlpTimeSelector *selector); 00138 00150 gint alp_time_selector_select(GtkWidget *parent, const gchar *title, 00151 gint *hour, gint *min, gint flags); 00152 00153 /* @} */ 00154 00155 G_END_DECLS 00156 00157 #endif /* __ALP_TIME_SELECTOR_H__ */
Copyright © 1999-2008 ACCESS CO., LTD. All rights reserved.