Reduce the duplicate code to create candidate button
[platform/core/uifw/ise-default.git] / src / candidate-multiline-efl.cpp
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)
 {