#define SYMBOL_STAR "\uf896"
ListView::ListView(Model::PersonProvider *provider)
- : m_Box(nullptr), m_NoContent(nullptr), m_Genlist(nullptr),
+ : m_ListLayout(nullptr), m_NoContent(nullptr), m_Genlist(nullptr),
m_Index(nullptr), m_AddButton(nullptr),
m_NoContentHelpText("IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"),
m_IsSearching(false), m_IsEmpty(true),
Evas_Object *ListView::onCreate(Evas_Object *parent)
{
- return elm_layout_add(parent);
+ return elm_box_add(parent);
}
void ListView::onCreated()
void ListView::fillLayout()
{
- Evas_Object *layout = getEvasObject();
- elm_layout_theme_set(layout, "layout", "application", "fastscroll");
- elm_layout_signal_emit(layout, "elm,state,fastscroll,hide", "");
+ Evas_Object *box = getEvasObject();
- m_Index = createIndex(layout);
- elm_object_part_content_set(layout, "elm.swallow.fastscroll", m_Index);
+ m_ListLayout = createListLayout(box);
+ elm_box_pack_end(box, m_ListLayout);
- m_Box = elm_box_add(layout);
- elm_object_part_content_set(layout, "elm.swallow.content", m_Box);
+ m_Index = createIndex(m_ListLayout);
+ elm_object_part_content_set(m_ListLayout, "elm.swallow.fastscroll", m_Index);
- m_Genlist = createGenlist(m_Box);
- elm_box_pack_end(m_Box, m_Genlist->getEvasObject());
+ m_Genlist = createGenlist(m_ListLayout);
+ elm_object_part_content_set(m_ListLayout, "elm.swallow.content", m_Genlist->getEvasObject());
- m_NoContent = createEmptyLayout(m_Box);
- elm_box_pack_end(m_Box, m_NoContent);
+ m_NoContent = createEmptyLayout(box);
+ elm_box_pack_end(box, m_NoContent);
- m_SearchField = createSearchField();
- m_AddButton = createAddButton(layout);
+ m_SearchField = createSearchField(box);
+ m_AddButton = createAddButton(box);
}
-Ui::Genlist *ListView::createGenlist(Evas_Object *parent)
+Evas_Object *ListView::createListLayout(Evas_Object *parent)
{
- Ui::Genlist *genlist = new Ui::Genlist();
- Evas_Object *obj = genlist->create(parent);
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "application", "fastscroll");
+ elm_layout_signal_emit(layout, "elm,state,fastscroll,hide", "");
- elm_scroller_content_min_limit(obj, EINA_FALSE, EINA_TRUE);
- evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0.0);
- evas_object_show(obj);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+ return layout;
+}
+Ui::Genlist *ListView::createGenlist(Evas_Object *parent)
+{
+ Ui::Genlist *genlist = new Ui::Genlist();
+ genlist->create(parent);
+ elm_scroller_content_min_limit(genlist->getEvasObject(), EINA_FALSE, EINA_TRUE);
return genlist;
}
Evas_Object *genlist = m_Genlist->getEvasObject();
if (isEmpty) {
elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, 0.0);
+ evas_object_size_hint_weight_set(m_ListLayout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(m_ListLayout, EVAS_HINT_FILL, 0.0);
evas_object_show(m_NoContent);
- elm_box_pack_end(m_Box, m_NoContent);
+ elm_box_pack_end(getEvasObject(), m_NoContent);
} else {
elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_FALSE);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(m_ListLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(m_ListLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_hide(m_NoContent);
- elm_box_unpack(m_Box, m_NoContent);
+ elm_box_unpack(getEvasObject(), m_NoContent);
}
m_IsEmpty = isEmpty;
}
return !m_IsSearching ? isVisible : false;
}
-SearchField *ListView::createSearchField()
+SearchField *ListView::createSearchField(Evas_Object *parent)
{
SearchField *control = new SearchField();
control->setChangeCallback(std::bind(&ListView::onSearchChanged, this, _1));
- control->create(getEvasObject());
+ control->create(parent);
evas_object_size_hint_weight_set(control->getEvasObject(), EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(control->getEvasObject(), EVAS_HINT_FILL, 0.0);
}
if (isEmpty) {
- elm_box_unpack(m_Box, searchField);
+ elm_box_unpack(getEvasObject(), searchField);
evas_object_hide(searchField);
} else {
- elm_box_pack_start(m_Box, searchField);
+ elm_box_pack_start(getEvasObject(), searchField);
evas_object_show(searchField);
}
}
}
const char *signal = isVisible ? "elm,state,fastscroll,show" : "elm,state,fastscroll,hide";
- elm_layout_signal_emit(getEvasObject(), signal, "");
+ elm_layout_signal_emit(m_ListLayout, signal, "");
if (isVisible) {
elm_index_level_go(m_Index, 0);
}