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_DATE_SELECTOR_H__ 00011 #define __ALP_DATE_SELECTOR_H__ 00012 00013 #include <gdk/gdk.h> 00014 #include <gtk/gtk.h> 00015 #include <gtk/gtkbin.h> 00016 00017 G_BEGIN_DECLS 00018 00025 /* @{ */ 00026 00027 #define ALP_TYPE_DATE_SELECTOR (alp_date_selector_get_type()) 00028 #define ALP_DATE_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ALP_TYPE_DATE_SELECTOR, AlpDateSelector)) 00029 #define ALP_DATE_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), ALP_TYPE_DATE_SELECTOR, AlpDateSelectorClass)) 00030 #define ALP_IS_DATE_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ALP_TYPE_DATE_SELECTOR)) 00031 #define ALP_IS_DATE_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), ALP_TYPE_DATE_SELECTOR)) 00032 #define ALP_DATE_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ALP_TYPE_DATE_SELECTOR, AlpDateSelectorClass)) 00033 00034 #define ALP_DATE_SELECTOR_CALENDAR_NROWS 6 /* ceil((31 + 6) / 7) */ 00035 00036 typedef struct _AlpDateSelectorClass AlpDateSelectorClass; 00037 typedef struct _AlpDateSelector AlpDateSelector; 00038 typedef struct _AlpDateSelectorPrivate AlpDateSelectorPrivate; 00039 00040 struct _AlpDateSelectorClass { 00041 GtkVBoxClass parent_class; 00042 00043 /* Signal handlers */ 00044 void (* date_selected) (AlpDateSelector *date_selector); 00045 }; 00046 00047 struct _AlpDateSelector { 00048 GtkVBox bin; 00049 00050 AlpDateSelectorPrivate *priv; 00051 }; 00052 00062 typedef enum { 00064 ALP_DATE_SELECTOR_BEGINS_SUN = 0, 00065 ALP_DATE_SELECTOR_BEGINS_MON = 1, 00066 ALP_DATE_SELECTOR_BEGINS_TUE = 2, 00067 ALP_DATE_SELECTOR_BEGINS_WED = 3, 00068 ALP_DATE_SELECTOR_BEGINS_THU = 4, 00069 ALP_DATE_SELECTOR_BEGINS_FRI = 5, 00070 ALP_DATE_SELECTOR_BEGINS_SAT = 6, 00071 00073 ALP_DATE_SELECTOR_BEGINS_MASK = 0x07, 00074 00076 ALP_DATE_SELECTOR_SPECIFY_WEEK_START = (1 << 3), 00077 00079 ALP_DATE_SELECTOR_NEED_TODAY = (1 << 16), 00080 00082 ALP_DATE_SELECTOR_TIME_T_RANGE = (1 << 17) 00083 } AlpDateSelectorFlags; 00084 00085 00090 GType alp_date_selector_get_type(void) G_GNUC_CONST; 00091 00096 GtkWidget *alp_date_selector_new(gint flags); 00097 00103 void alp_date_selector_set_year(AlpDateSelector *selector, gint year); 00104 00110 gint alp_date_selector_get_year(AlpDateSelector *selector); 00111 00118 void alp_date_selector_set_month(AlpDateSelector *selector, gint month); 00119 00124 gint alp_date_selector_get_month(AlpDateSelector *selector); 00125 00131 void alp_date_selector_set_day(AlpDateSelector *selector, gint day); 00132 00137 gint alp_date_selector_get_day(AlpDateSelector *selector); 00138 00145 void alp_date_selector_set_range(AlpDateSelector *selector, 00146 gint min, gint max); 00147 00148 00161 void alp_date_selector_set_time_t_range(AlpDateSelector *selector); 00162 00168 void alp_date_selector_get_range(AlpDateSelector *selector, 00169 gint *min, gint *max); 00170 00177 void alp_date_selector_register_today_button(AlpDateSelector *selector, 00178 GtkButton* today); 00179 00191 gint alp_date_selector_select(GtkWidget *parent, const gchar *title, 00192 gint *year, gint *month, gint *day, gint flags); 00193 00194 /* @} */ 00195 G_END_DECLS 00196 00197 #endif /* __ALP_DATE_SELECTOR_H__ */
Copyright © 1999-2008 ACCESS CO., LTD. All rights reserved.