include/alp/dateselector.h

Go to the documentation of this file.
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__ */

Generated on Wed Jul 30 07:06:39 2008 by Doxygen 1.4.6 for ALP SDK + Hiker Documentation

Copyright © 1999-2008 ACCESS CO., LTD. All rights reserved.