Huge documentation work

Improved structure, contents and style for better readability
This commit is contained in:
Davide Andreoli 2015-01-18 19:07:06 +01:00
parent 928f802ed4
commit 660c0a7e51
153 changed files with 1721 additions and 1294 deletions

View File

@ -1,80 +1,2 @@
What is Edje?
--------------
Edje is a complex graphical design & layout library.
It doesn't intend to do containing and regular layout like a widget
set, but it is the base for such components. Based on the requirements
of Enlightenment 0.17, Edje should serve all the purposes of creating
visual elements (borders of windows, buttons, scrollbars, etc.) and
allow the designer the ability to animate, layout and control the look
and feel of any program using Edje as its basic GUI constructor. This
library allows for multiple collections of Layouts in one file,
sharing the same image and font database and thus allowing a whole
theme to be conveniently packaged into 1 file and shipped around.
Edje separates the layout and behavior logic. Edje files ship with an
image and font database, used by all the parts in all the collections
to source graphical data. It has a directory of logical part names
pointing to the part collection entry ID in the file (thus allowing
for multiple logical names to point to the same part collection,
allowing for the sharing of data between display elements). Each part
collection consists of a list of visual parts, as well as a list of
programs. A program is a conditionally run program that if a
particular event occurs (a button is pressed, a mouse enters or leaves
a part) will trigger an action that may affect other parts. In this
way a part collection can be "programmed" via its file as to hilight
buttons when the mouse passes over them or show hidden parts when a
button is clicked somewhere etc. The actions performed in changing
from one state to another are also allowed to transition over a period
of time, allowing animation. Programs and animations can be run in
"parallel".
This separation and simplistic event driven style of programming can produce
almost any look and feel one could want for basic visual elements. Anything
more complex is likely the domain of an application or widget set that may
use Edje as a convenient way of being able to configure parts of the display.
So how does this all work?
--------------------------
Edje internally holds a geometry state machine and state graph of what is
visible, not, where, at what size, with what colors etc. This is described
to Edje from an Edje .edj file containing this information. These files can
be produced by using edje_cc to take a text file (a .edc file) and "compile"
an output .edj file that contains this information, images and any other
data needed.
The application using Edje will then create an object in its Evas
canvas and set the bundle file to use, specifying the **group** name to
use. Edje will load such information and create all the required
children objects with the specified properties as defined in each
**part** of the given **group**.
Although simple, this example illustrates that animations and state
changes can be done from the Edje file itself without any requirement
in the Python application.
Before digging into changing or creating your own Edje source (edc)
files, read the @ref edcref.
API Reference
-------------
.. toctree::
:maxdepth: 4
edje_module
edje_object
Inheritance diagram
-------------------
.. inheritance-diagram::
efl.edje
:parts: 2
.. automodule:: efl.edje

View File

@ -1,5 +0,0 @@
:mod:`efl.edje` Module
=======================
.. automodule:: efl.edje
:exclude-members: Edje

View File

@ -1,7 +0,0 @@
.. currentmodule:: efl.edje
:class:`efl.edje.Edje` Class
==============================
.. autoclass:: efl.edje.Edje

View File

@ -1,8 +1,2 @@
:mod:`actionslider` Module
--------------------------
.. automodule:: efl.elementary.actionslider
.. inheritance-diagram::
efl.elementary.actionslider
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`background` Module
------------------------
.. automodule:: efl.elementary.background
.. inheritance-diagram::
efl.elementary.background
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`box` Module
-----------------
.. automodule:: efl.elementary.box
.. inheritance-diagram::
efl.elementary.box
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`bubble` Module
------------------------
.. automodule:: efl.elementary.bubble
.. inheritance-diagram::
efl.elementary.bubble
:parts: 2

View File

@ -1,8 +1,3 @@
:mod:`button` Module
--------------------
.. automodule:: efl.elementary.button
.. inheritance-diagram::
efl.elementary.button
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`calendar_elm` Module
--------------------------
.. automodule:: efl.elementary.calendar_elm
.. inheritance-diagram::
efl.elementary.calendar_elm
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`check` Module
-------------------
.. automodule:: efl.elementary.check
.. inheritance-diagram::
efl.elementary.check
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`clock` Module
------------------------
.. automodule:: efl.elementary.clock
.. inheritance-diagram::
efl.elementary.clock
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`colorselector` Module
---------------------------
.. automodule:: efl.elementary.colorselector
.. inheritance-diagram::
efl.elementary.colorselector
:parts: 2

View File

@ -1,4 +1,2 @@
:mod:`configuration` Module
---------------------------
.. automodule:: efl.elementary.configuration

View File

@ -1,8 +1,2 @@
:mod:`conformant` Module
------------------------
.. automodule:: efl.elementary.conformant
.. inheritance-diagram::
efl.elementary.conformant
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`ctxpopup` Module
------------------------
.. automodule:: efl.elementary.ctxpopup
.. inheritance-diagram::
efl.elementary.ctxpopup
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`datetime_elm` Module
--------------------------
.. automodule:: efl.elementary.datetime_elm
.. inheritance-diagram::
efl.elementary.datetime_elm
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`dayselector` Module
-------------------------
.. automodule:: efl.elementary.dayselector
.. inheritance-diagram::
efl.elementary.dayselector
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`diskselector` Module
--------------------------
.. automodule:: efl.elementary.diskselector
.. inheritance-diagram::
efl.elementary.diskselector
:parts: 2

View File

