rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=30d84ccc74820541d7b6e291d25992d306c6f1d5
commit 30d84ccc74820541d7b6e291d25992d306c6f1d5 Author: Vyacheslav Reutskiy <v.reuts...@samsung.com> Date: Thu Jun 16 08:55:54 2016 +0300 editor: add internal func for del part and program This funcs have a flag in arguments for do or not reset attributes before delete. It's needed for create fake deletion. Change-Id: I85f6aa24756f7c14abac3e36842691ba2f6248e8 --- src/bin/editor/editor_part.c | 16 ++++++++++++---- src/bin/editor/editor_private.h | 26 ++++++++++++++++++++++++++ src/bin/editor/editor_program.c | 16 ++++++++++++---- 3 files changed, 50 insertions(+), 8 deletions(-) diff --git a/src/bin/editor/editor_part.c b/src/bin/editor/editor_part.c index fb0ef2a..1f9e649 100644 --- a/src/bin/editor/editor_part.c +++ b/src/bin/editor/editor_part.c @@ -953,8 +953,8 @@ editor_part_copy(Evas_Object *edit_object, Change *change, Eina_Bool merge __UNU } Eina_Bool -editor_part_del(Evas_Object *edit_object, Change *change, Eina_Bool merge __UNUSED__, Eina_Bool apply, - const char *part_name) +_editor_part_del(Evas_Object *edit_object, Change *change, Eina_Bool merge __UNUSED__, Eina_Bool apply, Eina_Bool reset, + const char *part_name) { Diff *diff; Eina_Stringshare *event_info; @@ -968,8 +968,9 @@ editor_part_del(Evas_Object *edit_object, Change *change, Eina_Bool merge __UNUS if (change) { type = edje_edit_part_type_get(edit_object, part_name); - if (!editor_part_reset(edit_object, change, apply, part_name)) - return false; + if (reset) + if (!editor_part_reset(edit_object, change, apply, part_name)) + return false; diff = mem_calloc(1, sizeof(Diff)); diff->redo.type = FUNCTION_TYPE_STRING; diff->redo.function = editor_part_del; @@ -996,6 +997,13 @@ editor_part_del(Evas_Object *edit_object, Change *change, Eina_Bool merge __UNUS } Eina_Bool +editor_part_del(Evas_Object *edit_object, Change *change, Eina_Bool merge, Eina_Bool apply, + const char *part_name) +{ + return _editor_part_del(edit_object, change, merge, apply, true, part_name); +} + +Eina_Bool editor_part_restack(Evas_Object *edit_object, Change *change, Eina_Bool merge, Eina_Bool apply, const char *part_name, const char *relative_part) { diff --git a/src/bin/editor/editor_private.h b/src/bin/editor/editor_private.h new file mode 100644 index 0000000..0c720d0 --- /dev/null +++ b/src/bin/editor/editor_private.h @@ -0,0 +1,26 @@ +/* + * Edje Theme Editor + * Copyright (C) 2013-2016 Samsung Electronics. + * + * This file is part of Edje Theme Editor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; If not, see www.gnu.org/licenses/lgpl.html. + */ + +Eina_Bool +_editor_part_del(Evas_Object *edit_object, Change *change, Eina_Bool merge, Eina_Bool apply, Eina_Bool reset, + const char *part_name); + +Eina_Bool +_editor_program_del(Evas_Object *edit_object, Change *change, Eina_Bool merge, Eina_Bool apply, Eina_Bool reset, + const char *program_name); diff --git a/src/bin/editor/editor_program.c b/src/bin/editor/editor_program.c index 5fe8e6d..052d604 100644 --- a/src/bin/editor/editor_program.c +++ b/src/bin/editor/editor_program.c @@ -842,8 +842,8 @@ editor_program_add(Evas_Object *edit_object, Change *change, Eina_Bool merge __U } Eina_Bool -editor_program_del(Evas_Object *edit_object, Change *change, Eina_Bool merge __UNUSED__, Eina_Bool apply, - const char *program_name) +_editor_program_del(Evas_Object *edit_object, Change *change, Eina_Bool merge __UNUSED__, Eina_Bool apply, Eina_Bool reset, + const char *program_name) { Diff *diff; Eina_Stringshare *event_info; @@ -856,8 +856,9 @@ editor_program_del(Evas_Object *edit_object, Change *change, Eina_Bool merge __U if (change) { Edje_Action_Type type = edje_edit_program_action_get(edit_object, program_name); - if (!editor_program_reset(edit_object, change, apply, program_name)) - return false; + if (reset) + if (!editor_program_reset(edit_object, change, apply, program_name)) + return false; diff = mem_calloc(1, sizeof(Diff)); diff->redo.type = FUNCTION_TYPE_STRING; diff->redo.function = editor_program_del; @@ -882,3 +883,10 @@ editor_program_del(Evas_Object *edit_object, Change *change, Eina_Bool merge __U } return true; } + +Eina_Bool +editor_program_del(Evas_Object *edit_object, Change *change, Eina_Bool merge, Eina_Bool apply, + const char *program_name) +{ + return _editor_program_del(edit_object, change, merge, apply, true, program_name); +} --