Reduce the duplicate code to create candidate button 01/250701/4
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 4 Jan 2021 02:57:03 +0000 (11:57 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Mon, 4 Jan 2021 05:19:55 +0000 (14:19 +0900)
Change-Id: I327b2ee54ae51f8cbdc1206a951a6341985cf59e
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/candidate-multiline-efl.cpp
src/include/candidate-multiline-efl.h

index 61d0266..688237c 100644 (file)
@@ -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<string> &vec_str)
 {
index 8340252..ab3cd28 100644 (file)
@@ -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);