forked from enlightenment/efl
elementary/segment_control - Elm_Segment_Item -> Elm_Object_Item
SVN revision: 66730
This commit is contained in:
parent
a2a76e41aa
commit
6b127fc932
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
|
Loading…
Reference in New Issue