fix crop view gui
authorJisung Ahn <jcastle.ahn@samsung.com>
Wed, 5 Sep 2012 01:45:39 +0000 (10:45 +0900)
committerJisung Ahn <jcastle.ahn@samsung.com>
Wed, 5 Sep 2012 01:45:39 +0000 (10:45 +0900)
Change-Id: I2db8aae5ff8e585ddfcc2a29009c284a9a0da5df

main/layout/crop-view/T06_controlbar_bg.png [deleted file]
main/layout/ivug-crop-view.edc
main/src/include/ivug-crop-view.h
main/src/view/ivug-crop-view.cpp
main/src/view/ivug-setas-view-callerid.cpp

diff --git a/main/layout/crop-view/T06_controlbar_bg.png b/main/layout/crop-view/T06_controlbar_bg.png
deleted file mode 100755 (executable)
index 864585c..0000000
Binary files a/main/layout/crop-view/T06_controlbar_bg.png and /dev/null differ
index d368067..e77a470 100755 (executable)
  * See the License for the specific language governing permissions and\r
  * limitations under the License.\r
  */\r
-
-#define CROP_VIEW_CONTROLBAR_BG "T06_controlbar_bg.png"
-
-
-#define PADDING_VISIBILITY 0
-
-#define MENU_VISIBLE 1
-#define MENU_INVISIBLE 0
-
-collections {
-   group {
-               name: "crop_view";
-               images {
-                       image: CROP_VIEW_CONTROLBAR_BG COMP;
-               }
-
-               /*script {
-                       public menu_state = MENU_VISIBLE;
-               }*/
-               parts{
-                       part {
-                               name: "bg";
-                               type: RECT;
-                               scale:1;
-                               description {
-                                       state: "default" 0.0;
-                                       visible: 1;
-                                       color: 0 0 0 255;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-
-                       part{
-                               name: "photocam";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               repeat_events: 0;
-                               scale: 1; //allow scaling
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0 0; to:bg; }
-                                       rel2 { relative: 1 1; to:bg; }
-                               }
-                        }
-#if 0
-                        part{
-                                name: "thumbnail";
-                                type: SWALLOW;
-                                scale: 1; //allow scaling
-                                description {
-                                        state: "default" 0.0;
-                                        align: 0.5 0.5;
-                                        rel1 { relative: 0 0; to:bg; }
-                                        rel2 { relative: 1 1; to:bg; }
-                                }
-                       }
-#endif
-                       part{
-                               name: "scissorbox";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               repeat_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       visible: 1;
-                                       rel1 { relative: 0 0; to:bg; }
-                                       rel2 { relative: 1 1; to:bg; }
-                               }
-                        }
-
-                       part {
-                               name: "event";
-                               type: RECT;
-                               repeat_events: 1;
-                               mouse_events: 1;
-                               scale:1;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 0 0 0 0;
-                                       visible: 1;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-
-                       part {
-                               name: "clipper";
-                               type: RECT;
-                               scale:1;
-                               description {
-                                       state: "default" 0.0;
-                                       visible:1;
-                                       color: 255 255 255 255;
-                               }
-                               description {
-                                       state: "hide" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 0 0 0 0;
-                               };
-
-                       }
-
-                        part {
-                               name: "controlbar.bg";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               scale: 1;
-                               clip_to: "clipper";
-                               description {
-                                       state: "default" 0.0;
-                                       visible: 1;
-                                       rel1 { relative: 0.0 1.0;   }
-                                       rel2 { relative: 1.0 1.0;   }
-                                       align: 0.5 1.0;
-                                       min: 0 126;
-
-                                       image {
-                                               normal: CROP_VIEW_CONTROLBAR_BG;
-                                       }
-
-                               }
-
-                        }
-
-                       part {
-                               name: "padding.left.13";
-                               type: RECT;
-                               scale:1;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 128 0 0 255;
-                                       visible: PADDING_VISIBILITY;
-                                       min: 13 0;
-                                       fixed: 1 0;
-                                       align: 0.0 0.5;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 0.0 1.0;
-                               }
-                       }
-
-                       part {
-                               name: "padding.right.13";
-                               type: RECT;
-                               scale:1;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 0 255 0 255;
-                                       visible: PADDING_VISIBILITY;
-                                       min: 13 0;
-                                       fixed: 1 0;
-                                       align: 1.0 0.5;
-                                       rel1.relative: 1.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-
-                       part {
-                               name: "padding.bottom.20";
-                               type: RECT;
-                               scale:1;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 0 255 255 255;
-                                       visible: PADDING_VISIBILITY;
-                                       min: 0 20;
-                                       fixed: 0 1;
-                                       align: 0.5 1.0;
-                                       rel1.relative: 0.0 1.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-
-                       part {
-                               name: "btn.save";
-                               type: SWALLOW;
-                               scale:1;
-                               clip_to: "clipper";
-                               description {
-                                       state: "default" 0.0;
-                                       color: 0 0 255 255;
-                                       visible: 1;
-                                       align: 0.0 1.0;
-                                       min: 118 74;
-                                       fixed: 1 1;
-                                       rel1 {
-                                               relative: 1.0 0.0;
-                                               to_x: "padding.left.13";
-                                               to_y: "padding.bottom.20";
-                                       }
-                                       rel2 {
-                                               relative: 1.0 0.0;
-                                               to_x: "padding.left.13";
-                                               to_y: "padding.bottom.20";
-                                       }
-                               }
-                       }
-
-                       part {
-                               name: "btn.cancel";
-                               type: SWALLOW;
-                               scale:1;
-                               clip_to: "clipper";
-                               description {
-                                       state: "default" 0.0;
-                                       color: 0 0 255 255;
-                                       visible: 1;
-                                       align: 1.0 1.0;
-                                       min: 118 74;
-                                       fixed: 1 1;
-                                       rel1 {
-                                               relative: 0.0 0.0;
-                                               to_x: "padding.right.13";
-                                               to_y: "padding.bottom.20";
-                                       }
-                                       rel2 {
-                                               relative: 0.0 0.0;
-                                               to_x: "padding.right.13";
-                                               to_y: "padding.bottom.20";
-                                       }
-                               }
-                       }
-               }
-
-               programs {
-                       /*program {
-                               name: "menu.show";
-                               source: "event";
-                               signal: "mouse,clicked,1";
-                               script {
-                                       if (get_int(menu_state) == MENU_VISIBLE)
-                                       {
-                                               set_state(PART:"clipper", "hide", 0.0);
-                                               set_int(menu_state, MENU_INVISIBLE );
-                                       }
-                                       else
-                                       {
-                                               set_state(PART:"clipper", "default", 0.0);
-                                               set_int(menu_state, MENU_VISIBLE );
-                                       }
-                               }
-                       }*/
-
-                       program {
-                               name: "hide_menu";
-                               signal: "elm,state,hide";
-                               source: "event";
-                               action: STATE_SET "hide" 0.0;
-                               target: "clipper";
-                       }
-
-                       program {
-                               name: "show_menu";
-                               signal: "elm,state,show";
-                               source: "event";
-                               action: STATE_SET "default" 0.0;
-                               target: "clipper";
-                       }
-               }
-
-       }
-}
+\r
+#include "ivug-theme.edc"\r
+\r
+#define MENU_VISIBLE 1\r
+#define MENU_INVISIBLE 0\r
+\r
+#define PROGRESSBAR_WIDTH      100\r
+#define PROGRESSBAR_HEIGHT     100\r
+\r
+collections {\r
+   group {\r
+               name: "crop_view";\r
+\r
+               /*script {\r
+                       public menu_state = MENU_VISIBLE;\r
+               }*/\r
+               parts{\r
+                       part {\r
+                               name: "bg";\r
+                               type: RECT;\r
+                               scale:1;\r
+                               description {\r
+                                       state: "default" 0.0;\r
+                                       color: 0 0 0 255;\r
+                                       rel1.relative: 0.0 0.0;\r
+                                       rel2.relative: 1.0 1.0;\r
+                               }\r
+                       }\r
+\r
+                       part{\r
+                               name: "photocam";\r
+                               type: SWALLOW;\r
+                               mouse_events: 1;\r
+                               repeat_events: 0;\r
+                               scale: 1; //allow scaling\r
+                               description {\r
+                                       state: "default" 0.0;\r
+                                       visible: 1;\r
+                                       rel1 { relative: 0 0; to:bg; }\r
+                                       rel2 { relative: 1 1; to:bg; }\r
+                               }\r
+                        }\r
+\r
+                        part{\r
+                                name: "thumbnail";\r
+                                type: SWALLOW;\r
+                                scale: 1; //allow scaling\r
+                                description {\r
+                                        state: "default" 0.0;\r
+                                        align: 0.5 0.5;\r
+                                        visible: 1;\r
+                                        rel1 { relative: 0 0; to:bg; }\r
+                                        rel2 { relative: 1 1; to:bg; }\r
+                                }\r
+                       }\r
+\r
+                       part{\r
+                                name: "progressbar";\r
+                                type: SWALLOW;\r
+                                scale: 1; //allow scaling\r
+                                description {\r
+                                        state: "default" 0.0;\r
+                                        min: PROGRESSBAR_WIDTH PROGRESSBAR_WIDTH;\r
+                                        max: PROGRESSBAR_WIDTH PROGRESSBAR_WIDTH;\r
+                                        fixed: 1 1;\r
+                                        visible: 1;\r
+                                        align: 0.5 0.5;\r
+                                        rel1 { relative: 0 0; to:photocam; }\r
+                                        rel2 { relative: 1 1; to:photocam; }\r
+                                }\r
+                       }\r
+\r
+                       part {\r
+                               name: "event";\r
+                               type: RECT;\r
+                               repeat_events: 1;\r
+                               mouse_events: 1;\r
+                               scale:1;\r
+                               description {\r
+                                       state: "default" 0.0;\r
+                                       color: 0 0 0 0;\r
+                                       visible: 1;\r
+                                       rel1.relative: 0.0 0.0;\r
+                                       rel2.relative: 1.0 1.0;\r
+                               }\r
+                       }\r
+\r
+                       part{\r
+                               name: "scissorbox";\r
+                               type: SWALLOW;\r
+                               mouse_events: 1;\r
+                               repeat_events: 0;\r
+                               scale: 1;\r
+                               description {\r
+                                       state: "default" 0.0;\r
+                                       visible: 1;\r
+                                       rel1 { relative: 0 0; to:bg; }\r
+                                       rel2 { relative: 1 1; to:bg; }\r
+                               }\r
+                        }\r
+               }\r
+       }\r
+}\r
+\r
+collections {\r
+#define BTN_SET_CALLER_IMAGE_WIDTH     86\r
+#define BTN_SET_CALLER_IMAGE_HEIGHT    86\r
+#if 1\r
+       group {\r
+               name: "crop_view_btn";\r
+\r
+               images {\r
+                       image: "00_winset_control_toolbar_bg.png" COMP;\r
+               }\r
+\r
+               parts{\r
+                       part {\r
+                               name: "base";\r
+                               type: RECT;\r
+                               scale:1;\r
+                               mouse_events: 1;\r
+                               repeat_events: 1;\r
+                               description {\r
+                                       state: "default" 0.0;\r
+                                       color: 0 0 0 0;\r
+                                       rel1.relative: 0.0 0.0;\r
+                                       rel2.relative: 1.0 1.0;\r
+                               }\r
+                       }\r
+                        part { name: "controlbar_bg";\r
+                   scale: 1;\r
+                   description { state: "default" 0.0;\r
+                      min: 0 CONTROLBAR_SMALL_HEIGHT_INC;\r
+                      max: 999999 CONTROLBAR_SMALL_HEIGHT_INC;\r
+                      fixed: 0 1;\r
+                      align: 0.0 1.0;\r
+                      visible: 1;\r
+                      rel1 { to: "base"; }\r
+                      rel2 { to: "base"; }\r
+                      //image.normal: "00_winset_control_toolbar_bg.png";\r
+                   }\r
+                   description { state: "hide" 0.0;\r
+                      inherit: "default" 0.0;\r
+                      visible: 0;\r
+                   }\r
+                }\r
+                part { name: "controlbar_clip";\r
+                   type: RECT;\r
+                   mouse_events: 0;\r
+                   description { state: "default" 0.0;\r
+                      rel1.to: "controlbar_bg";\r
+                      rel2.to: "controlbar_bg";\r
+                      visible: 1;\r
+                   }\r
+                   description { state: "hide" 0.0;\r
+                      inherit: "default" 0.0;\r
+                      visible: 0;\r
+                   }\r
+                }\r
+                part { name: "elm.prev_btn_bg";\r
+                   type: RECT;\r
+                   scale: 1;\r
+                   clip_to: "controlbar_clip";\r
+                   description { state: "default" 0.0;\r
+                      min: 0 0;\r
+                      fixed: 1 0;\r
+                      align: 1.0 0.0;\r
+                      rel1 { relative: 1.0 0.0; to: "controlbar_bg"; }\r
+                      rel2.to: "controlbar_bg";\r
+                      visible: 0;\r
+                   }\r
+                   description { state: "visible" 0.0;\r
+                      inherit: "default" 0.0;\r
+                      min: NAVIFRAME_TITLE_PREV_BTN_BG_SIZE_INC 0;\r
+                   }\r
+                }\r
+                part { name: "elm.swallow.prev_btn";\r
+                   type: SWALLOW;\r
+                   scale: 1;\r
+                   clip_to: "controlbar_clip";\r
+                   description { state: "default" 0.0;\r
+                      fixed: 1 1;\r
+                      align: 0.5 0.5;\r
+                      rel1.to: "elm.prev_btn_bg";\r
+                      rel2.to: "elm.prev_btn_bg";\r
+                   }\r
+                }\r
+                part { name: "controlbar";\r
+                   type: SWALLOW;\r
+                   scale: 1;\r
+                   clip_to: "controlbar_clip";\r
+                   description { state: "default" 0.0;\r
+                          fixed: 1 1;\r
+                      rel1.to: "controlbar_bg";\r
+                      rel2 { relative: 0.0 1.0; to: "elm.prev_btn_bg"; }\r
+                      visible: 1;\r
+                   }\r
+                }\r
+               }\r
+\r
+               programs {\r
+\r
+                       program {\r
+                               name: "hide_menu";\r
+                               signal: "elm,state,hide";\r
+                               source: "event";\r
+                               action: STATE_SET "hide" 0.0;\r
+                               target: "controlbar_clip";\r
+                               target: "controlbar_bg";\r
+                       }\r
+\r
+                       program {\r
+                               name: "show_menu";\r
+                               signal: "elm,state,show";\r
+                               source: "event";\r
+                               action: STATE_SET "default" 0.0;\r
+                               target: "controlbar_clip";\r
+                               target: "controlbar_bg";\r
+                       }\r
+               }\r
+       }\r
+}\r
+\r
index 40b278a..3e11f87 100755 (executable)
@@ -32,7 +32,8 @@ typedef struct {
 \r
        Ecore_Timer *timer;\r
 \r
-       Evas_Object *btn_ok;\r
+       Evas_Object *btn_layout;\r
+       Elm_Object_Item *btn_ok;\r
 
        int w;
        int h;
index 49411d0..7e18817 100755 (executable)
 #undef LOG_CAT
 #define LOG_CAT "IV-CROP"
 
-#define EDJ_PATH PREFIX"/res/edje/"PACKAGE
+#define EDJ_PATH PREFIX"/res/edje/"PACKAGE\r
+\r
+#define CROP_EDJ_FILE EDJ_PATH"/ivug-crop-view.edj"\r
+\r
+#define CONTROL_ICON_DIRECTORY_PATH IMAGE_PATH"/01_Control icon"\r
+#define ICON_PATH_SAVE                         CONTROL_ICON_DIRECTORY_PATH"/T01_controlbar_icon_save.png"\r
+#define ICON_PATH_PREV                         CONTROL_ICON_DIRECTORY_PATH"/00_winset_btn_prev.png"\r
 
 static void _on_layout_resized(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
@@ -123,7 +129,7 @@ static Eina_Bool _on_crop_timer_expired(void *data)
 \r
        pCropView->timer = NULL;\r
 \r
-       elm_object_disabled_set(pCropView->btn_ok, EINA_FALSE);\r
+       elm_object_item_disabled_set(pCropView->btn_ok, EINA_FALSE);\r
 
        MSG_HIGH("Image preloaded");\r
 \r
@@ -362,13 +368,12 @@ IvugCropView *ivug_crop_view_create(Evas_Object *parent)
 
        Evas_Object *layout;
 
-       layout = EFL::create_layout(parent, EDJ_PATH"/ivug-crop-view.edj", "crop_view");
+       layout = EFL::create_layout(parent, CROP_EDJ_FILE, "crop_view");\r
 
        if ( layout == NULL )
        {
                MSG_ERROR("Cannot create crop view");
-               delete pCropView;
-
+               free(pCropView);\r
                return NULL;
        }
 
@@ -391,24 +396,35 @@ IvugCropView *ivug_crop_view_create(Evas_Object *parent)
 
        elm_object_part_content_set(layout, "scissorbox", pCropView->cropbox);
 
-// Create button
-       Evas_Object *btn = NULL;
-
-       btn = EFL::create_button(layout, "btn_style1", NULL, IDS_SAVE);
-       evas_object_smart_callback_add(btn, "clicked", _on_btn_save, (void *)pCropView);
-       elm_object_part_content_set(layout, "btn.save", btn);\r
+       Evas_Object *controlbar = ivug_controlbar_add(pCropView->layout, "default");\r
+       Elm_Object_Item *item[4];\r
 \r
-       pCropView->btn_ok = btn;\r
-
-       btn = EFL::create_button(layout, "btn_style1", NULL, IDS_CANCEL);
-       evas_object_smart_callback_add(btn, "clicked", _on_btn_cancel, (void *)pCropView);
-       elm_object_part_content_set(layout, "btn.cancel", btn);
+       item[0] = elm_toolbar_item_append(controlbar, ICON_PATH_SAVE, NULL, _on_btn_save, (void *)pCropView);\r
+       item[1] = elm_toolbar_item_append(controlbar, NULL, NULL, NULL, NULL);\r
+       item[2] = elm_toolbar_item_append(controlbar, NULL, NULL, NULL, NULL);\r
+       item[3] = elm_toolbar_item_append(controlbar, ICON_PATH_PREV, NULL, _on_btn_cancel, (void *)pCropView);\r
+\r
+       pCropView->btn_layout = ivug_layout_add(pCropView->layout , CROP_EDJ_FILE, "crop_view_btn");\r
+       if ( pCropView->btn_layout == NULL )\r
+       {\r
+               MSG_SETAS_ERROR("Cannot create btn_layout.");\r
+               evas_object_del(pCropView->layout);\r
+               free(pCropView);\r
+               return NULL;\r
+       }\r
+\r
+       pCropView->btn_ok = item[0];\r
+       elm_object_item_disabled_set(pCropView->btn_ok, EINA_TRUE);\r
+\r
+       elm_object_part_content_set(pCropView->btn_layout, "controlbar", controlbar);\r
+\r
+       evas_object_smart_member_add(pCropView->btn_layout, pCropView->layout);\r
+\r
+       evas_object_show(pCropView->btn_layout);\r
 
        MSG_HIGH("Create CropView");
 
        evas_object_smart_callback_add(layout, "test", _on_test, NULL);\r
-\r
-       elm_object_disabled_set(pCropView->btn_ok, EINA_TRUE);\r
 
        elm_win_resize_object_add(gGetCurrentWindow(), layout);
 
@@ -475,7 +491,10 @@ void ivug_crop_view_destroy(IvugCropView *pCropView)
                free(pCropView->file_path);
 
        if ( pCropView->result_path)
-               free(pCropView->result_path);
+               free(pCropView->result_path);\r
+\r
+       if ( pCropView->btn_layout )\r
+               evas_object_del(pCropView->btn_layout);\r
 
        if ( pCropView->layout )
                evas_object_del(pCropView->layout);
index f3f22c9..bd26d86 100755 (executable)
@@ -527,13 +527,6 @@ Evas_Object *_ivug_setas_callerid_create_layout(Evas_Object *parent)
        elm_object_item_disabled_set(item[1], EINA_TRUE);
        elm_object_item_disabled_set(item[2], EINA_TRUE);
 
-       pSetAsData->btn_layout = ivug_layout_add(pSetAsData->layout , SETAS_EDJ_FILE, "setas_view_btn");
-       if ( pSetAsData->btn_layout == NULL )
-       {
-               MSG_SETAS_ERROR("Cannot create btn_layout.");
-               goto error;
-       }
-
        elm_object_part_content_set(pSetAsData->btn_layout, "controlbar", controlbar);
 
        //Evas_Object *back_btn = ivug_button_add(controlbar, "naviframe/end_btn/default", IDS_BACK, NULL, _on_btn_cancel_clicked, pSetAsData->layout);