summaryrefslogtreecommitdiff
path: root/main/src/view/ivug-crop-view.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/view/ivug-crop-view.cpp')
-rwxr-xr-xmain/src/view/ivug-crop-view.cpp57
1 files changed, 38 insertions, 19 deletions
diff --git a/main/src/view/ivug-crop-view.cpp b/main/src/view/ivug-crop-view.cpp
index 49411d0..7e18817 100755
--- a/main/src/view/ivug-crop-view.cpp
+++ b/main/src/view/ivug-crop-view.cpp
@@ -32,7 +32,13 @@
#undef LOG_CAT
#define LOG_CAT "IV-CROP"
-#define EDJ_PATH PREFIX"/res/edje/"PACKAGE
+#define EDJ_PATH PREFIX"/res/edje/"PACKAGE
+
+#define CROP_EDJ_FILE EDJ_PATH"/ivug-crop-view.edj"
+
+#define CONTROL_ICON_DIRECTORY_PATH IMAGE_PATH"/01_Control icon"
+#define ICON_PATH_SAVE CONTROL_ICON_DIRECTORY_PATH"/T01_controlbar_icon_save.png"
+#define ICON_PATH_PREV CONTROL_ICON_DIRECTORY_PATH"/00_winset_btn_prev.png"
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)
pCropView->timer = NULL;
- elm_object_disabled_set(pCropView->btn_ok, EINA_FALSE);
+ elm_object_item_disabled_set(pCropView->btn_ok, EINA_FALSE);
MSG_HIGH("Image preloaded");
@@ -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");
if ( layout == NULL )
{
MSG_ERROR("Cannot create crop view");
- delete pCropView;
-
+ free(pCropView);
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);
+ Evas_Object *controlbar = ivug_controlbar_add(pCropView->layout, "default");
+ Elm_Object_Item *item[4];
- pCropView->btn_ok = btn;
-
- 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);
+ item[1] = elm_toolbar_item_append(controlbar, NULL, NULL, NULL, NULL);
+ item[2] = elm_toolbar_item_append(controlbar, NULL, NULL, NULL, NULL);
+ item[3] = elm_toolbar_item_append(controlbar, ICON_PATH_PREV, NULL, _on_btn_cancel, (void *)pCropView);
+
+ pCropView->btn_layout = ivug_layout_add(pCropView->layout , CROP_EDJ_FILE, "crop_view_btn");
+ if ( pCropView->btn_layout == NULL )
+ {
+ MSG_SETAS_ERROR("Cannot create btn_layout.");
+ evas_object_del(pCropView->layout);
+ free(pCropView);
+ return NULL;
+ }
+
+ pCropView->btn_ok = item[0];
+ elm_object_item_disabled_set(pCropView->btn_ok, EINA_TRUE);
+
+ elm_object_part_content_set(pCropView->btn_layout, "controlbar", controlbar);
+
+ evas_object_smart_member_add(pCropView->btn_layout, pCropView->layout);
+
+ evas_object_show(pCropView->btn_layout);
MSG_HIGH("Create CropView");
evas_object_smart_callback_add(layout, "test", _on_test, NULL);
-
- elm_object_disabled_set(pCropView->btn_ok, EINA_TRUE);
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);
+
+ if ( pCropView->btn_layout )
+ evas_object_del(pCropView->btn_layout);
if ( pCropView->layout )
evas_object_del(pCropView->layout);