[Pkg-e-commits] [SCM] Python bindings for Edje branch, master, updated. debian/0.2.1-2-150-g43e2f7a
Albin Tonnerre
albin.tonnerre at gmail.com
Wed Dec 23 19:51:07 UTC 2009
The following commit has been merged in the master branch:
commit cf9763c4b0776fd90a094455f1e1a629db810383
Author: Albin Tonnerre <albin.tonnerre at gmail.com>
Date: Wed Dec 16 22:40:51 2009 +0100
Import new SVN snapshot
diff --git a/edje/__init__.py b/edje/__init__.py
index e8f6650..73ee98a 100644
--- a/edje/__init__.py
+++ b/edje/__init__.py
@@ -27,11 +27,27 @@ from c_edje import Edje, shutdown, frametime_set, frametime_get, \
color_class_set, color_class_del, color_class_list, \
text_class_set, text_class_del, text_class_list, \
extern_object_min_size_set, extern_object_max_size_set, \
- extern_object_aspect_set, message_signal_process, EdjeLoadError, \
- Message, MessageSignal, MessageString, MessageInt, MessageFloat, \
- MessageStringSet, MessageIntSet, MessageFloatSet, MessageStringInt, \
- MessageStringFloat, MessageStringIntSet, MessageStringFloatSet
+ extern_object_aspect_set, available_modules_get, message_signal_process, \
+ module_load, external_param_info_get, EdjeLoadError, Message, \
+ MessageSignal, MessageString, MessageInt, MessageFloat, MessageStringSet, \
+ MessageIntSet, MessageFloatSet, MessageStringInt, MessageStringFloat, \
+ MessageStringIntSet, MessageStringFloatSet, ExternalParam, \
+ ExternalParamInfo, ExternalParamInfoInt, ExternalParamInfoInt, \
+ ExternalParamInfoDouble, ExternalParamInfoString, ExternalType, \
+ ExternalIterator
+EDJE_MESSAGE_NONE = 0
+EDJE_MESSAGE_SIGNAL = 1
+EDJE_MESSAGE_STRING = 2
+EDJE_MESSAGE_INT = 3
+EDJE_MESSAGE_FLOAT = 4
+EDJE_MESSAGE_STRING_SET = 5
+EDJE_MESSAGE_INT_SET = 6
+EDJE_MESSAGE_FLOAT_SET = 7
+EDJE_MESSAGE_STRING_INT = 8
+EDJE_MESSAGE_STRING_FLOAT = 9
+EDJE_MESSAGE_STRING_INT_SET = 10
+EDJE_MESSAGE_STRING_FLOAT_SET = 11
EDJE_ASPECT_CONTROL_NONE = 0
EDJE_ASPECT_CONTROL_NEITHER = 1
@@ -39,5 +55,69 @@ EDJE_ASPECT_CONTROL_HORIZONTAL = 2
EDJE_ASPECT_CONTROL_VERTICAL = 3
EDJE_ASPECT_CONTROL_BOTH = 4
+EDJE_DRAG_DIR_NONE = 0
+EDJE_DRAG_DIR_X = 1
+EDJE_DRAG_DIR_Y = 2
+EDJE_DRAG_DIR_XY = 3
+
+EDJE_LOAD_ERROR_NONE = 0
+EDJE_LOAD_ERROR_GENERIC = 1
+EDJE_LOAD_ERROR_DOES_NOT_EXIST = 2
+EDJE_LOAD_ERROR_PERMISSION_DENIED = 3
+EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4
+EDJE_LOAD_ERROR_CORRUPT_FILE = 5
+EDJE_LOAD_ERROR_UNKNOWN_FORMAT = 6
+EDJE_LOAD_ERROR_INCOMPATIBLE_FILE = 7
+EDJE_LOAD_ERROR_UNKNOWN_COLLECTION = 8
+
+EDJE_PART_TYPE_NONE = 0
+EDJE_PART_TYPE_RECTANGLE = 1
+EDJE_PART_TYPE_TEXT = 2
+EDJE_PART_TYPE_IMAGE = 3
+EDJE_PART_TYPE_SWALLOW = 4
+EDJE_PART_TYPE_TEXTBLOCK = 5
+EDJE_PART_TYPE_GRADIENT = 6
+EDJE_PART_TYPE_GROUP = 7
+EDJE_PART_TYPE_BOX = 8
+EDJE_PART_TYPE_TABLE = 9
+EDJE_PART_TYPE_EXTERNAL = 10
+EDJE_PART_TYPE_LAST = 11
+
+EDJE_TEXT_EFFECT_NONE = 0
+EDJE_TEXT_EFFECT_PLAIN = 1
+EDJE_TEXT_EFFECT_OUTLINE = 2
+EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3
+EDJE_TEXT_EFFECT_SHADOW = 4
+EDJE_TEXT_EFFECT_SOFT_SHADOW = 5
+EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6
+EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7
+EDJE_TEXT_EFFECT_FAR_SHADOW = 8
+EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9
+EDJE_TEXT_EFFECT_GLOW = 10
+EDJE_TEXT_EFFECT_LAST = 11
+
+EDJE_ACTION_TYPE_NONE = 0
+EDJE_ACTION_TYPE_STATE_SET = 1
+EDJE_ACTION_TYPE_ACTION_STOP = 2
+EDJE_ACTION_TYPE_SIGNAL_EMIT = 3
+EDJE_ACTION_TYPE_DRAG_VAL_SET = 4
+EDJE_ACTION_TYPE_DRAG_VAL_STEP = 5
+EDJE_ACTION_TYPE_DRAG_VAL_PAGE = 6
+EDJE_ACTION_TYPE_SCRIPT = 7
+EDJE_ACTION_TYPE_FOCUS_SET = 8
+EDJE_ACTION_TYPE_LUA_SCRIPT = 9
+EDJE_ACTION_TYPE_LAST = 10
+
+EDJE_TWEEN_MODE_NONE = 0
+EDJE_TWEEN_MODE_LINEAR = 1
+EDJE_TWEEN_MODE_SINUSOIDAL = 2
+EDJE_TWEEN_MODE_ACCELERATE = 3
+EDJE_TWEEN_MODE_DECELERATE = 4
+EDJE_TWEEN_MODE_LAST = 5
+
+EDJE_EXTERNAL_PARAM_TYPE_INT = 0
+EDJE_EXTERNAL_PARAM_TYPE_DOUBLE = 1
+EDJE_EXTERNAL_PARAM_TYPE_STRING = 2
+EDJE_EXTERNAL_PARAM_TYPE_MAX = 3
c_edje.init()
diff --git a/edje/decorators.py b/edje/edit/__init__.py
similarity index 67%
copy from edje/decorators.py
copy to edje/edit/__init__.py
index 22e3e34..aeb8169 100644
--- a/edje/decorators.py
+++ b/edje/edit/__init__.py
@@ -15,18 +15,14 @@
# You should have received a copy of the GNU Lesser General Public License
# along with this Python-Edje. If not, see <http://www.gnu.org/licenses/>.
-def signal_callback(emission, source):
- def deco(func):
- func.edje_signal_callback = (emission, source)
- return staticmethod(func)
- return deco
+#!/usr/bin/env python
+import c_edit
-def text_change_callback(func):
- func.edje_text_change_callback = True
- return staticmethod(func)
+from c_edit import EdjeEdit
+EDJE_EDIT_IMAGE_COMP_RAW = 0
+EDJE_EDIT_IMAGE_COMP_USER = 1
+EDJE_EDIT_IMAGE_COMP_COMP = 2
+EDJE_EDIT_IMAGE_COMP_LOSSY =3
-def message_handler(func):
- func.edje_message_handler = True
- return staticmethod(func)
diff --git a/edje/decorators.py b/edje/edit/c_edit.pyx
similarity index 51%
copy from edje/decorators.py
copy to edje/edit/c_edit.pyx
index 22e3e34..b5d3c89 100644
--- a/edje/decorators.py
+++ b/edje/edit/c_edit.pyx
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2008 Gustavo Sverzut Barbieri
+# Copyright (C) 2007-2008 Gustavo Sverzut Barbieri, Ulisses Furquim
#
# This file is part of Python-Edje.
#
@@ -15,18 +15,27 @@
# You should have received a copy of the GNU Lesser General Public License
# along with this Python-Edje. If not, see <http://www.gnu.org/licenses/>.
-def signal_callback(emission, source):
- def deco(func):
- func.edje_signal_callback = (emission, source)
- return staticmethod(func)
- return deco
+cimport evas.python as python
+cimport evas.c_evas
+import evas.c_evas
+cimport edje.c_edje
+import edje.c_edje
+cimport edje.edit.c_edit
+import edje.edit.c_edit
+__extra_epydoc_fields__ = (
+ ("parm", "Parameter", "Parameters"), # epydoc don't support pyrex properly
+ )
+
+include "c_edit_object.pxi"
+include "c_edit_object_group.pxi"
+include "c_edit_object_data.pxi"
+include "c_edit_object_color_class.pxi"
+include "c_edit_object_text_style.pxi"
+include "c_edit_object_spectra.pxi"
+include "c_edit_object_programs.pxi"
+include "c_edit_object_part.pxi"
+include "c_edit_object_state.pxi"
-def text_change_callback(func):
- func.edje_text_change_callback = True
- return staticmethod(func)
-def message_handler(func):
- func.edje_message_handler = True
- return staticmethod(func)
diff --git a/edje/edit/c_edit_object.pxi b/edje/edit/c_edit_object.pxi
new file mode 100644
index 0000000..9c96e49
--- /dev/null
+++ b/edje/edit/c_edit_object.pxi
@@ -0,0 +1,311 @@
+# Copyright (C) 2007-2008 Tiago Falcao
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+cdef class EdjeEdit(edje.c_edje.Edje): # [object PyEdjeEdit, type PyEdjeEdit_Type]:
+ def compiler_get(self):
+ """@rtype: str"""
+ cdef char *s
+ s = edje_edit_compiler_get(self.obj)
+ if s != NULL:
+ r = s
+ edje_edit_string_free(s)
+ return r
+
+ def save(self):
+ """@rtype: bool"""
+ cdef int r
+ r = edje_edit_save(self.obj)
+ if r == 0:
+ return False
+ return True
+
+ def print_internal_status(self):
+ edje_edit_print_internal_status(self.obj)
+
+ # Group
+
+ property current_group:
+ """@rtype: bool"""
+ def __get__(self):
+ return Group(self)
+
+ def group_add(self, char *name):
+ """@rtype: bool"""
+ cdef unsigned char r
+ r = edje_edit_group_add(self.obj, name)
+ if r == 0:
+ return False
+ return True
+
+ def group_exist(self, char *name):
+ """@rtype: bool"""
+ cdef unsigned char r
+ r = edje_edit_group_exist(self.obj, name)
+ if r == 0:
+ return False
+ return True
+
+ # Data
+
+ property data:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_data_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def data_get(self, char *name):
+ return Data(self, name)
+
+ def data_add(self, char *name, char *value):
+ cdef unsigned char r
+ r = edje_edit_data_add(self.obj, name, value)
+ if r == 0:
+ return False
+ return True
+
+ def data_del(self, char *name):
+ cdef unsigned char r
+ r = edje_edit_data_del(self.obj, name)
+ if r == 0:
+ return False
+ return True
+
+ # Text Style
+
+ property text_styles:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_styles_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def text_style_get(self, char *name):
+ return Text_Style(self, name)
+
+ def text_style_add(self, char *name):
+ cdef unsigned char r
+ r = edje_edit_style_add(self.obj, name)
+ if r == 0:
+ return False
+ return True
+
+ def text_style_del(self, char *name):
+ edje_edit_style_del(self.obj, name)
+ return True
+
+ # Color Class
+
+ property color_classes:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_color_classes_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def color_class_get(self, char *name):
+ return Color_Class(self, name)
+
+ def color_class_add(self, char *name):
+ cdef unsigned char r
+ r = edje_edit_color_class_add(self.obj, name)
+ if r == 0:
+ return False
+ return True
+
+ def color_class_del(self, char *name):
+ cdef unsigned char r
+ r = edje_edit_color_class_del(self.obj, name)
+ if r == 0:
+ return False
+ return True
+
+ # External
+ property externals:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_externals_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def external_add(self, char *name):
+ return bool(edje_edit_external_add(self.obj, name))
+
+ def external_del(self, char *name):
+ edje_edit_external_del(self.obj, name)
+
+ # Part
+
+ property parts:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_parts_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def part_get(self, char *name):
+ if self.part_exist(name):
+ return Part(self, name)
+
+ def part_add(self, char *name, int type, char *source=""):
+ cdef unsigned char r
+ if type != edje.EDJE_PART_TYPE_EXTERNAL:
+ r = edje_edit_part_add(self.obj, name, <edje.c_edje.Edje_Part_Type>type)
+ else:
+ r = edje_edit_part_external_add(self.obj, name, source)
+ if r == 0:
+ return False
+ return True
+
+ def part_del(self, char *name):
+ cdef unsigned char r
+ r = edje_edit_part_del(self.obj, name)
+ if r == 0:
+ return False
+ return True
+
+ def part_exist(self, char *name):
+ cdef unsigned char r
+ r = edje_edit_part_exist(self.obj, name)
+ if r == 0:
+ return False
+ return True
+
+ property fonts:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_fonts_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def font_add(self, char *font):
+ return bool(edje_edit_font_add(self.obj, font))
+
+ # Image
+
+ property images:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_images_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def image_id_get(self, char *image):
+ return edje_edit_image_id_get(self.obj, image)
+
+ def image_add(self, char *image):
+ cdef unsigned char r
+ r = edje_edit_image_add(self.obj, image)
+ if r == 0:
+ return False
+ return True
+
+ # Spectrum
+
+ property spectrum:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_spectrum_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def spectra_get(self, char *name):
+ return Spectra(self, name)
+
+ def spectra_add(self, char *name):
+ return bool(edje_edit_spectra_add(self.obj, name))
+
+ def spectra_del(self, char *name):
+ return bool(edje_edit_spectra_del(self.obj, name))
+
+ # Programs
+
+ property programs:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_programs_list_get(self.obj)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def program_get(self, char *name):
+ if self.program_exist(name):
+ return Program(self, name)
+
+ def program_add(self, char *name):
+ return bool(edje_edit_program_add(self.obj, name))
+
+ def program_del(self, char *name):
+ return bool(edje_edit_program_del(self.obj, name))
+
+ def program_exist(self, char *name):
+ return bool(edje_edit_program_exist(self.obj, name))
diff --git a/edje/edit/c_edit_object_color_class.pxi b/edje/edit/c_edit_object_color_class.pxi
new file mode 100644
index 0000000..224fc86
--- /dev/null
+++ b/edje/edit/c_edit_object_color_class.pxi
@@ -0,0 +1,72 @@
+# Copyright (C) 2007-2008 Tiago Falcao
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+
+# evas.c_evas.Eina_List * edje_edit_color_classes_list_get(evas.c_evas.Evas_Object * obj)
+# unsigned char edje_edit_color_class_colors_get(evas.c_evas.Evas_Object *obj, char *class_name, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3)
+# unsigned char edje_edit_color_class_colors_set(evas.c_evas.Evas_Object *obj, char *class_name, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
+#cdef class color:
+# self.r
+# self.g
+# self.b
+# self.a
+
+cdef class Color_Class:
+ cdef EdjeEdit edje
+ cdef object _name
+
+ def __init__(self, EdjeEdit edje, char *name):
+ self.edje = edje
+ self._name = name
+
+ property name:
+ def __get__(self):
+ return self._name
+
+ def __set__(self, newname):
+ self.rename(newname)
+
+ def rename(self, char *newname):
+ cdef unsigned char r
+ r = edje_edit_color_class_name_set(self.edje.obj, self.name, newname)
+ if r == 0:
+ return False
+ self._name = newname
+ return True
+
+ def colors_get(self):
+ cdef int r, g, b, a
+ cdef int r2, g2, b2, a2
+ cdef int r3, g3, b3, a3
+ edje_edit_color_class_colors_get(self.edje.obj, self.name,
+ &r, &g, &b, &a,
+ &r2, &g2, &b2, &a2,
+ &r3, &g3, &b3, &a3)
+ return ((r, g, b, a),
+ (r2, g2, b2, a2),
+ (r3, g3, b3, a3))
+
+ def colors_set(self, int r, int g, int b, int a,
+ int r2, int g2, int b2, int a2,
+ int r3, int g3, int b3, int a3):
+ edje_edit_color_class_colors_set(self.edje.obj, self.name,
+ r, g, b, a,
+ r2, g2, b2, a2,
+ r3, g3, b3, a3)
+
diff --git a/edje/edit/c_edit_object_data.pxi b/edje/edit/c_edit_object_data.pxi
new file mode 100644
index 0000000..fcfb58a
--- /dev/null
+++ b/edje/edit/c_edit_object_data.pxi
@@ -0,0 +1,46 @@
+# Copyright (C) 2007-2008 Tiago Falcao
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+
+cdef class Data:
+ cdef EdjeEdit edje
+ cdef object name
+
+ def __init__(self, EdjeEdit edje, char *name):
+ self.edje = edje
+ self.name = name
+
+ property value:
+ def __get__(self):
+ cdef char *val
+ val = edje_edit_data_value_get(self.edje.obj, self.itemname)
+ if val == NULL: return None
+ r = val
+ edje_edit_string_free(val)
+ return r
+ def __set__(self, value):
+ edje_edit_data_value_set(self.edje.obj, self.itemname, value)
+
+ def rename(self, char * newname):
+ cdef unsigned char r
+ r = edje_edit_data_name_set(self.edje.obj, self.itemname, newname)
+ if r == 0:
+ return False
+ return True
+
diff --git a/edje/edit/c_edit_object_group.pxi b/edje/edit/c_edit_object_group.pxi
new file mode 100644
index 0000000..dfd673e
--- /dev/null
+++ b/edje/edit/c_edit_object_group.pxi
@@ -0,0 +1,65 @@
+# Copyright (C) 2007-2008 Tiago Falcao
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+
+cdef class Group:
+ cdef EdjeEdit edje
+
+ def __init__(self, EdjeEdit edje):
+ self.edje = edje
+
+ def delete(self):
+ """@rtype: bool"""
+ cdef unsigned char r
+ r = edje_edit_group_del(self.edje.obj)
+ if r == 0:
+ return False
+ return True
+
+ property w_min:
+ def __get__(self):
+ return edje_edit_group_min_w_get(self.edje.obj)
+ def __set__(self, value):
+ edje_edit_group_min_w_set(self.edje.obj, value)
+
+ property w_max:
+ def __get__(self):
+ return edje_edit_group_max_w_get(self.edje.obj)
+ def __set__(self, value):
+ edje_edit_group_max_w_set(self.edje.obj, value)
+
+ property h_min:
+ def __get__(self):
+ return edje_edit_group_min_h_get(self.edje.obj)
+ def __set__(self, value):
+ edje_edit_group_min_h_set(self.edje.obj, value)
+
+ property h_max:
+ def __get__(self):
+ return edje_edit_group_max_h_get(self.edje.obj)
+ def __set__(self, value):
+ edje_edit_group_max_h_set(self.edje.obj, value)
+
+ def rename(self, char *name):
+ cdef unsigned char r
+ r = edje_edit_group_name_set(self.edje.obj, name)
+ if r == 0:
+ return False
+ return True
+
diff --git a/edje/edit/c_edit_object_part.pxi b/edje/edit/c_edit_object_part.pxi
new file mode 100644
index 0000000..e590f01
--- /dev/null
+++ b/edje/edit/c_edit_object_part.pxi
@@ -0,0 +1,235 @@
+# Copyright (C) 2007-2008 Tiago Falcao
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+cdef class Part:
+ cdef EdjeEdit edje
+ cdef object _name
+
+ property name:
+ def __get__(self):
+ return self._name
+ def __set__(self, name):
+ self.rename(name)
+
+ def __init__(self, EdjeEdit edje, char *name):
+ self.edje = edje
+ self._name = name
+
+ def restack_below(self):
+ cdef unsigned char r
+ r = edje_edit_part_restack_below(self.edje.obj, self.name)
+ if r == 0:
+ return False
+ return True
+
+ def restack_above(self):
+ cdef unsigned char r
+ r = edje_edit_part_restack_above(self.edje.obj, self.name)
+ if r == 0:
+ return False
+ return True
+
+ def rename(self, newname):
+ cdef unsigned char r
+ r = edje_edit_part_name_set(self.edje.obj, self.name, newname)
+ if r == 0:
+ return False
+ self.name = newname
+ return True
+
+ property type:
+ def __get__(self):
+ return edje_edit_part_type_get(self.edje.obj, self.name)
+
+ property states:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_part_states_list_get(self.edje.obj, self.name)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def state_get(self, char *sname):
+ if self.state_exist(sname):
+ return State(self, sname)
+
+ def state_add(self, char *sname):
+ edje_edit_state_add(self.edje.obj, self.name, sname)
+
+ def state_del(self, char *sname):
+ edje_edit_state_del(self.edje.obj, self.name, sname)
+
+ def state_exist(self, char *sname):
+ cdef unsigned char r
+ r = edje_edit_state_exist(self.edje.obj, self.name, sname)
+ if r == 0:
+ return False
+ return True
+
+ def state_copy(self, char *sfrom, char *sto):
+ return bool(edje_edit_state_copy(self.edje.obj, self.name,
+ sfrom, sto))
+
+ def state_selected_get(self):
+ cdef char *sel
+ sel = edje_edit_part_selected_state_get(self.edje.obj, self.name)
+ if sel == NULL: return None
+ r = sel
+ edje_edit_string_free(sel)
+ return r
+
+ def state_selected_set(self, char *state):
+ edje_edit_part_selected_state_set(self.edje.obj, self.name, state)
+
+ property clip_to:
+ def __get__(self):
+ cdef char *clipper
+ clipper = edje_edit_part_clip_to_get(self.edje.obj, self.name)
+ if clipper == NULL: return None
+ r = clipper
+ edje_edit_string_free(clipper)
+ return r
+
+ def __set__(self, clipper):
+ if clipper == "" or clipper is None:
+ edje_edit_part_clip_to_set(self.edje.obj, self.name, NULL)
+ else:
+ edje_edit_part_clip_to_set(self.edje.obj, self.name, clipper)
+
+ def __del__(self):
+ edje_edit_part_clip_to_set(self.edje.obj, self.name, NULL)
+
+ property source:
+ def __get__(self):
+ cdef char *source
+ source = edje_edit_part_source_get(self.edje.obj, self.name)
+ if source == NULL: return None
+ r = source
+ edje_edit_string_free(source)
+ return r
+
+ def __set__(self, source):
+ if source == "" or source is None:
+ edje_edit_part_source_set(self.edje.obj, self.name, NULL)
+ else:
+ edje_edit_part_source_set(self.edje.obj, self.name, source)
+
+ def __del__(self):
+ edje_edit_part_source_set(self.edje.obj, self.name, NULL)
+
+ property mouse_events:
+ def __get__(self):
+ return bool(edje_edit_part_mouse_events_get(self.edje.obj,
+ self.name))
+
+ def __set__(self, me):
+ if me:
+ edje_edit_part_mouse_events_set(self.edje.obj, self.name, 1)
+ else:
+ edje_edit_part_mouse_events_set(self.edje.obj, self.name, 0)
+
+ property repeat_events:
+ def __get__(self):
+ return bool(edje_edit_part_repeat_events_get(self.edje.obj,
+ self.name))
+
+ def __set__(self, re):
+ if re:
+ edje_edit_part_repeat_events_set(self.edje.obj, self.name, 1)
+ else:
+ edje_edit_part_repeat_events_set(self.edje.obj, self.name, 0)
+
+ property effect:
+ def __get__(self):
+ return edje_edit_part_effect_get(self.edje.obj, self.name)
+
+ def __set__(self, effect):
+ edje_edit_part_effect_set(self.edje.obj, self.name, effect)
+
+ property ignore_flags:
+ def __get__(self):
+ return edje_edit_part_ignore_flags_get(self.edje.obj, self.name)
+
+ def __set__(self, flags):
+ edje_edit_part_ignore_flags_set(self.edje.obj, self.name, flags)
+
+ property drag:
+ def __get__(self):
+ cdef int x, y
+ x = edje_edit_part_drag_x_get(self.edje.obj, self.name)
+ y = edje_edit_part_drag_y_get(self.edje.obj, self.name)
+ return (x, y)
+
+ def __set__(self, val):
+ x, y = val
+ edje_edit_part_drag_x_set(self.edje.obj, self.name, x)
+ edje_edit_part_drag_y_set(self.edje.obj, self.name, y)
+
+ property drag_step:
+ def __get__(self):
+ cdef int x, y
+ x = edje_edit_part_drag_step_x_get(self.edje.obj, self.name)
+ y = edje_edit_part_drag_step_y_get(self.edje.obj, self.name)
+ return (x, y)
+
+ def __set__(self, val):
+ x, y = val
+ edje_edit_part_drag_step_x_set(self.edje.obj, self.name, x)
+ edje_edit_part_drag_step_y_set(self.edje.obj, self.name, y)
+
+ property drag_count:
+ def __get__(self):
+ cdef int x, y
+ x = edje_edit_part_drag_count_x_get(self.edje.obj, self.name)
+ y = edje_edit_part_drag_count_y_get(self.edje.obj, self.name)
+ return (x, y)
+
+ def __set__(self, val):
+ x, y = val
+ edje_edit_part_drag_count_x_set(self.edje.obj, self.name, x)
+ edje_edit_part_drag_count_y_set(self.edje.obj, self.name, y)
+
+ property drag_confine:
+ def __get__(self):
+ cdef char *confine
+ confine = edje_edit_part_drag_confine_get(self.edje.obj, self.name)
+ if confine == NULL: return None
+ r = confine
+ edje_edit_string_free(confine)
+ return r
+
+ def __set__(self, confine):
+ edje_edit_part_drag_confine_set(self.edje.obj, self.name, confine)
+
+ property drag_event:
+ def __get__(self):
+ cdef char *event
+ event = edje_edit_part_drag_event_get(self.edje.obj, self.name)
+ if event == NULL: return None
+ r = event
+ edje_edit_string_free(event)
+ return r
+
+ def __set__(self, event):
+ edje_edit_part_drag_event_set(self.edje.obj, self.name, event)
diff --git a/edje/edit/c_edit_object_programs.pxi b/edje/edit/c_edit_object_programs.pxi
new file mode 100644
index 0000000..37bc93b
--- /dev/null
+++ b/edje/edit/c_edit_object_programs.pxi
@@ -0,0 +1,171 @@
+# Copyright (C) 2007-2008 Ivan Briano
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+cdef class Program:
+ cdef EdjeEdit edje
+ cdef object _name
+
+ def __init__(self, EdjeEdit edje, char *name):
+ self.edje = edje
+ self._name = name
+
+ property name:
+ def __get__(self):
+ return self._name
+
+ def __set__(self, char *newname):
+ self.rename(newname)
+
+ def rename(self, char *newname):
+ cdef unsigned char r
+ r = edje_edit_program_name_set(self.edje.obj, self.name, newname)
+ if r == 0:
+ return False
+ self._name = newname
+ return True
+
+ def run(self):
+ return bool(edje_edit_program_run(self.edje.obj, self.name))
+
+ def source_get(self):
+ cdef char *s
+ s = edje_edit_program_source_get(self.edje.obj, self.name)
+ if s == NULL:
+ return None
+ ret = s
+ edje_edit_string_free(s)
+ return ret
+
+ def source_set(self, char *s):
+ return bool(edje_edit_program_source_set(self.edje.obj, self.name, s))
+
+ def signal_get(self):
+ cdef char *s
+ s = edje_edit_program_signal_get(self.edje.obj, self.name)
+ if s == NULL:
+ return None
+ ret = s
+ edje_edit_string_free(s)
+ return ret
+
+ def signal_set(self, char *s):
+ return bool(edje_edit_program_signal_set(self.edje.obj, self.name, s))
+
+ def in_from_get(self):
+ return edje_edit_program_in_from_get(self.edje.obj, self.name)
+
+ def in_from_set(self, double f):
+ return bool(edje_edit_program_in_from_set(self.edje.obj, self.name, f))
+
+ def in_range_get(self):
+ return edje_edit_program_in_range_get(self.edje.obj, self.name)
+
+ def in_range_set(self, double r):
+ return bool(edje_edit_program_in_range_set(self.edje.obj, self.name, r))
+
+ def action_get(self):
+ return edje_edit_program_action_get(self.edje.obj, self.name)
+
+ def action_set(self, action):
+ return bool(edje_edit_program_action_set(self.edje.obj, self.name,
+ action))
+
+ def targets_get(self):
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_program_targets_get(self.edje.obj, self.name)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def target_add(self, char *t):
+ return bool(edje_edit_program_target_add(self.edje.obj, self.name, t))
+
+ def targets_clear(self):
+ return bool(edje_edit_program_targets_clear(self.edje.obj, self.name))
+
+ def afters_get(self):
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_program_afters_get(self.edje.obj, self.name)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def after_add(self, char *a):
+ return bool(edje_edit_program_after_add(self.edje.obj, self.name, a))
+
+ def afters_clear(self):
+ return bool(edje_edit_program_afters_clear(self.edje.obj, self.name))
+
+ def state_get(self):
+ cdef char *s
+ s = edje_edit_program_state_get(self.edje.obj, self.name)
+ if s == NULL:
+ return None
+ ret = s
+ edje_edit_string_free(s)
+ return ret
+
+ def state_set(self, char *s):
+ return bool(edje_edit_program_state_set(self.edje.obj, self.name, s))
+
+ def value_get(self):
+ return edje_edit_program_value_get(self.edje.obj, self.name)
+
+ def value_set(self, double v):
+ return bool(edje_edit_program_value_set(self.edje.obj, self.name, v))
+
+ def state2_get(self):
+ cdef char *s
+ s = edje_edit_program_state2_get(self.edje.obj, self.name)
+ if s == NULL:
+ return None
+ ret = s
+ edje_edit_string_free(s)
+ return ret
+
+ def state2_set(self, char *s):
+ return bool(edje_edit_program_state2_set(self.edje.obj, self.name, s))
+
+ def value2_get(self):
+ return edje_edit_program_value2_get(self.edje.obj, self.name)
+
+ def value2_set(self, double v):
+ return bool(edje_edit_program_value2_set(self.edje.obj, self.name, v))
+
+ def transition_get(self):
+ return edje_edit_program_transition_get(self.edje.obj, self.name)
+
+ def transition_set(self, t):
+ return bool(edje_edit_program_transition_set(self.edje.obj, self.name,
+ t))
+
+ def transition_time_get(self):
+ return edje_edit_program_transition_time_get(self.edje.obj, self.name)
+
+ def transition_time_set(self, double t):
+ return bool(edje_edit_program_transition_time_set(self.edje.obj,
+ self.name, t))
diff --git a/edje/edit/c_edit_object_spectra.pxi b/edje/edit/c_edit_object_spectra.pxi
new file mode 100644
index 0000000..1e34404
--- /dev/null
+++ b/edje/edit/c_edit_object_spectra.pxi
@@ -0,0 +1,57 @@
+# Copyright (C) 2007-2008 Ivan Briano
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+cdef class Spectra:
+ cdef EdjeEdit edje
+ cdef object _name
+
+ def __init__(self, EdjeEdit edje, char *name):
+ self.edje = edje
+ self._name = name
+
+ property name:
+ def __get__(self):
+ return self._name
+
+ def __set__(self, char *newname):
+ self.rename(newname)
+
+ def rename(self, char *newname):
+ cdef unsigned char r
+ r = edje_edit_spectra_name_set(self.edje.obj, self.name, newname)
+ if r == 0:
+ return False
+ self._name = newname
+ return True
+
+ def stop_num_get(self):
+ return edje_edit_spectra_stop_num_get(self.edje.obj, self.name)
+
+ def stop_num_set(self, int num):
+ edje_edit_spectra_stop_num_set(self.edje.obj, self.name, num)
+
+ def stop_color_get(self, int stop_num):
+ cdef int r, g, b, a, d
+ edje_edit_spectra_stop_color_get(self.edje.obj, self.name, stop_num,
+ &r, &g, &b, &a, &d)
+ return (r, g, b, a, d)
+
+ def stop_color_set(self, int stop_num, int r, int g, int b, int a, int d):
+ edje_edit_spectra_stop_color_set(self.edje.obj, self.name, stop_num,
+ r, g, b, a, d)
diff --git a/edje/edit/c_edit_object_state.pxi b/edje/edit/c_edit_object_state.pxi
new file mode 100644
index 0000000..cddf8ab
--- /dev/null
+++ b/edje/edit/c_edit_object_state.pxi
@@ -0,0 +1,714 @@
+# Copyright (C) 2007-2008 Tiago Falcao, Ivan Briano
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+cdef class State:
+ cdef EdjeEdit edje
+ cdef object part
+ cdef object _name
+
+ def __init__(self, Part part, char *name):
+ self.edje = part.edje
+ self.part = part.name
+ self._name = name
+
+ property name:
+ def __get__(self):
+ return self._name
+
+ def copy_from(self, from_state):
+ return bool(edje_edit_state_copy(self.edje.obj, self.part,
+ from_state, self.name))
+
+ def rel1_relative_get(self):
+ cdef double x, y
+ x = edje_edit_state_rel1_relative_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_rel1_relative_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def rel1_offset_get(self):
+ cdef int x, y
+ x = edje_edit_state_rel1_offset_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_rel1_offset_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def rel1_to_get(self):
+ cdef char *tx, *ty
+ cdef object x, y
+ tx = edje_edit_state_rel1_to_x_get(self.edje.obj, self.part, self.name)
+ ty = edje_edit_state_rel1_to_y_get(self.edje.obj, self.part, self.name)
+ if tx != NULL:
+ x = tx
+ edje_edit_string_free(tx)
+ if ty != NULL:
+ y = ty
+ edje_edit_string_free(ty)
+ return (x, y)
+
+ def rel1_relative_set(self, double x, double y):
+ edje_edit_state_rel1_relative_x_set(self.edje.obj, self.part, self.name,
+ x)
+ edje_edit_state_rel1_relative_y_set(self.edje.obj, self.part, self.name,
+ y)
+ def rel1_relative_x_set(self, double x):
+ edje_edit_state_rel1_relative_x_set(self.edje.obj, self.part, self.name,
+ x)
+ def rel1_relative_y_set(self, double y):
+ edje_edit_state_rel1_relative_y_set(self.edje.obj, self.part, self.name,
+ y)
+
+ def rel1_offset_set(self, int x, int y):
+ edje_edit_state_rel1_offset_x_set(self.edje.obj, self.part, self.name,
+ x)
+ edje_edit_state_rel1_offset_y_set(self.edje.obj, self.part, self.name,
+ y)
+ def rel1_offset_x_set(self, int x):
+ edje_edit_state_rel1_offset_x_set(self.edje.obj, self.part, self.name,
+ x)
+ def rel1_offset_y_set(self, int y):
+ edje_edit_state_rel1_offset_y_set(self.edje.obj, self.part, self.name,
+ y)
+
+ def rel1_to_set(self, x, y):
+ if x != "":
+ edje_edit_state_rel1_to_x_set(self.edje.obj, self.part, self.name,
+ x)
+ else:
+ edje_edit_state_rel1_to_x_set(self.edje.obj, self.part, self.name,
+ NULL)
+ if y != "":
+ edje_edit_state_rel1_to_y_set(self.edje.obj, self.part, self.name,
+ y)
+ else:
+ edje_edit_state_rel1_to_y_set(self.edje.obj, self.part, self.name,
+ NULL)
+ # remove when fixed in edje_edit
+ edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name)
+ def rel1_to_x_set(self, x):
+ if x != "":
+ edje_edit_state_rel1_to_x_set(self.edje.obj, self.part, self.name,
+ x)
+ else:
+ edje_edit_state_rel1_to_x_set(self.edje.obj, self.part, self.name,
+ NULL)
+ # remove when fixed in edje_edit
+ edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name)
+ def rel1_to_y_set(self, y):
+ if y != "":
+ edje_edit_state_rel1_to_y_set(self.edje.obj, self.part, self.name,
+ y)
+ else:
+ edje_edit_state_rel1_to_y_set(self.edje.obj, self.part, self.name,
+ NULL)
+ # remove when fixed in edje_edit
+ edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name)
+
+ def rel2_relative_get(self):
+ cdef double x, y
+ x = edje_edit_state_rel2_relative_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_rel2_relative_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def rel2_offset_get(self):
+ cdef int x, y
+ x = edje_edit_state_rel2_offset_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_rel2_offset_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def rel2_to_get(self):
+ cdef char *tx, *ty
+ cdef object x, y
+ tx = edje_edit_state_rel2_to_x_get(self.edje.obj, self.part, self.name)
+ ty = edje_edit_state_rel2_to_y_get(self.edje.obj, self.part, self.name)
+ if tx != NULL:
+ x = tx
+ edje_edit_string_free(tx)
+ if ty != NULL:
+ y = ty
+ edje_edit_string_free(ty)
+ return (x, y)
+
+ def rel2_relative_set(self, double x, double y):
+ edje_edit_state_rel2_relative_x_set(self.edje.obj, self.part, self.name,
+ x)
+ edje_edit_state_rel2_relative_y_set(self.edje.obj, self.part, self.name,
+ y)
+ def rel2_relative_x_set(self, double x):
+ edje_edit_state_rel2_relative_x_set(self.edje.obj, self.part, self.name,
+ x)
+ def rel2_relative_y_set(self, double y):
+ edje_edit_state_rel2_relative_y_set(self.edje.obj, self.part, self.name,
+ y)
+
+ def rel2_offset_set(self, int x, int y):
+ edje_edit_state_rel2_offset_x_set(self.edje.obj, self.part, self.name,
+ x)
+ edje_edit_state_rel2_offset_y_set(self.edje.obj, self.part, self.name,
+ y)
+ def rel2_offset_x_set(self, int x):
+ edje_edit_state_rel2_offset_x_set(self.edje.obj, self.part, self.name,
+ x)
+ def rel2_offset_y_set(self, int y):
+ edje_edit_state_rel2_offset_y_set(self.edje.obj, self.part, self.name,
+ y)
+
+ def rel2_to_set(self, x, y):
+ if x != "":
+ edje_edit_state_rel2_to_x_set(self.edje.obj, self.part, self.name,
+ x)
+ else:
+ edje_edit_state_rel2_to_x_set(self.edje.obj, self.part, self.name,
+ NULL)
+ if y != "":
+ edje_edit_state_rel2_to_y_set(self.edje.obj, self.part, self.name,
+ y)
+ else:
+ edje_edit_state_rel2_to_y_set(self.edje.obj, self.part, self.name,
+ NULL)
+ # remove when fixed in edje_edit
+ edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name)
+ def rel2_to_x_set(self, x):
+ if x != "":
+ edje_edit_state_rel2_to_x_set(self.edje.obj, self.part, self.name,
+ x)
+ else:
+ edje_edit_state_rel2_to_x_set(self.edje.obj, self.part, self.name,
+ NULL)
+ # remove when fixed in edje_edit
+ edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name)
+ def rel2_to_y_set(self, y):
+ if y != "":
+ edje_edit_state_rel2_to_y_set(self.edje.obj, self.part, self.name,
+ y)
+ else:
+ edje_edit_state_rel2_to_y_set(self.edje.obj, self.part, self.name,
+ NULL)
+ # remove when fixed in edje_edit
+ edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name)
+
+ def color_get(self):
+ cdef int r, g, b, a
+ edje_edit_state_color_get(self.edje.obj, self.part, self.name,
+ &r, &g, &b, &a)
+ return (r, g, b, a)
+
+ def color_set(self, int r, int g, int b, int a):
+ edje_edit_state_color_set(self.edje.obj, self.part, self.name,
+ r, g, b, a)
+
+ def color2_get(self):
+ cdef int r, g, b, a
+ edje_edit_state_color2_get(self.edje.obj, self.part, self.name,
+ &r, &g, &b, &a)
+ return (r, g, b, a)
+
+ def color2_set(self, int r, int g, int b, int a):
+ edje_edit_state_color2_set(self.edje.obj, self.part, self.name,
+ r, g, b, a)
+
+ def color3_get(self):
+ cdef int r, g, b, a
+ edje_edit_state_color3_get(self.edje.obj, self.part, self.name,
+ &r, &g, &b, &a)
+ return (r, g, b, a)
+
+ def color3_set(self, int r, int g, int b, int a):
+ edje_edit_state_color3_set(self.edje.obj, self.part, self.name,
+ r, g, b, a)
+
+ def align_get(self):
+ cdef double x, y
+ x = edje_edit_state_align_x_get(self.edje.obj, self.part, self.name)
+ y = edje_edit_state_align_y_get(self.edje.obj, self.part, self.name)
+ return (x, y)
+
+ def align_set(self, double x, double y):
+ edje_edit_state_align_x_set(self.edje.obj, self.part, self.name, x)
+ edje_edit_state_align_y_set(self.edje.obj, self.part, self.name, y)
+
+ property align:
+ def __get__(self):
+ return self.align_get()
+ def __set__(self, align):
+ self.align_set(*align)
+
+ def min_get(self):
+ cdef int w, h
+ w = edje_edit_state_min_w_get(self.edje.obj, self.part, self.name)
+ h = edje_edit_state_min_h_get(self.edje.obj, self.part, self.name)
+ return (w, h)
+
+ def min_set(self, int w, int h):
+ edje_edit_state_min_w_set(self.edje.obj, self.part, self.name, w)
+ edje_edit_state_min_h_set(self.edje.obj, self.part, self.name, h)
+
+ property min:
+ def __get__(self):
+ return self.min_get()
+ def __set__(self, min):
+ self.min_set(*min)
+
+ def max_get(self):
+ cdef int w, h
+ w = edje_edit_state_max_w_get(self.edje.obj, self.part, self.name)
+ h = edje_edit_state_max_h_get(self.edje.obj, self.part, self.name)
+ return (w, h)
+
+ def max_set(self, int w, int h):
+ edje_edit_state_max_w_set(self.edje.obj, self.part, self.name, w)
+ edje_edit_state_max_h_set(self.edje.obj, self.part, self.name, h)
+
+ property max:
+ def __get__(self):
+ return self.max_get()
+ def __set__(self, max):
+ self.max_set(*max)
+
+ def aspect_min_get(self):
+ cdef double a
+ a = edje_edit_state_aspect_min_get(self.edje.obj, self.part, self.name)
+ return a
+
+ def aspect_min_set(self, double a):
+ edje_edit_state_aspect_min_set(self.edje.obj, self.part, self.name, a)
+
+ def aspect_max_get(self):
+ cdef double a
+ a = edje_edit_state_aspect_max_get(self.edje.obj, self.part, self.name)
+ return a
+
+ def aspect_max_set(self, double a):
+ edje_edit_state_aspect_max_set(self.edje.obj, self.part, self.name, a)
+
+ def aspect_pref_get(self):
+ cdef char a
+ a = edje_edit_state_aspect_pref_get(self.edje.obj, self.part, self.name)
+ return a
+
+ def aspect_pref_set(self, char a):
+ edje_edit_state_aspect_pref_set(self.edje.obj, self.part, self.name, a)
+
+ def fill_origin_relative_get(self):
+ cdef double x, y
+ x = edje_edit_state_fill_origin_relative_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_fill_origin_relative_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def fill_origin_relative_set(self, double x, double y):
+ edje_edit_state_fill_origin_relative_x_set(self.edje.obj, self.part,
+ self.name, x)
+ edje_edit_state_fill_origin_relative_y_set(self.edje.obj, self.part,
+ self.name, y)
+
+ def fill_origin_offset_get(self):
+ cdef int x, y
+ x = edje_edit_state_fill_origin_offset_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_fill_origin_offset_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def fill_origin_offset_set(self, x, y):
+ edje_edit_state_fill_origin_offset_x_set(self.edje.obj, self.part,
+ self.name, x)
+ edje_edit_state_fill_origin_offset_y_set(self.edje.obj, self.part,
+ self.name, y)
+
+ def fill_size_relative_get(self):
+ cdef double x, y
+ x = edje_edit_state_fill_size_relative_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_fill_size_relative_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def fill_size_relative_set(self, double x, double y):
+ edje_edit_state_fill_size_relative_x_set(self.edje.obj, self.part,
+ self.name, x)
+ edje_edit_state_fill_size_relative_y_set(self.edje.obj, self.part,
+ self.name, y)
+
+ def fill_size_offset_get(self):
+ cdef int x, y
+ x = edje_edit_state_fill_size_offset_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_fill_size_offset_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def fill_size_offset_set(self, x, y):
+ edje_edit_state_fill_size_offset_x_set(self.edje.obj, self.part,
+ self.name, x)
+ edje_edit_state_fill_size_offset_y_set(self.edje.obj, self.part,
+ self.name, y)
+
+ property visible:
+ def __get__(self):
+ return bool(edje_edit_state_visible_get(self.edje.obj, self.part,
+ self.name))
+ def __set__(self, v):
+ if v:
+ edje_edit_state_visible_set(self.edje.obj, self.part, self.name,
+ 1)
+ else:
+ edje_edit_state_visible_set(self.edje.obj, self.part, self.name, 0)
+
+ def color_class_get(self):
+ cdef char *cc
+ cc = edje_edit_state_color_class_get(self.edje.obj, self.part,
+ self.name)
+ if cc == NULL:
+ return None
+ rcc = cc
+ edje_edit_string_free(cc)
+ return rcc
+
+ def color_class_set(self, cc):
+ if cc != "":
+ edje_edit_state_color_class_set(self.edje.obj, self.part,
+ self.name, cc)
+ else:
+ edje_edit_state_color_class_set(self.edje.obj, self.part,
+ self.name, NULL)
+
+ def external_params_get(self):
+ cdef evas.c_evas.Eina_List *lst
+ ret = []
+ lst = edje_edit_state_external_params_list_get(self.edje.obj, self.part,
+ self.name)
+ while lst:
+ ret.append(edje.c_edje._ExternalParam_from_ptr(<long>lst.data))
+ lst = lst.next
+ return ret
+
+ def external_param_get(self, param):
+ cdef edje.c_edje.Edje_External_Param_Type type
+ cdef void *value
+
+ if not edje_edit_state_external_param_get(self.edje.obj, self.part,
+ self.name, param, &type,
+ &value):
+ return None
+ if type == edje.EDJE_EXTERNAL_PARAM_TYPE_INT:
+ i = (<int *>value)[0]
+ return (type, i)
+ elif type == edje.EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+ d = (<double *>value)[0]
+ return (type, d)
+ elif type == edje.EDJE_EXTERNAL_PARAM_TYPE_STRING:
+ s = <char *>value
+ return (type, s)
+ return None
+
+ def external_param_int_get(self, param):
+ cdef int value
+
+ if not edje_edit_state_external_param_int_get(self.edje.obj, self.part,
+ self.name, param, &value):
+ return None
+ return value
+
+ def external_param_double_get(self, param):
+ cdef double value
+
+ if not edje_edit_state_external_param_double_get(self.edje.obj, self.part,
+ self.name, param, &value):
+ return None
+ return value
+
+ def external_param_string_get(self, param):
+ cdef char *value
+
+ if not edje_edit_state_external_param_string_get(self.edje.obj, self.part,
+ self.name, param, &value):
+ return None
+ r = value
+ return r
+
+ def external_param_set(self, param, value):
+ if isinstance(value, (long, int)):
+ return self.external_param_int_set(param, value)
+ elif isinstance(value, float):
+ return self.external_param_double_set(param, value)
+ elif isinstance(value, basestring):
+ return self.external_param_string_set(param, value)
+ else:
+ raise TypeError("invalid external parameter type '%s'" %
+ type(value).__name__)
+
+ def external_param_int_set(self, param, value):
+ return bool(edje_edit_state_external_param_int_set(self.edje.obj,
+ self.part, self.name,
+ param, value))
+
+ def external_param_double_set(self, param, value):
+ return bool(edje_edit_state_external_param_double_set(self.edje.obj,
+ self.part, self.name,
+ param, value))
+
+ def external_param_string_set(self, param, value):
+ return bool(edje_edit_state_external_param_string_set(self.edje.obj,
+ self.part, self.name,
+ param, value))
+
+ def text_get(self):
+ cdef char *t
+ t = edje_edit_state_text_get(self.edje.obj, self.part, self.name)
+ if t == NULL: return None
+ r = t
+ edje_edit_string_free(t)
+ return r
+
+ def text_set(self, t):
+ edje_edit_state_text_set(self.edje.obj, self.part, self.name, t)
+
+ def font_get(self):
+ cdef char *f
+ f = edje_edit_state_font_get(self.edje.obj, self.part, self.name)
+ if f == NULL: return None
+ r = f
+ edje_edit_string_free(f)
+ return r
+
+ def font_set(self, f):
+ edje_edit_state_font_set(self.edje.obj, self.part, self.name, f)
+
+ def text_size_get(self):
+ return edje_edit_state_text_size_get(self.edje.obj, self.part,
+ self.name)
+
+ def text_size_set(self, int s):
+ edje_edit_state_text_size_set(self.edje.obj, self.part, self.name, s)
+
+ def text_align_get(self):
+ cdef double x, y
+ x = edje_edit_state_text_align_x_get(self.edje.obj, self.part,
+ self.name)
+ y = edje_edit_state_text_align_y_get(self.edje.obj, self.part,
+ self.name)
+ return (x, y)
+
+ def text_align_set(self, double x, double y):
+ edje_edit_state_text_align_x_set(self.edje.obj, self.part, self.name, x)
+ edje_edit_state_text_align_y_set(self.edje.obj, self.part, self.name, y)
+
+ property text_align:
+ def __get__(self):
+ return self.text_align_get()
+ def __set__(self, align):
+ self.text_align_set(*align)
+
+ def text_elipsis_get(self):
+ return edje_edit_state_text_elipsis_get(self.edje.obj, self.part,
+ self.name)
+
+ def text_elipsis_set(self, double e):
+ edje_edit_state_text_elipsis_set(self.edje.obj, self.part, self.name, e)
+
+ def text_fit_get(self):
+ x = bool(edje_edit_state_text_fit_x_get(self.edje.obj, self.part,
+ self.name))
+ y = bool(edje_edit_state_text_fit_y_get(self.edje.obj, self.part,
+ self.name))
+ return (x, y)
+
+ def text_fit_set(self, x, y):
+ if x:
+ edje_edit_state_text_fit_x_set(self.edje.obj, self.part, self.name,
+ 1)
+ else:
+ edje_edit_state_text_fit_x_set(self.edje.obj, self.part, self.name,
+ 0)
+ if y:
+ edje_edit_state_text_fit_y_set(self.edje.obj, self.part, self.name,
+ 1)
+ else:
+ edje_edit_state_text_fit_y_set(self.edje.obj, self.part, self.name,
+ 0)
+
+ def image_get(self):
+ cdef char *img
+ img = edje_edit_state_image_get(self.edje.obj, self.part, self.name)
+ if img == NULL:
+ return None
+ r = img
+ edje_edit_string_free(img)
+ return r
+
+ def image_set(self, char *image):
+ edje_edit_state_image_set(self.edje.obj, self.part, self.name, image)
+
+ def image_border_get(self):
+ cdef int l, r, t, b
+ edje_edit_state_image_border_get(self.edje.obj, self.part, self.name,
+ &l, &r, &t, &b)
+ return (l, r, t, b)
+
+ def image_border_set(self, int l, int r, int t, int b):
+ edje_edit_state_image_border_set(self.edje.obj, self.part, self.name,
+ l, r, t, b)
+
+ def image_border_fill_get(self):
+ cdef unsigned char r
+ r = edje_edit_state_image_border_fill_get(self.edje.obj, self.part,
+ self.name)
+ if r == 0:
+ return False
+ return True
+
+ def image_border_fill_set(self, fill):
+ if fill:
+ edje_edit_state_image_border_fill_set(self.edje.obj, self.part,
+ self.name, 1)
+ else:
+ edje_edit_state_image_border_fill_set(self.edje.obj, self.part,
+ self.name, 0)
+
+ property tweens:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_state_tweens_list_get(self.edje.obj, self.part,
+ self.name)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def tween_add(self, char *img):
+ cdef unsigned char r
+ r = edje_edit_state_tween_add(self.edje.obj, self.part, self.name, img)
+ if r == 0:
+ return False
+ return True
+
+ def tween_del(self, char *img):
+ cdef unsigned char r
+ r = edje_edit_state_tween_del(self.edje.obj, self.part, self.name, img)
+ if r == 0:
+ return False
+ return True
+
+ def gradient_type_get(self):
+ cdef char *t
+ t = edje_edit_state_gradient_type_get(self.edje.obj, self.part,
+ self.name)
+ if t == NULL:
+ return None
+ ret = t
+ edje_edit_string_free(t)
+ return ret
+
+ def gradient_type_set(self, type):
+ return bool(edje_edit_state_gradient_type_set(self.edje.obj, self.part,
+ self.name, type))
+
+ def gradient_spectra_get(self):
+ cdef char *s
+ s = edje_edit_state_gradient_spectra_get(self.edje.obj, self.part,
+ self.name)
+ if s == NULL:
+ return None
+ ret = s
+ edje_edit_string_free(s)
+ return ret
+
+ def gradient_spectra_set(self, s):
+ edje_edit_state_gradient_spectra_set(self.edje.obj, self.part,
+ self.name, s)
+
+ def gradient_angle_get(self):
+ return edje_edit_state_gradient_angle_get(self.edje.obj, self.part,
+ self.name)
+
+ def gradient_angle_set(self, int angle):
+ edje_edit_state_gradient_angle_set(self.edje.obj, self.part, self.name,
+ angle)
+
+ def gradient_use_fill_get(self):
+ return bool(edje_edit_state_gradient_use_fill_get(self.edje.obj,
+ self.part, self.name))
+
+ def gradient_rel1_relative_get(self):
+ cdef double x, y
+ x = edje_edit_state_gradient_rel1_relative_x_get(self.edje.obj,
+ self.part, self.name)
+ y = edje_edit_state_gradient_rel1_relative_y_get(self.edje.obj,
+ self.part, self.name)
+ return (x, y)
+
+ def gradient_rel1_relative_set(self, double x, double y):
+ edje_edit_state_gradient_rel1_relative_x_set(self.edje.obj, self.part,
+ self.name, x)
+ edje_edit_state_gradient_rel1_relative_y_set(self.edje.obj, self.part,
+ self.name, y)
+
+ def gradient_rel1_offset_get(self):
+ cdef int x, y
+ x = edje_edit_state_gradient_rel1_offset_x_get(self.edje.obj,
+ self.part, self.name)
+ y = edje_edit_state_gradient_rel1_offset_y_get(self.edje.obj,
+ self.part, self.name)
+ return (x, y)
+
+ def gradient_rel1_offset_set(self, int x, int y):
+ edje_edit_state_gradient_rel1_offset_x_set(self.edje.obj, self.part,
+ self.name, x)
+ edje_edit_state_gradient_rel1_offset_y_set(self.edje.obj, self.part,
+ self.name, y)
+
+ def gradient_rel2_relative_get(self):
+ cdef double x, y
+ x = edje_edit_state_gradient_rel2_relative_x_get(self.edje.obj,
+ self.part, self.name)
+ y = edje_edit_state_gradient_rel2_relative_y_get(self.edje.obj,
+ self.part, self.name)
+ return (x, y)
+
+ def gradient_rel2_relative_set(self, double x, double y):
+ edje_edit_state_gradient_rel2_relative_x_set(self.edje.obj, self.part,
+ self.name, x)
+ edje_edit_state_gradient_rel2_relative_y_set(self.edje.obj, self.part,
+ self.name, y)
+
+ def gradient_rel2_offset_get(self):
+ cdef int x, y
+ x = edje_edit_state_gradient_rel2_offset_x_get(self.edje.obj,
+ self.part, self.name)
+ y = edje_edit_state_gradient_rel2_offset_y_get(self.edje.obj,
+ self.part, self.name)
+ return (x, y)
+
+ def gradient_rel2_offset_set(self, int x, int y):
+ edje_edit_state_gradient_rel2_offset_x_set(self.edje.obj, self.part,
+ self.name, x)
+ edje_edit_state_gradient_rel2_offset_y_set(self.edje.obj, self.part,
+ self.name, y)
diff --git a/edje/edit/c_edit_object_text_style.pxi b/edje/edit/c_edit_object_text_style.pxi
new file mode 100644
index 0000000..f9b16e8
--- /dev/null
+++ b/edje/edit/c_edit_object_text_style.pxi
@@ -0,0 +1,78 @@
+# Copyright (C) 2007-2008 Tiago Falcao
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.edit.pyx
+
+cdef class Text_Style:
+ cdef EdjeEdit edje
+ cdef object name
+
+ def __init__(self, EdjeEdit edje, char *name):
+ self.edje = edje
+ self.name = name
+
+ property tags:
+ def __get__(self):
+ "@rtype: list of str"
+ cdef evas.c_evas.Eina_List *lst, *itr
+ ret = []
+ lst = edje_edit_style_tags_list_get(self.edje.obj, self.name)
+ itr = lst
+ while itr:
+ ret.append(<char*>itr.data)
+ itr = itr.next
+ edje_edit_string_list_free(lst)
+ return ret
+
+ def tag_get(self, char *name):
+ return Text_Style_Tag(self, name)
+
+ def tag_add(self, char *name):
+ cdef unsigned char r
+ r = edje_edit_style_tag_add(self.edje.obj, self.name, name)
+ if r == 0:
+ return False
+ return True
+
+ def tag_del(self, char *name):
+ edje_edit_style_tag_del(self.edje.obj, self.name, name)
+ return True
+
+cdef class Text_Style_Tag:
+ cdef Text_Style text_style
+ cdef object name
+
+ def __init__(self, Text_Style text_style, char *name):
+ self.text_style = text_style
+ self.name = name
+
+ property value:
+ def __get__(self):
+ cdef char *val
+ val = edje_edit_style_tag_value_get(self.text_style.edje.obj, self.text_style.name, self.name)
+ if val == NULL: return None
+ ret = val
+ edje_edit_string_free(val)
+ return ret
+ def __set__(self, value):
+ edje_edit_style_tag_value_set(self.text_style.edje.obj, self.text_style.name, self.name, value)
+
+ def rename(self, char *newname):
+ edje_edit_style_tag_name_set(self.text_style.edje.obj, self.text_style.name, self.name, newname)
+ self.name = newname
+ return True
+
diff --git a/edje/edje.c_edje.pyx b/edje/edje.c_edje.pyx
index d45c15f..ba370e4 100644
--- a/edje/edje.c_edje.pyx
+++ b/edje/edje.c_edje.pyx
@@ -24,8 +24,12 @@ __extra_epydoc_fields__ = (
)
def init():
- return edje_init()
+ cdef int r = edje_init()
+ if edje_external_type_abi_version_get() != EDJE_EXTERNAL_TYPE_ABI_VERSION:
+ raise TypeError("python-edje Edje_External_Type abi_version differs "
+ "from libedje.so. Recompile python-edje!")
+ return r
def shutdown():
return edje_shutdown()
@@ -246,6 +250,18 @@ def extern_object_aspect_set(evas.c_evas.Object obj, int aspect, int w, int h):
"""
edje_extern_object_aspect_set(obj.obj, <Edje_Aspect_Control>aspect, w, h)
+def available_modules_get():
+ cdef evas.c_evas.Eina_List *lst
+ lst = edje_available_modules_get()
+ ret = []
+ while lst:
+ ret.append(<char*>lst.data)
+ lst = lst.next
+ return ret
+
+def module_load(char *name):
+ return bool(edje_module_load(name))
+
cdef void _install_metaclass(python.PyTypeObject *ctype, object metaclass):
python.Py_INCREF(metaclass)
@@ -253,4 +269,5 @@ cdef void _install_metaclass(python.PyTypeObject *ctype, object metaclass):
include "edje.c_edje_message.pxi"
+include "edje.c_edje_external.pxi"
include "edje.c_edje_object.pxi"
diff --git a/edje/edje.c_edje_external.pxi b/edje/edje.c_edje_external.pxi
new file mode 100644
index 0000000..e98b183
--- /dev/null
+++ b/edje/edje.c_edje_external.pxi
@@ -0,0 +1,278 @@
+# Copyright (C) 2007-2009 Gustavo Sverzut Barbieri, Ulisses Furquim, Ivan Briano
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is included verbatim by edje.c_edje.pyx
+
+cdef class ExternalParam:
+ property name:
+ def __get__(self):
+ if self.obj == NULL:
+ raise ValueError("Object uninitialized")
+ return self.obj.name
+
+ property type:
+ def __get__(self):
+ if self.obj == NULL:
+ raise ValueError("Object uninitialized")
+ return self.obj.type
+
+ property i:
+ def __get__(self):
+ if self.obj == NULL:
+ raise ValueError("Object uninitialized")
+ return self.obj.i
+
+ property d:
+ def __get__(self):
+ if self.obj == NULL:
+ raise ValueError("Object uninitialized")
+ return self.obj.d
+
+ property s:
+ def __get__(self):
+ if self.obj == NULL:
+ raise ValueError("Object uninitialized")
+ if self.obj.s != NULL:
+ return self.obj.s
+
+ property value:
+ def __get__(self):
+ if self.obj == NULL:
+ raise ValueError("Object uninitialized")
+ if self.obj.type == EDJE_EXTERNAL_PARAM_TYPE_INT:
+ return self.obj.i
+ elif self.obj.type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+ return self.obj.d
+ elif self.obj.type == EDJE_EXTERNAL_PARAM_TYPE_STRING:
+ if self.obj.s != NULL:
+ return self.obj.s
+
+cdef ExternalParam ExternalParam_from_ptr(Edje_External_Param *param):
+ cdef ExternalParam p
+ p = ExternalParam()
+ p.obj = param
+ return p
+
+# XXX: this should be C-only, but it would require edje_edit
+# XXX: being able to use it.
+def _ExternalParam_from_ptr(long ptr):
+ return ExternalParam_from_ptr(<Edje_External_Param *>ptr)
+
+
+cdef class ExternalParamInfo:
+ property name:
+ def __get__(self):
+ return self.obj.name
+
+ property type:
+ def __get__(self):
+ return self.obj.type
+
+ def validate(self, value):
+ return True
+
+cdef class ExternalParamInfoInt(ExternalParamInfo):
+ property default:
+ def __get__(self):
+ if self.obj.info.i.default == EDJE_EXTERNAL_INT_UNSET:
+ return None
+ return self.obj.info.i.default
+ property min:
+ def __get__(self):
+ if self.obj.info.i.min == EDJE_EXTERNAL_INT_UNSET:
+ return None
+ return self.obj.info.i.min
+
+ property max:
+ def __get__(self):
+ if self.obj.info.i.max == EDJE_EXTERNAL_INT_UNSET:
+ return None
+ return self.obj.info.i.max
+
+ property step:
+ def __get__(self):
+ if self.obj.info.i.step == EDJE_EXTERNAL_INT_UNSET:
+ return None
+ return self.obj.info.i.step
+
+ def validate(self, value):
+ min = self.min
+ max = self.max
+ if min is not None and value < min:
+ return False
+ if max is not None and value > max:
+ return False
+ return True
+
+cdef class ExternalParamInfoDouble(ExternalParamInfo):
+ property default:
+ def __get__(self):
+ if isnan(self.obj.info.d.default):
+ return None
+ return self.obj.info.d.default
+ property min:
+ def __get__(self):
+ if isnan(self.obj.info.d.min):
+ return None
+ return self.obj.info.d.min
+
+ property max:
+ def __get__(self):
+ if isnan(self.obj.info.d.max):
+ return None
+ return self.obj.info.d.max
+
+ property step:
+ def __get__(self):
+ if isnan(self.obj.info.d.step):
+ return None
+ return self.obj.info.d.step
+
+ def validate(self, value):
+ min = self.min
+ max = self.max
+ if min is not None and value < min:
+ return False
+ if max is not None and value > max:
+ return False
+ return True
+
+cdef class ExternalParamInfoString(ExternalParamInfo):
+ property default:
+ def __get__(self):
+ if self.obj.info.s.default == NULL:
+ return None
+ return self.obj.info.s.default
+ property accept_format:
+ def __get__(self):
+ if self.obj.info.s.accept_fmt == NULL:
+ return None
+ return self.obj.info.s.accept_fmt
+
+ property deny_format:
+ def __get__(self):
+ if self.obj.info.s.deny_fmt == NULL:
+ return None
+ return self.obj.info.s.deny_fmt
+
+cdef ExternalParamInfo ExternalParamInfo_from_ptr(Edje_External_Param_Info *ptr):
+ cdef ExternalParamInfo p
+ if ptr.type == EDJE_EXTERNAL_PARAM_TYPE_INT:
+ p = ExternalParamInfoInt()
+ elif ptr.type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+ p = ExternalParamInfoDouble()
+ elif ptr.type == EDJE_EXTERNAL_PARAM_TYPE_STRING:
+ p = ExternalParamInfoString()
+ else:
+ return None
+ p.obj = ptr
+ return p
+
+def external_param_info_get(char *type_name):
+ cdef Edje_External_Param_Info *params
+ cdef int i
+
+ ret = []
+ params = edje_external_param_info_get(type_name)
+ if params == NULL:
+ return ret
+
+ i = 0
+ while params[i].name != NULL:
+ ret.append(ExternalParamInfo_from_ptr(¶ms[i]))
+ i += 1
+
+ return ret
+
+cdef class ExternalType:
+ property name:
+ def __get__(self):
+ return self._name
+
+ property module:
+ def __get__(self):
+ if self._obj.module == NULL:
+ return None
+ return self._obj.module
+
+ def label_get(self):
+ cdef char *l
+ if self._obj.label_get == NULL:
+ return None
+ l = self._obj.label_get(self._obj.data)
+ if l == NULL:
+ return None
+ ret = l
+ return ret
+
+ def description_get(self):
+ cdef char *l
+ if self._obj.description_get == NULL:
+ return None
+ l = self._obj.description_get(self._obj.data)
+ if l == NULL:
+ return None
+ ret = l
+ return ret
+
+ def icon_add(self, evas.c_evas.Canvas canvas not None):
+ cdef evas.c_evas.Evas_Object *icon
+ if self._obj.icon_add == NULL:
+ return None
+ icon = self._obj.icon_add(self._obj.data, canvas.obj)
+ if icon == NULL:
+ return None
+ return evas.c_evas._Object_from_instance(<long>icon)
+
+ def preview_add(self, evas.c_evas.Canvas canvas not None):
+ cdef evas.c_evas.Evas_Object *preview
+ if self._obj.preview_add == NULL:
+ return None
+ preview = self._obj.preview_add(self._obj.data, canvas.obj)
+ if preview == NULL:
+ return None
+ return evas.c_evas._Object_from_instance(<long>preview)
+
+cdef class ExternalIterator:
+ cdef evas.c_evas.Eina_Iterator *obj
+
+ def __init__(self):
+ cdef evas.c_evas.Eina_Iterator *it
+ it = edje_external_iterator_get()
+ self._set_obj(it)
+
+ cdef _set_obj(self, evas.c_evas.Eina_Iterator *ptr):
+ self.obj = ptr
+
+ def __iter__(self):
+ return self
+
+ def __next__(self):
+ cdef evas.c_evas.Eina_Hash_Tuple *tuple
+ cdef ExternalType t
+ if evas.c_evas.eina_iterator_next(self.obj, <void **>&tuple):
+ t = ExternalType()
+ t._name = <char*>tuple.key
+ t._obj = <Edje_External_Type*>tuple.data
+ return t
+ else:
+ raise StopIteration
+
+ def __del__(self):
+ if self.obj:
+ evas.c_evas.eina_iterator_free(self.obj)
+
diff --git a/edje/edje.c_edje_object.pxi b/edje/edje.c_edje_object.pxi
index 42b4513..4806340 100644
--- a/edje/edje.c_edje_object.pxi
+++ b/edje/edje.c_edje_object.pxi
@@ -477,6 +477,125 @@ cdef public class Edje(evas.c_evas.Object) [object PyEdje, type PyEdje_Type]:
o = edje_object_part_swallow_get(self.obj, part)
return evas.c_evas._Object_from_instance(<long>o)
+ def part_box_append(self, char *part, c_evas.Object obj):
+ """Adds an item to a BOX part.
+
+ Appends an item to the BOX edje part, where some box's properties
+ inherited. Like the color properties has some nice effect on the
+ box's childrens.
+
+ @rtype: bool
+ """
+ return bool(edje_object_part_box_append(self.obj, part, obj.obj))
+
+ def part_box_prepend(self, char *part, c_evas.Object obj):
+ """Adds an item to a BOX part.
+
+ Prepends an item to the BOX edje part, where some box's properties
+ inherited. Like the color properties has some nice effect on the
+ box's childrens.
+
+ @rtype: bool
+ """
+ return bool(edje_object_part_box_prepend(self.obj, part, obj.obj))
+
+ def part_box_insert_at(self, char *part, c_evas.Object obj,
+ unsigned int pos):
+ """Inserts an item at the given position in a BOX part.
+
+ @rtype: bool
+ """
+ return bool(edje_object_part_box_insert_at(self.obj, part, obj.obj,
+ pos))
+
+ def part_box_insert_before(self, char *part, c_evas.Object obj,
+ c_evas.Object reference):
+ """Inserts an item in a BOX part before the reference object.
+
+ @rtype: bool
+ """
+ return bool(edje_object_part_box_insert_before(self.obj, part, obj.obj,
+ reference.obj))
+
+ def part_box_remove(self, char *part, c_evas.Object obj):
+ """Removes the object given from a BOX part.
+
+ Returns the object removed, or none if it wasn't found or is
+ internal to Edje.
+
+ @rtype: L{evas.c_evas.Object} or None
+ """
+ cdef evas.c_evas.Evas_Object *o
+ o = edje_object_part_box_remove(self.obj, part, obj.obj)
+ return evas.c_evas._Object_from_instance(<long>o)
+
+ def part_box_remove_at(self, char *part, unsigned int pos):
+ """Removes the object at the given position in a BOX part.
+
+ Returns the object removed, or None nothing was found at the
+ given position, or if the object was internal to Edje.
+
+ @rtype: L{evas.c_evas.Object} or None
+ """
+ cdef evas.c_evas.Evas_Object *o
+ o = edje_object_part_box_remove_at(self.obj, part, pos)
+ return evas.c_evas._Object_from_instance(<long>o)
+
+ def part_box_remove_all(self, char *part, int clear):
+ """Removes all objects from a BOX part.
+
+ @parm: B{part} BOX part to remove from.
+ @parm: B{clear} if 1, it will delete the objects it removes.
+
+ Note: this function doesn't remove items created from the theme.
+
+ @rtype: bool
+ """
+ return bool(edje_object_part_box_remove_all(self.obj, part, clear))
+
+ def part_table_pack(self, char *part, c_evas.Object child, short col, short row, short colspan, short rowspan):
+ """Pack an object inside a TABLE part.
+
+ @parm: B{part} TABLE part to pack in.
+ @parm: B{child} Object to pack.
+
+ @rtype: bool
+ """
+ return bool(edje_object_part_table_pack(self.obj, part, child.obj, col, row, colspan, rowspan))
+
+ def part_table_unpack(self, char *part, c_evas.Object child):
+ """Remove an object from a TABLE part.
+
+ @parm: B{part} TABLE part to remove from.
+ @parm: B{child} Object to remove.
+
+ @rtype: bool
+ """
+ return bool(edje_object_part_table_unpack(self.obj, part, child.obj))
+
+ def part_table_col_row_size_get(self, char *part):
+ """Returns the size in columns/rows of the TABLE part.
+
+ @parm: B{part} TABLE part to get the size of.
+
+ @rtype: tuple of int
+ """
+ cdef int c, r
+ edje_object_part_table_col_row_size_get(self.obj, part, &c, &r)
+ return (c, r)
+
+ def part_table_clear(self, char *part, int clear):
+ """Clears a TABLE part.
+
+ @parm: B{part} TABLE part to clear all its elements from.
+ @parm: B{clear} Delete objects when removed from the table.
+
+ Note: This function will not remove the elements defined by the theme.
+
+ @rtype: bool
+ """
+ return bool(edje_object_part_table_clear(self.obj, part, clear))
+
def part_state_get(self, char *part):
"@rtype: (name, value)"
cdef double sv
diff --git a/include/edje/c_edje.pxd b/include/edje/c_edje.pxd
index 36e4d20..342cf1c 100644
--- a/include/edje/c_edje.pxd
+++ b/include/edje/c_edje.pxd
@@ -21,6 +21,8 @@ import evas.c_evas
cdef extern from "evas/python_evas_utils.h":
int PY_REFCOUNT(object)
+cdef extern from "math.h":
+ int isnan(double n)
cdef extern from "Edje.h":
####################################################################
@@ -64,6 +66,64 @@ cdef extern from "Edje.h":
EDJE_LOAD_ERROR_INCOMPATIBLE_FILE = 7
EDJE_LOAD_ERROR_UNKNOWN_COLLECTION = 8
+ ctypedef enum Edje_Part_Type:
+ EDJE_PART_TYPE_NONE = 0
+ EDJE_PART_TYPE_RECTANGLE = 1
+ EDJE_PART_TYPE_TEXT = 2
+ EDJE_PART_TYPE_IMAGE = 3
+ EDJE_PART_TYPE_SWALLOW = 4
+ EDJE_PART_TYPE_TEXTBLOCK = 5
+ EDJE_PART_TYPE_GRADIENT = 6
+ EDJE_PART_TYPE_GROUP = 7
+ EDJE_PART_TYPE_BOX = 8
+ EDJE_PART_TYPE_TABLE = 9
+ EDJE_PART_TYPE_EXTERNAL = 10
+ EDJE_PART_TYPE_LAST = 11
+
+ ctypedef enum Edje_Text_Effect:
+ EDJE_TEXT_EFFECT_NONE = 0
+ EDJE_TEXT_EFFECT_PLAIN = 1
+ EDJE_TEXT_EFFECT_OUTLINE = 2
+ EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3
+ EDJE_TEXT_EFFECT_SHADOW = 4
+ EDJE_TEXT_EFFECT_SOFT_SHADOW = 5
+ EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6
+ EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7
+ EDJE_TEXT_EFFECT_FAR_SHADOW = 8
+ EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9
+ EDJE_TEXT_EFFECT_GLOW = 10
+ EDJE_TEXT_EFFECT_LAST = 11
+
+ ctypedef enum Edje_Action_Type:
+ EDJE_ACTION_TYPE_NONE = 0
+ EDJE_ACTION_TYPE_STATE_SET = 1
+ EDJE_ACTION_TYPE_ACTION_STOP = 2
+ EDJE_ACTION_TYPE_SIGNAL_EMIT = 3
+ EDJE_ACTION_TYPE_DRAG_VAL_SET = 4
+ EDJE_ACTION_TYPE_DRAG_VAL_STEP = 5
+ EDJE_ACTION_TYPE_DRAG_VAL_PAGE = 6
+ EDJE_ACTION_TYPE_SCRIPT = 7
+ EDJE_ACTION_TYPE_FOCUS_SET = 8
+ EDJE_ACTION_TYPE_LUA_SCRIPT = 9
+ EDJE_ACTION_TYPE_LAST = 10
+
+ ctypedef enum Edje_Tween_Mode:
+ EDJE_TWEEN_MODE_NONE = 0
+ EDJE_TWEEN_MODE_LINEAR = 1
+ EDJE_TWEEN_MODE_SINUSOIDAL = 2
+ EDJE_TWEEN_MODE_ACCELERATE = 3
+ EDJE_TWEEN_MODE_DECELERATE = 4
+ EDJE_TWEEN_MODE_LAST = 5
+
+ ctypedef enum Edje_External_Param_Type:
+ EDJE_EXTERNAL_PARAM_TYPE_INT = 0
+ EDJE_EXTERNAL_PARAM_TYPE_DOUBLE = 1
+ EDJE_EXTERNAL_PARAM_TYPE_STRING = 2
+ EDJE_EXTERNAL_PARAM_TYPE_MAX = 3
+
+ cdef int EDJE_EXTERNAL_INT_UNSET
+ cdef double EDJE_EXTERNAL_DOUBLE_UNSET
+ cdef unsigned int EDJE_EXTERNAL_TYPE_ABI_VERSION
####################################################################
# Structures
@@ -107,6 +167,46 @@ cdef extern from "Edje.h":
int count
double val[1]
+ ctypedef struct Edje_External_Param:
+ char *name
+ Edje_External_Param_Type type
+ int i
+ double d
+ char *s
+
+ ctypedef struct aux_external_param_info_int:
+ int default "def", min, max, step
+
+ ctypedef struct aux_external_param_info_double:
+ double default "def", min, max, step
+
+ ctypedef struct aux_external_param_info_string:
+ char *default "def", *accept_fmt, *deny_fmt
+
+ ctypedef union aux_external_param_info:
+ aux_external_param_info_int i
+ aux_external_param_info_double d
+ aux_external_param_info_string s
+
+ ctypedef struct Edje_External_Param_Info:
+ char *name
+ Edje_External_Param_Type type
+ aux_external_param_info info
+
+ ctypedef struct Edje_External_Type:
+ unsigned int abi_version
+ char *module
+ evas.c_evas.Evas_Object *(*add)(void *data, evas.c_evas.Evas *evas, evas.c_evas.Evas_Object *parent, evas.c_evas.Eina_List *params)
+ void (*state_set)(void *data, evas.c_evas.Evas_Object *obj, void *from_params, void *to_params, float pos)
+ void (*signal_emit)(void *data, evas.c_evas.Evas_Object *obj, char *emission, char *source)
+ void *(*params_parse)(void *data, evas.c_evas.Evas_Object *obj, evas.c_evas.Eina_List *params)
+ void (*params_free)(void *params)
+ evas.c_evas.Evas_Object *(*icon_add)(void *data, evas.c_evas.Evas *e)
+ evas.c_evas.Evas_Object *(*preview_add)(void *data, evas.c_evas.Evas *e)
+ char *(*label_get)(void *data)
+ char *(*description_get)(void *data)
+ Edje_External_Param_Info *paramters_info
+ void *data
####################################################################
# Engine
@@ -191,6 +291,19 @@ cdef extern from "Edje.h":
void edje_object_part_unswallow(evas.c_evas.Evas_Object *obj, evas.c_evas.Evas_Object *obj_swallow)
evas.c_evas.Evas_Object *edje_object_part_swallow_get(evas.c_evas.Evas_Object *obj, char *part)
+ evas.c_evas.Eina_Bool edje_object_part_box_append(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Evas_Object *child)
+ evas.c_evas.Eina_Bool edje_object_part_box_prepend(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Evas_Object *child)
+ evas.c_evas.Eina_Bool edje_object_part_box_insert_at(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Evas_Object *child, unsigned int pos)
+ evas.c_evas.Eina_Bool edje_object_part_box_insert_before(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Evas_Object *child, evas.c_evas.Evas_Object *reference)
+ evas.c_evas.Evas_Object *edje_object_part_box_remove(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Evas_Object *child)
+ evas.c_evas.Evas_Object *edje_object_part_box_remove_at(evas.c_evas.Evas_Object *obj, char *part, unsigned int pos)
+ evas.c_evas.Eina_Bool edje_object_part_box_remove_all(evas.c_evas.Evas_Object *obj, char *part, int clear)
+
+ evas.c_evas.Eina_Bool edje_object_part_table_pack(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Evas_Object *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
+ evas.c_evas.Eina_Bool edje_object_part_table_unpack(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Evas_Object *child)
+ evas.c_evas.Eina_Bool edje_object_part_table_col_row_size_get(evas.c_evas.Evas_Object *obj, char *part, int *cols, int *rows)
+ evas.c_evas.Eina_Bool edje_object_part_table_clear(evas.c_evas.Evas_Object *obj, char *part, int clear)
+
char *edje_object_part_state_get(evas.c_evas.Evas_Object *obj, char *part, double *val_ret)
int edje_object_part_drag_dir_get(evas.c_evas.Evas_Object *obj, char *part)
@@ -211,6 +324,13 @@ cdef extern from "Edje.h":
void edje_message_signal_process()
+ unsigned int edje_external_type_abi_version_get()
+
+ evas.c_evas.Eina_Iterator *edje_external_iterator_get()
+ Edje_External_Param_Info *edje_external_param_info_get(char *type_name)
+
+ evas.c_evas.Eina_Bool edje_module_load(char *name)
+ evas.c_evas.Eina_List *edje_available_modules_get()
cdef class Message:
cdef int _type
@@ -260,6 +380,25 @@ cdef class MessageStringIntSet(Message):
cdef class MessageStringFloatSet(Message):
cdef Edje_Message_String_Float_Set *obj
+cdef class ExternalParam:
+ cdef Edje_External_Param *obj
+
+cdef class ExternalParamInfo:
+ cdef Edje_External_Param_Info *obj
+
+cdef class ExternalParamInfoInt(ExternalParamInfo):
+ pass
+
+cdef class ExternalParamInfoDouble(ExternalParamInfo):
+ pass
+
+cdef class ExternalParamInfoString(ExternalParamInfo):
+ pass
+
+cdef class ExternalType:
+ cdef object _name
+ cdef Edje_External_Type *_obj
+
cdef public class Edje(evas.c_evas.Object) [object PyEdje, type PyEdje_Type]:
cdef object _text_change_cb
diff --git a/include/edje/__init__.py b/include/edje/edit/__init__.py
similarity index 100%
copy from include/edje/__init__.py
copy to include/edje/edit/__init__.py
diff --git a/include/edje/edit/c_edit.pxd b/include/edje/edit/c_edit.pxd
new file mode 100644
index 0000000..6de2336
--- /dev/null
+++ b/include/edje/edit/c_edit.pxd
@@ -0,0 +1,349 @@
+# Copyright (C) 2007-2008 Gustavo Sverzut Barbieri, Ulisses Furquim
+#
+# This file is part of Python-Edje.
+#
+# Python-Edje 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# Python-Edje 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 Python-Edje. If not, see <http://www.gnu.org/licenses/>.
+
+cimport evas.c_evas
+import evas.c_evas
+cimport edje.c_edje
+import edje.c_edje
+
+cdef extern from "evas/python_evas_utils.h":
+ int PY_REFCOUNT(object)
+
+
+cdef extern from "Edje_Edit.h":
+ ####################################################################
+ # Enumerations
+ #
+ ctypedef enum Edje_Edit_Image_Comp:
+ EDJE_EDIT_IMAGE_COMP_RAW = 0
+ EDJE_EDIT_IMAGE_COMP_USER = 1
+ EDJE_EDIT_IMAGE_COMP_COMP = 2
+ EDJE_EDIT_IMAGE_COMP_LOSSY =3
+
+ ####################################################################
+ # Structures
+ #
+
+
+ ####################################################################
+ # Engine
+ #
+ void edje_edit_string_list_free( evas.c_evas.Eina_List *lst)
+ void edje_edit_string_free( char *str)
+ char* edje_edit_compiler_get(evas.c_evas.Evas_Object *obj)
+ int edje_edit_save(evas.c_evas.Evas_Object *obj)
+ void edje_edit_print_internal_status(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_group_add(evas.c_evas.Evas_Object *obj, char *name)
+ evas.c_evas.Eina_Bool edje_edit_group_del(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_group_exist(evas.c_evas.Evas_Object *obj, char *group)
+ evas.c_evas.Eina_Bool edje_edit_group_name_set(evas.c_evas.Evas_Object *obj, char *new_name)
+ int edje_edit_group_min_w_get(evas.c_evas.Evas_Object *obj)
+ void edje_edit_group_min_w_set(evas.c_evas.Evas_Object *obj, int w)
+ int edje_edit_group_min_h_get(evas.c_evas.Evas_Object *obj)
+ void edje_edit_group_min_h_set(evas.c_evas.Evas_Object *obj, int h)
+ int edje_edit_group_max_w_get(evas.c_evas.Evas_Object *obj)
+ void edje_edit_group_max_w_set(evas.c_evas.Evas_Object *obj, int w)
+ int edje_edit_group_max_h_get(evas.c_evas.Evas_Object *obj)
+ void edje_edit_group_max_h_set(evas.c_evas.Evas_Object *obj, int h)
+
+ # DATA API
+ evas.c_evas.Eina_List * edje_edit_data_list_get(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_data_add(evas.c_evas.Evas_Object *obj, char *itemname, char *value)
+ evas.c_evas.Eina_Bool edje_edit_data_del(evas.c_evas.Evas_Object *obj, char *itemname)
+ char * edje_edit_data_value_get(evas.c_evas.Evas_Object * obj, char *itemname)
+ evas.c_evas.Eina_Bool edje_edit_data_value_set(evas.c_evas.Evas_Object * obj, char *itemname, char *value)
+ evas.c_evas.Eina_Bool edje_edit_data_name_set(evas.c_evas.Evas_Object *obj, char *itemname, char *newname)
+
+ # COLOR CLASSES API
+ evas.c_evas.Eina_List * edje_edit_color_classes_list_get(evas.c_evas.Evas_Object * obj)
+ evas.c_evas.Eina_Bool edje_edit_color_class_add(evas.c_evas.Evas_Object *obj, char *name)
+ evas.c_evas.Eina_Bool edje_edit_color_class_del(evas.c_evas.Evas_Object *obj, char *name)
+ evas.c_evas.Eina_Bool edje_edit_color_class_colors_get(evas.c_evas.Evas_Object *obj, char *class_name, int *r, int *g, int *b, int *a, int *r2, int *g2, int *b2, int *a2, int *r3, int *g3, int *b3, int *a3)
+ evas.c_evas.Eina_Bool edje_edit_color_class_colors_set(evas.c_evas.Evas_Object *obj, char *class_name, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3)
+ evas.c_evas.Eina_Bool edje_edit_color_class_name_set(evas.c_evas.Evas_Object *obj, char *name, char *newname)
+
+ # TEXT STYLES
+ evas.c_evas.Eina_List * edje_edit_styles_list_get(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_style_add(evas.c_evas.Evas_Object *obj, char *style)
+ void edje_edit_style_del(evas.c_evas.Evas_Object *obj, char *style)
+ evas.c_evas.Eina_List * edje_edit_style_tags_list_get(evas.c_evas.Evas_Object *obj, char *style)
+ char* edje_edit_style_tag_value_get(evas.c_evas.Evas_Object *obj, char *style, char *tag)
+ void edje_edit_style_tag_value_set(evas.c_evas.Evas_Object *obj, char *style, char *tag, char *new_value)
+ void edje_edit_style_tag_name_set(evas.c_evas.Evas_Object *obj, char *style, char *tag, char *new_name)
+ evas.c_evas.Eina_Bool edje_edit_style_tag_add(evas.c_evas.Evas_Object *obj, char *style, char* tag_name)
+ void edje_edit_style_tag_del(evas.c_evas.Evas_Object *obj, char *style, char* tag)
+
+ # EXTERNALS API
+ evas.c_evas.Eina_List *edje_edit_externals_list_get(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_external_add(evas.c_evas.Evas_Object *obj, char *name)
+ void edje_edit_external_del(evas.c_evas.Evas_Object *obj, char *name)
+
+ # PARTS API
+ evas.c_evas.Eina_List * edje_edit_parts_list_get(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_part_add(evas.c_evas.Evas_Object *obj, char *name, edje.c_edje.Edje_Part_Type type)
+ evas.c_evas.Eina_Bool edje_edit_part_external_add(evas.c_evas.Evas_Object *obj, char *name, char *source)
+ evas.c_evas.Eina_Bool edje_edit_part_del(evas.c_evas.Evas_Object *obj, char *part)
+ evas.c_evas.Eina_Bool edje_edit_part_exist(evas.c_evas.Evas_Object *obj, char *part)
+ evas.c_evas.Eina_Bool edje_edit_part_restack_below(evas.c_evas.Evas_Object *obj, char *part)
+ evas.c_evas.Eina_Bool edje_edit_part_restack_above(evas.c_evas.Evas_Object *obj, char *part)
+ evas.c_evas.Eina_Bool edje_edit_part_name_set(evas.c_evas.Evas_Object *obj, char *part, char *new_name)
+ edje.c_edje.Edje_Part_Type edje_edit_part_type_get(evas.c_evas.Evas_Object *obj, char *part)
+ char * edje_edit_part_clip_to_get(evas.c_evas.Evas_Object *obj, char *part)
+ evas.c_evas.Eina_Bool edje_edit_part_clip_to_set(evas.c_evas.Evas_Object *obj, char *part, char *clip_to)
+ char * edje_edit_part_source_get(evas.c_evas.Evas_Object *obj, char *part)
+ evas.c_evas.Eina_Bool edje_edit_part_source_set(evas.c_evas.Evas_Object *obj, char *part, char *source)
+ edje.c_edje.Edje_Text_Effect edje_edit_part_effect_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_effect_set(evas.c_evas.Evas_Object *obj, char *part, edje.c_edje.Edje_Text_Effect effect)
+ char * edje_edit_part_selected_state_get(evas.c_evas.Evas_Object *obj, char *part)
+ evas.c_evas.Eina_Bool edje_edit_part_selected_state_set(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_part_mouse_events_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_mouse_events_set(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Eina_Bool mouse_events)
+ evas.c_evas.Eina_Bool edje_edit_part_repeat_events_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_repeat_events_set(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Eina_Bool repeat_events)
+ evas.c_evas.Evas_Event_Flags edje_edit_part_ignore_flags_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_ignore_flags_set(evas.c_evas.Evas_Object *obj, char *part, evas.c_evas.Evas_Event_Flags ignore_flags)
+ int edje_edit_part_drag_x_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_drag_x_set(evas.c_evas.Evas_Object *obj, char *part, int drag)
+ int edje_edit_part_drag_y_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_drag_y_set(evas.c_evas.Evas_Object *obj, char *part, int drag)
+ int edje_edit_part_drag_step_x_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_drag_step_x_set(evas.c_evas.Evas_Object *obj, char *part, int step)
+ int edje_edit_part_drag_step_y_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_drag_step_y_set(evas.c_evas.Evas_Object *obj, char *part, int step)
+ int edje_edit_part_drag_count_x_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_drag_count_x_set(evas.c_evas.Evas_Object *obj, char *part, int count)
+ int edje_edit_part_drag_count_y_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_drag_count_y_set(evas.c_evas.Evas_Object *obj, char *part, int count)
+ char* edje_edit_part_drag_confine_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_drag_confine_set(evas.c_evas.Evas_Object *obj, char *part, char *confine)
+ char* edje_edit_part_drag_event_get(evas.c_evas.Evas_Object *obj, char *part)
+ void edje_edit_part_drag_event_set(evas.c_evas.Evas_Object *obj, char *part, char *event)
+
+ # STATES API
+ evas.c_evas.Eina_List * edje_edit_part_states_list_get(evas.c_evas.Evas_Object *obj, char *part)
+ int edje_edit_state_name_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *new_name)
+ void edje_edit_state_add(evas.c_evas.Evas_Object *obj, char *part, char *name)
+ void edje_edit_state_del(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_state_exist(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_state_copy(evas.c_evas.Evas_Object *obj, char *part, char *sfrom, char *sto)
+ double edje_edit_state_rel1_relative_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_rel1_relative_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_rel2_relative_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_rel2_relative_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_rel1_relative_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_rel1_relative_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double y)
+ void edje_edit_state_rel2_relative_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_rel2_relative_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double y)
+ int edje_edit_state_rel1_offset_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_rel1_offset_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_rel2_offset_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_rel2_offset_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_rel1_offset_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_rel1_offset_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double y)
+ void edje_edit_state_rel2_offset_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_rel2_offset_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double y)
+ char * edje_edit_state_rel1_to_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ char * edje_edit_state_rel1_to_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ char * edje_edit_state_rel2_to_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ char * edje_edit_state_rel2_to_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_rel1_to_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *rel_to)
+ void edje_edit_state_rel1_to_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *rel_to)
+ void edje_edit_state_rel2_to_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *rel_to)
+ void edje_edit_state_rel2_to_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *rel_to)
+ void edje_edit_state_color_get(evas.c_evas.Evas_Object *obj, char *part, char *state, int *r, int *g, int *b, int *a)
+ void edje_edit_state_color2_get(evas.c_evas.Evas_Object *obj, char *part, char *state, int *r, int *g, int *b, int *a)
+ void edje_edit_state_color3_get(evas.c_evas.Evas_Object *obj, char *part, char *state, int *r, int *g, int *b, int *a)
+ void edje_edit_state_color_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int r, int g, int b, int a)
+ void edje_edit_state_color2_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int r, int g, int b, int a)
+ void edje_edit_state_color3_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int r, int g, int b, int a)
+ double edje_edit_state_align_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_align_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_align_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double align)
+ void edje_edit_state_align_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double align)
+ int edje_edit_state_min_w_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_min_w_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int min_w)
+ int edje_edit_state_min_h_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_min_h_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int min_h)
+ int edje_edit_state_max_w_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_max_w_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int max_w)
+ int edje_edit_state_max_h_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_max_h_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int max_h)
+ double edje_edit_state_aspect_min_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_aspect_max_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_aspect_min_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double aspect)
+ void edje_edit_state_aspect_max_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double aspect)
+ unsigned char edje_edit_state_aspect_pref_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_aspect_pref_set(evas.c_evas.Evas_Object *obj, char *part, char *state, unsigned char pref)
+ double edje_edit_state_fill_origin_relative_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_fill_origin_relative_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_fill_origin_offset_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_fill_origin_offset_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_fill_origin_relative_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_fill_origin_relative_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_fill_origin_offset_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_fill_origin_offset_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double y)
+ double edje_edit_state_fill_size_relative_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_fill_size_relative_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_fill_size_offset_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_fill_size_offset_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_fill_size_relative_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_fill_size_relative_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_fill_size_offset_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double x)
+ void edje_edit_state_fill_size_offset_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double y)
+ evas.c_evas.Eina_Bool edje_edit_state_visible_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_visible_set(evas.c_evas.Evas_Object *obj, char *part, char *state, evas.c_evas.Eina_Bool visible)
+ char* edje_edit_state_color_class_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_color_class_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *color_class)
+ evas.c_evas.Eina_List * edje_edit_state_external_params_list_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_state_external_param_get(evas.c_evas.Evas_Object *obj, char *part, char *state, char *param, edje.c_edje.Edje_External_Param_Type *type, void **value)
+ evas.c_evas.Eina_Bool edje_edit_state_external_param_int_get(evas.c_evas.Evas_Object *obj, char *part, char *state, char *param, int *value)
+ evas.c_evas.Eina_Bool edje_edit_state_external_param_double_get(evas.c_evas.Evas_Object *obj, char *part, char *state, char *param, double *value)
+ evas.c_evas.Eina_Bool edje_edit_state_external_param_string_get(evas.c_evas.Evas_Object *obj, char *part, char *state, char *param, char **value)
+ evas.c_evas.Eina_Bool edje_edit_state_external_param_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *param, edje.c_edje.Edje_External_Param_Type type, ...)
+ evas.c_evas.Eina_Bool edje_edit_state_external_param_int_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *param, int value)
+ evas.c_evas.Eina_Bool edje_edit_state_external_param_double_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *param, double value)
+ evas.c_evas.Eina_Bool edje_edit_state_external_param_string_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *param, char *value)
+
+ # TEXT API
+ char * edje_edit_state_text_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_text_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *text)
+ int edje_edit_state_text_size_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_text_size_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int size)
+ double edje_edit_state_text_align_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_text_align_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_text_align_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double align)
+ void edje_edit_state_text_align_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double align)
+ double edje_edit_state_text_elipsis_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_text_elipsis_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double balance)
+ evas.c_evas.Eina_Bool edje_edit_state_text_fit_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_text_fit_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, evas.c_evas.Eina_Bool fit)
+ evas.c_evas.Eina_Bool edje_edit_state_text_fit_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_text_fit_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, evas.c_evas.Eina_Bool fit)
+ evas.c_evas.Eina_List * edje_edit_fonts_list_get(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_font_add(evas.c_evas.Evas_Object *obj, char* path)
+ char * edje_edit_state_font_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_font_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *font)
+
+ # IMAGES API
+ evas.c_evas.Eina_List * edje_edit_images_list_get(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_image_add(evas.c_evas.Evas_Object *obj, char* path)
+ evas.c_evas.Eina_Bool edje_edit_image_data_add(evas.c_evas.Evas_Object *obj, char *name, int id)
+ char * edje_edit_state_image_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_image_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *image)
+ int edje_edit_image_id_get(evas.c_evas.Evas_Object *obj, char *image_name)
+ Edje_Edit_Image_Comp edje_edit_image_compression_type_get(evas.c_evas.Evas_Object *obj, char *image)
+ int edje_edit_image_compression_rate_get(evas.c_evas.Evas_Object *obj, char *image)
+ void edje_edit_state_image_border_get(evas.c_evas.Evas_Object *obj, char *part, char *state, int *l, int *r, int *t, int *b)
+ void edje_edit_state_image_border_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int l, int r, int t, int b)
+ unsigned char edje_edit_state_image_border_fill_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_image_border_fill_set(evas.c_evas.Evas_Object *obj, char *part, char *state, unsigned char fill)
+ evas.c_evas.Eina_List * edje_edit_state_tweens_list_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_state_tween_add(evas.c_evas.Evas_Object *obj, char *part, char *state, char *tween)
+ evas.c_evas.Eina_Bool edje_edit_state_tween_del(evas.c_evas.Evas_Object *obj, char *part, char *state, char *tween)
+
+ # SPECTRUM API
+ evas.c_evas.Eina_List * edje_edit_spectrum_list_get(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_spectra_add(evas.c_evas.Evas_Object *obj, char* name)
+ evas.c_evas.Eina_Bool edje_edit_spectra_del(evas.c_evas.Evas_Object *obj, char* spectra)
+ evas.c_evas.Eina_Bool edje_edit_spectra_name_set(evas.c_evas.Evas_Object *obj, char* spectra, char* name)
+ int edje_edit_spectra_stop_num_get(evas.c_evas.Evas_Object *obj, char* spectra)
+ evas.c_evas.Eina_Bool edje_edit_spectra_stop_num_set(evas.c_evas.Evas_Object *obj, char* spectra, int num)
+ evas.c_evas.Eina_Bool edje_edit_spectra_stop_color_get(evas.c_evas.Evas_Object *obj, char* spectra, int stop_number, int *r, int *g, int *b, int *a, int *d)
+ evas.c_evas.Eina_Bool edje_edit_spectra_stop_color_set(evas.c_evas.Evas_Object *obj, char* spectra, int stop_number, int r, int g, int b, int a, int d)
+
+ # GRADIENT API
+ char * edje_edit_state_gradient_type_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_type_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char *type)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_use_fill_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ char * edje_edit_state_gradient_spectra_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_spectra_set(evas.c_evas.Evas_Object *obj, char *part, char *state, char* spectra)
+ int edje_edit_state_gradient_angle_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ void edje_edit_state_gradient_angle_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int angle)
+ double edje_edit_state_gradient_rel1_relative_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_gradient_rel1_relative_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_gradient_rel2_relative_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ double edje_edit_state_gradient_rel2_relative_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_rel1_relative_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double val)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_rel1_relative_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double val)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_rel2_relative_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double val)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_rel2_relative_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, double val)
+ int edje_edit_state_gradient_rel1_offset_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_gradient_rel1_offset_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_gradient_rel2_offset_x_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ int edje_edit_state_gradient_rel2_offset_y_get(evas.c_evas.Evas_Object *obj, char *part, char *state)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_rel1_offset_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int val)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_rel1_offset_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int val)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_rel2_offset_x_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int val)
+ evas.c_evas.Eina_Bool edje_edit_state_gradient_rel2_offset_y_set(evas.c_evas.Evas_Object *obj, char *part, char *state, int val)
+
+ # PROGRAMS API
+ evas.c_evas.Eina_List* edje_edit_programs_list_get(evas.c_evas.Evas_Object *obj)
+ evas.c_evas.Eina_Bool edje_edit_program_add(evas.c_evas.Evas_Object *obj, char *name)
+ evas.c_evas.Eina_Bool edje_edit_program_del(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_exist(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_run(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_name_set(evas.c_evas.Evas_Object *obj, char *prog, char *new_name)
+ char * edje_edit_program_source_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_source_set(evas.c_evas.Evas_Object *obj, char *prog, char *source)
+ char * edje_edit_program_signal_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_signal_set(evas.c_evas.Evas_Object *obj, char *prog, char *signal)
+ double edje_edit_program_in_from_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_in_from_set(evas.c_evas.Evas_Object *obj, char *prog, double seconds)
+ double edje_edit_program_in_range_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_in_range_set(evas.c_evas.Evas_Object *obj, char *prog, double seconds)
+ edje.c_edje.Edje_Action_Type edje_edit_program_action_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_action_set(evas.c_evas.Evas_Object *obj, char *prog, edje.c_edje.Edje_Action_Type action)
+ evas.c_evas.Eina_List* edje_edit_program_targets_get(evas.c_evas.Evas_Object *, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_target_add(evas.c_evas.Evas_Object *obj, char *prog, char *target)
+ evas.c_evas.Eina_Bool edje_edit_program_targets_clear(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_List* edje_edit_program_afters_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_after_add(evas.c_evas.Evas_Object *obj, char *prog, char *after)
+ evas.c_evas.Eina_Bool edje_edit_program_afters_clear(evas.c_evas.Evas_Object *obj, char *prog)
+ char* edje_edit_program_state_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_state_set(evas.c_evas.Evas_Object *obj, char *prog, char *state)
+ double edje_edit_program_value_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_value_set(evas.c_evas.Evas_Object *obj, char *prog, double value)
+ char* edje_edit_program_state2_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_state2_set(evas.c_evas.Evas_Object *obj, char *prog, char *state2)
+ double edje_edit_program_value2_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_value2_set(evas.c_evas.Evas_Object *obj, char *prog, double value)
+ edje.c_edje.Edje_Tween_Mode edje_edit_program_transition_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_transition_set(evas.c_evas.Evas_Object *obj, char *prog, edje.c_edje.Edje_Tween_Mode transition)
+ double edje_edit_program_transition_time_get(evas.c_evas.Evas_Object *obj, char *prog)
+ evas.c_evas.Eina_Bool edje_edit_program_transition_time_set(evas.c_evas.Evas_Object *obj, char *prog, double seconds)
+
+ # SCRIPTS API
+ char* edje_edit_script_get(evas.c_evas.Evas_Object *obj)
+
+cdef public class EdjeEdit(edje.c_edje.Edje) [object PyEdjeEdit, type PyEdjeEdit_Type]:
+ pass
+# cdef object _text_change_cb
+# cdef object _message_handler_cb
+# cdef object _signal_callbacks
+#
+# cdef void message_send_int(self, int id, int data)
+# cdef void message_send_float(self, int id, float data)
+# cdef void message_send_str(self, int id, char *data)
+# cdef void message_send_str_set(self, int id, data)
+# cdef void message_send_str_int(self, int id, char *s, int i)
+# cdef void message_send_str_float(self, int id, char *s, float f)
+# cdef void message_send_str_int_set(self, int id, char *s, data)
+# cdef void message_send_str_float_set(self, int id, char *s, data)
+# cdef void message_send_int_set(self, int id, data)
+# cdef void message_send_float_set(self, int id, data)
+# cdef message_send_set(self, int id, data)
+
diff --git a/python_edje.egg-info/SOURCES.txt b/python_edje.egg-info/SOURCES.txt
index eac9268..468b213 100644
--- a/python_edje.egg-info/SOURCES.txt
+++ b/python_edje.egg-info/SOURCES.txt
@@ -10,10 +10,24 @@ setup.py
edje/__init__.py
edje/decorators.py
edje/edje.c_edje.pyx
+edje/edje.c_edje_external.pxi
edje/edje.c_edje_message.pxi
edje/edje.c_edje_object.pxi
+edje/edit/__init__.py
+edje/edit/c_edit.pyx
+edje/edit/c_edit_object.pxi
+edje/edit/c_edit_object_color_class.pxi
+edje/edit/c_edit_object_data.pxi
+edje/edit/c_edit_object_group.pxi
+edje/edit/c_edit_object_part.pxi
+edje/edit/c_edit_object_programs.pxi
+edje/edit/c_edit_object_spectra.pxi
+edje/edit/c_edit_object_state.pxi
+edje/edit/c_edit_object_text_style.pxi
include/edje/__init__.py
include/edje/c_edje.pxd
+include/edje/edit/__init__.py
+include/edje/edit/c_edit.pxd
python_edje.egg-info/PKG-INFO
python_edje.egg-info/SOURCES.txt
python_edje.egg-info/dependency_links.txt
@@ -23,4 +37,9 @@ python_edje.egg-info/top_level.txt
tests/01-basics.py
tests/02-decorators.py
tests/theme.edc
-tests/theme.edj
\ No newline at end of file
+tests/theme.edj
+tests/edit/01-edje.py
+tests/edit/02-group.py
+tests/edit/03-parts.py
+tests/edit/groups.edc
+tests/edit/theme.edc
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 3da46c7..a063512 100644
--- a/setup.py
+++ b/setup.py
@@ -65,6 +65,20 @@ edjemodule = Extension('edje.c_edje',
],
**pkgconfig('"edje >= 0.9.9.050"'))
+edjeeditmodule = Extension('edje.edit.c_edit',
+ sources=['edje/edit/c_edit.pyx',
+ ],
+ depends=['edje/edit/c_edit_object.pxi',
+ 'edje/edit/c_edit_object_group.pxi',
+ 'edje/edit/c_edit_object_data.pxi',
+ 'edje/edit/c_edit_object_color_class.pxi',
+ 'edje/edit/c_edit_object_text_style.pxi',
+ 'edje/edit/c_edit_object_part.pxi',
+ 'edje/edit/c_edit_object_state.pxi',
+ 'include/edje/edit/c_edit.pxd',
+ ],
+ **pkgconfig('"edje >= 0.9.9.050"'))
+
trove_classifiers = [
"Development Status :: 3 - Alpha",
@@ -143,7 +157,7 @@ setup(name='python-edje',
packages=find_packages(),
install_requires=['python-evas>=0.3.1'],
setup_requires=['python-evas>=0.3.1'],
- ext_modules=[edjemodule],
+ ext_modules=[edjemodule, edjeeditmodule],
zip_safe=False,
cmdclass={'build_ext': edje_build_ext,},
)
diff --git a/tests/edit/01-edje.py b/tests/edit/01-edje.py
new file mode 100644
index 0000000..4f3e4af
--- /dev/null
+++ b/tests/edit/01-edje.py
@@ -0,0 +1,129 @@
+#!/usr/bin/env python
+
+import edje
+import edje.edit
+import ecore.evas
+import unittest
+
+class Basics(unittest.TestCase):
+ def setUp(self):
+ import shutil
+ shutil.copyfile("theme.edj","test.edj")
+ self.canvas = ecore.evas.Buffer(300, 300)
+ self.edj = edje.edit.EdjeEdit(self.canvas.evas, file="test.edj", group="main")
+
+ def tearDown(self):
+ self.edj.delete()
+ del self.canvas
+ self.canvas = None
+ self.edj = None
+ import os
+ os.remove("test.edj")
+
+ def test_compiler_get(self):
+ self.assertEqual(self.edj.compiler_get(), "edje_cc")
+
+ def test_save(self):
+ pass #self.assertTrue(self.edj.save())
+
+ # Group
+
+ def test_current_group(self):
+ self.assertNotEqual(self.edj.current_group, None)
+
+ def test_group_add(self):
+ self.assertTrue(self.edj.group_add("gNEW"))
+ self.assertFalse(self.edj.group_add("main"))
+ self.assertFalse(self.edj.group_add("g1"))
+ self.assertFalse(self.edj.group_add("gNEW"))
+ self.assertTrue(self.edj.group_add(""))
+
+ def test_group_exist(self):
+ self.assertTrue(self.edj.group_exist("main"))
+ self.assertTrue(self.edj.group_exist("g2"))
+ self.assertFalse(self.edj.group_exist("gNEW"))
+ self.assertFalse(self.edj.group_exist(""))
+ self.assertTrue(self.edj.group_add("gNEW"))
+ self.assertFalse(self.edj.group_exist("gNew"))
+ self.assertTrue(self.edj.group_add(""))
+ self.assertTrue(self.edj.group_exist("gNEW"))
+ self.assertTrue(self.edj.group_exist(""))
+
+ # Data
+
+ def test_data(self):
+ print self.edj.data
+
+ def test_data_add(self):
+ pass
+
+ def test_data_del(self):
+ pass
+
+ # Text Style
+
+ def test_text_styles(self):
+ print self.edj.text_styles
+
+ def test_text_styles_get(self):
+ pass
+
+ def test_text_styles_add(self):
+ pass
+
+ def test_text_styles_del(self):
+ pass
+
+ # Color Class
+
+ def test_color_classes(self):
+ pass
+
+ def text_color_class_get(self):
+ pass
+
+ def test_color_class_add(self):
+ pass
+
+ def test_color_class_del(self):
+ pass
+
+ # Part
+
+ def test_parts(self):
+ print self.edj.parts
+ self.assertEqual(self.edj.parts, ['main_rect', 'main_text', 'main_image', 'main_swallow', 'main_textblock', 'main_gradient', 'main_group', 'main_box', 'main_table'])
+
+ def test_part_get(self):
+# self.assertEqual(self.edj.part_get(""), None)
+ self.assertNotEqual(self.edj.part_get("main_rect"), None)
+ self.assertEqual(self.edj.part_get("noexist"), None)
+
+ def test_part_add(self):
+ print "PART_ADD"
+# self.assertFalse(self.edj.part_add("fail1", edje.EDJE_PART_TYPE_NONE))
+# self.assertFalse(self.edj.part_add("fail2", edje.EDJE_PART_TYPE_LAST))
+# self.assertFalse(self.edj.part_add("fail3", edje.EDJE_PART_TYPE_LAST + 1))
+# self.assertFalse(self.edj.part_add("", edje.EDJE_PART_TYPE_RECTANGLE))
+ self.assertTrue(self.edj.part_add("new_rect", edje.EDJE_PART_TYPE_RECTANGLE))
+ self.assertTrue(self.edj.part_add("new_image", edje.EDJE_PART_TYPE_IMAGE))
+ self.assertTrue(self.edj.part_add("new_swallow", edje.EDJE_PART_TYPE_SWALLOW))
+
+ def test_part_exist(self):
+# self.assertFalse(self.edj.part_exist(""))
+ self.assertFalse(self.edj.part_exist("fail"))
+ self.assertTrue(self.edj.part_add("new_rect", edje.EDJE_PART_TYPE_RECTANGLE))
+ self.assertTrue(self.edj.part_exist("new_rect"))
+ self.assertTrue(self.edj.part_exist("main_gradient"))
+
+ def test_part_del(self):
+ self.assertFalse(self.edj.part_exist(""))
+ self.assertFalse(self.edj.part_exist("fail"))
+ self.assertTrue(self.edj.part_add("new_rect", edje.EDJE_PART_TYPE_RECTANGLE))
+ self.assertTrue(self.edj.part_del("new_rect"))
+ self.assertTrue(self.edj.part_del("main_gradient"))
+
+edje.file_cache_set(0)
+unittest.main()
+edje.shutdown()
+ecore.evas.shutdown()
diff --git a/tests/edit/02-group.py b/tests/edit/02-group.py
new file mode 100644
index 0000000..e8d7e68
--- /dev/null
+++ b/tests/edit/02-group.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python
+
+import edje
+import edje.edit
+import ecore.evas
+import unittest
+
+class Basics(unittest.TestCase):
+ def setUp(self):
+ import shutil
+ shutil.copyfile("theme.edj","test.edj")
+ self.canvas = ecore.evas.Buffer(300, 300)
+ self.edj = edje.edit.EdjeEdit(self.canvas.evas, file="test.edj", group="main")
+ self.group = self.edj.current_group
+
+ def tearDown(self):
+ self.edj.delete()
+ del self.canvas
+ self.canvas = None
+ self.edj = None
+ self.group = None
+ import os
+ os.remove("test.edj")
+
+ def test_rename(self):
+ self.assertFalse(self.group.rename("g1"))
+ self.assertTrue(self.group.rename("main"))
+ self.assertTrue(self.group.rename("gNewName"))
+ self.assertTrue(self.group.rename("main"))
+
+ def test_w_min(self):
+ self.assertEqual(self.group.w_min, 123)
+ self.group.w_min = 555
+ self.assertEqual(self.group.w_min, 555)
+
+ def test_w_max(self):
+ self.assertEqual(self.group.w_max, 789)
+ self.group.w_max = 888
+ self.assertEqual(self.group.w_max, 888)
+
+ def test_h_min(self):
+ self.assertEqual(self.group.h_min, 456)
+ self.group.h_min = 600
+ self.assertEqual(self.group.h_min, 600)
+
+ def test_h_max(self):
+ self.assertEqual(self.group.h_max, 999)
+ self.group.h_max = 1111
+ self.assertEqual(self.group.h_max, 1111)
+
+ def test_delete(self):
+ self.assertTrue(self.edj.group_exist("main"))
+# self.assertTrue(self.group.delete()) #segfault
+# self.assertFalse(self.edj.group_exist("main"))
+
+edje.file_cache_set(0)
+unittest.main()
+edje.shutdown()
+ecore.evas.shutdown()
diff --git a/tests/edit/03-parts.py b/tests/edit/03-parts.py
new file mode 100644
index 0000000..d820207
--- /dev/null
+++ b/tests/edit/03-parts.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+
+import edje
+import edje.edit
+import ecore.evas
+import unittest
+
+class Basics(unittest.TestCase):
+ def setUp(self):
+ import shutil
+ shutil.copyfile("theme.edj","test.edj")
+ self.canvas = ecore.evas.Buffer(300, 300)
+ self.edj = edje.edit.EdjeEdit(self.canvas.evas, file="test.edj", group="main")
+ self.group = self.edj.current_group
+ self.parts = self.edj.parts
+
+ def tearDown(self):
+ self.edj.delete()
+ del self.canvas
+ self.canvas = None
+ self.edj = None
+ self.group = None
+ import os
+ os.remove("test.edj")
+
+ def test_name(self):
+ for part in self.edj.parts:
+ self.assertEqual(self.edj.part_get(part).name, part)
+
+ def test_restack_below(self):
+ # You can't pre-load parts
+ self.assertFalse(self.edj.part_get(self.parts[0]).restack_below())
+ self.assertTrue(self.edj.part_get(self.parts[1]).restack_below())
+ self.assertFalse(self.edj.part_get(self.parts[1]).restack_below())
+ self.assertTrue(self.edj.part_get(self.parts[0]).restack_below())
+ self.assertTrue(self.edj.part_get(self.parts[8]).restack_below())
+ self.assertTrue(self.edj.part_get(self.parts[8]).restack_below())
+ self.assertTrue(self.edj.part_get(self.parts[8]).restack_below())
+ self.assertEqual(self.edj.parts, ['main_rect', 'main_text', 'main_image', 'main_swallow', 'main_textblock', 'main_table', 'main_gradient', 'main_group', 'main_box'])
+
+ def test_restack_above(self):
+ # You can't pre-load parts
+ self.assertFalse(self.edj.part_get(self.parts[8]).restack_above())
+ self.assertTrue(self.edj.part_get(self.parts[7]).restack_above())
+ self.assertFalse(self.edj.part_get(self.parts[7]).restack_above())
+ self.assertTrue(self.edj.part_get(self.parts[8]).restack_above())
+ self.assertTrue(self.edj.part_get(self.parts[0]).restack_above())
+ self.assertTrue(self.edj.part_get(self.parts[0]).restack_above())
+ self.assertTrue(self.edj.part_get(self.parts[0]).restack_above())
+ self.assertEqual(self.edj.parts, ['main_text', 'main_image', 'main_swallow', 'main_rect', 'main_textblock', 'main_gradient', 'main_group', 'main_box', 'main_table'])
+
+ def test_rename(self):
+ for part_name in self.parts[:-1]:
+ part = self.edj.part_get(part_name)
+ self.assertFalse(part.rename(self.parts[8]))
+ self.assertTrue(part.rename(part_name))
+ self.assertTrue(part.rename("New Part"))
+ self.assertTrue(part.rename(part_name))
+
+edje.file_cache_set(0)
+unittest.main()
+edje.shutdown()
+ecore.evas.shutdown()
diff --git a/tests/edit/groups.edc b/tests/edit/groups.edc
new file mode 100644
index 0000000..1042137
--- /dev/null
+++ b/tests/edit/groups.edc
@@ -0,0 +1,41 @@
+ group {
+ name: "g1";
+ parts {
+ part {
+ name: "g1_p1";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ }
+ }
+
+ group {
+ name: "g2";
+ parts {
+ part {
+ name: "g2_p1";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ }
+ }
+
+ group {
+ name: "g3";
+ parts {
+ part {
+ name: "g3_p1";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ }
+ }
diff --git a/tests/edit/theme.edc b/tests/edit/theme.edc
new file mode 100644
index 0000000..cc3ff77
--- /dev/null
+++ b/tests/edit/theme.edc
@@ -0,0 +1,166 @@
+collections {
+ group {
+ name: "main";
+ min: 123 456;
+ max: 789 999;
+
+ parts {
+ part {
+ name: "main_rect";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "main_text";
+ type: TEXT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "main_image";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "main_swallow";
+ type: SWALLOW;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "main_textblock";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "main_gradient";
+ type: GRADIENT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "main_group";
+ type: GROUP;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "main_box";
+ type: BOX;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ box.layout: "horizontal";
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "main_table";
+ type: TABLE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ }
+ }
+ }
+ }
+ }
+
+#include "groups.edc"
+}
--
Python bindings for Edje
More information about the Pkg-e-commits
mailing list