python-efl/efl2/edje/efl.edje_edit_part_state.pxi

864 lines
36 KiB
Cython

# Copyright (C) 2007-2014 various contributors (see AUTHORS)
#
# This file is part of Python-EFL.
#
# Python-EFL 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 3 of the License, or (at your option) any later version.
#
# Python-EFL 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-EFL. If not, see <http://www.gnu.org/licenses/>.
cdef class State:
cdef EdjeEdit edje
cdef object part
cdef const char *name
cdef object part_obj
cdef object value
def __init__(self, Part part not None, name not None, double value=0.0):
if isinstance(name, unicode): name = name.encode("UTF-8")
self.name = eina_stringshare_add(name)
self.part_obj = part
self.edje = part.edje
self.part = part.name
self.value = value
def __dealloc__(self):
eina_stringshare_del(self.name)
property name:
def __get__(self):
return _ctouni(self.name)
def __set__(self, name):
self.name_set(name)
property value:
def __get__(self):
return self.value
def part_get(self):
return self.part_obj
def name_set(self, new_name not None, new_value=None):
if isinstance(new_name, unicode): new_name = new_name.encode("UTF-8")
ret = edje_edit_state_name_set(self.edje.obj, self.part,
self.name, self.value,
<const char *>new_name if new_name is not None else NULL,
new_value if new_value is not None else self.value)
if ret == 0:
return False
eina_stringshare_replace(&self.name, <const char *>new_name)
return True
# def copy_from(self, from_state, from_value=0.0):
# return bool(edje_edit_state_copy(self.edje.obj, self.part,
# from_state, from_value, self.name,
# self.value))
def rel1_to_get(self):
cdef:
const char *tx
const char *ty
tx = edje_edit_state_rel1_to_x_get(self.edje.obj, self.part, self.name,
self.value)
ty = edje_edit_state_rel1_to_y_get(self.edje.obj, self.part, self.name,
self.value)
if tx != NULL:
x = tx
edje_edit_string_free(tx)
else:
x = None
if ty != NULL:
y = ty
edje_edit_string_free(ty)
else:
y = None
return (x, y)
# def rel1_to_set(self, x, y):
# if x:
# edje_edit_state_rel1_to_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# else:
# edje_edit_state_rel1_to_x_set(self.edje.obj, self.part, self.name,
# self.value, NULL)
# if y:
# edje_edit_state_rel1_to_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
# else:
# edje_edit_state_rel1_to_y_set(self.edje.obj, self.part, self.name,
# self.value, NULL)
# # remove when fixed in edje_edit
# edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name,
# self.value)
#
# property rel1_to:
# def __get__(self):
# return self.rel1_to_get()
# def __set__(self, rel1_to):
# self.rel1_to_set(*rel1_to)
#
# def rel1_to_x_set(self, x):
# if x:
# edje_edit_state_rel1_to_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# else:
# edje_edit_state_rel1_to_x_set(self.edje.obj, self.part, self.name,
# self.value, NULL)
# # remove when fixed in edje_edit
# edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name,
# self.value)
#
# def rel1_to_y_set(self, y):
# if y:
# edje_edit_state_rel1_to_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
# else:
# edje_edit_state_rel1_to_y_set(self.edje.obj, self.part, self.name,
# self.value, NULL)
# # remove when fixed in edje_edit
# edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name,
# self.value)
#
# def rel1_relative_get(self):
# cdef double x, y
# x = edje_edit_state_rel1_relative_x_get(self.edje.obj, self.part,
# self.name, self.value)
# y = edje_edit_state_rel1_relative_y_get(self.edje.obj, self.part,
# self.name, self.value)
# 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,
# self.value, x)
# edje_edit_state_rel1_relative_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
#
# property rel1_relative:
# def __get__(self):
# return self.rel1_relative_get()
# def __set__(self, value):
# self.rel1_relative_set(*value)
#
# def rel1_relative_x_set(self, double x):
# edje_edit_state_rel1_relative_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
#
# def rel1_relative_y_set(self, double y):
# edje_edit_state_rel1_relative_y_set(self.edje.obj, self.part, self.name,
# self.value, 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, self.value)
# y = edje_edit_state_rel1_offset_y_get(self.edje.obj, self.part,
# self.name, self.value)
# return (x, y)
#
# def rel1_offset_set(self, int x, int y):
# edje_edit_state_rel1_offset_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# edje_edit_state_rel1_offset_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
#
# property rel1_offset:
# def __get__(self):
# return self.rel1_offset_get()
# def __set__(self, value):
# self.rel1_offset_set(*value)
#
# def rel1_offset_x_set(self, int x):
# edje_edit_state_rel1_offset_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
#
# def rel1_offset_y_set(self, int y):
# edje_edit_state_rel1_offset_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
#
# def rel2_to_get(self):
# cdef const char_ptr tx, ty
# tx = edje_edit_state_rel2_to_x_get(self.edje.obj, self.part, self.name,
# self.value)
# ty = edje_edit_state_rel2_to_y_get(self.edje.obj, self.part, self.name,
# self.value)
# if tx != NULL:
# x = tx
# edje_edit_string_free(tx)
# else:
# x = None
#
# if ty != NULL:
# y = ty
# edje_edit_string_free(ty)
# else:
# y = None
#
# return (x, y)
#
# def rel2_to_set(self, x, y):
# if x:
# edje_edit_state_rel2_to_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# else:
# edje_edit_state_rel2_to_x_set(self.edje.obj, self.part, self.name,
# self.value, NULL)
# if y:
# edje_edit_state_rel2_to_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
# else:
# edje_edit_state_rel2_to_y_set(self.edje.obj, self.part, self.name,
# self.value, NULL)
# # remove when fixed in edje_edit
# edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name,
# self.value)
#
# property rel2_to:
# def __get__(self):
# return self.rel2_to_get()
# def __set__(self, rel2_to):
# self.rel2_to_set(*rel2_to)
#
# def rel2_to_x_set(self, x):
# if x:
# edje_edit_state_rel2_to_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# else:
# edje_edit_state_rel2_to_x_set(self.edje.obj, self.part, self.name,
# self.value, NULL)
# # remove when fixed in edje_edit
# edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name,
# self.value)
# def rel2_to_y_set(self, y):
# if y:
# edje_edit_state_rel2_to_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
# else:
# edje_edit_state_rel2_to_y_set(self.edje.obj, self.part, self.name,
# self.value, NULL)
# # remove when fixed in edje_edit
# edje_edit_part_selected_state_set(self.edje.obj, self.part, self.name,
# self.value)
#
# def rel2_relative_get(self):
# cdef double x, y
# x = edje_edit_state_rel2_relative_x_get(self.edje.obj, self.part,
# self.name, self.value)
# y = edje_edit_state_rel2_relative_y_get(self.edje.obj, self.part,
# self.name, self.value)
# 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,
# self.value, x)
# edje_edit_state_rel2_relative_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
#
# property rel2_relative:
# def __get__(self):
# return self.rel2_relative_get()
# def __set__(self, value):
# self.rel2_relative_set(*value)
#
# def rel2_relative_x_set(self, double x):
# edje_edit_state_rel2_relative_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# def rel2_relative_y_set(self, double y):
# edje_edit_state_rel2_relative_y_set(self.edje.obj, self.part, self.name,
# self.value, 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, self.value)
# y = edje_edit_state_rel2_offset_y_get(self.edje.obj, self.part,
# self.name, self.value)
# return (x, y)
#
# def rel2_offset_set(self, int x, int y):
# edje_edit_state_rel2_offset_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# edje_edit_state_rel2_offset_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
#
# property rel2_offset:
# def __get__(self):
# return self.rel2_offset_get()
# def __set__(self, value):
# self.rel2_offset_set(*value)
#
# def rel2_offset_x_set(self, int x):
# edje_edit_state_rel2_offset_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# def rel2_offset_y_set(self, int y):
# edje_edit_state_rel2_offset_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
#
# def color_get(self):
# cdef int r, g, b, a
# edje_edit_state_color_get(self.edje.obj, self.part, self.name,
# self.value, &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,
# self.value, r, g, b, a)
#
# property color:
# def __get__(self):
# return self.color_get()
# def __set__(self, color):
# self.color_set(*color)
#
# def color2_get(self):
# cdef int r, g, b, a
# edje_edit_state_color2_get(self.edje.obj, self.part, self.name,
# self.value, &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,
# self.value, r, g, b, a)
#
# property color2:
# def __get__(self):
# return self.color2_get()
# def __set__(self, color):
# self.color2_set(*color)
#
# def color3_get(self):
# cdef int r, g, b, a
# edje_edit_state_color3_get(self.edje.obj, self.part, self.name,
# self.value, &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,
# self.value, r, g, b, a)
#
# property color3:
# def __get__(self):
# return self.color3_get()
# def __set__(self, color):
# self.color3_set(*color)
#
# def align_get(self):
# cdef double x, y
# x = edje_edit_state_align_x_get(self.edje.obj, self.part, self.name,
# self.value)
# y = edje_edit_state_align_y_get(self.edje.obj, self.part, self.name,
# self.value)
# return (x, y)
#
# def align_set(self, double x, double y):
# edje_edit_state_align_x_set(self.edje.obj, self.part, self.name,
# self.value, x)
# edje_edit_state_align_y_set(self.edje.obj, self.part, self.name,
# self.value, 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,
# self.value)
# h = edje_edit_state_min_h_get(self.edje.obj, self.part, self.name,
# self.value)
# return (w, h)
#
# def min_set(self, int w, int h):
# edje_edit_state_min_w_set(self.edje.obj, self.part, self.name,
# self.value, w)
# edje_edit_state_min_h_set(self.edje.obj, self.part, self.name,
# self.value, 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,
# self.value)
# h = edje_edit_state_max_h_get(self.edje.obj, self.part, self.name,
# self.value)
# return (w, h)
#
# def max_set(self, int w, int h):
# edje_edit_state_max_w_set(self.edje.obj, self.part, self.name,
# self.value, w)
# edje_edit_state_max_h_set(self.edje.obj, self.part, self.name,
# self.value, h)
#
# property max:
# def __get__(self):
# return self.max_get()
# def __set__(self, max):
# self.max_set(*max)
#
# def aspect_min_get(self):
# return edje_edit_state_aspect_min_get(self.edje.obj, self.part,
# self.name, self.value)
#
# def aspect_min_set(self, double a):
# edje_edit_state_aspect_min_set(self.edje.obj, self.part, self.name,
# self.value, a)
#
# def aspect_max_get(self):
# return edje_edit_state_aspect_max_get(self.edje.obj, self.part,
# self.name, self.value)
#
# def aspect_max_set(self, double a):
# edje_edit_state_aspect_max_set(self.edje.obj, self.part, self.name,
# self.value, a)
#
# def aspect_pref_get(self):
# return edje_edit_state_aspect_pref_get(self.edje.obj, self.part,
# self.name, self.value)
#
# def aspect_pref_set(self, char a):
# edje_edit_state_aspect_pref_set(self.edje.obj, self.part, self.name,
# self.value, 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, self.value)
# y = edje_edit_state_fill_origin_relative_y_get(self.edje.obj, self.part,
# self.name, self.value)
# 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, self.value, x)
# edje_edit_state_fill_origin_relative_y_set(self.edje.obj, self.part,
# self.name, self.value, 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, self.value)
# y = edje_edit_state_fill_origin_offset_y_get(self.edje.obj, self.part,
# self.name, self.value)
# 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, self.value, x)
# edje_edit_state_fill_origin_offset_y_set(self.edje.obj, self.part,
# self.name, self.value, 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, self.value)
# y = edje_edit_state_fill_size_relative_y_get(self.edje.obj, self.part,
# self.name, self.value)
# 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, self.value, x)
# edje_edit_state_fill_size_relative_y_set(self.edje.obj, self.part,
# self.name, self.value, 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, self.value)
# y = edje_edit_state_fill_size_offset_y_get(self.edje.obj, self.part,
# self.name, self.value)
# 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, self.value, x)
# edje_edit_state_fill_size_offset_y_set(self.edje.obj, self.part,
# self.name, self.value, y)
#
# property visible:
# def __get__(self):
# return bool(edje_edit_state_visible_get(self.edje.obj, self.part,
# self.name, self.value))
# def __set__(self, v):
# if v:
# edje_edit_state_visible_set(self.edje.obj, self.part, self.name,
# self.value, 1)
# else:
# edje_edit_state_visible_set(self.edje.obj, self.part, self.name, self.value, 0)
#
# def color_class_get(self):
# cdef const char_ptr cc
# cc = edje_edit_state_color_class_get(self.edje.obj, self.part,
# self.name, self.value)
# if cc == NULL:
# return None
# rcc = cc
# edje_edit_string_free(cc)
# return rcc
#
# def color_class_set(self, cc):
# if not cc:
# edje_edit_state_color_class_set(self.edje.obj, self.part,
# self.name, self.value, NULL)
# else:
# edje_edit_state_color_class_set(self.edje.obj, self.part,
# self.name, self.value, cc)
#
# def external_params_get(self):
# cdef evas.c_evas.const Eina_List *lst
# ret = []
# lst = edje_edit_state_external_params_list_get(self.edje.obj, self.part,
# self.name, self.value)
# while lst:
# p = c_edje._ExternalParam_from_ptr(<uintptr_t>lst.data)
# if p is not None:
# ret.append(p)
# lst = lst.next
# return ret
#
# def external_param_get(self, param):
# cdef c_edje.Edje_External_Param_Type type
# cdef void *value
# cdef const char_ptr s
#
# if not edje_edit_state_external_param_get(self.edje.obj, self.part,
# self.name, self.value, param,
# &type, &value):
# return None
# if type == edje.c_edje.EDJE_EXTERNAL_PARAM_TYPE_BOOL:
# b = (<evas.c_evas.Eina_Bool *>value)[0]
# return (type, bool(b))
# elif type == edje.c_edje.EDJE_EXTERNAL_PARAM_TYPE_INT:
# i = (<int *>value)[0]
# return (type, i)
# elif type == edje.c_edje.EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
# d = (<double *>value)[0]
# return (type, d)
# elif type == edje.c_edje.EDJE_EXTERNAL_PARAM_TYPE_STRING:
# s = <char *>value
# if s == NULL:
# return (type, None)
# else:
# return (type, s)
# elif type == edje.c_edje.EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
# s = <char *>value
# if s == NULL:
# return (type, None)
# else:
# return (type, s)
# return None
#
# def external_param_set(self, param, value):
# cdef const char_ptr expected
#
# if isinstance(value, bool):
# return self.external_param_bool_set(param, value)
# elif 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, str):
# t = edje_object_part_external_param_type_get(
# self.edje.obj, self.part, param)
# if t == edje.c_edje.EDJE_EXTERNAL_PARAM_TYPE_STRING:
# return self.external_param_string_set(param, value)
# elif t == edje.c_edje.EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
# return self.external_param_choice_set(param, value)
#
# t = edje_object_part_external_param_type_get(
# self.edje.obj, self.part, param)
# if t >= edje.c_edje.EDJE_EXTERNAL_PARAM_TYPE_MAX:
# raise TypeError("no external parameter %s" % (param,))
# else:
# expected = edje_external_param_type_str(t)
# raise TypeError(
# "invalid external parameter %s of (%s), expected %s" %
# (param, type(value).__name__, expected))
#
# 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, self.value,
# param, &value):
# return None
# return value
#
# def external_param_bool_get(self, param):
# cdef evas.c_evas.Eina_Bool value
#
# if not edje_edit_state_external_param_bool_get(
# self.edje.obj, self.part, self.name, self.value, param, &value):
# return None
# return bool(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, self.value,
# param, &value):
# return None
# return value
#
# def external_param_string_get(self, param):
# cdef const char_ptr value
#
# if not edje_edit_state_external_param_string_get(
# self.edje.obj, self.part, self.name, self.value, param, &value):
# return None
# if value != NULL:
# return value
#
# def external_param_choice_get(self, param):
# cdef const char_ptr value
#
# if not edje_edit_state_external_param_choice_get(
# self.edje.obj, self.part, self.name, self.value, param, &value):
# return None
# if value != NULL:
# return value
#
# def external_param_int_set(self, param, value):
# return bool(edje_edit_state_external_param_int_set(self.edje.obj,
# self.part, self.name,
# self.value, param,
# value))
#
# def external_param_bool_set(self, param, value):
# return bool(edje_edit_state_external_param_bool_set(
# self.edje.obj, self.part, self.name, self.value, 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,
# self.value,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,
# self.value, param,
# value))
#
# def external_param_choice_set(self, param, value):
# return bool(edje_edit_state_external_param_choice_set(
# self.edje.obj, self.part, self.name, self.value, param, value))
#
# def text_get(self):
# cdef const char_ptr t
# t = edje_edit_state_text_get(self.edje.obj, self.part, self.name,
# self.value)
# 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,
# self.value, t)
#
# property text:
# def __get__(self):
# return self.text_get()
# def __set__(self, text):
# self.text_set(text)
#
# def font_get(self):
# cdef const char_ptr f
# f = edje_edit_state_font_get(self.edje.obj, self.part, self.name,
# self.value)
# if f == NULL:
# return None
# r = f
# edje_edit_string_free(f)
# return r
#
# def font_set(self, char *f):
# edje_edit_state_font_set(self.edje.obj, self.part, self.name,
# self.value, f)
#
# property font:
# def __get__(self):
# return self.font_get()
# def __set__(self, font):
# self.font_set(font)
#
# def text_size_get(self):
# return edje_edit_state_text_size_get(self.edje.obj, self.part,
# self.name, self.value)
#
# def text_size_set(self, int s):
# edje_edit_state_text_size_set(self.edje.obj, self.part, self.name,
# self.value, s)
#
# property text_size:
# def __get__(self):
# return self.text_size_get()
# def __set__(self, value):
# self.text_size_set(value)
#
# def text_align_get(self):
# cdef double x, y
# x = edje_edit_state_text_align_x_get(self.edje.obj, self.part,
# self.name, self.value)
# y = edje_edit_state_text_align_y_get(self.edje.obj, self.part,
# self.name, self.value)
# 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,
# self.value, x)
# edje_edit_state_text_align_y_set(self.edje.obj, self.part, self.name,
# self.value, y)
#
# property text_align:
# def __get__(self):
# return self.text_align_get()
# def __set__(self, align):
# self.text_align_set(*align)
#
# # FIXME: These should be ellipsis, not elipsis. Was this API ever released?
# def text_elipsis_get(self):
# return edje_edit_state_text_elipsis_get(self.edje.obj, self.part,
# self.name, self.value)
#
# def text_elipsis_set(self, double e):
# edje_edit_state_text_elipsis_set(self.edje.obj, self.part, self.name,
# self.value, e)
#
# property text_elipsis:
# def __get__(self):
# return self.text_elipsis_get()
# def __set__(self, value):
# self.text_elipsis_set(value)
#
# def text_fit_get(self):
# x = bool(edje_edit_state_text_fit_x_get(self.edje.obj, self.part,
# self.name, self.value))
# y = bool(edje_edit_state_text_fit_y_get(self.edje.obj, self.part,
# self.name, self.value))
# 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,
# self.value, 1)
# else:
# edje_edit_state_text_fit_x_set(self.edje.obj, self.part, self.name,
# self.value, 0)
# if y:
# edje_edit_state_text_fit_y_set(self.edje.obj, self.part, self.name,
# self.value, 1)
# else:
# edje_edit_state_text_fit_y_set(self.edje.obj, self.part, self.name,
# self.value, 0)
#
# property text_fit:
# def __get__(self):
# return self.text_fit_get()
# def __set__(self, value):
# self.text_fit_set(*value)
#
# def image_get(self):
# cdef const char_ptr img
# img = edje_edit_state_image_get(self.edje.obj, self.part, self.name,
# self.value)
# if img == NULL:
# return None
# r = img
# edje_edit_string_free(img)
# return r
#
# def image_set(self, char *image):
# if not image:
# return
#
# edje_edit_state_image_set(self.edje.obj, self.part, self.name,
# self.value, image)
#
# property image:
# def __get__(self):
# return self.image_get()
# def __set__(self, image):
# self.image_set(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,
# self.value, &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,
# self.value, l, r, t, b)
#
# property image_border:
# def __get__(self):
# return self.image_border_get()
# def __set__(self, value):
# self.image_border_set(*value)
#
# 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, self.value)
# 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, self.value, 1)
# else:
# edje_edit_state_image_border_fill_set(self.edje.obj, self.part,
# self.name, self.value, 0)
#
# property image_border_fill:
# def __get__(self):
# return self.image_border_fill_get()
# def __set__(self, value):
# self.image_border_fill_set(value)
#
# 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, self.value)
# 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):
# return bool(edje_edit_state_tween_add(self.edje.obj, self.part,
# self.name, self.value, img))
#
# def tween_del(self, char *img):
# return bool(edje_edit_state_tween_del(self.edje.obj, self.part,
# self.name, self.value, img))