From f01e31de2cd644e1f32f91df46250578ad4691d0 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Mon, 4 Jan 2021 11:57:03 +0900 Subject: [PATCH] Reduce the duplicate code to create candidate button Change-Id: I327b2ee54ae51f8cbdc1206a951a6341985cf59e Signed-off-by: Jihoon Kim --- src/candidate-multiline-efl.cpp | 76 +++++++++++++++-------------------- src/include/candidate-multiline-efl.h | 2 + 2 files changed, 34 insertions(+), 44 deletions(-) diff --git a/src/candidate-multiline-efl.cpp b/src/candidate-multiline-efl.cpp index 61d0266..688237c 100644 --- a/src/candidate-multiline-efl.cpp +++ b/src/candidate-multiline-efl.cpp @@ -344,6 +344,36 @@ EflMultiLineCandidate::make_more_view() evas_object_layer_set(m_candidateMoreTable, 32000); } +Evas_Object * +EflMultiLineCandidate::create_candidate_button(const char *style, Evas_Object_Event_Cb mouse_down_cb) +{ + Evas_Object *candidateBtn = edje_object_add(evas_object_evas_get(m_window)); + edje_object_file_set(candidateBtn, CANDIDATE_EDJ_FILE_PATH, style); + evas_object_size_hint_min_set(candidateBtn, MORE_BUTTON_WIDTH*m_screenRatio, MORE_BUTTON_HEIGHT*m_screenRatio); + evas_object_resize(candidateBtn, MORE_BUTTON_WIDTH*m_screenRatio, MORE_BUTTON_HEIGHT*m_screenRatio); +#ifdef _WEARABLE + if (m_floating_mode) + evas_object_move(candidateBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio - 30, + ((CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2) + FLOATING_TITLE_BAR_HEIGHT); + else + evas_object_move(candidateBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio - 30, + (CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2); +#else + if (m_floating_mode) + evas_object_move(candidateBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio, + ((CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2) + FLOATING_TITLE_BAR_HEIGHT); + else + evas_object_move(candidateBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio, + (CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2); +#endif + evas_object_event_callback_add(candidateBtn, EVAS_CALLBACK_MOUSE_DOWN, + mouse_down_cb, this); + + LOGD("Created candidate button (%s)", style); + + return candidateBtn; +} + void EflMultiLineCandidate::make_view() { @@ -404,49 +434,8 @@ EflMultiLineCandidate::make_view() elm_table_padding_set(m_candidateTable, 0, 0); elm_object_content_set(m_candidateScroller, m_candidateTable); - m_candidateMoreBtn = edje_object_add(evas_object_evas_get(m_window)); - edje_object_file_set(m_candidateMoreBtn, CANDIDATE_EDJ_FILE_PATH, "more_button"); - evas_object_size_hint_min_set(m_candidateMoreBtn, MORE_BUTTON_WIDTH*m_screenRatio, MORE_BUTTON_HEIGHT*m_screenRatio); - evas_object_resize(m_candidateMoreBtn, MORE_BUTTON_WIDTH*m_screenRatio, MORE_BUTTON_HEIGHT*m_screenRatio); -#ifdef _WEARABLE - if (m_floating_mode) - evas_object_move(m_candidateMoreBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio - 30, - ((CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2) + FLOATING_TITLE_BAR_HEIGHT); - else - evas_object_move(m_candidateMoreBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio - 30, - (CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2); -#else - if (m_floating_mode) - evas_object_move(m_candidateMoreBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio, - ((CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2) + FLOATING_TITLE_BAR_HEIGHT); - else - evas_object_move(m_candidateMoreBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio, - (CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2); -#endif - evas_object_event_callback_add(m_candidateMoreBtn, EVAS_CALLBACK_MOUSE_DOWN, - ui_candidate_window_more_button_down_cb, this); - - m_candidateCloseBtn = edje_object_add(evas_object_evas_get(m_window)); - edje_object_file_set(m_candidateCloseBtn, CANDIDATE_EDJ_FILE_PATH, "close_button"); - evas_object_size_hint_min_set(m_candidateCloseBtn, MORE_BUTTON_WIDTH*m_screenRatio, MORE_BUTTON_HEIGHT*m_screenRatio); - evas_object_resize(m_candidateCloseBtn, MORE_BUTTON_WIDTH*m_screenRatio, MORE_BUTTON_HEIGHT*m_screenRatio); -#ifdef _WEARABLE - if (m_floating_mode) - evas_object_move(m_candidateCloseBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio - 30, - ((CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2) + FLOATING_TITLE_BAR_HEIGHT); - else - evas_object_move(m_candidateCloseBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio - 30, - (CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2); -#else - if (m_floating_mode) - evas_object_move(m_candidateCloseBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio, - ((CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2) + FLOATING_TITLE_BAR_HEIGHT); - else - evas_object_move(m_candidateCloseBtn, m_screenWidth-MORE_BUTTON_WIDTH*m_screenRatio, - (CANDIDATE_WINDOW_HEIGHT-MORE_BUTTON_HEIGHT)*m_screenRatio/2); -#endif - evas_object_event_callback_add(m_candidateCloseBtn, EVAS_CALLBACK_MOUSE_DOWN, - ui_candidate_window_close_button_down_cb, this); + m_candidateMoreBtn = create_candidate_button("more_button", ui_candidate_window_more_button_down_cb); + m_candidateCloseBtn = create_candidate_button("close_button", ui_candidate_window_close_button_down_cb); evas_object_layer_set(m_candidateScrollerBg, 32000); evas_object_layer_set(m_candidateScroller, 32000); @@ -572,7 +561,6 @@ EflMultiLineCandidate::register_access_object(Evas_Object* obj, std::string name elm_access_action_cb_set(access_object, ELM_ACCESS_ACTION_ACTIVATE, access_action, data); } - void EflMultiLineCandidate::update(const vector &vec_str) { diff --git a/src/include/candidate-multiline-efl.h b/src/include/candidate-multiline-efl.h index 8340252..ab3cd28 100644 --- a/src/include/candidate-multiline-efl.h +++ b/src/include/candidate-multiline-efl.h @@ -59,6 +59,8 @@ class EflMultiLineCandidate: public Candidate void show_view(); void hide_view(); + Evas_Object *create_candidate_button(const char *style, Evas_Object_Event_Cb mouse_down_cb); + void register_access_object(Evas_Object* obj, std::string name, const Elm_Access_Action_Cb access_action = NULL, const void *data = NULL); Evas_Object *get_candidate_item(candidate_item_size item_text_size); candidate_item_size get_candidate_item_text_size(std::string srcStr); -- 2.7.4