@ -1,7 +1,10 @@
Elementary
##########
What is Elementary?
-------------------
What is elementary?
===================
Elementary is a the high level toolkit based on the underlying efl
technologies (:doc:`Evas </evas/evas>`, :doc:`Edje </edje/edje>`,
@ -13,10 +16,10 @@ of flexibility.
Callbacks
---------
=========
Widget callbacks
^^^^^^^^^^^^^^^^
----------------
Widget callbacks are set with callback_*_add methods which take a callable,
and optional args, kwargs as data.
@ -31,7 +34,7 @@ or::
Event callbacks
^^^^^^^^^^^^^^^
---------------
Event callbacks have signature of::
@ -39,92 +42,22 @@ Event callbacks have signature of::
A sample Python Elementary program
----------------------------------
==================================
.. literalinclude:: ../../examples/elementary/test_win_dialog.py
:language: python
API Reference
-------------
=============
.. toctree::
.. toctree:: *
:glob:
:maxdepth: 1
elementary_module
actionslider
background
box
bubble
button
calendar
check
clock
colorselector
configuration
conformant
ctxpopup
datetime
dayselector
diskselector
entry
fileselector
fileselector_button
fileselector_entry
flip
flipselector
frame
general
gengrid
genlist
gesture_layer
grid
hover
hoversel
icon
image
index
innerwindow
label
layout
layout_class
list
map
mapbuf
menu
multibuttonentry
naviframe
need
notify
object
object_item
panel
panes
photo
photocam
plug
popup
progressbar
radio
scroller
segment_control
separator
slider
slideshow
spinner
table
theme
thumb
toolbar
transit
video
web
window
Inheritance diagram
-------------------
===================
.. inheritance-diagram::
efl.elementary.actionslider

View File

@ -1,5 +0,0 @@
:mod:`efl.elementary` Package
=============================
.. automodule:: efl.elementary
:exclude-members: ActionSlider

View File

@ -1,8 +1,2 @@
:mod:`entry` Module
-------------------
.. automodule:: efl.elementary.entry
.. inheritance-diagram::
efl.elementary.entry
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`fileselector` Module
--------------------------
.. automodule:: efl.elementary.fileselector
.. inheritance-diagram::
efl.elementary.fileselector
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`fileselector_button` Module
---------------------------------
.. automodule:: efl.elementary.fileselector_button
.. inheritance-diagram::
efl.elementary.fileselector_button
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`fileselector_entry` Module
--------------------------------
.. automodule:: efl.elementary.fileselector_entry
.. inheritance-diagram::
efl.elementary.fileselector_entry
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`flip` Module
------------------------
.. automodule:: efl.elementary.flip
.. inheritance-diagram::
efl.elementary.flip
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`flipselector` Module
--------------------------
.. automodule:: efl.elementary.flipselector
.. inheritance-diagram::
efl.elementary.flipselector
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`frame` Module
------------------------
.. automodule:: efl.elementary.frame
.. inheritance-diagram::
efl.elementary.frame
:parts: 2

View File

@ -1,4 +1,2 @@
:mod:`general` Module
---------------------
.. automodule:: efl.elementary.general

View File

@ -1,8 +1,2 @@
:mod:`gengrid` Module
------------------------
.. automodule:: efl.elementary.gengrid
.. inheritance-diagram::
efl.elementary.gengrid
:parts: 2

View File

@ -1,11 +1,2 @@
:mod:`genlist` Module
---------------------
.. automodule:: efl.elementary.genlist
Reference
---------
.. inheritance-diagram::
efl.elementary.genlist
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`gesture_layer` Module
---------------------------
.. automodule:: efl.elementary.gesture_layer
.. inheritance-diagram::
efl.elementary.gesture_layer
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`grid` Module
------------------------
.. automodule:: efl.elementary.grid
.. inheritance-diagram::
efl.elementary.grid
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`hover` Module
-------------------
.. automodule:: efl.elementary.hover
.. inheritance-diagram::
efl.elementary.hover
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`hoversel` Module
----------------------
.. automodule:: efl.elementary.hoversel
.. inheritance-diagram::
efl.elementary.hoversel
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`icon` Module
------------------
.. automodule:: efl.elementary.icon
.. inheritance-diagram::
efl.elementary.icon
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`image` Module
-------------------
.. automodule:: efl.elementary.image
.. inheritance-diagram::
efl.elementary.image
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`index` Module
------------------------
.. automodule:: efl.elementary.index
.. inheritance-diagram::
efl.elementary.index
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`innerwindow` Module
-------------------------
.. automodule:: efl.elementary.innerwindow
.. inheritance-diagram::
efl.elementary.innerwindow
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`label` Module
-------------------
.. automodule:: efl.elementary.label
.. inheritance-diagram::
efl.elementary.label
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`layout` Module
--------------------
.. automodule:: efl.elementary.layout
.. inheritance-diagram::
efl.elementary.layout
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`layout_class` Module
--------------------------
.. automodule:: efl.elementary.layout_class
.. inheritance-diagram::
efl.elementary.layout_class
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`list` Module
------------------
.. automodule:: efl.elementary.list
.. inheritance-diagram::
efl.elementary.list
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`map` Module
------------------------
.. automodule:: efl.elementary.map
.. inheritance-diagram::
efl.elementary.map
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`mapbuf` Module
------------------------
.. automodule:: efl.elementary.mapbuf
.. inheritance-diagram::
efl.elementary.mapbuf
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`menu` Module
------------------------
.. automodule:: efl.elementary.menu
.. inheritance-diagram::
efl.elementary.menu
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`multibuttonentry` Module
------------------------------
.. automodule:: efl.elementary.multibuttonentry
.. inheritance-diagram::
efl.elementary.multibuttonentry
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`naviframe` Module
-----------------------
.. automodule:: efl.elementary.naviframe
.. inheritance-diagram::
efl.elementary.naviframe
:parts: 2

View File

@ -1,4 +1,2 @@
:mod:`need` Module
------------------------
.. automodule:: efl.elementary.need

View File

@ -1,8 +1,2 @@
:mod:`notify` Module
--------------------
.. automodule:: efl.elementary.notify
.. inheritance-diagram::
efl.elementary.notify
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`object` Module
--------------------
.. automodule:: efl.elementary.object
.. inheritance-diagram::
efl.elementary.object
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`object_item` Module
-------------------------
.. automodule:: efl.elementary.object_item
.. inheritance-diagram::
efl.elementary.object_item
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`panel` Module
------------------------
.. automodule:: efl.elementary.panel
.. inheritance-diagram::
efl.elementary.panel
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`panes` Module
------------------------
.. automodule:: efl.elementary.panes
.. inheritance-diagram::
efl.elementary.panes
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`photo` Module
------------------------
.. automodule:: efl.elementary.photo
.. inheritance-diagram::
efl.elementary.photo
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`photocam` Module
------------------------
.. automodule:: efl.elementary.photocam
.. inheritance-diagram::
efl.elementary.photocam
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`plug` Module
------------------
.. automodule:: efl.elementary.plug
.. inheritance-diagram::
efl.elementary.plug
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`popup` Module
------------------------
.. automodule:: efl.elementary.popup
.. inheritance-diagram::
efl.elementary.popup
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`progressbar` Module
-------------------------
.. automodule:: efl.elementary.progressbar
.. inheritance-diagram::
efl.elementary.progressbar
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`radio` Module
-------------------
.. automodule:: efl.elementary.radio
.. inheritance-diagram::
efl.elementary.radio
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`scroller` Module
----------------------
.. automodule:: efl.elementary.scroller
.. inheritance-diagram::
efl.elementary.scroller
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`segment_control` Module
-----------------------------
.. automodule:: efl.elementary.segment_control
.. inheritance-diagram::
efl.elementary.segment_control
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`separator` Module
-----------------------
.. automodule:: efl.elementary.separator
.. inheritance-diagram::
efl.elementary.separator
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`slider` Module
------------------------
.. automodule:: efl.elementary.slider
.. inheritance-diagram::
efl.elementary.slider
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`slideshow` Module
------------------------
.. automodule:: efl.elementary.slideshow
.. inheritance-diagram::
efl.elementary.slideshow
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`spinner` Module
------------------------
.. automodule:: efl.elementary.spinner
.. inheritance-diagram::
efl.elementary.spinner
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`table` Module
-------------------
.. automodule:: efl.elementary.table
.. inheritance-diagram::
efl.elementary.table
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`theme` Module
-------------------
.. automodule:: efl.elementary.theme
.. inheritance-diagram::
efl.elementary.theme
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`thumb` Module
------------------------
.. automodule:: efl.elementary.thumb
.. inheritance-diagram::
efl.elementary.thumb
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`toolbar` Module
------------------------
.. automodule:: efl.elementary.toolbar
.. inheritance-diagram::
efl.elementary.toolbar
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`transit` Module
------------------------
.. automodule:: efl.elementary.transit
.. inheritance-diagram::
efl.elementary.transit
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`video` Module
------------------------
.. automodule:: efl.elementary.video
.. inheritance-diagram::
efl.elementary.video
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`web` Module
------------------------
.. automodule:: efl.elementary.web
.. inheritance-diagram::
efl.elementary.web
:parts: 2

View File

@ -1,8 +1,2 @@
:mod:`window` Module
--------------------
.. automodule:: efl.elementary.window
.. inheritance-diagram::
efl.elementary.window
:parts: 2

View File

@ -1,96 +1,2 @@
What is Emotion?
----------------
Emotion is a media object library for Evas and Ecore.
Emotion is a library that allows playing audio and video files, using one of
its backends (gstreamer, xine, vlc or generic shm player).
It is integrated into Ecore through its mainloop, and is transparent to the
user of the library how the decoding of audio and video is being done. Once
the objects are created, the user can set callbacks to the specific events
and set options to this object, all in the main loop (no threads are needed).
Emotion is also integrated with Evas. The emotion object returned by
emotion_object_add() is an Evas smart object, so it can be manipulated with
default Evas object functions. Callbacks can be added to the signals emitted
by this object with evas_object_smart_callback_add().
The Emotion library uses Evas smart objects to allow you to manipulate the
created object as any other Evas object, and to connect to its signals,
handling them when needed. It's also possible to swallow Emotion objects
inside Edje themes, and expect it to behave as a normal image or rectangle
when regarding to its dimensions.
How to use the Emotion object
-----------------------------
Emotion provides an Evas smart object that allows to play, control and
display a video or audio file. The API is synchronous but not everything
happens immediately. There are also some signals to report changed states.
Basically, once the object is created and initialized, a file will be set to
it, and then it can be resized, moved, and controlled by other Evas object
functions.
However, the decoding of the music and video occurs not in the Ecore main
loop, but usually in another thread (this depends on the module being used).
The synchronization between this other thread and the main loop not visible
to the end user of the library. The user can just register callbacks to the
available signals to receive information about the changed states, and can
call other functions from the API to request more changes on the current
loaded file.
There will be a delay between an API being called and it being really
executed, since this request will be done in the main thread, and it needs to
be sent to the decoding thread. For this reason, always call functions like
emotion_object_size_get() or emotion_object_length_get() after some signal
being sent, like "playback_started" or "open_done".
.. rubric:: Available signals
The Evas_Object returned by emotion_object_add() has a number of signals that
can be listened to using evas' smart callbacks mechanism. The following is
a list of interesting signals:
- ``playback_started`` Emitted when the playback starts
- ``playback_finished`` Emitted when the playback finishes
- ``frame_decode`` Emitted every time a frame is decoded
- ``frame_resize`` Emitted when the frame change its size
- ``open_done`` Emitted when the media file is opened
- ``position_update`` Emitted when emotion_object_position_set is called
- ``audio_level_change`` Emitted when the volume change it's value
- ``decode_stop`` Emitted after the last frame is decoded
- ``length_change`` Emitted if the media change it's size
- ``channels_change`` Emitted when the number of channels change
- ``title_change`` Emitted when the title change (?)
- ``progress_change``
- ``ref_change``
- ``button_num_change``
- ``button_change``
- ``position_save,succeed``
- ``position_save,failed``
- ``position_load,succeed``
- ``position_load,failed``
API Reference
-------------
.. toctree::
:maxdepth: 4
emotion_module
emotion_object
Inheritance diagram
-------------------
.. inheritance-diagram::
efl.emotion
:parts: 2
.. automodule:: efl.emotion

View File

@ -1,5 +0,0 @@
:mod:`efl.emotion` Module
=========================
.. automodule:: efl.emotion
:exclude-members: Emotion

View File

@ -1,6 +0,0 @@
.. currentmodule:: efl.emotion
:class:`efl.emotion.Emotion` Class
==================================
.. autoclass:: efl.emotion.Emotion

View File

@ -178,16 +178,16 @@ For example, box objects use alignment hints to align its lines/columns
inside its container, padding hints to set the padding between each
individual child, etc.
Size Hints are controlled using various :class:`Object` properties:
Size Hints are controlled using various :class:`~efl.evas.Object` properties:
* :attr:`~Object.size_hint_weight` (also called :attr:`~Object.size_hint_expand`)
* :attr:`~Object.size_hint_align` (also called :attr:`~Object.size_hint_fill`)
* :attr:`~Object.size_hint_min`
* :attr:`~Object.size_hint_max`
* :attr:`~Object.size_hint_aspect`
* :attr:`~Object.size_hint_padding`
* :attr:`~Object.size_hint_display_mode`
* :attr:`~Object.size_hint_request`
* :attr:`~efl.evas.Object.size_hint_weight` (also called :attr:`~efl.evas.Object.size_hint_expand`)
* :attr:`~efl.evas.Object.size_hint_align` (also called :attr:`~efl.evas.Object.size_hint_fill`)
* :attr:`~efl.evas.Object.size_hint_min`
* :attr:`~efl.evas.Object.size_hint_max`
* :attr:`~efl.evas.Object.size_hint_aspect`
* :attr:`~efl.evas.Object.size_hint_padding`
* :attr:`~efl.evas.Object.size_hint_display_mode`
* :attr:`~efl.evas.Object.size_hint_request`
The **weight** and the **align** are quite special, they are also used to
express the **expand** and the **fill** property of the object. For this
@ -253,21 +253,21 @@ API Reference
.. toctree::
:maxdepth: 4
evas_module
canvas
object
image
rectangle
line
polygon
text
textblock
textgrid
box
table
grid
map
rect
evas_module.rst
canvas.rst
object.rst
image.rst
rectangle.rst
line.rst
polygon.rst
text.rst
textblock.rst
textgrid.rst
box.rst
table.rst
grid.rst
map.rst
rect.rst
Inheritance diagram

View File

@ -1,6 +1,6 @@
Python Bindings for Enlightenment Foundation Libraries' documentation
=====================================================================
#####################################################################
EFL is a collection of libraries that are independent or may build on top of
each-other to provide useful features that complement an OS's existing
@ -26,67 +26,69 @@ and more.
.. seealso::
`EFL Overview <http://trac.enlightenment.org/e/wiki/EFLOverview>`_
`EFL Documentation <http://web.enlightenment.org/p.php?p=docs>`_
- `EFL Overview <http://trac.enlightenment.org/e/wiki/EFLOverview>`_
- `EFL Documentation <http://web.enlightenment.org/p.php?p=docs>`_
- `EDC Reference <https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessful Buil d/artifact/doc/html/edcref.html>`_
- `EFL Big Picture <http://docs.enlightenment.org/books/efl-big-picture/efl_big_picture.pdf>`_
EFL
---
===
.. toctree:: efl.rst
EO
---
==
.. toctree:: eo/eo.rst
Ecore
-----
=====
.. toctree:: ecore/ecore.rst
:maxdepth: 2
Evas
----
====
.. toctree:: evas/evas.rst
Ethumb
------
======
.. toctree:: ethumb/ethumb.rst
Edje
----
====
.. toctree:: edje/edje.rst
Emotion
-------
=======
.. toctree:: emotion/emotion.rst
Elementary
----------
==========
.. toctree:: elementary/elementary.rst
:maxdepth: 2
:maxdepth: 3
DBus integration
----------------
================
.. toctree:: dbus/dbus
Acknowledgements
----------------
================
:Copyright:
Python Bindings for EFL are Copyright (C) 2008-2015 Simon Busch
@ -111,7 +113,7 @@ Acknowledgements
Indices and tables
------------------
==================
* :ref:`genindex`
* :ref:`modindex`

View File

@ -66,6 +66,7 @@
<div class="pageheader">
<ul class="menu">
<li class="index"><a href="{{ pathto('index') }}"><span></span></a></li>
<li class="maintitle">{{ project }} - {{ version }}</li>
<li class="current"><a href="{{ pathto('index') }}"><span>python docs</span></a></li>
<li><a href="http://enlightenment.org/p.php?p=docs"><span>other docs</span></a></li>
<li><a href="http://enlightenment.org/p.php?p=about"><span>EFL</span></a></li>

View File

@ -74,7 +74,13 @@ body {
height: 63px;
width: 63px;
}
.pageheader li.maintitle {
float: left;
font-size: 26px;
color: #E6E6C8;
text-shadow: 0px 0px 6px #39F;
line-height: 63px;
}
.pageheader li.current a {
background: url("header_menu_current_background.png") no-repeat scroll 0% 0% transparent;
padding-left: 12px;
@ -442,6 +448,41 @@ dt:target, .highlighted { /* */
border-bottom: 1px solid rgb(32,32,32);
}
/* box for enumerations */
div#enumerations > .section {
border: 1px solid #202020;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
margin-bottom: 1em;
}
div#enumerations > .section h3 {
background-color: #333;
margin-top: 0;
padding: 2px;
}
/* box for classes */
dd {
padding-right: 3px;
}
dl.class {
border: 1px solid #202020;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}
dl.class > dt {
font-size: 20px;
background-color: #333;
padding: 2px;
}
dl.class dt{
border-bottom: 1px solid #333;
}
/* -- pygments fix ---------------------------------------------------------- */
.highlight .go {
color: white !important;

View File

@ -17,10 +17,13 @@
"""
Enumerations
============
.. _Ecore_Fd_Handler_Flags:
Fd handler flags
================
----------------
What to monitor the file descriptor for: reading, writing or error.
@ -40,7 +43,7 @@ What to monitor the file descriptor for: reading, writing or error.
.. _Ecore_Exe_Flags:
Exe flags
=========
---------
Flags for executing a child with its stdin and/or stdout piped back.
@ -90,7 +93,7 @@ Flags for executing a child with its stdin and/or stdout piped back.
Callback return values
======================
----------------------
.. data:: ECORE_CALLBACK_CANCEL
@ -102,7 +105,7 @@ Callback return values
Event return values
===================
-------------------
.. data:: ECORE_CALLBACK_PASS_ON
@ -116,7 +119,7 @@ Event return values
.. _Ecore_Pos_Map:
Position mappings for the animation
===================================
-----------------------------------
.. data:: ECORE_POS_MAP_LINEAR
@ -166,7 +169,7 @@ Position mappings for the animation
.. _Ecore_Animator_Source:
Timing sources for animators
============================
----------------------------
.. data:: ECORE_ANIMATOR_SOURCE_TIMER
@ -180,7 +183,7 @@ Timing sources for animators
.. Ecore_File_Event:
File monitor events
===================
-------------------
.. data:: ECORE_FILE_EVENT_NONE
@ -215,6 +218,9 @@ File monitor events
A file has been closed
Classes
=======
"""
from libc.stdint cimport uintptr_t

View File

@ -15,6 +15,103 @@
# 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/>.
"""
:mod:`edje` Module
#####################
What is Edje?
=============
Edje is a complex graphical design & layout library.
It doesn't intend to do containing and regular layout like a widget
set, but it is the base for such components. Based on the requirements
of Enlightenment 0.17, Edje should serve all the purposes of creating
visual elements (borders of windows, buttons, scrollbars, etc.) and
allow the designer the ability to animate, layout and control the look
and feel of any program using Edje as its basic GUI constructor. This
library allows for multiple collections of Layouts in one file,
sharing the same image and font database and thus allowing a whole
theme to be conveniently packaged into 1 file and shipped around.
Edje separates the layout and behavior logic. Edje files ship with an
image and font database, used by all the parts in all the collections
to source graphical data. It has a directory of logical part names
pointing to the part collection entry ID in the file (thus allowing
for multiple logical names to point to the same part collection,
allowing for the sharing of data between display elements). Each part
collection consists of a list of visual parts, as well as a list of
programs. A program is a conditionally run program that if a
particular event occurs (a button is pressed, a mouse enters or leaves
a part) will trigger an action that may affect other parts. In this
way a part collection can be "programmed" via its file as to hilight
buttons when the mouse passes over them or show hidden parts when a
button is clicked somewhere etc. The actions performed in changing
from one state to another are also allowed to transition over a period
of time, allowing animation. Programs and animations can be run in
"parallel".
This separation and simplistic event driven style of programming can produce
almost any look and feel one could want for basic visual elements. Anything
more complex is likely the domain of an application or widget set that may
use Edje as a convenient way of being able to configure parts of the display.
So how does this all work?
==========================
Edje internally holds a geometry state machine and state graph of what is
visible, not, where, at what size, with what colors etc. This is described
to Edje from an Edje .edj file containing this information. These files can
be produced by using edje_cc to take a text file (a .edc file) and "compile"
an output .edj file that contains this information, images and any other
data needed.
The application using Edje will then create an object in its Evas
canvas and set the bundle file to use, specifying the **group** name to
use. Edje will load such information and create all the required
children objects with the specified properties as defined in each
**part** of the given **group**.
Edje is an important EFL component because it makes easy to split logic and
UI, usually used as theme engine but can be much more powerful than just
changing some random images or text fonts.
Edje also provides scripting through Embryo and communication can be
done using messages and signals.
.. seealso::
Before digging into changing or creating your own Edje source (edc)
files, read the `Edje Data Collection reference
<https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessful
Buil d/artifact/doc/html/edcref.html>`_ .
Signals from the edje object
============================
You can debug signals and messagges by capturing all of them, example::
def sig_dbg(obj, emission, source):
print(obj, emission, source)
def msg_dbg(obj, msg):
print(obj, msg)
my_edje.signal_callback_add("*", "*", sig_dbg)
my_edje.message_handler_set(msg_dbg)
Inheritance diagram
===================
.. inheritance-diagram:: efl.edje
:parts: 2
"""
import traceback
import warnings

View File

@ -88,43 +88,18 @@ class EdjeLoadError(Exception):
cdef class Edje(Object):
"""
Edje evas object.
The Edje object.
This is a high level :class:`efl.evas.SmartObject` that is defined as a
group of parts, usually written in text files (.edc) and compiled as a
package using EET to store resources (.edj).
Edje is an important EFL component because it makes easy to split logic
and UI, usually used as theme engine but can be much more powerful than
just changing some random images or text fonts.
Edje also provides scripting through Embryo and communication can be
done using messages and signals.
.. warning::
although Edje provides part_object_get(), you should **NOT**
mess with these objects states or you'll screw the given Edje. The
objects you get with this function should be handled as "read-only".
.. attention::
messages are one way only! If you emit a message from Python
you will just get it from your Embryo script, if you emit from Embryo
you just get it in Python. If you want to emit events and capture
them on the same side, use signals.
.. note::
You can debug messages and signals by capturing all of them,
example::
>>> def sig_dbg(obj, emission, source):
... print "%s: %s %s" % (obj, emission, source)
...
>>> my_edje.signal_callback_add("*", "*", sig_dbg)
>>> def msg_dbg(obj, msg):
... print "%s: %s" % (obj, msg)
...
>>> my_edje.message_handler_set(msg_dbg)
"""
def __cinit__(self, *a, **ka):
self._signal_callbacks = {}
@ -135,10 +110,8 @@ cdef class Edje(Object):
:param canvas: Evas canvas for this object
:type canvas: :py:class:`~efl.evas.Canvas`
:keyword file: File name
:type file: string
:keyword group: Group name
:type group: string
:keyword string file: File name
:keyword string group: Group name
:keyword size: Min size for the object
:type size: tuple of ints
:keyword geometry: Geometry for the object
@ -147,8 +120,6 @@ cdef class Edje(Object):
as properties of the instance
"""
self._set_obj(edje_object_add(canvas.obj))
_register_decorated_callbacks(self)
@ -526,10 +497,10 @@ cdef class Edje(Object):
"""Get the efl.evas.Object that represents this part.
.. warning::
You should never modify the state of the returned object
(with Edje.move() or Edje.hide() for example),
but you can safely query info about its current state
(with Edje.visible_get() or Edje.color_get() for example).
You should never modify the state of the returned object (with
Edje.move() or Edje.hide() for example), but you can safely
query info about its current state (with Edje.visible_get() or
Edje.color_get() for example).
"""
cdef Evas_Object *obj

View File

@ -18,10 +18,14 @@
"""
:mod:`actionslider` Module
##########################
.. image:: /images/actionslider-preview.png
Widget description
------------------
==================
An actionslider is a switcher for two or three labels with
customizable magnet properties.
@ -41,15 +45,18 @@ Magnets can be set on the above positions.
When the indicator is released, it will move to its nearest "enabled and
magnetized" position.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``selected`` - when user selects an enabled position (the label is
passed as event info)".
- ``pos_changed`` - when the indicator reaches any of the
positions("left", "right" or "center").
Default text parts of the actionslider widget that you can use for are:
Layout text parts
=================
- ``indicator`` - An indicator label of the actionslider
- ``left`` - A left label of the actionslider
@ -58,12 +65,12 @@ Default text parts of the actionslider widget that you can use for are:
Enumerations
------------
============
.. _Elm_Actionslider_Pos:
Actionslider positions
======================
----------------------
.. data:: ELM_ACTIONSLIDER_NONE
@ -85,6 +92,13 @@ Actionslider positions
All positions
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.actionslider
:parts: 2
"""
from libc.stdint cimport uintptr_t

View File

@ -18,10 +18,14 @@
"""
:mod:`background` Module
########################
.. image:: /images/background-preview.png
Widget description
------------------
==================
The background widget is used for setting a solid color, image or Edje group
as a background to a window (unless it has transparency enabled) or any
@ -31,18 +35,19 @@ It works just like an image, but has some properties useful to a
background, like setting it to tiled, centered, scaled or stretched.
Default content parts of the bg widget that you can use for are:
Layout content parts
====================
- ``overlay`` - overlay of the bg
Enumerations
------------
============
.. _Elm_Bg_Option:
Background display modes
========================
------------------------
.. data:: ELM_BG_OPTION_CENTER
@ -60,6 +65,13 @@ Background display modes
Tile
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.background
:parts: 2
"""
from cpython cimport PyUnicode_AsUTF8String

View File

@ -18,11 +18,14 @@
"""
Widget description
------------------
:mod:`box` Module
#################
.. image:: /images/box-preview.png
:align: left
Widget description
==================
A box arranges objects in a linear fashion, governed by a layout function
that defines the details of this arrangement.
@ -80,12 +83,12 @@ children of the box.
Enumerations
------------
============
.. _Evas_Object_Box_Layout:
Box layout modes
================
----------------
.. data:: ELM_BOX_LAYOUT_HORIZONTAL
@ -123,6 +126,13 @@ Box layout modes
Stacking layout
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.box
:parts: 2
"""
from efl.eo cimport _object_mapping_register

View File

@ -18,10 +18,14 @@
"""
:mod:`bubble` Module
####################
.. image:: /images/bubble-preview.png
Widget description
------------------
==================
The Bubble is a widget to show text similar to how speech is
represented in comics.
@ -45,31 +49,36 @@ selected. The four available corners are:
- ``bottom_left``
- ``bottom_right``
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
- ``clicked`` - This is called when a user has clicked the bubble.
- ``focused`` - When the bubble has received focus. (since 1.8)
- ``unfocused`` - When the bubble has lost focus. (since 1.8)
Default content parts of the bubble that you can use for are:
Layout content parts
====================
- ``default`` - A content of the bubble
- ``icon`` - An icon of the bubble
Default text parts of the button widget that you can use for are:
Layout text parts
=================
- ``default`` - Label of the bubble
- ``info`` - info of the bubble
Emitted signals
===============
- ``clicked`` - This is called when a user has clicked the bubble.
- ``focused`` - When the bubble has received focus. (since 1.8)
- ``unfocused`` - When the bubble has lost focus. (since 1.8)
Enumerations
------------
============
.. _Elm_Bubble_Pos:
Bubble arrow positions
======================
----------------------
.. data:: ELM_BUBBLE_POS_TOP_LEFT
@ -87,6 +96,13 @@ Bubble arrow positions
Bottom right position
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.bubble
:parts: 2
"""
from efl.eo cimport _object_mapping_register

View File

@ -17,17 +17,51 @@
"""
Widget description
------------------
:mod:`button` Module
####################
.. image:: /images/button-preview.png
:align: left
Widget description
==================
This is a push-button. Press it and run some function. It can contain
a simple label and icon object and it also has an autorepeat feature.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Available styles
================
- ``default`` a normal button.
- ``anchor`` Like default, but the button fades away when the mouse is not
over it, leaving only the text or icon.
- ``hoversel_vertical`` Internally used by
:py:class:`~efl.elementary.hoversel.Hoversel` to give a continuous look
across its options.
- ``hoversel_vertical_entry`` Another internal for
:py:class:`~efl.elementary.hoversel.Hoversel`.
- ``naviframe`` Internally used by
:py:class:`~efl.elementary.naviframe.Naviframe` for its back button.
- ``colorselector`` Internally used by
:py:class:`~efl.elementary.colorselector.Colorselector` for its left and
right buttons.
Layout content parts
====================
- ``icon`` - An icon of the button
Layout text parts
=================
- ``default`` - Label of the button
Emitted signals
===============
- ``clicked``: the user clicked the button (press/release).
- ``repeated``: the user pressed the button without releasing it.
@ -36,30 +70,12 @@ This widget emits the following signals, besides the ones sent from
- ``focused`` : When the button has received focus. (since 1.8)
- ``unfocused`` : When the button has lost focus. (since 1.8)
Also, defined in the default theme, the button has the following styles
available:
- ``default``: a normal button.
- ``anchor``: Like default, but the button fades away when the mouse is not
over it, leaving only the text or icon.
- ``hoversel_vertical``: Internally used by
:py:class:`~efl.elementary.hoversel.Hoversel` to give a continuous look
across its options.
- ``hoversel_vertical_entry``: Another internal for
:py:class:`~efl.elementary.hoversel.Hoversel`.
- ``naviframe``: Internally used by
:py:class:`~efl.elementary.naviframe.Naviframe` for its back button.
- ``colorselector``: Internally used by
:py:class:`~efl.elementary.colorselector.Colorselector` for its left and
right buttons.
Inheritance diagram
===================
Default content parts of the button widget that you can use for are:
- ``icon`` - An icon of the button
Default text parts of the button widget that you can use for are:
- ``default`` - Label of the button
.. inheritance-diagram:: efl.elementary.button
:parts: 2
"""

View File

@ -18,11 +18,14 @@
"""
Widget description
------------------
:mod:`calendar_elm` Module
##########################
.. image:: /images/calendar-preview.png
:align: left
Widget description
==================
This is a calendar widget.
@ -36,8 +39,9 @@ The API of this widget lets the applications perform other functions, like:
- setting the day names of the week (e.g. "Thu" or "Thursday")
- setting the year and month format.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``changed`` - emitted when the date in the calendar is changed.
- ``display,changed`` - emitted when the current month displayed in the
@ -47,12 +51,12 @@ This widget emits the following signals, besides the ones sent from
Enumerations
------------
============
.. _Elm_Calendar_Mark_Repeat_Type:
Calendar mark repeat types
==========================
--------------------------
.. data:: ELM_CALENDAR_UNIQUE
@ -91,7 +95,7 @@ Calendar mark repeat types
.. _Elm_Calendar_Select_Mode:
Calendar selection modes
========================
------------------------
.. data:: ELM_CALENDAR_SELECT_MODE_DEFAULT
@ -113,7 +117,7 @@ Calendar selection modes
.. _Elm_Calendar_Selectable:
Selectable
==========
----------
.. data:: ELM_CALENDAR_SELECTABLE_NONE
@ -135,7 +139,7 @@ Selectable
.. _Elm_Calendar_Weekday:
Days
====
----
.. data:: ELM_DAY_SUNDAY
@ -165,6 +169,13 @@ Days
Saturday
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.calendar_elm
:parts: 2
"""
from cpython cimport PyUnicode_AsUTF8String

View File

@ -18,11 +18,14 @@
"""
Widget description
------------------
:mod:`check` Module
###################
.. image:: /images/check-preview.png
:align: left
Widget description
==================
The check widget allows for toggling a value between true and false.
@ -30,24 +33,36 @@ Check objects are a lot like radio objects in layout and functionality,
except they do not work as a group, but independently, and only toggle
the value of a boolean :py:attr:`~Check.state` between false and true.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``changed`` - This is called whenever the user changes the state of
the check objects.
- ``focused`` - When the check has received focus. (since 1.8)
- ``unfocused`` - When the check has lost focus. (since 1.8)
Default content parts of the check widget that you can use for are:
Layout content parts
====================
- ``icon`` - An icon of the check
Default text parts of the check widget that you can use for are:
Layout text parts
=================
- ``default`` - A label of the check
- ``on`` - On state label of the check
- ``off`` - Off state label of the check
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.check
:parts: 2
"""
from efl.eo cimport _object_mapping_register

View File

@ -18,11 +18,14 @@
"""
Widget description
------------------
:mod:`clock` Module
###################
.. image:: /images/clock-preview.png
:align: left
Widget description
==================
This is a digital clock widget.
@ -49,8 +52,9 @@ the user to reach a time which is distant from the one set.
The time display is, by default, in military mode (24h), but an am/pm
indicator may be optionally shown, too, when it will switch to 12h.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``changed`` - the clock's user changed the time
- ``focused`` - When the clock has received focus. (since 1.8)
@ -58,12 +62,12 @@ This widget emits the following signals, besides the ones sent from
Enumerations
------------
============
.. _Elm_Clock_Edit_Mode:
Clock edit modes
================
----------------
.. data:: ELM_CLOCK_EDIT_DEFAULT
@ -97,6 +101,13 @@ Clock edit modes
Edit all
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.clock
:parts: 2
"""
from efl.eo cimport _object_mapping_register

View File

@ -18,11 +18,14 @@
"""
Widget description
------------------
:mod:`colorselector` Module
###########################
.. image:: /images/colorselector-preview.png
:align: left
Widget description
==================
A Colorselector is a color selection widget.
@ -32,8 +35,9 @@ the colors are loaded/saved from/to config using "default" identifier.
The colors can be picked by user from the color set by clicking on
individual color item on the palette or by selecting it from selector.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``"changed"`` - When the color value changes on selector
- ``"color,item,selected"`` - When user clicks on color item.
@ -47,12 +51,12 @@ This widget emits the following signals, besides the ones sent from
Enumerations
------------
============
.. _Elm_Colorselector_Mode:
Colorselector modes
===================
-------------------
.. data:: ELM_COLORSELECTOR_PALETTE
@ -66,6 +70,13 @@ Colorselector modes
Show palette and components
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.colorselector
:parts: 2
"""
from cpython cimport PyUnicode_AsUTF8String

View File

@ -18,8 +18,12 @@
"""
:mod:`configuration` Module
###########################
Description
-----------
===========
Elementary configuration is formed by a set options bounded to a
given profile, like theme, "finger size", etc.
@ -87,14 +91,13 @@ information please visit:
http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus
Enumerations
------------
============
.. _Elm_Softcursor_Mode:
Elm_Softcursor_Mode
===================
-------------------
.. data:: ELM_SOFTCURSOR_MODE_AUTO
@ -112,7 +115,7 @@ Elm_Softcursor_Mode
.. _Elm_Slider_Indicator_Visible_Mode:
Elm_Slider_Indicator_Visible_Mode
=================================
---------------------------------
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_DEFAULT
@ -134,7 +137,7 @@ Elm_Slider_Indicator_Visible_Mode
.. _Edje_Channel:
Audio Channels
==============
--------------
.. data:: EDJE_CHANNEL_EFFECT
@ -168,6 +171,13 @@ Audio Channels
All audio channels (convenience)
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.configuration
:parts: 2
"""
from cpython cimport PyUnicode_AsUTF8String

View File

@ -17,10 +17,14 @@
"""
:mod:`conformant` Module
########################
.. image:: /images/conformant-preview.png
Widget description
------------------
==================
The aim is to provide a widget that can be used in elementary apps to
account for space taken up by the indicator, virtual keypad & softkey
@ -30,21 +34,27 @@ So conformant content will be sized and positioned considering the
space required for such stuff, and when they popup, as a keyboard
shows when an entry is selected, conformant content won't change.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``virtualkeypad,state,on``: if virtualkeypad state is switched to ``on``.
- ``virtualkeypad,state,off``: if virtualkeypad state is switched to ``off``.
- ``clipboard,state,on``: if clipboard state is switched to ``on``.
- ``clipboard,state,off``: if clipboard state is switched to ``off``.
In all cases, the ``event`` parameter of the callback will be None.
Available styles for it:
- ``default``
Layout content parts
====================
Default content parts of the conformant widget that you can use for are:
- ``default`` - A content of the conformant
- ``default`` - A content of the conformant
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.conformant
:parts: 2
"""

View File

@ -18,11 +18,14 @@
"""
Widget description
------------------
:mod:`ctxpopup` Module
######################
.. image:: /images/ctxpopup-preview.png
:align: left
Widget description
==================
A ctxpopup is a widget that, when shown, pops up a list of items. It
automatically chooses an area inside its parent object's view to
@ -31,7 +34,12 @@ to it's top left position at the time one shows it. Ctxpopup items have
a label and/or an icon. It is intended for a small number of items
(hence the use of list, not genlist).
Signals that you can add callbacks for are:
.. note::
Ctxpopup is a specialization of :py:class:`~efl.elementary.hover.Hover`.
Emitted signals
===============
- ``dismissed`` - This is called when 1. the outside of ctxpopup was clicked
or 2. its parent area is changed or 3. the language is changed and also when
@ -42,30 +50,25 @@ Signals that you can add callbacks for are:
- ``focused`` - When the ctxpopup has received focus. (since 1.8)
- ``unfocused`` - When the ctxpopup has lost focus. (since 1.8)
Default content parts of the ctxpopup widget that you can use for are:
Layout content parts
====================
- ``default`` - A content of the ctxpopup
Default content parts of the ctxpopup items that you can use for are:
- ``icon`` - An icon in the title area
Default text parts of the ctxpopup items that you can use for are:
Layout text parts
=================
- ``default`` - Title label in the title area
.. note::
Ctxpopup is a specialization of :py:class:`~efl.elementary.hover.Hover`.
Enumerations
------------
============
.. _Elm_Ctxpopup_Direction:
Ctxpopup arrow directions
=========================
-------------------------
.. data:: ELM_CTXPOPUP_DIRECTION_DOWN
@ -87,6 +90,14 @@ Ctxpopup arrow directions
Arrow direction is unknown
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.ctxpopup
:parts: 2
"""
from cpython cimport PyUnicode_AsUTF8String

View File

@ -18,8 +18,12 @@
"""
:mod:`datetime_elm` Module
##########################
Widget description
------------------
==================
Datetime widget is used to display and input date & time values.
@ -182,8 +186,9 @@ To enable a module, set the ELM_MODULES environment variable as shown:
**export ELM_MODULES="datetime_input_ctxpopup>datetime/api"**
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``changed`` - whenever Datetime field value is changed, this signal is sent.
- ``language,changed`` - whenever system locale changes, this signal is sent.
@ -192,12 +197,12 @@ This widget emits the following signals, besides the ones sent from
Enumerations
------------
============
.. _Elm_Datetime_Field_Type:
Datetime fields
===============
---------------
.. data:: ELM_DATETIME_YEAR
@ -223,6 +228,13 @@ Datetime fields
Am/Pm
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.datetime_elm
:parts: 2
"""
from cpython cimport PyUnicode_AsUTF8String

View File

@ -18,10 +18,14 @@
"""
:mod:`dayselector` Module
#########################
.. image:: /images/dayselector-preview.png
Widget description
------------------
==================
Dayselector displays all seven days of the week and allows the user to
select multiple days.
@ -59,24 +63,21 @@ Check object representing a day can be set/get by the application by using
the elm_object_part_content_set/get APIs thus providing a way to handle
the different check styles for individual days.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``dayselector,changed`` - when the user changes the state of a day.
- ``language,changed`` - the program's language changed
Available styles for dayselector are:
- ``default``
Enumerations
------------
============
.. _Elm_Dayselector_Day:
Dayselector days
================
----------------
.. data:: ELM_DAYSELECTOR_SUN
@ -106,6 +107,13 @@ Dayselector days
Saturday
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.dayselector
:parts: 2
"""
from efl.eo cimport _object_mapping_register

View File

@ -17,10 +17,14 @@
"""
:mod:`diskselector` Module
##########################
.. image:: /images/diskselector-preview.png
Widget description
------------------
==================
A diskselector is a kind of list widget. It scrolls horizontally,
and can contain label and icon objects. Three items are displayed
@ -29,7 +33,9 @@ with the selected one in the middle.
It can act like a circular list with round mode and labels can be
reduced for a defined length for side items.
Smart callbacks one can listen to:
Emitted signals
===============
- ``selected`` - when item is selected, i.e. scroller stops.
- ``clicked`` - This is called when a user clicks an item
@ -40,20 +46,20 @@ Smart callbacks one can listen to:
- ``focused`` - When the diskselector has received focus. (since 1.8)
- ``unfocused`` - When the diskselector has lost focus. (since 1.8)
Available styles for it:
.. note:: The ``scroll,anim,*`` and ``scroll,drag,*`` signals are only emitted
by user intervention.
- ``default``
Default content parts of the diskselector items that you can use for are:
Layout content parts
====================
- ``icon`` - An icon in the diskselector item
Default text parts of the diskselector items that you can use for are:
Layout text parts
=================
- ``default`` - Label of the diskselector item
.. note:: The ``scroll,anim,*`` and ``scroll,drag,*`` signals are only emitted
by user intervention.
Scrollable Interface
====================
@ -69,6 +75,13 @@ using multiple inheritance, for example::
def __init__(self, canvas, *args, **kwargs):
Genlist.__init__(self, canvas)
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.diskselector
:parts: 2
"""
from cpython cimport PyUnicode_AsUTF8String

View File

@ -18,11 +18,14 @@
"""
Widget description
------------------
:mod:`entry` Module
###################
.. image:: /images/entry-preview.png
:align: left
Widget description
==================
An entry is a convenience widget which shows a box that the user can
enter text into.
@ -39,6 +42,7 @@ Other features include password mode, filtering of inserted text with
:py:meth:`~efl.elementary.entry.Entry.markup_filter_append` and related
functions, inline "items" and formatted markup text.
Scrollable Interface
====================
@ -53,6 +57,7 @@ using multiple inheritance, for example::
def __init__(self, canvas, *args, **kwargs):
Genlist.__init__(self, canvas)
Formatted text
==============
@ -71,6 +76,7 @@ Currently defined by the default theme are the following tags:
- <link>...</link>: Underlines the enclosed text.
- <hilight>...</hilight>: Highlights the enclosed text.
Special markups
===============
@ -78,8 +84,9 @@ Besides those used to format text, entries support two special markup
tags used to insert click-able portions of text or items inlined within
the text.
Anchors
'''''''
-------
Anchors are similar to HTML anchors. Text can be surrounded by <a> and
</a> tags and an event will be generated when this text is clicked,
@ -96,8 +103,9 @@ callback function. The same applies for "anchor,in" (mouse in),
"anchor,out" (mouse out), "anchor,down" (mouse down), and "anchor,up"
(mouse up) events on an anchor.
Items
'''''
-----
Inlined in the text, any other :py:class:`~efl.elementary.object.Object` can
be inserted by using <item> tags this way::
@ -186,6 +194,7 @@ Alternatively, an item may reference an image by its path, using
the URI form ``file:///path/to/an/image.png`` and the entry will then
use that image for the item.
Setting entry's style
=====================
@ -200,6 +209,7 @@ aesthetic reasons. While the user style should be changed when you would
like to change the style to something specific defined at run-time, e.g,
setting font or font size in a text editor.
Loading and saving files
========================
@ -209,10 +219,9 @@ can be disabled with :py:attr:`~efl.elementary.entry.Entry.autosave` and files
can be loaded directly as plain text or have any markup in them recognized. See
:py:attr:`~efl.elementary.entry.Entry.file` for more details.
Emitted signals
---------------
This widget emits the following signals:
Emitted signals
===============
- ``changed``: The text within the entry was changed.
- ``changed,user``: The text within the entry was changed because of user
@ -253,24 +262,27 @@ This widget emits the following signals:
- ``rejected``: .Called when some of inputs are rejected by the filter. (since 1.9)
Default content parts of the entry items that you can use for are:
Layout content parts
====================
- ``icon`` - An icon in the entry
- ``end`` - A content in the end of the entry
Default text parts of the entry that you can use for are:
Layout text parts
=================
- ``default`` - text of the entry
- ``guide`` - placeholder of the entry
Enumerations
------------
============
.. _Elm_Entry_Autocapital_Type:
Autocapitalization types
========================
------------------------
.. data:: ELM_AUTOCAPITAL_TYPE_NONE
@ -292,7 +304,7 @@ Autocapitalization types
.. _Elm_Entry_Cnp_Mode:
Copy & paste modes
==================
------------------
.. data:: ELM_CNP_MODE_MARKUP
@ -310,7 +322,7 @@ Copy & paste modes
.. _Elm_Input_Hints:
Input Hints
===========
-----------
.. data:: ELM_INPUT_HINT_NONE
@ -334,7 +346,7 @@ Input Hints
.. _Elm_Entry_Input_Panel_Lang:
Input panel language sort order
===============================
-------------------------------
.. data:: ELM_INPUT_PANEL_LANG_AUTOMATIC
@ -348,7 +360,7 @@ Input panel language sort order
.. _Elm_Entry_Input_Panel_Layout:
Input panel layouts
===================
-------------------
.. data:: ELM_INPUT_PANEL_LAYOUT_NORMAL
@ -414,7 +426,7 @@ Input panel layouts
.. _Elm_Input_Panel_Layout_Normal_Variation:
Input panel normal layout variation
===================================
-----------------------------------
.. data:: ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_NORMAL
@ -438,7 +450,7 @@ Input panel normal layout variation
.. _Elm_Input_Panel_Layout_Numberonly_Variation:
Input panel numberonly layout variation
=======================================
---------------------------------------
.. data:: ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL
@ -468,7 +480,7 @@ Input panel numberonly layout variation
.. _Elm_Input_Panel_Layout_Password_Variation:
Input panel password layout variation
=====================================
-------------------------------------
.. data:: ELM_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NORMAL
@ -486,7 +498,7 @@ Input panel password layout variation
.. _Elm_Entry_Input_Panel_Return_Key_Type:
Input panel return key modes
============================
----------------------------
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT
@ -530,7 +542,7 @@ Input panel return key modes
.. _Elm_Entry_Text_Format:
Text format
===========
-----------
.. data:: ELM_TEXT_FORMAT_PLAIN_UTF8
@ -544,7 +556,7 @@ Text format
.. _Elm_Entry_Wrap_Type:
Wrap mode
=========
---------
.. data:: ELM_WRAP_NONE
@ -566,7 +578,7 @@ Wrap mode
.. _Elm_Entry_Icon_Type:
Icon types
==========
----------
.. data:: ELM_ICON_NONE
@ -581,6 +593,12 @@ Icon types
Icon is set with standards names
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.entry
:parts: 2
"""
from libc.string cimport strdup

View File

@ -18,10 +18,14 @@
"""
:mod:`fileselector` Module
##########################
.. image:: /images/fileselector-preview.png
Widget description
------------------
==================
A file selector is a widget that allows a user to navigate through a
file system, reporting file selections back via its API.
@ -48,31 +52,35 @@ If Elementary is built with support of the Ethumb thumbnailing library,
the second form of view will display preview thumbnails of files which
it supports.
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
Emitted signals
===============
- ``activated`` - the user activated a file. This can happen by
double-clicking or pressing Enter key. (**event_info** is a
string with the activated file path)
- ``selected`` - the user has clicked on a file (when not in
folders-only mode) or directory (when in folders-only mode)
- ``directory,open`` - the list has been populated with new
content (*event_info* is the directory's path)
double-clicking or pressing Enter key. (**event_info** is a string with the
activated file path)
- ``selected`` - the user has clicked on a file (when not in folders-only
mode) or directory (when in folders-only mode)
- ``directory,open`` - the list has been populated with new content
(*event_info* is the directory's path)
- ``done`` - the user has clicked on the "ok" or "cancel"
buttons (*event_info* is the selection's path)
For text, elm_layout_text_set() will work here on:
Layout text parts
=================
- ``ok`` - OK button label if the ok button is set. (since 1.8)
- ``cancel`` - Cancel button label if the cancel button is set. (since 1.8)
Enumerations
------------
============
.. _Elm_Fileselector_Mode:
Fileselector modes
==================
------------------
.. data:: ELM_FILESELECTOR_LIST
@ -82,10 +90,11 @@ Fileselector modes
Layout as a grid
.. _Elm_Fileselector_Sort:
Fileselector sort method
========================
------------------------
.. data:: ELM_FILESELECTOR_SORT_BY_FILENAME_ASC
@ -135,6 +144,13 @@ Fileselector sort method
.. versionadded:: 1.9
Inheritance diagram
===================
.. inheritance-diagram:: efl.elementary.fileselector
:parts: 2
"""

Some files were not shown because too many files have changed in this diff Show More