widget_option: used hoversel for popup orient option.

This commit is contained in:
Daniel Juyung Seo 2013-08-30 18:15:48 +09:00
parent 9e6c219537
commit 3ea332fdc6
1 changed files with 38 additions and 23 deletions

View File

@ -308,6 +308,25 @@ _widget_option_genlist_create(Evas_Object *box)
} }
// popup // popup
struct _Popup_Orient
{
const char *name;
Elm_Popup_Orient orient;
};
struct _Popup_Orient _popup_orient[ELM_POPUP_ORIENT_LAST] =
{
{ "Top", ELM_POPUP_ORIENT_TOP },
{ "Center", ELM_POPUP_ORIENT_CENTER },
{ "Bottom", ELM_POPUP_ORIENT_BOTTOM },
{ "Left", ELM_POPUP_ORIENT_LEFT },
{ "Right", ELM_POPUP_ORIENT_RIGHT },
{ "Top Left", ELM_POPUP_ORIENT_TOP_LEFT },
{ "Top Right", ELM_POPUP_ORIENT_TOP_RIGHT },
{ "Bottom Left", ELM_POPUP_ORIENT_BOTTOM_LEFT },
{ "Bottom Right", ELM_POPUP_ORIENT_BOTTOM_RIGHT }
};
static void static void
_popup_button_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, _popup_button_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
void *event_info EINA_UNUSED) void *event_info EINA_UNUSED)
@ -344,18 +363,20 @@ _popup_content_changed_cb(void *data EINA_UNUSED,
} }
static void static void
_popup_orient_changed_cb(void *data EINA_UNUSED, _popup_orient_changed_cb(void *data, Evas_Object *obj,
Evas_Object *obj,
void *event_info EINA_UNUSED) void *event_info EINA_UNUSED)
{ {
wod->pop_orient = elm_radio_value_get(obj); wod->pop_orient = (int)(uintptr_t)data;
gui_preview_update(); gui_preview_update();
elm_object_text_set(obj, _popup_orient[wod->pop_orient].name);
} }
static void static void
_widget_option_popup_create(Evas_Object *box) _widget_option_popup_create(Evas_Object *box)
{ {
Evas_Object *o = NULL, *rdg = NULL; Evas_Object *o = NULL, *rdg = NULL;
int i = 0;
// number of buttons // number of buttons
WIDGET_OPTION_LABEL_ADD(" < Number of Buttons > "); WIDGET_OPTION_LABEL_ADD(" < Number of Buttons > ");
@ -397,26 +418,20 @@ _widget_option_popup_create(Evas_Object *box)
WIDGET_OPTION_SEPARATOR_ADD(); WIDGET_OPTION_SEPARATOR_ADD();
// orient set // orient set
WIDGET_OPTION_LABEL_ADD(" < Orient Set > "); WIDGET_OPTION_LABEL_ADD(" < Popup Orient > ");
WIDGET_OPTION_RADIO_ADD("Top", 0, _popup_orient_changed_cb);
rdg = o; o = elm_hoversel_add(box);
WIDGET_OPTION_RADIO_ADD("Center", 1, _popup_orient_changed_cb); WEIGHT(o, EVAS_HINT_EXPAND, 0.0); ALIGN(o, 0.0, 0.0);
elm_radio_group_add(o, rdg); elm_hoversel_hover_parent_set(o, gd->win);
WIDGET_OPTION_RADIO_ADD("Bottom", 2, _popup_orient_changed_cb); elm_object_text_set(o, _popup_orient[wod->pop_orient].name);
elm_radio_group_add(o, rdg); for (i = 0; i < ELM_POPUP_ORIENT_LAST; i++)
WIDGET_OPTION_RADIO_ADD("Left", 3, _popup_orient_changed_cb); {
elm_radio_group_add(o, rdg); elm_hoversel_item_add(o, _popup_orient[i].name, NULL, ELM_ICON_NONE,
WIDGET_OPTION_RADIO_ADD("Right", 4, _popup_orient_changed_cb); _popup_orient_changed_cb,
elm_radio_group_add(o, rdg); (void *)(uintptr_t)_popup_orient[i].orient);
WIDGET_OPTION_RADIO_ADD("Top Left", 5, _popup_orient_changed_cb); }
elm_radio_group_add(o, rdg); elm_box_pack_end(box, o);
WIDGET_OPTION_RADIO_ADD("Top Right", 6, _popup_orient_changed_cb); evas_object_show(o);
elm_radio_group_add(o, rdg);
WIDGET_OPTION_RADIO_ADD("Bottom Left", 7, _popup_orient_changed_cb);
elm_radio_group_add(o, rdg);
WIDGET_OPTION_RADIO_ADD("Bottom Right", 8, _popup_orient_changed_cb);
elm_radio_group_add(o, rdg);
elm_radio_value_set(rdg, wod->pop_orient);
} }
// progressbar // progressbar