* 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
#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)
{
\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
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;
}
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);
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);