elementary/segment_control - Elm_Segment_Item -> Elm_Object_Item

SVN revision: 66730
This commit is contained in:
ChunEon Park 2012-01-02 06:01:24 +00:00
parent a2a76e41aa
commit 6b127fc932
4 changed files with 78 additions and 84 deletions

View File

@ -8,7 +8,7 @@ void
test_segment_control(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *win, *bg, *ic, *ic1, *ic2, *ic3, *ic4, *ic5;
Elm_Segment_Item *it;
Elm_Object_Item *seg_it;
Evas_Object * in_layout;
Evas_Object *segment1, *segment2, *segment3, *segment4;
@ -47,16 +47,16 @@ test_segment_control(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *e
segment1 = elm_segment_control_add(win);
elm_segment_control_item_add(segment1, NULL, "Only Text");
it = elm_segment_control_item_add(segment1, ic, NULL);
elm_segment_control_item_selected_set(it, EINA_TRUE);
seg_it = elm_segment_control_item_add(segment1, ic, NULL);
elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
elm_segment_control_item_add(segment1, ic1, "Text_Icon_test");
elm_segment_control_item_add(segment1, NULL, "Seg4");
elm_segment_control_item_add(segment1, NULL, "Seg5");
segment2 = elm_segment_control_add(win);
elm_segment_control_item_add(segment2, NULL, "SegmentItem");
it = elm_segment_control_item_add(segment2, NULL, "SegmentItem");
elm_segment_control_item_selected_set(it, EINA_TRUE);
seg_it = elm_segment_control_item_add(segment2, NULL, "SegmentItem");
elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
elm_segment_control_item_add(segment2, NULL, "SegmentControlItem");
elm_segment_control_item_add(segment2, NULL, "SegmentItem");
@ -77,8 +77,8 @@ test_segment_control(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *e
segment3 = elm_segment_control_add(win);
elm_segment_control_item_add(segment3, ic2, NULL);
it = elm_segment_control_item_add(segment3, ic3, NULL);
elm_segment_control_item_selected_set(it, EINA_TRUE);
seg_it = elm_segment_control_item_add(segment3, ic3, NULL);
elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
elm_segment_control_item_add(segment3, ic4, NULL);
ic5 = elm_icon_add(in_layout);
@ -88,8 +88,8 @@ test_segment_control(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *e
segment4 = elm_segment_control_add(win);
elm_segment_control_item_add(segment4, NULL, "Disabled");
it = elm_segment_control_item_add(segment4, ic5, "Disabled");
elm_segment_control_item_selected_set(it, EINA_TRUE);
seg_it = elm_segment_control_item_add(segment4, ic5, "Disabled");
elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
elm_segment_control_item_add(segment4, NULL, "Disabled");
elm_object_disabled_set(segment4, EINA_TRUE);

View File

@ -28,7 +28,7 @@ int
elm_main(int argc __UNUSED__, char **argv __UNUSED__)
{
Evas_Object *win, *bg, *sc, *ic;
Elm_Segment_Item *it;
Elm_Object_Item *seg_it;
int count, index;
win = elm_win_add(NULL, "segment_control", ELM_WIN_BASIC);
@ -62,20 +62,20 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__)
count = elm_segment_control_item_count_get(sc);
elm_segment_control_item_insert_at(sc, NULL, "Inserted at", count - 1);
it = elm_segment_control_item_insert_at(sc, NULL, "To be deleted", 2);
elm_segment_control_item_del(it);
seg_it = elm_segment_control_item_insert_at(sc, NULL, "To be deleted", 2);
elm_segment_control_item_del(seg_it);
elm_segment_control_item_insert_at(sc, NULL, "To be deleted", 2);
elm_segment_control_item_del_at(sc, 2);
it = elm_segment_control_item_get(sc, 0);
elm_segment_control_item_label_set(it, "Only Text");
seg_it = elm_segment_control_item_get(sc, 0);
elm_segment_control_item_label_set(seg_it, "Only Text");
count = elm_segment_control_item_count_get(sc);
it = elm_segment_control_item_get(sc, count / 2);
elm_segment_control_item_selected_set(it, EINA_TRUE);
it = elm_segment_control_item_selected_get(sc);
index = elm_segment_control_item_index_get(it);
seg_it = elm_segment_control_item_get(sc, count / 2);
elm_segment_control_item_selected_set(seg_it, EINA_TRUE);
seg_it = elm_segment_control_item_selected_get(sc);
index = elm_segment_control_item_index_get(seg_it);
printf("Item selected: %i\n", index);
evas_object_show(win);

View File

@ -2,6 +2,7 @@
#include "elm_priv.h"
typedef struct _Widget_Data Widget_Data;
typedef struct _Elm_Segment_Item Elm_Segment_Item;
struct _Widget_Data
{
@ -518,7 +519,7 @@ elm_segment_control_add(Evas_Object *parent)
return obj;
}
EAPI Elm_Segment_Item *
EAPI Elm_Object_Item *
elm_segment_control_item_add(Evas_Object *obj, Evas_Object *icon,
const char *label)
{
@ -535,10 +536,10 @@ elm_segment_control_item_add(Evas_Object *obj, Evas_Object *icon,
wd->seg_items = eina_list_append(wd->seg_items, it);
_update_list(wd);
return it;
return (Elm_Object_Item *) it;
}
EAPI Elm_Segment_Item *
EAPI Elm_Object_Item *
elm_segment_control_item_insert_at(Evas_Object *obj, Evas_Object *icon,
const char *label, int idx)
{
@ -560,19 +561,20 @@ elm_segment_control_item_insert_at(Evas_Object *obj, Evas_Object *icon,
wd->seg_items = eina_list_append(wd->seg_items, it);
_update_list(wd);
return it;
return (Elm_Object_Item *) it;
}
EAPI void
elm_segment_control_item_del(Elm_Segment_Item *it)
elm_segment_control_item_del(Elm_Object_Item *it)
{
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Widget_Data *wd;
Elm_Segment_Item *item = (Elm_Segment_Item *) it;
wd = elm_widget_item_data_get(it);
wd = elm_widget_item_data_get(item);
if (!wd) return;
_item_free(it);
_item_free(item);
_update_list(wd);
}
@ -605,22 +607,23 @@ elm_segment_control_item_label_get(const Evas_Object *obj, int idx)
}
EAPI void
elm_segment_control_item_label_set(Elm_Segment_Item* it, const char* label)
elm_segment_control_item_label_set(Elm_Object_Item* it, const char* label)
{
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Widget_Data *wd;
Elm_Segment_Item *item = (Elm_Segment_Item *) it;
wd = elm_widget_item_data_get(it);
wd = elm_widget_item_data_get(item);
if (!wd) return;
eina_stringshare_replace(&it->label, label);
if (it->label)
edje_object_signal_emit(VIEW(it), "elm,state,text,visible", "elm");
eina_stringshare_replace(&item->label, label);
if (item->label)
edje_object_signal_emit(VIEW(item), "elm,state,text,visible", "elm");
else
edje_object_signal_emit(VIEW(it), "elm,state,text,hidden", "elm");
edje_object_message_signal_process(VIEW(it));
edje_object_signal_emit(VIEW(item), "elm,state,text,hidden", "elm");
edje_object_message_signal_process(VIEW(item));
//label can be NULL also.
edje_object_part_text_set(VIEW(it), "elm.text", it->label);
edje_object_part_text_set(VIEW(item), "elm.text", item->label);
}
EAPI Evas_Object *
@ -636,27 +639,28 @@ elm_segment_control_item_icon_get(const Evas_Object *obj, int idx)
}
EAPI void
elm_segment_control_item_icon_set(Elm_Segment_Item *it, Evas_Object *icon)
elm_segment_control_item_icon_set(Elm_Object_Item *it, Evas_Object *icon)
{
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Elm_Segment_Item *item = (Elm_Segment_Item *) it;
//Remove the existing icon
if (it->icon)
if (item->icon)
{
edje_object_part_unswallow(VIEW(it), it->icon);
evas_object_del(it->icon);
it->icon = NULL;
edje_object_part_unswallow(VIEW(item), item->icon);
evas_object_del(item->icon);
item->icon = NULL;
}
it->icon = icon;
if (it->icon)
item->icon = icon;
if (item->icon)
{
elm_widget_sub_object_add(VIEW(it), it->icon);
edje_object_part_swallow(VIEW(it), "elm.swallow.icon", it->icon);
edje_object_signal_emit(VIEW(it), "elm,state,icon,visible", "elm");
elm_widget_sub_object_add(VIEW(item), item->icon);
edje_object_part_swallow(VIEW(item), "elm.swallow.icon", item->icon);
edje_object_signal_emit(VIEW(item), "elm,state,icon,visible", "elm");
}
else
edje_object_signal_emit(VIEW(it), "elm,state,icon,hidden", "elm");
edje_object_signal_emit(VIEW(item), "elm,state,icon,hidden", "elm");
}
EAPI int
@ -672,63 +676,55 @@ elm_segment_control_item_count_get(const Evas_Object *obj)
}
EAPI Evas_Object*
elm_segment_control_item_object_get(const Elm_Segment_Item *it)
elm_segment_control_item_object_get(const Elm_Object_Item *it)
{
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, NULL);
ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
return VIEW(it);
}
EAPI Elm_Segment_Item*
EAPI Elm_Object_Item*
elm_segment_control_item_selected_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd;
wd = elm_widget_data_get(obj);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return wd->selected_item;
return (Elm_Object_Item *) wd->selected_item;
}
EAPI void
elm_segment_control_item_selected_set(Elm_Segment_Item *it, Eina_Bool selected)
elm_segment_control_item_selected_set(Elm_Object_Item *it, Eina_Bool selected)
{
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Widget_Data *wd;
Elm_Segment_Item *item = (Elm_Segment_Item *) it;
wd = elm_widget_item_data_get(it);
wd = elm_widget_item_data_get(item);
if (!wd) return;
if (it == wd->selected_item)
if (item == wd->selected_item)
{
//already in selected state.
if (selected) return;
//unselect case
_segment_off(it);
_segment_off(item);
}
else if (selected)
_segment_on(it);
_segment_on(item);
return;
}
EAPI Elm_Segment_Item *
EAPI Elm_Object_Item *
elm_segment_control_item_get(const Evas_Object *obj, int idx)
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Elm_Segment_Item *it;
it = _item_find(obj, idx);
return it;
return (Elm_Object_Item *) _item_find(obj, idx);
}
EAPI int
elm_segment_control_item_index_get(const Elm_Segment_Item *it)
elm_segment_control_item_index_get(const Elm_Object_Item *it)
{
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, -1);
return it->seg_index;
ELM_OBJ_ITEM_CHECK_OR_RETURN(it, -1);
return ((Elm_Segment_Item *) it)->seg_index;
}

