From 20c83ed6d847ed7de6dafeb4a57f50f0d9c12a85 Mon Sep 17 00:00:00 2001 From: Oskar Chodowicz Date: Mon, 28 Jan 2019 14:50:27 +0100 Subject: [PATCH] Use layout class instead Evas_Object Change-Id: I584d053d5160ac0c4c6fe38bb3c8d92c6adab108 --- src/AccessoriesSwitchesPage.cpp | 43 ++++++++++++++++-------------------- src/AccessoriesSwitchesPage.hpp | 2 +- src/Layout.cpp | 7 ++++++ src/Layout.hpp | 4 ++-- src/MainData.cpp | 15 ++++++------- src/MainData.hpp | 9 ++++---- src/SetValueLayout.cpp | 4 ++-- src/SetValueLayout.hpp | 7 +++--- src/SetValuePage.cpp | 49 ++++++++++++++++++----------------------- src/SetValuePage.hpp | 2 +- src/SettingPopup.cpp | 4 ++-- src/SettingPopup.hpp | 2 +- src/UpdateSwitchPage.cpp | 27 ++++++++++------------- src/UpdateSwitchPage.hpp | 3 ++- 14 files changed, 86 insertions(+), 92 deletions(-) diff --git a/src/AccessoriesSwitchesPage.cpp b/src/AccessoriesSwitchesPage.cpp index a4cad22..7dfcf40 100644 --- a/src/AccessoriesSwitchesPage.cpp +++ b/src/AccessoriesSwitchesPage.cpp @@ -18,6 +18,7 @@ #include "setting-accessibility.h" #include "WidgetFactory.hpp" +#include "Layout.hpp" #include @@ -32,12 +33,11 @@ AccessoriesSwitchesPage::AccessoriesSwitchesPage(SettingAccessibility *ad) : context_(ad) { - Evas_Object *layout = createLayout(context_->md.getNaviframe()->getObject(), EDJ_ACCESSORY, GRP_ACCESSORY); - + auto layout = createLayout(context_->md.getNaviframe(), EDJ_ACCESSORY, GRP_ACCESSORY); + layout->setText(PRT_ACCESSORY_LABEL, "IDS_ACCS_UNIVERSAL_SWITCH_ADD_SWITCH_ACCESSORIES_DESC"); context_->us_configuration.switch_id = {}; - elm_layout_text_set(layout, PRT_ACCESSORY_LABEL, _("IDS_ACCS_UNIVERSAL_SWITCH_ADD_SWITCH_ACCESSORIES_DESC")); - Elm_Object_Item *navi_it = elm_naviframe_item_push(context_->md.getNaviframe()->getObject(), _("IDS_ACCS_UNIVERSAL_SWITCH_ADD_SWITCH_ACCESSORIES_TITLE"), NULL, NULL, layout, NULL); + Elm_Object_Item *navi_it = elm_naviframe_item_push(context_->md.getNaviframe()->getObject(), _("IDS_ACCS_UNIVERSAL_SWITCH_ADD_SWITCH_ACCESSORIES_TITLE"), NULL, NULL, layout->getObject(), NULL); elm_naviframe_item_pop_cb_set(navi_it, naviframPopCb, context_); elm_object_item_domain_text_translatable_set(navi_it, PACKAGE, EINA_TRUE); @@ -63,23 +63,18 @@ Evas_Object *AccessoriesSwitchesPage::createEntry(Evas_Object *parent, const cha return entry; } -Evas_Object *AccessoriesSwitchesPage::createLayout(Evas_Object *parent, const char *edj_file, const char *group) +Layout *AccessoriesSwitchesPage::createLayout(Widget *parent, const std::string &edj_file, const std::string &group) { - Evas_Object *layout; - char *res_path; - retvm_if(parent == NULL, NULL, "Input parameter is NULL"); - - res_path = app_get_resource_path(); + char *res_path = app_get_resource_path(); std::string edj_path; - if (res_path && edj_file) { - edj_path = std::string{res_path} + std::string{edj_file}; + if (res_path) { + edj_path = std::string{res_path} + edj_file; free(res_path); } - - layout = elm_layout_add(parent); - elm_layout_file_set(layout, edj_path.c_str(), group); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(layout); + auto layout = Widget::make(parent); + layout->setFile(edj_path, group); + layout->setWeightHint(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + layout->show(); return layout; @@ -104,12 +99,13 @@ void AccessoriesSwitchesPage::captureSwitchCb(void *user_data, const char *switc popupResponseCb, std::vector {"IDS_ACCS_UNIVERSAL_SWITCH_CANCEL", "IDS_ACCS_UNIVERSAL_SWITCH_SAVE"}); - Evas_Object *layout = createLayout(self->settingPopup_->getObject(), EDJ_ACCESSORY_POPUP, GRP_ACCESSORY_POPUP); + auto layout = self->createLayout(self->settingPopup_->getObject(), EDJ_ACCESSORY_POPUP, GRP_ACCESSORY_POPUP); + + self->entry = createEntry(layout->getObject(), PRT_ACCESSORY_POPUP_ENTRY); - self->entry = createEntry(layout, PRT_ACCESSORY_POPUP_ENTRY); elm_object_part_text_set(self->entry, "guide", _("IDS_ACCS_UNIVERSAL_SWITCH_ADD_SWITCH_NAME")); - elm_object_content_set(self->settingPopup_->getObject(), layout); + self->settingPopup_->getObject()->setContent(layout); } void AccessoriesSwitchesPage::alreadyMappedSwitchPopup() @@ -119,10 +115,9 @@ void AccessoriesSwitchesPage::alreadyMappedSwitchPopup() okResponseCb, std::vector {"IDS_ACCS_UNIVERSAL_SWITCH_OK"}); - Evas_Object *layout = createLayout(settingPopup_->getObject(), EDJ_ACCESSORY_POPUP, GRP_ACCESSORY_POPUP); - - elm_object_part_text_set(layout, PRT_ACCESSORY_POPUP_LABEL, "IDS_ACCS_UNIVERSAL_SWITCH_ALREADY_ADDED"); - elm_object_content_set(settingPopup_->getObject(), layout); + auto layout = createLayout(settingPopup_->getObject(), EDJ_ACCESSORY_POPUP, GRP_ACCESSORY_POPUP); + layout->setPartText(PRT_ACCESSORY_POPUP_LABEL,"IDS_ACCS_UNIVERSAL_SWITCH_ALREADY_ADDED"); + settingPopup_->getObject()->setContent(layout); } void AccessoriesSwitchesPage::okResponseCb(void *data, Evas_Object *obj, void *event_info) diff --git a/src/AccessoriesSwitchesPage.hpp b/src/AccessoriesSwitchesPage.hpp index 0419d91..01d9f24 100644 --- a/src/AccessoriesSwitchesPage.hpp +++ b/src/AccessoriesSwitchesPage.hpp @@ -39,7 +39,7 @@ public: private: static Evas_Object *createEntry(Evas_Object *parent, const char *part_name); - static Evas_Object *createLayout(Evas_Object *parent, const char *edj_file, const char *group); + Layout *createLayout(Widget *parent, const std::string &edj_file, const std::string &group); static void captureSwitchCb(void *user_data, const char *switch_id); void alreadyMappedSwitchPopup(); //TODO rename static void okResponseCb(void *data, Evas_Object *obj, void *event_info); diff --git a/src/Layout.cpp b/src/Layout.cpp index a480d23..3e93516 100644 --- a/src/Layout.cpp +++ b/src/Layout.cpp @@ -1,4 +1,5 @@ #include "Layout.hpp" +#include "setting-debug.h" Layout::Layout(Widget *parent) : Widget(parent) @@ -15,3 +16,9 @@ void Layout::setTheme(const std::string &klass, const std::string &group, const { elm_layout_theme_set(uniqueObj_.get(), klass.c_str(), group.c_str(), style.c_str()); } + +void Layout::setText(const std::string &part, const TranslatedString &text) +{ + if(elm_layout_text_set(uniqueObj_.get(), part.c_str(), text.c_str()) == EINA_FALSE) + SETTING_TRACE("Failed to set text: %s", text.c_str()); +} diff --git a/src/Layout.hpp b/src/Layout.hpp index 36fb82e..eba1f2e 100644 --- a/src/Layout.hpp +++ b/src/Layout.hpp @@ -3,13 +3,13 @@ #include "Widget.hpp" -class Layout : public Widget, public std::enable_shared_from_this +class Layout : public Widget { public: Layout(Widget *parent); void setFile(const std::string &edjeFile, const std::string &group); void setTheme(const std::string &klass, const std::string &group, const std::string &style); - + void setText(const std::string &part, const TranslatedString &text); }; #endif diff --git a/src/MainData.cpp b/src/MainData.cpp index d7944b5..a6f509b 100644 --- a/src/MainData.cpp +++ b/src/MainData.cpp @@ -50,7 +50,7 @@ void MainData::initView(const std::string &name) if (!genlist) SETTING_TRACE_ERROR("No genlist"); - elm_object_part_content_set(layout, "elm.swallow.content", genlist); + elm_object_part_content_set(layout_->getObject(), "elm.swallow.content", genlist); evas_object_show(genlist); } @@ -85,15 +85,14 @@ int MainData::initViewWithoutGenlist(const std::string &name) conformant->emitSignal("elm,state,virtualkeypad,enable"); conformant->emitSignal("elm,state,clipboard,enable"); - /* LAYOUT */ - layout = elm_layout_add(naviframe_->getObject()); - setting_retvm_if(layout == NULL, FALSE, "layout == NULL"); - elm_layout_theme_set(layout, "layout", "application", "default"); + layout_ = Widget::make(naviframe_); + layout_->setTheme("layout", "application", "default"); - naviframe_it = elm_naviframe_item_push(naviframe_->getObject(), name.c_str(), NULL, NULL, layout, NULL); + naviframe_->pushBack(name, layout_, {}, {}); + naviframe_it = naviframe_->top(); naviframe_->show(); - evas_object_show(layout); + layout_->show(); return SETTING_RETURN_SUCCESS; } @@ -108,7 +107,7 @@ void MainData::addRotateSupport() void MainData::prepareViewList() { - auto gl = elm_genlist_add(layout); + auto gl = elm_genlist_add(layout_->getObject()); retm_if(gl == NULL, "Cannot set genlist object as content of layout"); /* resolve abnormal height issue */ diff --git a/src/MainData.hpp b/src/MainData.hpp index 1df2b02..5f75406 100644 --- a/src/MainData.hpp +++ b/src/MainData.hpp @@ -20,6 +20,7 @@ #include "Window.hpp" #include "Conformant.hpp" #include "Naviframe.hpp" +#include "Layout.hpp" #include @@ -48,11 +49,11 @@ private: static void onAllGenlistRealizedCb(void *data, Evas_Object *obj, void *event_info); static void softkeyBackClickCb(void *data, Evas_Object *obj, void *event_inf); - Evas *evas; + Evas *evas = nullptr; std::unique_ptr window; - Naviframe *naviframe_; - Evas_Object *layout; - Evas_Object *genlist; + Naviframe *naviframe_ = nullptr; + Layout *layout_ = nullptr; + Evas_Object *genlist = nullptr; }; #endif diff --git a/src/SetValueLayout.cpp b/src/SetValueLayout.cpp index a744ab1..d96c6d3 100644 --- a/src/SetValueLayout.cpp +++ b/src/SetValueLayout.cpp @@ -16,12 +16,12 @@ #include "SetValueLayout.hpp" -Evas_Object *SetValueLayout::getLayout() const +Layout *SetValueLayout::getLayout() const { return layout; } -void SetValueLayout::setLayout(Evas_Object *layout) +void SetValueLayout::setLayout(Layout *layout) { this->layout = layout; } diff --git a/src/SetValueLayout.hpp b/src/SetValueLayout.hpp index e0d83a4..451e09d 100644 --- a/src/SetValueLayout.hpp +++ b/src/SetValueLayout.hpp @@ -18,6 +18,7 @@ #define SET_VALUE_LAYOUT_HPP #include +#include "Layout.hpp" #include #include @@ -40,8 +41,8 @@ class SetValueLayout { public: SetValueLayout() = default; - Evas_Object *getLayout() const; - void setLayout(Evas_Object *layout); + Layout *getLayout() const; + void setLayout(Layout *layout); Evas_Object *getScroller() const; void setScroller(Evas_Object *scroller); Evas_Object *getBox() const; @@ -71,7 +72,7 @@ public: void *list_item_options_request_cb_data = nullptr; private: - Evas_Object *layout = nullptr; + Layout *layout = nullptr; Evas_Object *scroller = nullptr; Evas_Object *box = nullptr; Evas_Object *check = nullptr; diff --git a/src/SetValuePage.cpp b/src/SetValuePage.cpp index 3ac1bbd..ecf522a 100644 --- a/src/SetValuePage.cpp +++ b/src/SetValuePage.cpp @@ -63,37 +63,35 @@ SetValuePage::SetValuePage(SettingAccessibility *ad, ValueEditorType type, const layout_grp = GRP_SET_VALUE_NUMERIC; SETTING_TRACE_DEBUG("Unrecognized layout type!"); } - - ad->set_value_layout.setLayout(createLayout(ad->md.getNaviframe()->getObject(), layout_grp)); - + ad->set_value_layout.setLayout(createLayout(ad->md.getNaviframe(), layout_grp)); switch (type) { case ValueEditorType::NUMERIC: - ad->set_value_layout.setScroller(createScroller(ad->set_value_layout.getLayout())); + ad->set_value_layout.setScroller(createScroller(ad->set_value_layout.getLayout()->getObject())); ad->set_value_layout.setBox(createBox(ad->set_value_layout.getScroller())); evas_object_smart_callback_add(ad->set_value_layout.getScroller(), "scroll,page,changed", scrollerScrollCb, (void *)ad); break; case ValueEditorType::NUMERIC_SWITCH: - ad->set_value_layout.setScroller(createScroller(ad->set_value_layout.getLayout())); + ad->set_value_layout.setScroller(createScroller(ad->set_value_layout.getLayout()->getObject())); ad->set_value_layout.setBox(createBox(ad->set_value_layout.getScroller())); - ad->set_value_layout.setCheck(createCheck(ad->set_value_layout.getLayout(), EINA_FALSE, checkStateChangedCb, ad)); + ad->set_value_layout.setCheck(createCheck(ad->set_value_layout.getLayout()->getObject(), EINA_FALSE, checkStateChangedCb, ad)); evas_object_smart_callback_add(ad->set_value_layout.getScroller(), "scroll,page,changed", scrollerScrollCb, (void *)ad); break; case ValueEditorType::RADIOS: ad->set_value_layout.radio_item_change_cb = NULL; - ad->set_value_layout.setGenlist(createGenlist(ad->set_value_layout.getLayout(), NULL)); + ad->set_value_layout.setGenlist(createGenlist(ad->set_value_layout.getLayout()->getObject(), NULL)); break; case ValueEditorType::SWITCHES: - ad->set_value_layout.setGenlist(createGenlist(ad->set_value_layout.getLayout(), NULL)); + ad->set_value_layout.setGenlist(createGenlist(ad->set_value_layout.getLayout()->getObject(), NULL)); break; case ValueEditorType::LIST_SWITCH: - ad->set_value_layout.setCheck(createCheck(ad->set_value_layout.getLayout(), EINA_FALSE, checkStateChangedCb, ad)); - ad->set_value_layout.setGenlist(createGenlist(ad->set_value_layout.getLayout(), _("IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_GROUP_FEEDBACK_OPTIONS"))); + ad->set_value_layout.setCheck(createCheck(ad->set_value_layout.getLayout()->getObject(), EINA_FALSE, checkStateChangedCb, ad)); + ad->set_value_layout.setGenlist(createGenlist(ad->set_value_layout.getLayout()->getObject(), _("IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_GROUP_FEEDBACK_OPTIONS"))); break; default: LOGE("Wrong value type"); } - Elm_Object_Item *navi_it = elm_naviframe_item_push(ad->md.getNaviframe()->getObject(), title, NULL, NULL, ad->set_value_layout.getLayout(), NULL); + Elm_Object_Item *navi_it = elm_naviframe_item_push(ad->md.getNaviframe()->getObject(), title, NULL, NULL, ad->set_value_layout.getLayout()->getObject(), NULL); elm_naviframe_item_pop_cb_set(navi_it, naviframePopCb, ad); elm_object_item_domain_text_translatable_set(navi_it, PACKAGE, EINA_TRUE); @@ -105,7 +103,7 @@ void SetValuePage::setDescription(SettingAccessibility *ad, const char *descript { retm_if(ad == NULL, "Input parameter is NULL"); - elm_object_part_text_set(ad->set_value_layout.getLayout(), PRT_SET_VALUE_DESC, description); + ad->set_value_layout.getLayout()->setPartText(PRT_SET_VALUE_DESC, description); } void SetValuePage::setRange(SettingAccessibility *ad, double min, double max, double step) @@ -145,7 +143,7 @@ void SetValuePage::setRange(SettingAccessibility *ad, double min, double max, do out << std::fixed << "Accepted range: " << min << " to " << max; //TODO translation - elm_object_part_text_set(ad->set_value_layout.getLayout(), PRT_SET_VALUE_RANGE, out.str().c_str()); + ad->set_value_layout.getLayout()->setPartText(PRT_SET_VALUE_RANGE, out.str()); } void SetValuePage::setValue(SettingAccessibility *ad, double value, const char *units) @@ -167,9 +165,9 @@ void SetValuePage::setSwitch(SettingAccessibility *ad, bool state) elm_check_state_set(ad->set_value_layout.getCheck(), (Eina_Bool)state); if (state) - elm_object_part_text_set(ad->set_value_layout.getLayout(), PRT_SET_VALUE_SWITCH_LABEL, _("IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_ON")); + ad->set_value_layout.getLayout()->setPartText(PRT_SET_VALUE_SWITCH_LABEL, "IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_ON"); else - elm_object_part_text_set(ad->set_value_layout.getLayout(), PRT_SET_VALUE_SWITCH_LABEL, _("IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_OFF")); + ad->set_value_layout.getLayout()->setPartText(PRT_SET_VALUE_SWITCH_LABEL, "IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_OFF"); } void SetValuePage::addRadioItem(SettingAccessibility *ad, const std::string &caption, int id, bool selected) @@ -467,23 +465,18 @@ Evas_Object *SetValuePage::createScroller(Evas_Object *parent) return scroller; } -Evas_Object *SetValuePage::createLayout(Evas_Object *parent, const char *layout_grp) +Layout *SetValuePage::createLayout(Widget *parent, const std::string &layout_grp) { - Evas_Object *layout; - retvm_if(parent == NULL || layout_grp == NULL, NULL, "Input parameter is NULL"); - char *res_path = app_get_resource_path(); std::string edj_path; if (res_path) { edj_path = std::string{res_path} + std::string{EDJ_SET_VALUE}; free(res_path); } - - layout = elm_layout_add(parent); - elm_layout_file_set(layout, edj_path.c_str(), layout_grp); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(layout); - + auto layout = Widget::make(parent); + layout->setFile(edj_path, layout_grp); + layout->setWeightHint(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + layout->show(); return layout; } @@ -500,7 +493,7 @@ void SetValuePage::displayValue(SettingAccessibility *ad, double value) out << std::fixed << value << " " << ad->set_value_layout.getUnits(); //TODO translation - elm_object_part_text_set(ad->set_value_layout.getLayout(), PRT_SET_VALUE_VALUE, out.str().c_str()); + ad->set_value_layout.getLayout()->setPartText(PRT_SET_VALUE_VALUE, out.str()); } void SetValuePage::listItemClickCb(void *data, Evas_Object *obj, void *event_info) @@ -533,9 +526,9 @@ void SetValuePage::checkStateChangedCb(void *data, Evas_Object *obj, void *event state = elm_check_state_get(obj); if (state) - elm_object_part_text_set(ad->set_value_layout.getLayout(), PRT_SET_VALUE_SWITCH_LABEL, _("IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_ON")); + ad->set_value_layout.getLayout()->setPartText(PRT_SET_VALUE_SWITCH_LABEL, "IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_ON"); else - elm_object_part_text_set(ad->set_value_layout.getLayout(), PRT_SET_VALUE_SWITCH_LABEL, _("IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_OFF")); + ad->set_value_layout.getLayout()->setPartText(PRT_SET_VALUE_SWITCH_LABEL, "IDS_ACCS_UNIVERSAL_SWITCH_SETTINGS_OFF"); if (ad->set_value_layout.getGenlist()) { Elm_Object_Item *item = elm_genlist_first_item_get(ad->set_value_layout.getGenlist()); diff --git a/src/SetValuePage.hpp b/src/SetValuePage.hpp index 92d217d..2c85c49 100644 --- a/src/SetValuePage.hpp +++ b/src/SetValuePage.hpp @@ -65,7 +65,7 @@ private: static Evas_Object *createLabel(Evas_Object *parent, const char *caption); static Evas_Object *createBox(Evas_Object *parent); static Evas_Object *createScroller(Evas_Object *parent); - static Evas_Object *createLayout(Evas_Object *parent, const char *layout_grp); + Layout *createLayout(Widget *parent, const std::string &layout_grp); static void displayValue(SettingAccessibility *ad, double value); static void listItemClickCb(void *data, Evas_Object *obj, void *event_info); static void scrollerScrollCb(void *data, Evas_Object *obj, void *event_info); diff --git a/src/SettingPopup.cpp b/src/SettingPopup.cpp index 8f2f9f0..6a9769b 100644 --- a/src/SettingPopup.cpp +++ b/src/SettingPopup.cpp @@ -52,9 +52,9 @@ SettingPopup::SettingPopup(void *data, Widget *parent, popup_->show(); } -Evas_Object *SettingPopup::getObject() const +Popup *SettingPopup::getObject() const { - return popup_->getObject(); + return popup_; } SettingPopup::~SettingPopup() diff --git a/src/SettingPopup.hpp b/src/SettingPopup.hpp index 5eb88a0..450de33 100644 --- a/src/SettingPopup.hpp +++ b/src/SettingPopup.hpp @@ -53,7 +53,7 @@ public: const std::string &title, const std::string &text, SettingCallback response_cb, std::vector buttons); - Evas_Object *getObject() const; + Popup *getObject() const; ~SettingPopup(); private: diff --git a/src/UpdateSwitchPage.cpp b/src/UpdateSwitchPage.cpp index d47b1f2..61dec1d 100644 --- a/src/UpdateSwitchPage.cpp +++ b/src/UpdateSwitchPage.cpp @@ -71,16 +71,17 @@ void UpdateSwitchPage::createUpdateAccessoriesSwitchPage() elm_toolbar_item_append(tb, NULL, _("IDS_ACCS_UNIVERSAL_SWITCH_CANCEL"), NULL, NULL); save_object_item = elm_toolbar_item_append(tb, NULL, _("IDS_ACCS_UNIVERSAL_SWITCH_SAVE"), NULL, NULL); - context_->set_value_layout.setLayout(createLayout(context_->md.getNaviframe()->getObject(), GRP_SET_VALUE_UPDATE_ACCESSORIES_SWITCH)); - entry_ = elm_entry_add(context_->set_value_layout.getLayout()); + context_->set_value_layout.setLayout(createLayout(context_->md.getNaviframe(), GRP_SET_VALUE_UPDATE_ACCESSORIES_SWITCH)); + + entry_ = elm_entry_add(context_->set_value_layout.getLayout()->getObject()); elm_entry_entry_set(entry_, config_item_to_update_.user_name.c_str()); elm_entry_cursor_end_set(entry_); evas_object_show(entry_); - elm_object_part_content_set(context_->set_value_layout.getLayout(), PRT_SET_VALUE_ENTRY, entry_); + elm_object_part_content_set(context_->set_value_layout.getLayout()->getObject(), PRT_SET_VALUE_ENTRY, entry_); - elm_object_part_text_set(context_->set_value_layout.getLayout(), PRT_SET_VALUE_DESC, _("IDS_ACCS_UNIVERSAL_SWITCH_NAME")); + context_->set_value_layout.getLayout()->setPartText(PRT_SET_VALUE_DESC, "IDS_ACCS_UNIVERSAL_SWITCH_NAME"); - update_accessories_action_genlist_ = createGenlist(context_->set_value_layout.getLayout(), NULL); + update_accessories_action_genlist_ = createGenlist(context_->set_value_layout.getLayout()->getObject(), NULL); createGendialGroupItem(update_accessories_action_genlist_, &itc_1text, updateSwitchAction, this, SwallowType::INVALID, 0, @@ -88,7 +89,7 @@ void UpdateSwitchPage::createUpdateAccessoriesSwitchPage() setting_accessibility_universal_switch_dbus_config_get_activity_name(&context_->config, config_item_to_update_.activity_type), NULL); - nf_it = elm_naviframe_item_push(context_->md.getNaviframe()->getObject(), "", NULL, NULL, context_->set_value_layout.getLayout(), "tabbar/notitle"); + nf_it = elm_naviframe_item_push(context_->md.getNaviframe()->getObject(), "", NULL, NULL, context_->set_value_layout.getLayout()->getObject(), "tabbar/notitle"); elm_object_item_domain_text_translatable_set(nf_it, PACKAGE, EINA_TRUE); elm_object_item_part_content_set(nf_it, "tabbar", tb); } @@ -106,11 +107,8 @@ void UpdateSwitchPage::closeUpdateAccessoriesSwitchPage(void *data, Evas_Object elm_naviframe_item_pop(self->context_->md.getNaviframe()->getObject()); } -Evas_Object *UpdateSwitchPage::createLayout(Evas_Object *parent, const char *layout_grp) +Layout *UpdateSwitchPage::createLayout(Widget *parent, const std::string &layout_grp) { - Evas_Object *layout; - retvm_if(parent == NULL || layout_grp == NULL, NULL, "Input parameter is NULL"); - char *res_path = app_get_resource_path(); std::string edj_path; if (res_path) { @@ -118,11 +116,10 @@ Evas_Object *UpdateSwitchPage::createLayout(Evas_Object *parent, const char *lay free(res_path); } - layout = elm_layout_add(parent); - elm_layout_file_set(layout, edj_path.c_str(), layout_grp); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(layout); - + auto layout = Widget::make(parent); + layout->setFile(edj_path, layout_grp); + layout->setWeightHint(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + layout->show(); return layout; } diff --git a/src/UpdateSwitchPage.hpp b/src/UpdateSwitchPage.hpp index e0f56a1..71b33ee 100644 --- a/src/UpdateSwitchPage.hpp +++ b/src/UpdateSwitchPage.hpp @@ -19,6 +19,7 @@ #include "SettingAccessibility.hpp" #include "ActionPage.hpp" +#include "Layout.hpp" /** * View allowing to edit existing mapping between switches and activities @@ -40,7 +41,7 @@ private: static void onActionUpdate(SettingAccessibility *ad, const std::string &action, void *user_data); void createUpdateAccessoriesSwitchPage(); static void closeUpdateAccessoriesSwitchPage(void *data, Evas_Object *obj, void *event_info); - Evas_Object *createLayout(Evas_Object *parent, const char *layout_grp); + Layout *createLayout(Widget *parent, const std::string &layout_grp); Evas_Object *createGenlist(Evas_Object *parent, const char *title); static void updateSwitchAction(void *data, Evas_Object *obj, void *event_info); static void updateSwitchChooseAction(SettingAccessibility *ad, const std::string &action, void *user_data); -- 2.7.4