2008-12-09 Claudio Saavedra <csaavedra@igalia.com>
[hildon] / src / hildon-date-button.c
index be09eff..3c12833 100644 (file)
  *
  */
 
-#include "hildon-date-selector.h"
-#include "hildon-touch-picker.h"
-#include "hildon-picker-button.h"
 #include "hildon-date-button.h"
+#include "hildon-date-selector.h"
+#include "hildon-touch-selector.h"
+
+/**
+ * SECTION:hildon-date-button
+ * @Short_Description: Button displaying and allowing selection of a date.
+ * @See_Also: #HildonPickerButton, #HildonTimeButton
+ *
+ * #HildonDateButton is a widget that shows a text label and a date, and allows
+ * the user to select a different date. Visually, it's a button that, once clicked,
+ * presents a #HildonPickerDialog containing a #HildonDateSelector. Once the user selects
+ * a different date from the selector, this will be shown in the button.
+ */
 
 G_DEFINE_TYPE (HildonDateButton, hildon_date_button, HILDON_TYPE_PICKER_BUTTON)
 
@@ -74,46 +84,80 @@ hildon_date_button_init (HildonDateButton * self)
 
   date_selector = hildon_date_selector_new ();
 
-  hildon_picker_button_set_picker (HILDON_PICKER_BUTTON (self),
-                                   HILDON_TOUCH_PICKER (date_selector));
+  hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (self),
+                                     HILDON_TOUCH_SELECTOR (date_selector));
 }
 
+/**
+ * hildon_date_button_new:
+ * @size: One of #HildonSizeType
+ * @arrangement: one of #HildonButtonArrangement
+ *
+ * Creates a new #HildonDateButton. See hildon_button_new() for details on the
+ * parameters.
+ *
+ * Returns: a new #HildonDateButton
+ **/
 GtkWidget *
-hildon_date_button_new (HildonButtonFlags flags)
+hildon_date_button_new (HildonSizeType          size,
+                        HildonButtonArrangement arrangement)
 {
   return g_object_new (HILDON_TYPE_DATE_BUTTON,
                        "title", "Date",
-                       "arrangement-flags", flags,
+                       "arrangement", arrangement,
+                       "size", size,
                        NULL);
 }
 
+/**
+ * hildon_date_button_get_date:
+ * @button: a #HildonDateButton
+ * @year: return location for the selected year
+ * @month: return location for the selected month
+ * @day: return location for the selected day
+ *
+ * Retrieves currently selected date from @button.
+ **/
 void
 hildon_date_button_get_date (HildonDateButton * button,
                              guint * year, guint * month, guint * day)
 {
-  HildonTouchPicker *picker;
+  HildonTouchSelector *selector;
 
   g_return_if_fail (HILDON_IS_DATE_BUTTON (button));
 
-  picker = hildon_picker_button_get_picker (HILDON_PICKER_BUTTON (button));
+  selector = hildon_picker_button_get_selector (HILDON_PICKER_BUTTON (button));
 
-  hildon_date_selector_get_date (HILDON_DATE_SELECTOR (picker), year, month, day);
+  hildon_date_selector_get_date (HILDON_DATE_SELECTOR (selector), year, month, day);
 }
 
+/**
+ * hildon_date_button_set_date:
+ * @button: a #HildonDateButton
+ * @year: the year to set.
+ * @month: the month number to set.
+ * @day: the day of the month to set.
+ *
+ * Sets the date in @button. The date set will be displayed
+ * and will be the default selected option on the shown #HildonDateSelector.
+ *
+ **/
 void
 hildon_date_button_set_date (HildonDateButton * button,
                              guint year, guint month, guint day)
 {
-  HildonTouchPicker *picker;
+  HildonTouchSelector *selector;
   gchar *date;
 
   g_return_if_fail (HILDON_IS_DATE_BUTTON (button));
 
-  picker = hildon_picker_button_get_picker (HILDON_PICKER_BUTTON (button));
+  selector = hildon_picker_button_get_selector (HILDON_PICKER_BUTTON (button));
 
-  hildon_date_selector_select_current_date (HILDON_DATE_SELECTOR (picker),
+  hildon_date_selector_select_current_date (HILDON_DATE_SELECTOR (selector),
                                             year, month, day);
-  date = hildon_touch_picker_get_current_text (HILDON_TOUCH_PICKER (picker));
+  date = hildon_touch_selector_get_current_text (HILDON_TOUCH_SELECTOR (selector));
 
   hildon_button_set_value (HILDON_BUTTON (button), date);
+
+  g_free (date);
 }