View File

@ -35,8 +35,6 @@
* @{
*/
typedef struct _Elm_Segment_Item Elm_Segment_Item; /**< Item handle for a segment control widget. */
/**
* Add a new segment control widget to the given parent Elementary
* (container) object.
@ -91,7 +89,7 @@ EAPI Evas_Object *elm_segment_control_add(Evas_Object *parent);
*
* @ingroup SegmentControl
*/
EAPI Elm_Segment_Item *elm_segment_control_item_add(Evas_Object *obj, Evas_Object *icon, const char *label);
EAPI Elm_Object_Item *elm_segment_control_item_add(Evas_Object *obj, Evas_Object *icon, const char *label);
/**
* Insert a new item to the segment control object at specified position.
@ -124,7 +122,7 @@ EAPI Elm_Segment_Item *elm_segment_control_item_add(Evas_Object *obj, Evas_Objec
*
* @ingroup SegmentControl
*/
EAPI Elm_Segment_Item *elm_segment_control_item_insert_at(Evas_Object *obj, Evas_Object *icon, const char *label, int index);
EAPI Elm_Object_Item *elm_segment_control_item_insert_at(Evas_Object *obj, Evas_Object *icon, const char *label, int index);
/**
* Remove a segment control item from its parent, deleting it.
@ -136,7 +134,7 @@ EAPI Elm_Segment_Item *elm_segment_control_item_insert_at(Evas_Object *obj, Evas
*
* @ingroup SegmentControl
*/
EAPI void elm_segment_control_item_del(Elm_Segment_Item *it);
EAPI void elm_segment_control_item_del(Elm_Object_Item *it);
/**
* Remove a segment control item at given index from its parent,
@ -178,7 +176,7 @@ EAPI int elm_segment_control_item_count_get(const Evas_Object *obj
*
* @ingroup SegmentControl
*/
EAPI Elm_Segment_Item *elm_segment_control_item_get(const Evas_Object *obj, int index);
EAPI Elm_Object_Item *elm_segment_control_item_get(const Evas_Object *obj, int index);
/**
* Get the label of item.
@ -217,7 +215,7 @@ EAPI const char *elm_segment_control_item_label_get(const Evas_Object *obj
*
* @ingroup SegmentControl
*/
EAPI void elm_segment_control_item_label_set(Elm_Segment_Item *it, const char *label);
EAPI void elm_segment_control_item_label_set(Elm_Object_Item *it, const char *label);
/**
* Get the icon associated to the item.
@ -261,7 +259,7 @@ EAPI Evas_Object *elm_segment_control_item_icon_get(const Evas_Object *obj,
*
* @ingroup SegmentControl
*/
EAPI void elm_segment_control_item_icon_set(Elm_Segment_Item *it, Evas_Object *icon);
EAPI void elm_segment_control_item_icon_set(Elm_Object_Item *it, Evas_Object *icon);
/**
* Get the index of an item.
@ -276,7 +274,7 @@ EAPI void elm_segment_control_item_icon_set(Elm_Segment_Item *it, E
*
* @ingroup SegmentControl
*/
EAPI int elm_segment_control_item_index_get(const Elm_Segment_Item *it);
EAPI int elm_segment_control_item_index_get(const Elm_Object_Item *it);
/**
* Get the base object of the item.
@ -288,7 +286,7 @@ EAPI int elm_segment_control_item_index_get(const Elm_Segment_Item
*
* @ingroup SegmentControl
*/
EAPI Evas_Object *elm_segment_control_item_object_get(const Elm_Segment_Item *it);
EAPI Evas_Object *elm_segment_control_item_object_get(const Elm_Object_Item *it);
/**
* Get the selected item.
@ -304,7 +302,7 @@ EAPI Evas_Object *elm_segment_control_item_object_get(const Elm_Segment_Ite
*
* @ingroup SegmentControl
*/
EAPI Elm_Segment_Item *elm_segment_control_item_selected_get(const Evas_Object *obj);
EAPI Elm_Object_Item *elm_segment_control_item_selected_get(const Evas_Object *obj);
/**
* Set the selected state of an item.
@ -325,7 +323,7 @@ EAPI Elm_Segment_Item *elm_segment_control_item_selected_get(const Evas_Object *
*
* @ingroup SegmentControl
*/
EAPI void elm_segment_control_item_selected_set(Elm_Segment_Item *it, Eina_Bool select);
EAPI void elm_segment_control_item_selected_set(Elm_Object_Item *it, Eina_Bool select);
/**
* @}