2013-02-13 11:16:02 -08:00
|
|
|
# Copyright (C) 2007-2013 various contributors (see AUTHORS)
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
#
|
2013-02-13 11:16:02 -08:00
|
|
|
# This file is part of Python-EFL.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
#
|
2013-02-13 11:16:02 -08:00
|
|
|
# Python-EFL is free software; you can redistribute it and/or
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
# 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.
|
|
|
|
#
|
2013-02-13 11:16:02 -08:00
|
|
|
# Python-EFL is distributed in the hope that it will be useful,
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
# 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
|
2013-02-13 11:16:02 -08:00
|
|
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
|
|
|
|
|
|
|
|
cdef class Message:
|
|
|
|
"""Base class to represent Edje messages.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar type: message type.
|
|
|
|
:ivar id: message id.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property type:
|
|
|
|
def __get__(self):
|
|
|
|
return self._type
|
|
|
|
|
|
|
|
property id:
|
|
|
|
def __get__(self):
|
|
|
|
return self._id
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageString(Message):
|
|
|
|
"""String message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar str: message contents.
|
|
|
|
:ivar val: same as str.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property str:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if self.obj.str != NULL:
|
|
|
|
return self.obj.str
|
|
|
|
|
|
|
|
property val: # copy from 'str', to make api consistent
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if self.obj.str != NULL:
|
|
|
|
return self.obj.str
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageInt(Message):
|
|
|
|
"""Integer message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar val: message contents.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.val
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageFloat(Message):
|
|
|
|
"""Float message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar val: message contents.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.val
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageStringSet(Message):
|
|
|
|
"""String set message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar val: message contents.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
cdef int i
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
lst = []
|
|
|
|
for i from 0 <= i < self.obj.count:
|
|
|
|
if self.obj.str[i] != NULL:
|
|
|
|
lst.append(self.obj.str[i])
|
|
|
|
return lst
|
|
|
|
|
|
|
|
def __len__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.count
|
|
|
|
|
|
|
|
def __getitem__(self, int index):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if index < 0 or index >= self.obj.count:
|
|
|
|
raise IndexError("list index out of range")
|
|
|
|
return self.obj.str[index]
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageIntSet(Message):
|
|
|
|
"""Integer set message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar val: message contents.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
cdef int i
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
lst = []
|
|
|
|
for i from 0 <= i < self.obj.count:
|
|
|
|
lst.append(self.obj.val[i])
|
|
|
|
return lst
|
|
|
|
|
|
|
|
def __len__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.count
|
|
|
|
|
|
|
|
def __getitem__(self, int index):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if index < 0 or index >= self.obj.count:
|
|
|
|
raise IndexError("list index out of range")
|
|
|
|
return self.obj.val[index]
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageFloatSet(Message):
|
|
|
|
"""Float set message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar val: message contents.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
cdef int i
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
lst = []
|
|
|
|
for i from 0 <= i < self.obj.count:
|
|
|
|
lst.append(self.obj.val[i])
|
|
|
|
return lst
|
|
|
|
|
|
|
|
def __len__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.count
|
|
|
|
|
|
|
|
def __getitem__(self, int index):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if index < 0 or index >= self.obj.count:
|
|
|
|
raise IndexError("list index out of range")
|
|
|
|
return self.obj.val[index]
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageStringInt(Message):
|
|
|
|
"""String + Integer message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar str: string.
|
|
|
|
:ivar val: integer.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property str:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if self.obj.str != NULL:
|
|
|
|
return self.obj.str
|
|
|
|
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.val
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageStringFloat(Message):
|
|
|
|
"""String + float message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar str: string.
|
|
|
|
:ivar val: float.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property str:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if self.obj.str != NULL:
|
|
|
|
return self.obj.str
|
|
|
|
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.val
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageStringIntSet(Message):
|
|
|
|
"""String + Integer set message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar str: string.
|
|
|
|
:ivar val: integer list.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property str:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if self.obj.str != NULL:
|
|
|
|
return self.obj.str
|
|
|
|
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
cdef int i
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
lst = []
|
|
|
|
for i from 0 <= i < self.obj.count:
|
|
|
|
lst.append(self.obj.val[i])
|
|
|
|
return lst
|
|
|
|
|
|
|
|
def __len__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.count
|
|
|
|
|
|
|
|
def __getitem__(self, int index):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if index < 0 or index >= self.obj.count:
|
|
|
|
raise IndexError("list index out of range")
|
|
|
|
return self.obj.val[index]
|
|
|
|
|
|
|
|
|
|
|
|
cdef class MessageStringFloatSet(Message):
|
|
|
|
"""String + Float set message.
|
|
|
|
|
2013-02-24 13:37:29 -08:00
|
|
|
:ivar str: string.
|
|
|
|
:ivar val: float list.
|
Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.
Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.
All the docs has been stripped out because we want to use the new sphinx style
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)
The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
import evas
except:
from efl import evas
...like is done in the gtk bindings
Some stuff has been leaved out on purpose, because was old stuff (like the hacked
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.
Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)
I will contine the works in the next weeks and hope someone will help too.
NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
python setup.py install
or
python3 setup.py install
Enjoy
davemds
SVN revision: 83831
2013-02-11 14:32:50 -08:00
|
|
|
"""
|
|
|
|
property str:
|
|
|
|
def __get__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if self.obj.str != NULL:
|
|
|
|
return self.obj.str
|
|
|
|
|
|
|
|
property val:
|
|
|
|
def __get__(self):
|
|
|
|
cdef int i
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
lst = []
|
|
|
|
for i from 0 <= i < self.obj.count:
|
|
|
|
lst.append(self.obj.val[i])
|
|
|
|
return lst
|
|
|
|
|
|
|
|
def __len__(self):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
return self.obj.count
|
|
|
|
|
|
|
|
def __getitem__(self, int index):
|
|
|
|
if self.obj == NULL:
|
|
|
|
raise ValueError("Object uninitialized")
|
|
|
|
if index < 0 or index >= self.obj.count:
|
|
|
|
raise IndexError("list index out of range")
|
|
|
|
return self.obj.val[index]
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageString_from_ptr(void *msg):
|
|
|
|
cdef MessageString m
|
|
|
|
m = MessageString()
|
|
|
|
m.obj = <Edje_Message_String*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageInt_from_ptr(void *msg):
|
|
|
|
cdef MessageInt m
|
|
|
|
m = MessageInt()
|
|
|
|
m.obj = <Edje_Message_Int*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageFloat_from_ptr(void *msg):
|
|
|
|
cdef MessageFloat m
|
|
|
|
m = MessageFloat()
|
|
|
|
m.obj = <Edje_Message_Float*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageStringSet_from_ptr(void *msg):
|
|
|
|
cdef MessageStringSet m
|
|
|
|
m = MessageStringSet()
|
|
|
|
m.obj = <Edje_Message_String_Set*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageIntSet_from_ptr(void *msg):
|
|
|
|
cdef MessageIntSet m
|
|
|
|
m = MessageIntSet()
|
|
|
|
m.obj = <Edje_Message_Int_Set*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageFloatSet_from_ptr(void *msg):
|
|
|
|
cdef MessageFloatSet m
|
|
|
|
m = MessageFloatSet()
|
|
|
|
m.obj = <Edje_Message_Float_Set*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageStringInt_from_ptr(void *msg):
|
|
|
|
cdef MessageStringInt m
|
|
|
|
m = MessageStringInt()
|
|
|
|
m.obj = <Edje_Message_String_Int*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageStringFloat_from_ptr(void *msg):
|
|
|
|
cdef MessageStringFloat m
|
|
|
|
m = MessageStringFloat()
|
|
|
|
m.obj = <Edje_Message_String_Float*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageStringIntSet_from_ptr(void *msg):
|
|
|
|
cdef MessageStringIntSet m
|
|
|
|
m = MessageStringIntSet()
|
|
|
|
m.obj = <Edje_Message_String_Int_Set*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message MessageStringFloatSet_from_ptr(void *msg):
|
|
|
|
cdef MessageStringFloatSet m
|
|
|
|
m = MessageStringFloatSet()
|
|
|
|
m.obj = <Edje_Message_String_Float_Set*>msg
|
|
|
|
return m
|
|
|
|
|
|
|
|
|
|
|
|
cdef Message Message_from_type(Edje_Message_Type type, int id, void *msg):
|
|
|
|
cdef Message m
|
|
|
|
if type == EDJE_MESSAGE_NONE:
|
|
|
|
return None
|
|
|
|
elif type == EDJE_MESSAGE_SIGNAL:
|
|
|
|
m = MessageSignal()
|
|
|
|
elif type == EDJE_MESSAGE_STRING:
|
|
|
|
m = MessageString_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_INT:
|
|
|
|
m = MessageInt_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_FLOAT:
|
|
|
|
m = MessageFloat_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_STRING_SET:
|
|
|
|
m = MessageStringSet_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_INT_SET:
|
|
|
|
m = MessageIntSet_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_FLOAT_SET:
|
|
|
|
m = MessageFloatSet_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_STRING_INT:
|
|
|
|
m = MessageStringInt_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_STRING_FLOAT:
|
|
|
|
m = MessageStringFloat_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_STRING_INT_SET :
|
|
|
|
m = MessageStringIntSet_from_ptr(msg)
|
|
|
|
elif type == EDJE_MESSAGE_STRING_FLOAT_SET :
|
|
|
|
m = MessageStringFloatSet_from_ptr(msg)
|
|
|
|
|
|
|
|
m._type = type
|
|
|
|
m._id = id
|
|
|
|
return m
|