Oops you missed "MODE" in the enum. ex) ELM_CALENDAR_SELECT_ALWAYS -> ELM_CALENDAR_SELECT_MODE_ALWAYS We have ELM_OBJECT_SELECT_MODE_ALWAYS. So I think it'll good to sync with them.
Thanks. Daniel Juyung Seo (SeoZ) On Thu, Apr 19, 2012 at 5:46 PM, Enlightenment SVN <[email protected]> wrote: > Log: > elementary: elm_calendar deprecate > elm_calendar_day_selection_disabled_set/get, instead now use > elm_calendar_select_mode_set/get. ELM_CALENDAR_SELECT_MODE_ONDEMAND is > present but not supported yet > > Author: yoz > Date: 2012-04-19 01:46:22 -0700 (Thu, 19 Apr 2012) > New Revision: 70319 > Trac: http://trac.enlightenment.org/e/changeset/70319 > > Modified: > trunk/elementary/src/bin/test_calendar.c > trunk/elementary/src/lib/elm_calendar.c > trunk/elementary/src/lib/elm_calendar.h > trunk/elementary/src/lib/elm_deprecated.h > > Modified: trunk/elementary/src/bin/test_calendar.c > =================================================================== > --- trunk/elementary/src/bin/test_calendar.c 2012-04-19 08:41:47 UTC (rev > 70318) > +++ trunk/elementary/src/bin/test_calendar.c 2012-04-19 08:46:22 UTC (rev > 70319) > @@ -70,7 +70,7 @@ > time_t sec_per_day = (60*60*24); > time_t sec_per_year = sec_per_day * 365; > time_t the_time = (sec_per_year * 41) + (sec_per_day * 10); /* > Set date to JAN 01, 2011 */ > - elm_calendar_day_selection_disabled_set(cal, EINA_TRUE); > + elm_calendar_select_mode_set(cal, ELM_CALENDAR_SELECT_NONE); > elm_calendar_selected_time_set(cal, gmtime(&the_time)); > } > break; > @@ -81,7 +81,7 @@ > time_t sec_per_year = sec_per_day * 365; > time_t the_time = (sec_per_year * 41) + (sec_per_day * 40); /* > Set date to FEB 01, 2011 */ > elm_calendar_marks_clear(cal); > - elm_calendar_day_selection_disabled_set(cal, EINA_TRUE); > + elm_calendar_select_mode_set(cal, ELM_CALENDAR_SELECT_NONE); > elm_calendar_selected_time_set(cal, gmtime(&the_time)); > } > break; > @@ -174,7 +174,7 @@ > > interval = elm_calendar_interval_get(cal); > elm_calendar_min_max_year_get(cal, &year_min, &year_max); > - sel_enabled = !elm_calendar_day_selection_disabled_get(cal); > + sel_enabled = !!(elm_calendar_select_mode_get(cal) != > ELM_CALENDAR_SELECT_NONE); > wds = elm_calendar_weekdays_names_get(cal); > > snprintf(info, sizeof(info), > @@ -241,7 +241,7 @@ > cal2 = elm_calendar_add(win); > evas_object_size_hint_weight_set(cal2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); > evas_object_size_hint_align_set(cal2, EVAS_HINT_FILL, EVAS_HINT_FILL); > - elm_calendar_day_selection_disabled_set(cal2, EINA_TRUE); > + elm_calendar_select_mode_set(cal2, ELM_CALENDAR_SELECT_NONE); > evas_object_show(cal2); > elm_box_pack_end(bxh, cal2); > > @@ -307,4 +307,53 @@ > evas_object_smart_callback_add(cal, "changed", _print_cal_info_cb, en); > } > > + > +void > +test_calendar3(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void > *event_info __UNUSED__) > +{ > + Evas_Object *win, *cal, *bxx; > + api_data *api = calloc(1, sizeof(api_data)); > + > + win = elm_win_util_standard_add("calendar", "Calendar"); > + elm_win_autodel_set(win, EINA_TRUE); > + evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api); > + > + bxx = elm_box_add(win); > + elm_win_resize_object_add(win, bxx); > + evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); > + evas_object_show(bxx); > + /* > + > + bx = elm_box_add(win); > + evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); > + api->box = bx; > + evas_object_show(bx); > + > + bt = elm_button_add(win); > + elm_object_text_set(bt, "Next API function"); > + evas_object_smart_callback_add(bt, "clicked", _api_bt_clicked, (void *) > api); > + elm_box_pack_end(bxx, bt); > + elm_object_disabled_set(bt, api->state == API_STATE_LAST); > + evas_object_show(bt); > + > + elm_box_pack_end(bxx, bx); > + */ > + > + cal = elm_calendar_add(win); > + elm_calendar_first_day_of_week_set(cal, ELM_DAY_THURSDAY); > + elm_calendar_select_mode_set(cal, ELM_CALENDAR_SELECT_ONDEMAND); > + evas_object_size_hint_weight_set(cal, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); > + elm_box_pack_end(bxx, cal); > +// > +// time_t sec_per_day = (60*60*24); > +// time_t sec_per_year = sec_per_day * 365; > +// time_t the_time = (sec_per_year * 41) + (sec_per_day * 9); /* Set date > to DEC 31, 2010 */ > +// elm_calendar_selected_time_set(cal, gmtime(&the_time)); > +// elm_calendar_min_max_year_set(cal, 2010, 2012); > +// > + evas_object_show(cal); > + > + evas_object_show(win); > +} > + > #endif > > Modified: trunk/elementary/src/lib/elm_calendar.c > =================================================================== > --- trunk/elementary/src/lib/elm_calendar.c 2012-04-19 08:41:47 UTC (rev > 70318) > +++ trunk/elementary/src/lib/elm_calendar.c 2012-04-19 08:46:22 UTC (rev > 70319) > @@ -31,7 +31,7 @@ > const char *weekdays[ELM_DAY_LAST]; > struct tm current_time, selected_time; > Day_Color day_color[42]; // EINA_DEPRECATED > - Eina_Bool selection_enabled : 1; > + Elm_Calendar_Select_Mode select_mode; > }; > > struct _Elm_Calendar_Mark > @@ -302,7 +302,7 @@ > if ((wd->selected_it > -1) && (wd->selected_it != i)) > _unselect(wd, wd->selected_it); > > - if (wd->selection_enabled) _select(wd, i); > + if (wd->select_mode != ELM_CALENDAR_SELECT_NONE) _select(wd, i); > > wd->selected_it = i; > } > @@ -600,7 +600,7 @@ > { > int day; > Widget_Data *wd = elm_widget_data_get(obj); > - if ((!wd) || (!wd->selection_enabled)) > + if ((!wd) || (wd->select_mode == ELM_CALENDAR_SELECT_NONE)) > return; > > day = _get_item_day(obj, sel_it); > @@ -621,7 +621,7 @@ > { > int sel_it; > Widget_Data *wd = elm_widget_data_get(data); > - if ((!wd) || (!wd->selection_enabled)) > + if ((!wd) || (wd->select_mode == ELM_CALENDAR_SELECT_NONE)) > return; > sel_it = atoi(source); > > @@ -668,7 +668,7 @@ > > if (!wd) return EINA_FALSE; > if (elm_widget_disabled_get(obj)) return EINA_FALSE; > - if (!wd->selection_enabled) return EINA_FALSE; > + if (wd->select_mode == ELM_CALENDAR_SELECT_NONE) return EINA_FALSE; > > if ((!strcmp(ev->keyname, "Left")) || > ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string))) > @@ -736,7 +736,6 @@ > wd->today_it = -1; > wd->selected_it = -1; > wd->first_day_it = -1; > - wd->selection_enabled = EINA_TRUE; > wd->format_func = _format_month_year; > wd->marks = NULL; > > @@ -864,26 +863,22 @@ > if (max) *max = wd->year_max + 1900; > } > > -EAPI void > +EINA_DEPRECATED EAPI void > elm_calendar_day_selection_disabled_set(Evas_Object *obj, Eina_Bool disabled) > { > - ELM_CHECK_WIDTYPE(obj, widtype); > - Widget_Data *wd = elm_widget_data_get(obj); > - if (!wd) return; > - wd->selection_enabled = (!disabled); > - if (!disabled) > - _select(wd, wd->selected_it); > + if (disabled) > + elm_calendar_select_mode_set(obj, ELM_CALENDAR_SELECT_NONE); > else > - _unselect(wd, wd->selected_it); > + elm_calendar_select_mode_set(obj, ELM_CALENDAR_SELECT_DEFAULT); > } > > -EAPI Eina_Bool > +EINA_DEPRECATED EAPI Eina_Bool > elm_calendar_day_selection_disabled_get(const Evas_Object *obj) > { > ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE; > Widget_Data *wd = elm_widget_data_get(obj); > if (!wd) return EINA_FALSE; > - return (!wd->selection_enabled); > + return !!(wd->select_mode == ELM_CALENDAR_SELECT_NONE); > } > > EAPI void > @@ -1003,3 +998,32 @@ > if (!wd) return -1; > return wd->first_week_day; > } > + > +EAPI void > +elm_calendar_select_mode_set(Evas_Object *obj, Elm_Calendar_Select_Mode mode) > +{ > + ELM_CHECK_WIDTYPE(obj, widtype); > + Widget_Data *wd = elm_widget_data_get(obj); > + if (!wd) return; > + if ((mode >= ELM_CALENDAR_SELECT_DEFAULT) > + && (mode <= ELM_CALENDAR_SELECT_ONDEMAND) > + && (wd->select_mode != mode)) > + { > + wd->select_mode = mode; > + if (wd->select_mode == ELM_CALENDAR_SELECT_ALWAYS) > + _select(wd, wd->selected_it); > + else > + _unselect(wd, wd->selected_it); > + } > +} > + > +EAPI Elm_Calendar_Select_Mode > +elm_calendar_select_mode_get(const Evas_Object *obj) > +{ > + ELM_CHECK_WIDTYPE(obj, widtype) -1; > + Widget_Data *wd = elm_widget_data_get(obj); > + if (!wd) return -1; > + return wd->select_mode; > +} > + > + > > Modified: trunk/elementary/src/lib/elm_calendar.h > =================================================================== > --- trunk/elementary/src/lib/elm_calendar.h 2012-04-19 08:41:47 UTC (rev > 70318) > +++ trunk/elementary/src/lib/elm_calendar.h 2012-04-19 08:46:22 UTC (rev > 70319) > @@ -86,6 +86,27 @@ > */ > typedef _Elm_Calendar_Weekday Elm_Calendar_Weekday; > > + > +typedef enum > +{ > + ELM_CALENDAR_SELECT_DEFAULT = 0, /**< Default value. a day is always > selected. */ > + ELM_CALENDAR_SELECT_ALWAYS, /**< a day is always selected. */ > + ELM_CALENDAR_SELECT_NONE, /**< None of the days can be selected. */ > + ELM_CALENDAR_SELECT_ONDEMAND /**< User may have selected a day or not. > (not supported yet)*/ > +} _Elm_Calendar_Select_Mode; > + > +/** > + * @enum _Elm_Calendar_Select_Mode > + * @typedef Elm_Calendar_Select_Mode > + * > + * the mode, who determine how user could select a day > + * > + * @see elm_calendar_select_mode_set() > + * > + * @ingroup Calendar > + */ > +typedef _Elm_Calendar_Select_Mode Elm_Calendar_Select_Mode; > + > typedef struct _Elm_Calendar_Mark Elm_Calendar_Mark; /**< Item handle for > a calendar mark. Created with elm_calendar_mark_add() and deleted with > elm_calendar_mark_del(). */ > > /** > @@ -207,41 +228,31 @@ > EAPI void elm_calendar_min_max_year_get(const Evas_Object > *obj, int *min, int *max); > > /** > - * Enable or disable day selection > + * Set select day mode to use. > * > * @param obj The calendar object. > - * @param disabled @c EINA_TRUE to disable selection or @c EINA_FALSE to > - * enable it. > + * @param select_mdoe The select mode to use. > * > - * Enabled by default. If disabled, the user still can select months, > - * but not days. Selected days are highlighted on calendar. > - * It should be used if you won't need such selection for the widget usage. > + * Set the day selection mode used. > * > - * When a day is selected, or month is changed, smart callbacks for > - * signal "changed" will be called. > - * > - * @see elm_calendar_day_selection_disabled_get() > - * > - * @ref calendar_example_04 > - * > * @ingroup Calendar > */ > -EAPI void > elm_calendar_day_selection_disabled_set(Evas_Object *obj, Eina_Bool disabled); > +EAPI void elm_calendar_select_mode_set(Evas_Object *obj, > Elm_Calendar_Select_Mode mode); > > /** > - * Get a value whether day selection is disabled or not. > + * Get the select day mode used. > * > * @param obj The calendar object. > - * @return EINA_TRUE means day selection is disabled. EINA_FALSE indicates > - * it's enabled. If @p obj is NULL, EINA_FALSE is returned. > * > - * @see elm_calendar_day_selection_disabled_set() for details. > + * @return the selected mode > * > - * @ref calendar_example_05 > + * Get the day selection mode used. > * > + * @see elm_calendar_select_mode_set() for more details > + * > * @ingroup Calendar > */ > -EAPI Eina_Bool elm_calendar_day_selection_disabled_get(const > Evas_Object *obj); > +EAPI Elm_Calendar_Select_Mode elm_calendar_select_mode_get(const Evas_Object > *obj); > > /** > * Set selected date to be highlighted on calendar. > > Modified: trunk/elementary/src/lib/elm_deprecated.h > =================================================================== > --- trunk/elementary/src/lib/elm_deprecated.h 2012-04-19 08:41:47 UTC (rev > 70318) > +++ trunk/elementary/src/lib/elm_deprecated.h 2012-04-19 08:46:22 UTC (rev > 70319) > @@ -410,3 +410,14 @@ > * @deprecated Use elm_object_item_data_set instead. > */ > EINA_DEPRECATED EAPI void elm_multibuttonentry_item_data_set(Elm_Object_Item > *it, void *data); > + > +/** > + * @deprecated Use elm_calendar_select_mode_set instead. > + */ > +EINA_DEPRECATED EAPI void > elm_calendar_day_selection_disabled_set(Evas_Object *obj, Eina_Bool disabled); > + > +/** > + * @deprecated Use elm_calendar_select_mode_get instead. > + */ > +EINA_DEPRECATED EAPI Eina_Bool > elm_calendar_day_selection_disabled_get(const Evas_Object *obj); > + > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > enlightenment-svn mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
