Compare commits
9 Commits
master
...
devs/kuuko
Author | SHA1 | Date |
---|---|---|
Kai Huuhko | 74031458df | |
Kai Huuhko | d87ce26545 | |
Kai Huuhko | fa3733b57f | |
Kai Huuhko | 178be163fc | |
Kai Huuhko | bd88b8845e | |
Kai Huuhko | 380d998cd2 | |
Kai Huuhko | e4d3924317 | |
Kai Huuhko | d3569bf1f1 | |
Kai Huuhko | d9fa1e89e2 |
|
@ -1,2 +1,85 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.actionslider
|
Actionslider
|
||||||
|
############
|
||||||
|
|
||||||
|
.. image:: /images/actionslider-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
An actionslider is a switcher for two or three labels with
|
||||||
|
customizable magnet properties.
|
||||||
|
|
||||||
|
The user drags and releases the indicator, to choose a label.
|
||||||
|
|
||||||
|
Labels can occupy the following positions.
|
||||||
|
|
||||||
|
- Left
|
||||||
|
- Right
|
||||||
|
- Center
|
||||||
|
|
||||||
|
Positions can be enabled or disabled.
|
||||||
|
|
||||||
|
Magnets can be set on the above positions.
|
||||||
|
|
||||||
|
When the indicator is released, it will move to its nearest "enabled and
|
||||||
|
magnetized" position.
|
||||||
|
|
||||||
|
|
||||||
|
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").
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``indicator`` - An indicator label of the actionslider
|
||||||
|
- ``left`` - A left label of the actionslider
|
||||||
|
- ``right`` - A right label of the actionslider
|
||||||
|
- ``center`` - A center label of the actionslider
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Actionslider_Pos:
|
||||||
|
|
||||||
|
Actionslider positions
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
.. data:: ELM_ACTIONSLIDER_NONE
|
||||||
|
|
||||||
|
No position
|
||||||
|
|
||||||
|
.. data:: ELM_ACTIONSLIDER_LEFT
|
||||||
|
|
||||||
|
Left position
|
||||||
|
|
||||||
|
.. data:: ELM_ACTIONSLIDER_CENTER
|
||||||
|
|
||||||
|
Center position
|
||||||
|
|
||||||
|
.. data:: ELM_ACTIONSLIDER_RIGHT
|
||||||
|
|
||||||
|
Right position
|
||||||
|
|
||||||
|
.. data:: ELM_ACTIONSLIDER_ALL
|
||||||
|
|
||||||
|
All positions
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Actionslider
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Actionslider
|
||||||
|
|
|
@ -1,2 +1,58 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.background
|
Background
|
||||||
|
##########
|
||||||
|
|
||||||
|
.. 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
|
||||||
|
container object.
|
||||||
|
|
||||||
|
It works just like an image, but has some properties useful to a
|
||||||
|
background, like setting it to tiled, centered, scaled or stretched.
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``overlay`` - overlay of the bg
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Bg_Option:
|
||||||
|
|
||||||
|
Background display modes
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_BG_OPTION_CENTER
|
||||||
|
|
||||||
|
Center
|
||||||
|
|
||||||
|
.. data:: ELM_BG_OPTION_SCALE
|
||||||
|
|
||||||
|
Scale
|
||||||
|
|
||||||
|
.. data:: ELM_BG_OPTION_STRETCH
|
||||||
|
|
||||||
|
Stretch
|
||||||
|
|
||||||
|
.. data:: ELM_BG_OPTION_TILE
|
||||||
|
|
||||||
|
Tile
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Background
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Background
|
||||||
|
|
|
@ -1,2 +1,118 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.box
|
Box
|
||||||
|
###
|
||||||
|
|
||||||
|
.. image:: /images/box-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A box arranges objects in a linear fashion, governed by a layout function
|
||||||
|
that defines the details of this arrangement.
|
||||||
|
|
||||||
|
By default, the box will use an internal function to set the layout to
|
||||||
|
a single row, either vertical or horizontal. This layout is affected
|
||||||
|
by a number of parameters, such as the homogeneous flag set by
|
||||||
|
:py:attr:`~Box.homogeneous`, the values given by :py:attr:`~Box.padding` and
|
||||||
|
:py:attr:`~Box.align` and the hints set to each object in the box.
|
||||||
|
|
||||||
|
For this default layout, it's possible to change the orientation with
|
||||||
|
:py:attr:`~Box.horizontal`. The box will start in the vertical orientation,
|
||||||
|
placing its elements ordered from top to bottom. When horizontal is set,
|
||||||
|
the order will go from left to right. If the box is set to be
|
||||||
|
homogeneous, every object in it will be assigned the same space, that
|
||||||
|
of the largest object. Padding can be used to set some spacing between
|
||||||
|
the cell given to each object. The alignment of the box, set with
|
||||||
|
:py:attr:`~Box.align`, determines how the bounding box of all the elements
|
||||||
|
will be placed within the space given to the box widget itself.
|
||||||
|
|
||||||
|
The size hints of each object also affect how they are placed and sized
|
||||||
|
within the box. :py:attr:`~efl.evas.Object.size_hint_min` will give the minimum
|
||||||
|
size the object can have, and the box will use it as the basis for all
|
||||||
|
latter calculations. Elementary widgets set their own minimum size as
|
||||||
|
needed, so there's rarely any need to use it manually.
|
||||||
|
|
||||||
|
:py:attr:`~efl.evas.Object.size_hint_weight`, when not in homogeneous mode, is
|
||||||
|
used to tell whether the object will be allocated the minimum size it
|
||||||
|
needs or if the space given to it should be expanded. It's important
|
||||||
|
to realize that expanding the size given to the object is not the same
|
||||||
|
thing as resizing the object. It could very well end being a small
|
||||||
|
widget floating in a much larger empty space. If not set, the weight
|
||||||
|
for objects will normally be 0.0 for both axis, meaning the widget will
|
||||||
|
not be expanded. To take as much space possible, set the weight to
|
||||||
|
``EVAS_HINT_EXPAND`` (defined to 1.0) for the desired axis to expand.
|
||||||
|
|
||||||
|
Besides how much space each object is allocated, it's possible to control
|
||||||
|
how the widget will be placed within that space using
|
||||||
|
:py:attr:`~efl.evas.Object.size_hint_align`. By default, this value will be 0.5
|
||||||
|
for both axis, meaning the object will be centered, but any value from
|
||||||
|
0.0 (left or top, for the ``x`` and ``y`` axis, respectively) to 1.0
|
||||||
|
(right or bottom) can be used. The special value *EVAS_HINT_FILL*, which
|
||||||
|
is -1.0, means the object will be resized to fill the entire space it
|
||||||
|
was allocated.
|
||||||
|
|
||||||
|
In addition, customized functions to define the layout can be set, which
|
||||||
|
allow the application developer to organize the objects within the box
|
||||||
|
in any number of ways.
|
||||||
|
|
||||||
|
The special :py:meth:`Box.layout_transition` function can be used
|
||||||
|
to switch from one layout to another, animating the motion of the
|
||||||
|
children of the box.
|
||||||
|
|
||||||
|
.. note:: Objects should not be added to box objects using _add() calls.
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Evas_Object_Box_Layout:
|
||||||
|
|
||||||
|
Box layout modes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_HORIZONTAL
|
||||||
|
|
||||||
|
Horizontal layout
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_VERTICAL
|
||||||
|
|
||||||
|
Vertical layout
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_VERTICAL
|
||||||
|
|
||||||
|
Homogeneous vertical layout
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_HORIZONTAL
|
||||||
|
|
||||||
|
Homogeneous horizontal layout
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_MAX_SIZE_HORIZONTAL
|
||||||
|
|
||||||
|
Homogeneous layout, maximum size on the horizontal axis
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_MAX_SIZE_VERTICAL
|
||||||
|
|
||||||
|
Homogeneous layout, maximum size on the horizontal axis
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_FLOW_HORIZONTAL
|
||||||
|
|
||||||
|
Horizontally flowing layout
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_FLOW_VERTICAL
|
||||||
|
|
||||||
|
Vertically flowing layout
|
||||||
|
|
||||||
|
.. data:: ELM_BOX_LAYOUT_STACK
|
||||||
|
|
||||||
|
Stacking layout
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Box
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
.. autoclass:: Box
|
||||||
|
|
|
@ -1,2 +1,88 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.bubble
|
Bubble
|
||||||
|
######
|
||||||
|
|
||||||
|
.. image:: /images/bubble-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
The Bubble is a widget to show text similar to how speech is
|
||||||
|
represented in comics.
|
||||||
|
|
||||||
|
The bubble widget contains 5 important visual elements:
|
||||||
|
|
||||||
|
- The frame is a rectangle with rounded edjes and an "arrow".
|
||||||
|
- The ``icon`` is an image to which the frame's arrow points to.
|
||||||
|
- The ``label`` is a text which appears to the right of the icon if the
|
||||||
|
corner is **top_left** or **bottom_left** and is right aligned to
|
||||||
|
the frame otherwise.
|
||||||
|
- The ``info`` is a text which appears to the right of the label. Info's
|
||||||
|
font is of a lighter color than label.
|
||||||
|
- The ``content`` is an evas object that is shown inside the frame.
|
||||||
|
|
||||||
|
The position of the arrow, icon, label and info depends on which corner is
|
||||||
|
selected. The four available corners are:
|
||||||
|
|
||||||
|
- ``top_left`` - Default
|
||||||
|
- ``top_right``
|
||||||
|
- ``bottom_left``
|
||||||
|
- ``bottom_right``
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - A content of the bubble
|
||||||
|
- ``icon`` - An icon of the bubble
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Top left position
|
||||||
|
|
||||||
|
.. data:: ELM_BUBBLE_POS_TOP_RIGHT
|
||||||
|
|
||||||
|
Top right position
|
||||||
|
|
||||||
|
.. data:: ELM_BUBBLE_POS_BOTTOM_LEFT
|
||||||
|
|
||||||
|
Bottom left position
|
||||||
|
|
||||||
|
.. data:: ELM_BUBBLE_POS_BOTTOM_RIGHT
|
||||||
|
|
||||||
|
Bottom right position
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Bubble
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
.. autoclass:: Bubble
|
||||||
|
|
|
@ -1,3 +1,65 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.button
|
Button
|
||||||
|
######
|
||||||
|
|
||||||
|
.. image:: /images/button-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
- ``pressed``: button was pressed.
|
||||||
|
- ``unpressed``: button was released after being pressed.
|
||||||
|
- ``focused`` : When the button has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` : When the button has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Button
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Button
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,165 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.calendar_elm
|
Calendar
|
||||||
|
########
|
||||||
|
|
||||||
|
.. image:: /images/calendar-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This is a calendar widget.
|
||||||
|
|
||||||
|
It helps applications to flexibly display a calender with day of the week,
|
||||||
|
date, year and month. Applications are able to set specific dates to be
|
||||||
|
reported back, when selected, in the smart callbacks of the calendar widget.
|
||||||
|
The API of this widget lets the applications perform other functions, like:
|
||||||
|
|
||||||
|
- placing marks on specific dates
|
||||||
|
- setting the bounds for the calendar (minimum and maximum years)
|
||||||
|
- setting the day names of the week (e.g. "Thu" or "Thursday")
|
||||||
|
- setting the year and month format.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - emitted when the date in the calendar is changed.
|
||||||
|
- ``display,changed`` - emitted when the current month displayed in the
|
||||||
|
calendar is changed.
|
||||||
|
- ``focused`` - When the calendar has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the calendar has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Calendar_Mark_Repeat_Type:
|
||||||
|
|
||||||
|
Calendar mark repeat types
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_UNIQUE
|
||||||
|
|
||||||
|
Default value.
|
||||||
|
|
||||||
|
Marks will be displayed only on event day.
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_DAILY
|
||||||
|
|
||||||
|
Marks will be displayed every day after event day (inclusive).
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_WEEKLY
|
||||||
|
|
||||||
|
Marks will be displayed every week after event day (inclusive) - i.e.
|
||||||
|
each seven days.
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_MONTHLY
|
||||||
|
|
||||||
|
Marks will be displayed every month day that coincides to event day.
|
||||||
|
|
||||||
|
E.g.: if an event is set to 30th Jan, no marks will be displayed on Feb,
|
||||||
|
but will be displayed on 30th Mar
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_ANNUALLY
|
||||||
|
|
||||||
|
Marks will be displayed every year that coincides to event day (and month).
|
||||||
|
|
||||||
|
E.g. an event added to 30th Jan 2012 will be repeated on 30th Jan 2013.
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_LAST_DAY_OF_MONTH
|
||||||
|
|
||||||
|
Marks will be displayed every last day of month after event day
|
||||||
|
(inclusive).
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Calendar_Select_Mode:
|
||||||
|
|
||||||
|
Calendar selection modes
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_SELECT_MODE_DEFAULT
|
||||||
|
|
||||||
|
Default mode
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_SELECT_MODE_ALWAYS
|
||||||
|
|
||||||
|
Select always
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_SELECT_MODE_NONE
|
||||||
|
|
||||||
|
Don't select
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_SELECT_MODE_ONDEMAND
|
||||||
|
|
||||||
|
Select on demand
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Calendar_Selectable:
|
||||||
|
|
||||||
|
Selectable
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_SELECTABLE_NONE
|
||||||
|
|
||||||
|
None selectable
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_SELECTABLE_YEAR
|
||||||
|
|
||||||
|
Year is selectable
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_SELECTABLE_MONTH
|
||||||
|
|
||||||
|
Month is selectable
|
||||||
|
|
||||||
|
.. data:: ELM_CALENDAR_SELECTABLE_DAY
|
||||||
|
|
||||||
|
Day is selectable
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Calendar_Weekday:
|
||||||
|
|
||||||
|
Days
|
||||||
|
----
|
||||||
|
|
||||||
|
.. data:: ELM_DAY_SUNDAY
|
||||||
|
|
||||||
|
Sunday
|
||||||
|
|
||||||
|
.. data:: ELM_DAY_MONDAY
|
||||||
|
|
||||||
|
Monday
|
||||||
|
|
||||||
|
.. data:: ELM_DAY_TUESDAY
|
||||||
|
|
||||||
|
Tuesday
|
||||||
|
|
||||||
|
.. data:: ELM_DAY_WEDNESDAY
|
||||||
|
|
||||||
|
Wednesday
|
||||||
|
|
||||||
|
.. data:: ELM_DAY_THURSDAY
|
||||||
|
|
||||||
|
Thursday
|
||||||
|
|
||||||
|
.. data:: ELM_DAY_FRIDAY
|
||||||
|
|
||||||
|
Friday
|
||||||
|
|
||||||
|
.. data:: ELM_DAY_SATURDAY
|
||||||
|
|
||||||
|
Saturday
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Calendar
|
||||||
|
CalendarMark
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Calendar
|
||||||
|
.. autoclass:: CalendarMark
|
||||||
|
|
|
@ -1,2 +1,49 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.check
|
Check
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/check-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
The check widget allows for toggling a value between true and false.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``icon`` - An icon of the check
|
||||||
|
|
||||||
|
|
||||||
|
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:: Check
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Check
|
||||||
|
|
|
@ -1,2 +1,94 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.clock
|
Clock
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/clock-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This is a digital clock widget.
|
||||||
|
|
||||||
|
In its default theme, it has a vintage "flipping numbers clock" appearance,
|
||||||
|
which will animate sheets of individual algarisms individually as time goes
|
||||||
|
by.
|
||||||
|
|
||||||
|
A newly created clock will fetch system's time (already considering
|
||||||
|
local time adjustments) to start with, and will tick accordingly. It may
|
||||||
|
or may not show seconds.
|
||||||
|
|
||||||
|
Clocks have an **edition** mode. When in it, the sheets will display
|
||||||
|
extra arrow indications on the top and bottom and the user may click on
|
||||||
|
them to raise or lower the time values. After it's told to exit edition
|
||||||
|
mode, it will keep ticking with that new time set (it keeps the
|
||||||
|
difference from local time).
|
||||||
|
|
||||||
|
Also, when under edition mode, user clicks on the cited arrows which are
|
||||||
|
**held** for some time will make the clock to flip the sheet, thus
|
||||||
|
editing the time, continuously and automatically for the user. The
|
||||||
|
interval between sheet flips will keep growing in time, so that it helps
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - the clock's user changed the time
|
||||||
|
- ``focused`` - When the clock has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the clock has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Clock_Edit_Mode:
|
||||||
|
|
||||||
|
Clock edit modes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. data:: ELM_CLOCK_EDIT_DEFAULT
|
||||||
|
|
||||||
|
Default edit
|
||||||
|
|
||||||
|
.. data:: ELM_CLOCK_EDIT_HOUR_DECIMAL
|
||||||
|
|
||||||
|
Edit hours' decimal
|
||||||
|
|
||||||
|
.. data:: ELM_CLOCK_EDIT_HOUR_UNIT
|
||||||
|
|
||||||
|
Edit hours' unit
|
||||||
|
|
||||||
|
.. data:: ELM_CLOCK_EDIT_MIN_DECIMAL
|
||||||
|
|
||||||
|
Edit minutes' decimal
|
||||||
|
|
||||||
|
.. data:: ELM_CLOCK_EDIT_MIN_UNIT
|
||||||
|
|
||||||
|
Edit minutes' unit
|
||||||
|
|
||||||
|
.. data:: ELM_CLOCK_EDIT_SEC_DECIMAL
|
||||||
|
|
||||||
|
Edit seconds' decimal
|
||||||
|
|
||||||
|
.. data:: ELM_CLOCK_EDIT_SEC_UNIT
|
||||||
|
|
||||||
|
Edit seconds' unit
|
||||||
|
|
||||||
|
.. data:: ELM_CLOCK_EDIT_ALL
|
||||||
|
|
||||||
|
Edit all
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Clock
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Clock
|
||||||
|
|
|
@ -1,2 +1,66 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.colorselector
|
Colorselector
|
||||||
|
#############
|
||||||
|
|
||||||
|
.. image:: /images/colorselector-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A Colorselector is a color selection widget.
|
||||||
|
|
||||||
|
It allows application to set a series of colors. It also allows to
|
||||||
|
load/save colors from/to config with a unique identifier, by default,
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``"changed"`` - When the color value changes on selector
|
||||||
|
- ``"color,item,selected"`` - When user clicks on color item.
|
||||||
|
The event_info parameter of the callback will be the selected
|
||||||
|
color item.
|
||||||
|
- ``"color,item,longpressed"`` - When user long presses on color item.
|
||||||
|
The event_info parameter of the callback will be the selected
|
||||||
|
color item.
|
||||||
|
- ``focused`` - When the colorselector has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the colorselector has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Colorselector_Mode:
|
||||||
|
|
||||||
|
Colorselector modes
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. data:: ELM_COLORSELECTOR_PALETTE
|
||||||
|
|
||||||
|
Show palette
|
||||||
|
|
||||||
|
.. data:: ELM_COLORSELECTOR_COMPONENTS
|
||||||
|
|
||||||
|
Show components
|
||||||
|
|
||||||
|
.. data:: ELM_COLORSELECTOR_BOTH
|
||||||
|
|
||||||
|
Show palette and components
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Colorselector
|
||||||
|
ColorselectorPaletteItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Colorselector
|
||||||
|
.. autoclass:: ColorselectorPaletteItem
|
||||||
|
|
|
@ -1,2 +1,162 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.configuration
|
Configuration
|
||||||
|
#############
|
||||||
|
|
||||||
|
Description
|
||||||
|
===========
|
||||||
|
|
||||||
|
Elementary configuration is formed by a set options bounded to a
|
||||||
|
given profile, like theme, "finger size", etc.
|
||||||
|
|
||||||
|
These are functions with which one synchronizes changes made to those
|
||||||
|
values to the configuration storing files, de facto. You most probably
|
||||||
|
don't want to use the functions in this group unless you're writing an
|
||||||
|
elementary configuration manager.
|
||||||
|
|
||||||
|
Profiles
|
||||||
|
========
|
||||||
|
|
||||||
|
Profiles are pre-set options that affect the whole look-and-feel of
|
||||||
|
Elementary-based applications. There are, for example, profiles
|
||||||
|
aimed at desktop computer applications and others aimed at mobile,
|
||||||
|
touchscreen-based ones. You most probably don't want to use the
|
||||||
|
functions in this group unless you're writing an elementary
|
||||||
|
configuration manager.
|
||||||
|
|
||||||
|
Elementary Scrolling
|
||||||
|
====================
|
||||||
|
|
||||||
|
These set how scrollable views in Elementary widgets should behave on
|
||||||
|
user interaction.
|
||||||
|
|
||||||
|
Password show last
|
||||||
|
==================
|
||||||
|
|
||||||
|
Show last feature of password mode enables user to view the last input
|
||||||
|
entered for few seconds before masking it. These functions allow to set
|
||||||
|
this feature in password mode of entry widget and also allow to
|
||||||
|
manipulate the duration for which the input has to be visible.
|
||||||
|
|
||||||
|
Elementary Engine
|
||||||
|
=================
|
||||||
|
|
||||||
|
These are functions setting and querying which rendering engine
|
||||||
|
Elementary will use for drawing its windows' pixels.
|
||||||
|
|
||||||
|
The following are the available engines:
|
||||||
|
|
||||||
|
- "software_x11"
|
||||||
|
- "fb"
|
||||||
|
- "directfb"
|
||||||
|
- "software_16_x11"
|
||||||
|
- "software_8_x11"
|
||||||
|
- "xrender_x11"
|
||||||
|
- "opengl_x11"
|
||||||
|
- "software_gdi"
|
||||||
|
- "software_16_wince_gdi"
|
||||||
|
- "sdl"
|
||||||
|
- "software_16_sdl"
|
||||||
|
- "opengl_sdl"
|
||||||
|
- "buffer"
|
||||||
|
- "ews"
|
||||||
|
- "opengl_cocoa"
|
||||||
|
- "psl1ght"
|
||||||
|
|
||||||
|
|
||||||
|
ATSPI AT-SPI2 Accessibility
|
||||||
|
===========================
|
||||||
|
|
||||||
|
Elementary widgets support Linux Accessibility standard. For more
|
||||||
|
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
|
||||||
|
|
||||||
|
Auto-detect if a software cursor should be used (default)
|
||||||
|
|
||||||
|
.. data:: ELM_SOFTCURSOR_MODE_ON
|
||||||
|
|
||||||
|
Always use a softcursor
|
||||||
|
|
||||||
|
.. data:: ELM_SOFTCURSOR_MODE_OFF
|
||||||
|
|
||||||
|
Never use a softcursor
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Slider_Indicator_Visible_Mode:
|
||||||
|
|
||||||
|
Elm_Slider_Indicator_Visible_Mode
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_DEFAULT
|
||||||
|
|
||||||
|
show indicator on mouse down or change in slider value
|
||||||
|
|
||||||
|
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS
|
||||||
|
|
||||||
|
Always show the indicator
|
||||||
|
|
||||||
|
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS
|
||||||
|
|
||||||
|
Show the indicator on focus
|
||||||
|
|
||||||
|
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE
|
||||||
|
|
||||||
|
Never show the indicator
|
||||||
|
|
||||||
|
|
||||||
|
.. _Edje_Channel:
|
||||||
|
|
||||||
|
Audio Channels
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. data:: EDJE_CHANNEL_EFFECT
|
||||||
|
|
||||||
|
Standard audio effects
|
||||||
|
|
||||||
|
.. data:: EDJE_CHANNEL_BACKGROUND
|
||||||
|
|
||||||
|
Background audio sounds
|
||||||
|
|
||||||
|
.. data:: EDJE_CHANNEL_MUSIC
|
||||||
|
|
||||||
|
Music audio
|
||||||
|
|
||||||
|
.. data:: EDJE_CHANNEL_FOREGROUND
|
||||||
|
|
||||||
|
Foreground audio sounds
|
||||||
|
|
||||||
|
.. data:: EDJE_CHANNEL_INTERFACE
|
||||||
|
|
||||||
|
Sounds related to the interface
|
||||||
|
|
||||||
|
.. data:: EDJE_CHANNEL_INPUT
|
||||||
|
|
||||||
|
Sounds related to regular input
|
||||||
|
|
||||||
|
.. data:: EDJE_CHANNEL_ALERT
|
||||||
|
|
||||||
|
Sounds for major alerts
|
||||||
|
|
||||||
|
.. data:: EDJE_CHANNEL_ALL
|
||||||
|
|
||||||
|
All audio channels (convenience)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Configuration
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
.. autoclass:: Configuration
|
||||||
|
|
|
@ -1,2 +1,43 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.conformant
|
Conformant
|
||||||
|
##########
|
||||||
|
|
||||||
|
.. 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
|
||||||
|
windows when running the illume2 module of E17.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
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``.
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - A content of the conformant
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Conformant
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Conformant
|
||||||
|
|
|
@ -1,2 +1,86 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.ctxpopup
|
Ctxpopup
|
||||||
|
########
|
||||||
|
|
||||||
|
.. image:: /images/ctxpopup-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
optimally fit into it. In the default theme, it will also point an arrow
|
||||||
|
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).
|
||||||
|
|
||||||
|
.. 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
|
||||||
|
4. the parent object is resized due to the window rotation. Then ctxpopup is
|
||||||
|
dismissed.
|
||||||
|
- ``language,changed`` - This is called when the program's language is
|
||||||
|
changed.
|
||||||
|
- ``focused`` - When the ctxpopup has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the ctxpopup has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - A content of the ctxpopup
|
||||||
|
- ``icon`` - An icon in the title area
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Title label in the title area
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Ctxpopup_Direction:
|
||||||
|
|
||||||
|
Ctxpopup arrow directions
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_CTXPOPUP_DIRECTION_DOWN
|
||||||
|
|
||||||
|
Arrow is pointing down
|
||||||
|
|
||||||
|
.. data:: ELM_CTXPOPUP_DIRECTION_RIGHT
|
||||||
|
|
||||||
|
Arrow is pointing right
|
||||||
|
|
||||||
|
.. data:: ELM_CTXPOPUP_DIRECTION_LEFT
|
||||||
|
|
||||||
|
Arrow is pointing left
|
||||||
|
|
||||||
|
.. data:: ELM_CTXPOPUP_DIRECTION_UP
|
||||||
|
|
||||||
|
Arrow is pointing up
|
||||||
|
|
||||||
|
.. data:: ELM_CTXPOPUP_DIRECTION_UNKNOWN
|
||||||
|
|
||||||
|
Arrow direction is unknown
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Ctxpopup
|
||||||
|
CtxpopupItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Ctxpopup
|
||||||
|
.. autoclass:: CtxpopupItem
|
||||||
|
|
|
@ -1,2 +1,219 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.datetime_elm
|
Datetime
|
||||||
|
########
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Datetime widget is used to display and input date & time values.
|
||||||
|
|
||||||
|
This widget displays date and time as per the **system's locale** settings
|
||||||
|
(Date includes Day, Month & Year along with the defined separators and Time
|
||||||
|
includes Hour, Minute & AM/PM fields). Separator for AM/PM field is ignored.
|
||||||
|
|
||||||
|
The corresponding Month, AM/PM strings are displayed according to the
|
||||||
|
system’s language settings.
|
||||||
|
|
||||||
|
Datetime format is a combination of LIBC standard characters like "%%d %%b
|
||||||
|
%%Y %%I : %%M %%p" which, as a whole represents both Date as well as Time
|
||||||
|
format.
|
||||||
|
|
||||||
|
Elm_datetime supports only the following sub set of libc date format specifiers:
|
||||||
|
|
||||||
|
**%%Y** The year as a decimal number including the century (example: 2011).
|
||||||
|
|
||||||
|
**%%y** The year as a decimal number without a century (range 00 to 99)
|
||||||
|
|
||||||
|
**%%m** The month as a decimal number (range 01 to 12).
|
||||||
|
|
||||||
|
**%%b** The abbreviated month name according to the current locale.
|
||||||
|
|
||||||
|
**%%B** The full month name according to the current locale.
|
||||||
|
|
||||||
|
**%%h** The abbreviated month name according to the current locale(same as %%b).
|
||||||
|
|
||||||
|
**%%d** The day of the month as a decimal number (range 01 to 31).
|
||||||
|
|
||||||
|
**%%e** The day of the month as a decimal number (range 1 to 31). single
|
||||||
|
digits are preceded by a blank.
|
||||||
|
|
||||||
|
**%%I** The hour as a decimal number using a 12-hour clock (range 01 to 12).
|
||||||
|
|
||||||
|
**%%H** The hour as a decimal number using a 24-hour clock (range 00 to 23).
|
||||||
|
|
||||||
|
**%%k** The hour (24-hour clock) as a decimal number (range 0 to 23). single
|
||||||
|
digits are preceded by a blank.
|
||||||
|
|
||||||
|
**%%l** The hour (12-hour clock) as a decimal number (range 1 to 12); single
|
||||||
|
digits are preceded by a blank.
|
||||||
|
|
||||||
|
**%%M** The minute as a decimal number (range 00 to 59).
|
||||||
|
|
||||||
|
**%%p** Either 'AM' or 'PM' according to the given time value, or the
|
||||||
|
corresponding strings for the current locale. Noon is treated as 'PM'
|
||||||
|
and midnight as 'AM'
|
||||||
|
|
||||||
|
**%%P** Like %p but in lower case: 'am' or 'pm' or a corresponding string for
|
||||||
|
the current locale.
|
||||||
|
|
||||||
|
**%%c** The preferred date and time representation for the current locale.
|
||||||
|
|
||||||
|
**%%x** The preferred date representation for the current locale without the time.
|
||||||
|
|
||||||
|
**%%X** The preferred time representation for the current locale without the date.
|
||||||
|
|
||||||
|
**%%r** The complete calendar time using the AM/PM format of the current locale.
|
||||||
|
|
||||||
|
**%%R** The hour and minute in decimal numbers using the format %H:%M.
|
||||||
|
|
||||||
|
**%%T** The time of day in decimal numbers using the format %H:%M:%S.
|
||||||
|
|
||||||
|
**%%D** The date using the format %%m/%%d/%%y.
|
||||||
|
|
||||||
|
**%%F** The date using the format %%Y-%%m-%%d.
|
||||||
|
|
||||||
|
|
||||||
|
(For more reference on the available **LIBC date format specifiers**,
|
||||||
|
please visit the link:
|
||||||
|
http://www.gnu.org/s/hello/manual/libc.html#Formatting-Calendar-Time )
|
||||||
|
|
||||||
|
Datetime widget can provide Unicode **separators** in between its fields
|
||||||
|
except for AM/PM field. A separator can be any **Unicode character**
|
||||||
|
other than the LIBC standard date format specifiers.
|
||||||
|
|
||||||
|
Example: In the format::
|
||||||
|
|
||||||
|
%%b %%d **,** %%y %%H **:** %%M
|
||||||
|
|
||||||
|
comma(,) is separator for date field %%d and colon(:) is separator for
|
||||||
|
hour field %%H.
|
||||||
|
|
||||||
|
The default format is a predefined one, based on the system Locale.
|
||||||
|
|
||||||
|
Hour format 12hr(1-12) or 24hr(0-23) display can be selected by setting
|
||||||
|
the corresponding user format.
|
||||||
|
|
||||||
|
Datetime supports six fields: Year, Month, Date, Hour, Minute, AM/PM.
|
||||||
|
Depending on the Datetime module that is loaded, the user can see
|
||||||
|
different UI to select the individual field values.
|
||||||
|
|
||||||
|
The individual fields of Datetime can be arranged in any order according
|
||||||
|
to the format set by application.
|
||||||
|
|
||||||
|
There is a provision to set the visibility of a particular field as TRUE/
|
||||||
|
FALSE so that **only time/ only date / only required fields** will be
|
||||||
|
displayed.
|
||||||
|
|
||||||
|
Each field is having a default minimum and maximum values just like the
|
||||||
|
daily calendar information. These min/max values can be modified as per
|
||||||
|
the application usage.
|
||||||
|
|
||||||
|
User can enter the values only in between the range of maximum and
|
||||||
|
minimum. Apart from these APIs, there is a provision to display only a
|
||||||
|
limited set of values out of the possible values. APIs to select the
|
||||||
|
individual field limits are intended for this purpose.
|
||||||
|
|
||||||
|
The whole widget is left aligned and its size grows horizontally
|
||||||
|
depending on the current format and each field's visible/disabled state.
|
||||||
|
|
||||||
|
Datetime individual field selection is implemented in a modular style.
|
||||||
|
Module can be implemented as a Ctxpopup based selection or an ISE based
|
||||||
|
selection or even a spinner like selection etc.
|
||||||
|
|
||||||
|
Datetime Module design
|
||||||
|
======================
|
||||||
|
|
||||||
|
The following functions are expected to be implemented in a Datetime module:
|
||||||
|
|
||||||
|
**Field creation**::
|
||||||
|
|
||||||
|
__________ __________
|
||||||
|
| |----- obj_hook() ---------------------->>>| |
|
||||||
|
| |<<<----------------returns Mod_data ------| |
|
||||||
|
| Datetime |_______ | |
|
||||||
|
| widget | |Assign module call backs | Module |
|
||||||
|
| base |<<<____| | |
|
||||||
|
| | | |
|
||||||
|
| |----- field_create() ------------------>>>| |
|
||||||
|
|__________|<<<----------------returns field_obj -----|__________|
|
||||||
|
|
||||||
|
**Field value setting**::
|
||||||
|
|
||||||
|
__________ __________
|
||||||
|
| | | |
|
||||||
|
| Datetime |<<<----------elm_datetime_value_set()---| |
|
||||||
|
| widget | | Module |
|
||||||
|
| base |----display_field_value()------------>>>| |
|
||||||
|
|__________| |__________|
|
||||||
|
|
||||||
|
**del_hook**::
|
||||||
|
|
||||||
|
__________ __________
|
||||||
|
| | | |
|
||||||
|
| Datetime |----obj_unhook()-------------------->>>>| |
|
||||||
|
| widget | | Module |
|
||||||
|
| base | <<<-----frees mod_data---------| |
|
||||||
|
|__________| |__________|
|
||||||
|
|
||||||
|
Any module can use the following shared functions that are implemented in
|
||||||
|
elm_datetime.c:
|
||||||
|
|
||||||
|
**field_format_get()** - gives the field format.
|
||||||
|
|
||||||
|
**field_limit_get()** - gives the field minimum, maximum limits.
|
||||||
|
|
||||||
|
To enable a module, set the ELM_MODULES environment variable as shown:
|
||||||
|
|
||||||
|
**export ELM_MODULES="datetime_input_ctxpopup>datetime/api"**
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - whenever Datetime field value is changed, this signal is sent.
|
||||||
|
- ``language,changed`` - whenever system locale changes, this signal is sent.
|
||||||
|
- ``focused`` - When the datetime has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the datetime has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Datetime_Field_Type:
|
||||||
|
|
||||||
|
Datetime fields
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. data:: ELM_DATETIME_YEAR
|
||||||
|
|
||||||
|
Year
|
||||||
|
|
||||||
|
.. data:: ELM_DATETIME_MONTH
|
||||||
|
|
||||||
|
Month
|
||||||
|
|
||||||
|
.. data:: ELM_DATETIME_DATE
|
||||||
|
|
||||||
|
Date
|
||||||
|
|
||||||
|
.. data:: ELM_DATETIME_HOUR
|
||||||
|
|
||||||
|
Hour
|
||||||
|
|
||||||
|
.. data:: ELM_DATETIME_MINUTE
|
||||||
|
|
||||||
|
Minute
|
||||||
|
|
||||||
|
.. data:: ELM_DATETIME_AMPM
|
||||||
|
|
||||||
|
Am/Pm
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Datetime
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
.. autoclass:: Datetime
|
||||||
|
|
|
@ -1,2 +1,99 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.dayselector
|
Dayselector
|
||||||
|
###########
|
||||||
|
|
||||||
|
.. image:: /images/dayselector-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Dayselector displays all seven days of the week and allows the user to
|
||||||
|
select multiple days.
|
||||||
|
|
||||||
|
The selection can be toggle by just clicking on the day.
|
||||||
|
|
||||||
|
Dayselector also provides the functionality to check whether a day is
|
||||||
|
selected or not.
|
||||||
|
|
||||||
|
First day of the week is taken from config settings by default. It can be
|
||||||
|
altered by using the API :py:attr:`~Dayselector.week_start` API.
|
||||||
|
|
||||||
|
APIs are provided for setting the duration of weekend
|
||||||
|
:py:attr:`~Dayselector.weekend_start` and :py:attr:`~Dayselector.weekend_length`
|
||||||
|
does this job.
|
||||||
|
|
||||||
|
Two styles of weekdays and weekends are supported in Dayselector.
|
||||||
|
Application can emit signals on individual check objects for setting the
|
||||||
|
weekday, weekend styles.
|
||||||
|
|
||||||
|
Once the weekend start day or weekend length changes, all the weekday &
|
||||||
|
weekend styles will be reset to default style. It's the application's
|
||||||
|
responsibility to set the styles again by sending corresponding signals.
|
||||||
|
|
||||||
|
"day0" indicates Sunday, "day1" indicates Monday etc. continues and so,
|
||||||
|
"day6" indicates the Saturday part name.
|
||||||
|
|
||||||
|
Application can change individual day display string by using the API
|
||||||
|
:py:meth:`~efl.elementary.object.Object.part_text_set`.
|
||||||
|
|
||||||
|
:py:meth:`~efl.elementary.object.Object.part_content_set` API sets the
|
||||||
|
individual day object only if the passed one is a Check widget.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``dayselector,changed`` - when the user changes the state of a day.
|
||||||
|
- ``language,changed`` - the program's language changed
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Dayselector_Day:
|
||||||
|
|
||||||
|
Dayselector days
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. data:: ELM_DAYSELECTOR_SUN
|
||||||
|
|
||||||
|
Sunday
|
||||||
|
|
||||||
|
.. data:: ELM_DAYSELECTOR_MON
|
||||||
|
|
||||||
|
Monday
|
||||||
|
|
||||||
|
.. data:: ELM_DAYSELECTOR_TUE
|
||||||
|
|
||||||
|
Tuesday
|
||||||
|
|
||||||
|
.. data:: ELM_DAYSELECTOR_WED
|
||||||
|
|
||||||
|
Wednesday
|
||||||
|
|
||||||
|
.. data:: ELM_DAYSELECTOR_THU
|
||||||
|
|
||||||
|
Thursday
|
||||||
|
|
||||||
|
.. data:: ELM_DAYSELECTOR_FRI
|
||||||
|
|
||||||
|
Friday
|
||||||
|
|
||||||
|
.. data:: ELM_DAYSELECTOR_SAT
|
||||||
|
|
||||||
|
Saturday
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Dayselector
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
.. autoclass:: Dayselector
|
||||||
|
|
|
@ -1,2 +1,72 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.diskselector
|
Diskselector
|
||||||
|
############
|
||||||
|
|
||||||
|
.. 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
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``selected`` - when item is selected, i.e. scroller stops.
|
||||||
|
- ``clicked`` - This is called when a user clicks an item
|
||||||
|
- ``scroll,anim,start`` - scrolling animation has started
|
||||||
|
- ``scroll,anim,stop`` - scrolling animation has stopped
|
||||||
|
- ``scroll,drag,start`` - dragging the diskselector has started
|
||||||
|
- ``scroll,drag,stop`` - dragging the diskselector has stopped
|
||||||
|
- ``focused`` - When the diskselector has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the diskselector has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
.. note:: The ``scroll,anim,*`` and ``scroll,drag,*`` signals are only emitted
|
||||||
|
by user intervention.
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``icon`` - An icon in the diskselector item
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Label of the diskselector item
|
||||||
|
|
||||||
|
|
||||||
|
Scrollable Interface
|
||||||
|
====================
|
||||||
|
|
||||||
|
This widget supports the scrollable interface.
|
||||||
|
|
||||||
|
If you wish to control the scrolling behaviour using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.scroller.Scrollable` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class ScrollableGenlist(Genlist, Scrollable):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
Genlist.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Diskselector
|
||||||
|
DiskselectorItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Diskselector
|
||||||
|
.. autoclass:: DiskselectorItem
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
|
.. module:: efl.elementary
|
||||||
Elementary
|
|
||||||
##########
|
|
||||||
|
|
||||||
|
|
||||||
What is elementary?
|
What is elementary?
|
||||||
===================
|
*******************
|
||||||
|
|
||||||
Elementary is a the high level toolkit based on the underlying efl
|
Elementary is a the high level toolkit based on the underlying efl
|
||||||
technologies (:doc:`Evas </evas/evas>`, :doc:`Edje </edje/edje>`,
|
technologies (:doc:`Evas </evas/evas>`, :doc:`Edje </edje/edje>`,
|
||||||
|
@ -16,10 +13,10 @@ of flexibility.
|
||||||
|
|
||||||
|
|
||||||
Callbacks
|
Callbacks
|
||||||
=========
|
*********
|
||||||
|
|
||||||
Widget callbacks
|
Widget callbacks
|
||||||
----------------
|
================
|
||||||
|
|
||||||
Widget callbacks are set with callback_*_add methods which take a callable,
|
Widget callbacks are set with callback_*_add methods which take a callable,
|
||||||
and optional args, kwargs as data.
|
and optional args, kwargs as data.
|
||||||
|
@ -34,7 +31,7 @@ or::
|
||||||
|
|
||||||
|
|
||||||
Event callbacks
|
Event callbacks
|
||||||
---------------
|
===============
|
||||||
|
|
||||||
Event callbacks have signature of::
|
Event callbacks have signature of::
|
||||||
|
|
||||||
|
@ -42,91 +39,418 @@ Event callbacks have signature of::
|
||||||
|
|
||||||
|
|
||||||
A sample Python Elementary program
|
A sample Python Elementary program
|
||||||
==================================
|
**********************************
|
||||||
|
|
||||||
.. literalinclude:: ../../examples/elementary/test_win_dialog.py
|
.. literalinclude:: ../../examples/elementary/test_win_dialog.py
|
||||||
:language: python
|
:language: python
|
||||||
|
|
||||||
|
|
||||||
API Reference
|
API Reference
|
||||||
=============
|
*************
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Object_Layer:
|
||||||
|
|
||||||
|
Object layers
|
||||||
|
-------------
|
||||||
|
|
||||||
|
.. versionadded:: 1.14
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_LAYER_BACKGROUND
|
||||||
|
|
||||||
|
where to place backgrounds
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_LAYER_DEFAULT
|
||||||
|
|
||||||
|
Evas_Object default layer (and thus for Elementary)
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_LAYER_FOCUS
|
||||||
|
|
||||||
|
where focus object visualization is
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_LAYER_TOOLTIP
|
||||||
|
|
||||||
|
where to show tooltips
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_LAYER_CURSOR
|
||||||
|
|
||||||
|
where to show cursors
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_LAYER_LAST
|
||||||
|
|
||||||
|
last layer known by Elementary
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Policy:
|
||||||
|
|
||||||
|
Policy types
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_QUIT
|
||||||
|
|
||||||
|
Under which circumstances the application should quit automatically.
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_EXIT
|
||||||
|
|
||||||
|
Defines elm_exit() behaviour. (since 1.8)
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_THROTTLE
|
||||||
|
|
||||||
|
Defines how throttling should work (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Policy_Quit:
|
||||||
|
|
||||||
|
Quit policy types
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_QUIT_NONE
|
||||||
|
|
||||||
|
Never quit the application automatically
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_QUIT_LAST_WINDOW_CLOSED
|
||||||
|
|
||||||
|
Quit when the application's last window is closed
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Policy_Exit:
|
||||||
|
|
||||||
|
Exit policy types
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Possible values for the ELM_POLICY_EXIT policy.
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_EXIT_NONE
|
||||||
|
|
||||||
|
Just quit the main loop on exit().
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_EXIT_WINDOWS_DEL
|
||||||
|
|
||||||
|
Delete all the windows after quitting the main loop.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Policy_Throttle:
|
||||||
|
|
||||||
|
Throttle policy types
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Possible values for the #ELM_POLICY_THROTTLE policy.
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_THROTTLE_CONFIG
|
||||||
|
|
||||||
|
Do whatever elementary config is configured to do.
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_THROTTLE_HIDDEN_ALWAYS
|
||||||
|
|
||||||
|
Always throttle when all windows are no longer visible.
|
||||||
|
|
||||||
|
.. data:: ELM_POLICY_THROTTLE_NEVER
|
||||||
|
|
||||||
|
Never throttle when windows are all hidden, regardless of config settings.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Process_State:
|
||||||
|
|
||||||
|
Elm_Process_State
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_PROCESS_STATE_FOREGROUND
|
||||||
|
|
||||||
|
The process is in a foreground/active/running state - work as normal.
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_PROCESS_STATE_BACKGROUND
|
||||||
|
|
||||||
|
The process is in the bacgkround, so you may want to stop animating,
|
||||||
|
fetching data as often etc.
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Sys_Notify_Closed_Reason:
|
||||||
|
|
||||||
|
Notify close reasons
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
The reason the notification was closed
|
||||||
|
|
||||||
|
.. data:: ELM_SYS_NOTIFY_CLOSED_EXPIRED
|
||||||
|
|
||||||
|
The notification expired.
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_SYS_NOTIFY_CLOSED_DISMISSED
|
||||||
|
|
||||||
|
The notification was dismissed by the user.
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_SYS_NOTIFY_CLOSED_REQUESTED
|
||||||
|
|
||||||
|
The notification was closed by a call to CloseNotification method.
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_SYS_NOTIFY_CLOSED_UNDEFINED
|
||||||
|
|
||||||
|
Undefined/reserved reasons.
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Sys_Notify_Urgency:
|
||||||
|
|
||||||
|
Notify urgency levels
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Urgency levels of a notification
|
||||||
|
|
||||||
|
:see: :py:func:`sys_notify_send`
|
||||||
|
|
||||||
|
.. data:: ELM_SYS_NOTIFY_URGENCY_LOW
|
||||||
|
|
||||||
|
Low
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_SYS_NOTIFY_URGENCY_NORMAL
|
||||||
|
|
||||||
|
Normal
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_SYS_NOTIFY_URGENCY_CRITICAL
|
||||||
|
|
||||||
|
Critical
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Glob_Match_Flags:
|
||||||
|
|
||||||
|
Glob matching
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Glob matching bitfiled flags
|
||||||
|
|
||||||
|
.. data:: ELM_GLOB_MATCH_NO_ESCAPE
|
||||||
|
|
||||||
|
Treat backslash as an ordinary character instead of escape.
|
||||||
|
|
||||||
|
.. versionadded:: 1.11
|
||||||
|
|
||||||
|
.. data:: ELM_GLOB_MATCH_PATH
|
||||||
|
|
||||||
|
Match a slash in string only with a slash in pattern and not by an
|
||||||
|
asterisk (*) or a question mark (?) metacharacter, nor by a bracket
|
||||||
|
expression ([]) containing a slash.
|
||||||
|
|
||||||
|
.. versionadded:: 1.11
|
||||||
|
|
||||||
|
.. data:: ELM_GLOB_MATCH_PERIOD
|
||||||
|
|
||||||
|
Leading period in string has to be matched exactly by a period in
|
||||||
|
pattern. A period is considered to be leading if it is the first
|
||||||
|
character in string, or if both ELM_GLOB_MATCH_PATH is set and the
|
||||||
|
period immediately follows a slash.
|
||||||
|
|
||||||
|
.. versionadded:: 1.11
|
||||||
|
|
||||||
|
.. data:: ELM_GLOB_MATCH_NOCASE
|
||||||
|
|
||||||
|
The pattern is matched case-insensitively.
|
||||||
|
|
||||||
|
.. versionadded:: 1.11
|
||||||
|
|
||||||
|
|
||||||
|
.. _General:
|
||||||
|
|
||||||
|
General
|
||||||
|
=======
|
||||||
|
|
||||||
|
General Elementary API. Functions that don't relate to
|
||||||
|
Elementary objects specifically.
|
||||||
|
|
||||||
|
Here are documented functions which init/shutdown the library,
|
||||||
|
that apply to generic Elementary objects, that deal with
|
||||||
|
configuration, et cetera.
|
||||||
|
|
||||||
|
.. autoclass:: EthumbConnect
|
||||||
|
.. autoclass:: ConfigAllChanged
|
||||||
|
.. autoclass:: PolicyChanged
|
||||||
|
.. autoclass:: ProcessBackground
|
||||||
|
.. autoclass:: ProcessForeground
|
||||||
|
|
||||||
|
.. autofunction:: on_ethumb_connect
|
||||||
|
.. autofunction:: on_config_all_changed
|
||||||
|
.. autofunction:: on_policy_changed
|
||||||
|
.. autofunction:: on_process_background
|
||||||
|
.. autofunction:: on_process_foreground
|
||||||
|
|
||||||
|
.. autofunction:: init
|
||||||
|
.. autofunction:: shutdown
|
||||||
|
.. autofunction:: run
|
||||||
|
.. autofunction:: exit
|
||||||
|
|
||||||
|
.. autofunction:: policy_set
|
||||||
|
.. autofunction:: policy_get
|
||||||
|
.. autofunction:: language_set
|
||||||
|
.. autofunction:: process_state_get
|
||||||
|
|
||||||
|
|
||||||
|
.. _Fingers:
|
||||||
|
|
||||||
|
Fingers
|
||||||
|
=======
|
||||||
|
|
||||||
|
Elementary is designed to be finger-friendly for touchscreens,
|
||||||
|
and so in addition to scaling for display resolution, it can
|
||||||
|
also scale based on finger "resolution" (or size). You can then
|
||||||
|
customize the granularity of the areas meant to receive clicks
|
||||||
|
on touchscreens.
|
||||||
|
|
||||||
|
Different profiles may have pre-set values for finger sizes.
|
||||||
|
|
||||||
|
.. autofunction:: coords_finger_size_adjust
|
||||||
|
|
||||||
|
|
||||||
|
.. _Caches:
|
||||||
|
|
||||||
|
Caches
|
||||||
|
======
|
||||||
|
|
||||||
|
These are functions which let one fine-tune some cache values for
|
||||||
|
Elementary applications, thus allowing for performance adjustments.
|
||||||
|
|
||||||
|
.. autofunction:: cache_all_flush
|
||||||
|
|
||||||
|
|
||||||
|
.. _Fonts:
|
||||||
|
|
||||||
|
Fonts
|
||||||
|
=====
|
||||||
|
|
||||||
|
These are functions dealing with font rendering, selection and the
|
||||||
|
like for Elementary applications. One might fetch which system
|
||||||
|
fonts are there to use and set custom fonts for individual classes
|
||||||
|
of UI items containing text (text classes).
|
||||||
|
|
||||||
|
.. autofunction:: font_properties_get
|
||||||
|
.. autofunction:: font_properties_free
|
||||||
|
|
||||||
|
.. autofunction:: font_fontconfig_name_get
|
||||||
|
|
||||||
|
.. autoclass:: FontProperties
|
||||||
|
|
||||||
|
|
||||||
|
.. _Debug:
|
||||||
|
|
||||||
|
Debug
|
||||||
|
=====
|
||||||
|
|
||||||
|
Don't use them unless you are sure.
|
||||||
|
|
||||||
|
.. autofunction:: object_tree_dump
|
||||||
|
.. autofunction:: object_tree_dot_dump
|
||||||
|
|
||||||
|
|
||||||
|
.. _Sys_Notify:
|
||||||
|
|
||||||
|
Sys Notify
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. autofunction:: sys_notify_close
|
||||||
|
.. autofunction:: sys_notify_send
|
||||||
|
|
||||||
|
.. autofunction:: on_sys_notify_notification_closed
|
||||||
|
.. autofunction:: on_sys_notify_action_invoked
|
||||||
|
|
||||||
|
.. autoclass:: SysNotifyNotificationClosed
|
||||||
|
.. autoclass:: SysNotifyActionInvoked
|
||||||
|
|
||||||
|
|
||||||
|
Widgets
|
||||||
|
=======
|
||||||
|
|
||||||
.. toctree:: *
|
.. toctree:: *
|
||||||
:glob:
|
:glob:
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
Inheritance diagram
|
||||||
===================
|
===================
|
||||||
|
|
||||||
.. inheritance-diagram::
|
.. inheritance-diagram::
|
||||||
efl.elementary.actionslider
|
efl.elementary.Actionslider
|
||||||
efl.elementary.background
|
efl.elementary.Background
|
||||||
efl.elementary.box
|
efl.elementary.Box
|
||||||
efl.elementary.bubble
|
efl.elementary.Bubble
|
||||||
efl.elementary.button
|
efl.elementary.Button
|
||||||
efl.elementary.calendar_elm
|
efl.elementary.Calendar
|
||||||
efl.elementary.check
|
efl.elementary.Check
|
||||||
efl.elementary.clock
|
efl.elementary.Clock
|
||||||
efl.elementary.colorselector
|
efl.elementary.Colorselector
|
||||||
efl.elementary.configuration
|
efl.elementary.Configuration
|
||||||
efl.elementary.conformant
|
efl.elementary.Conformant
|
||||||
efl.elementary.ctxpopup
|
efl.elementary.Ctxpopup
|
||||||
efl.elementary.datetime_elm
|
efl.elementary.Datetime
|
||||||
efl.elementary.dayselector
|
efl.elementary.Dayselector
|
||||||
efl.elementary.diskselector
|
efl.elementary.Diskselector
|
||||||
efl.elementary.entry
|
efl.elementary.Entry
|
||||||
efl.elementary.fileselector
|
efl.elementary.Fileselector
|
||||||
efl.elementary.fileselector_button
|
efl.elementary.FileselectorButton
|
||||||
efl.elementary.fileselector_entry
|
efl.elementary.FileselectorEntry
|
||||||
efl.elementary.flip
|
efl.elementary.Flip
|
||||||
efl.elementary.flipselector
|
efl.elementary.FlipSelector
|
||||||
efl.elementary.frame
|
efl.elementary.Frame
|
||||||
efl.elementary.general
|
efl.elementary.Gengrid
|
||||||
efl.elementary.gengrid
|
efl.elementary.Genlist
|
||||||
efl.elementary.genlist
|
efl.elementary.GestureLayer
|
||||||
efl.elementary.gesture_layer
|
efl.elementary.Grid
|
||||||
efl.elementary.grid
|
efl.elementary.Hover
|
||||||
efl.elementary.hover
|
efl.elementary.Hoversel
|
||||||
efl.elementary.hoversel
|
efl.elementary.Icon
|
||||||
efl.elementary.icon
|
efl.elementary.Image
|
||||||
efl.elementary.image
|
efl.elementary.Index
|
||||||
efl.elementary.index
|
efl.elementary.InnerWindow
|
||||||
efl.elementary.innerwindow
|
efl.elementary.Label
|
||||||
efl.elementary.label
|
efl.elementary.Layout
|
||||||
efl.elementary.layout
|
efl.elementary.List
|
||||||
efl.elementary.layout_class
|
efl.elementary.Map
|
||||||
efl.elementary.list
|
efl.elementary.Mapbuf
|
||||||
efl.elementary.map
|
efl.elementary.Menu
|
||||||
efl.elementary.mapbuf
|
efl.elementary.MultiButtonEntry
|
||||||
efl.elementary.menu
|
efl.elementary.Naviframe
|
||||||
efl.elementary.multibuttonentry
|
efl.elementary.Notify
|
||||||
efl.elementary.naviframe
|
efl.elementary.Object
|
||||||
efl.elementary.need
|
efl.elementary.ObjectItem
|
||||||
efl.elementary.notify
|
efl.elementary.Panel
|
||||||
efl.elementary.object
|
efl.elementary.Panes
|
||||||
efl.elementary.object_item
|
efl.elementary.Photo
|
||||||
efl.elementary.panel
|
efl.elementary.Photocam
|
||||||
efl.elementary.panes
|
efl.elementary.Plug
|
||||||
efl.elementary.photo
|
efl.elementary.Popup
|
||||||
efl.elementary.photocam
|
efl.elementary.Progressbar
|
||||||
efl.elementary.plug
|
efl.elementary.Radio
|
||||||
efl.elementary.popup
|
efl.elementary.Scroller
|
||||||
efl.elementary.progressbar
|
efl.elementary.SegmentControl
|
||||||
efl.elementary.radio
|
efl.elementary.Separator
|
||||||
efl.elementary.scroller
|
efl.elementary.Slider
|
||||||
efl.elementary.segment_control
|
efl.elementary.Slideshow
|
||||||
efl.elementary.separator
|
efl.elementary.Spinner
|
||||||
efl.elementary.slider
|
efl.elementary.Systray
|
||||||
efl.elementary.slideshow
|
efl.elementary.Table
|
||||||
efl.elementary.spinner
|
efl.elementary.Theme
|
||||||
efl.elementary.systray
|
efl.elementary.Thumb
|
||||||
efl.elementary.table
|
efl.elementary.Toolbar
|
||||||
efl.elementary.theme
|
efl.elementary.Transit
|
||||||
efl.elementary.thumb
|
efl.elementary.Video
|
||||||
efl.elementary.toolbar
|
efl.elementary.Web
|
||||||
efl.elementary.transit
|
efl.elementary.Window
|
||||||
efl.elementary.video
|
:parts: 1
|
||||||
efl.elementary.web
|
|
||||||
efl.elementary.window
|
|
||||||
:parts: 2
|
|
||||||
|
|
|
@ -1,2 +1,581 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.entry
|
Entry
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/entry-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
An entry is a convenience widget which shows a box that the user can
|
||||||
|
enter text into.
|
||||||
|
|
||||||
|
Entries by default don't scroll, so they grow to accommodate the entire text,
|
||||||
|
resizing the parent window as needed. This can be changed with the property
|
||||||
|
:py:attr:`~efl.elementary.entry.Entry.scrollable`.
|
||||||
|
|
||||||
|
They can also be single line or multi line (the default) and when set
|
||||||
|
to multi line mode they support text wrapping in any of the modes
|
||||||
|
indicated by :ref:`Elm_Wrap_Type`.
|
||||||
|
|
||||||
|
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
|
||||||
|
====================
|
||||||
|
|
||||||
|
This widget supports the scrollable interface.
|
||||||
|
|
||||||
|
If you wish to control the scolling behaviour using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.scroller.Scrollable` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class ScrollableGenlist(Genlist, Scrollable):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
Genlist.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Formatted text
|
||||||
|
==============
|
||||||
|
|
||||||
|
The markup tags supported by the Entry are defined by the theme, but
|
||||||
|
even when writing new themes or extensions it's a good idea to stick to
|
||||||
|
a sane default, to maintain coherency and avoid application breakages.
|
||||||
|
Currently defined by the default theme are the following tags:
|
||||||
|
|
||||||
|
``<br>``
|
||||||
|
Inserts a line break.
|
||||||
|
``<ps>``
|
||||||
|
Inserts a paragraph separator. This is preferred over line
|
||||||
|
breaks.
|
||||||
|
``<tab>``
|
||||||
|
Inserts a tab.
|
||||||
|
``<em>...</em>``
|
||||||
|
Emphasis. Sets the *oblique* style for the
|
||||||
|
enclosed text.
|
||||||
|
``<b>...</b>``
|
||||||
|
Sets the **bold** style for the enclosed text.
|
||||||
|
``<link>...</link>``
|
||||||
|
Underlines the enclosed text.
|
||||||
|
``<hilight>...</hilight>``
|
||||||
|
Highlights the enclosed text.
|
||||||
|
|
||||||
|
|
||||||
|
Special markups
|
||||||
|
===============
|
||||||
|
|
||||||
|
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,
|
||||||
|
like this::
|
||||||
|
|
||||||
|
This text is outside <a href=anc-01>but this one is an anchor</a>
|
||||||
|
|
||||||
|
The ``href`` attribute in the opening tag gives the name that will be
|
||||||
|
used to identify the anchor and it can be any valid utf8 string.
|
||||||
|
|
||||||
|
When an anchor is clicked, an ``"anchor,clicked"`` signal is emitted with
|
||||||
|
an :py:class:`EntryAnchorInfo` in the ``event_info`` parameter for the
|
||||||
|
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::
|
||||||
|
|
||||||
|
<item size=16x16 vsize=full href=emoticon/haha></item>
|
||||||
|
|
||||||
|
Just like with anchors, the ``href`` identifies each item, but these need,
|
||||||
|
in addition, to indicate their size, which is done using any one of
|
||||||
|
``size``, ``absize`` or ``relsize`` attributes. These attributes take their
|
||||||
|
value in the WxH format, where W is the width and H the height of the
|
||||||
|
item.
|
||||||
|
|
||||||
|
- absize: Absolute pixel size for the item. Whatever value is set will
|
||||||
|
be the item's size regardless of any scale value the object may have
|
||||||
|
been set to. The final line height will be adjusted to fit larger items.
|
||||||
|
- size: Similar to *absize*, but it's adjusted to the scale value set
|
||||||
|
for the object.
|
||||||
|
- relsize: Size is adjusted for the item to fit within the current
|
||||||
|
line height.
|
||||||
|
|
||||||
|
Besides their size, items are specified a ``vsize`` value that affects
|
||||||
|
how their final size and position are calculated. The possible values
|
||||||
|
are:
|
||||||
|
|
||||||
|
- ``ascent``: Item will be placed within the line's baseline and its
|
||||||
|
ascent. That is, the height between the line where all characters are
|
||||||
|
positioned and the highest point in the line. For ``size`` and
|
||||||
|
``absize`` items, the descent value will be added to the total line
|
||||||
|
height to make them fit. ``relsize`` items will be adjusted to fit
|
||||||
|
within this space.
|
||||||
|
- ``full``: Items will be placed between the descent and ascent, or the
|
||||||
|
lowest point in the line and its highest.
|
||||||
|
|
||||||
|
After the size for an item is calculated, the entry will request an object to
|
||||||
|
place in its space. For this, the functions set with
|
||||||
|
:py:meth:`~efl.elementary.entry.Entry.item_provider_append` and related
|
||||||
|
functions will be called in order until one of them returns a non-*None* value.
|
||||||
|
If no providers are available, or all of them return *None*, then the entry
|
||||||
|
falls back to one of the internal defaults, provided the name matches with one
|
||||||
|
of them.
|
||||||
|
|
||||||
|
All of the following are currently supported:
|
||||||
|
|
||||||
|
- emoticon/angry
|
||||||
|
- emoticon/angry-shout
|
||||||
|
- emoticon/crazy-laugh
|
||||||
|
- emoticon/evil-laugh
|
||||||
|
- emoticon/evil
|
||||||
|
- emoticon/goggle-smile
|
||||||
|
- emoticon/grumpy
|
||||||
|
- emoticon/grumpy-smile
|
||||||
|
- emoticon/guilty
|
||||||
|
- emoticon/guilty-smile
|
||||||
|
- emoticon/haha
|
||||||
|
- emoticon/half-smile
|
||||||
|
- emoticon/happy-panting
|
||||||
|
- emoticon/happy
|
||||||
|
- emoticon/indifferent
|
||||||
|
- emoticon/kiss
|
||||||
|
- emoticon/knowing-grin
|
||||||
|
- emoticon/laugh
|
||||||
|
- emoticon/little-bit-sorry
|
||||||
|
- emoticon/love-lots
|
||||||
|
- emoticon/love
|
||||||
|
- emoticon/minimal-smile
|
||||||
|
- emoticon/not-happy
|
||||||
|
- emoticon/not-impressed
|
||||||
|
- emoticon/omg
|
||||||
|
- emoticon/opensmile
|
||||||
|
- emoticon/smile
|
||||||
|
- emoticon/sorry
|
||||||
|
- emoticon/squint-laugh
|
||||||
|
- emoticon/surprised
|
||||||
|
- emoticon/suspicious
|
||||||
|
- emoticon/tongue-dangling
|
||||||
|
- emoticon/tongue-poke
|
||||||
|
- emoticon/uh
|
||||||
|
- emoticon/unhappy
|
||||||
|
- emoticon/very-sorry
|
||||||
|
- emoticon/what
|
||||||
|
- emoticon/wink
|
||||||
|
- emoticon/worried
|
||||||
|
- emoticon/wtf
|
||||||
|
|
||||||
|
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
|
||||||
|
=====================
|
||||||
|
|
||||||
|
There are 2 major ways to change the entry's style:
|
||||||
|
|
||||||
|
- Theme - set the "base" field to the desired style.
|
||||||
|
- User style - Pushing overrides to the theme style to the textblock object
|
||||||
|
by using :py:meth:`~efl.elementary.entry.Entry.text_style_user_push`.
|
||||||
|
|
||||||
|
You should modify the theme when you would like to change the style for
|
||||||
|
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
|
||||||
|
========================
|
||||||
|
|
||||||
|
Entries have convenience functions to load text from a file and save changes
|
||||||
|
back to it after a short delay. The automatic saving is enabled by default, but
|
||||||
|
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
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed``: The text within the entry was changed.
|
||||||
|
- ``changed,user``: The text within the entry was changed because of user
|
||||||
|
interaction.
|
||||||
|
- ``activated``: The enter key was pressed on a single line entry.
|
||||||
|
- ``aborted``: The escape key was pressed on a single line entry. (since 1.7)
|
||||||
|
- ``press``: A mouse button has been pressed on the entry.
|
||||||
|
- ``longpressed``: A mouse button has been pressed and held for a couple
|
||||||
|
seconds.
|
||||||
|
- ``clicked``: The entry has been clicked (mouse press and release).
|
||||||
|
- ``clicked,double``: The entry has been double clicked.
|
||||||
|
- ``clicked,triple``: The entry has been triple clicked.
|
||||||
|
- ``focused``: The entry has received focus.
|
||||||
|
- ``unfocused``: The entry has lost focus.
|
||||||
|
- ``selection,paste``: A paste of the clipboard contents was requested.
|
||||||
|
- ``selection,copy``: A copy of the selected text into the clipboard was
|
||||||
|
requested.
|
||||||
|
- ``selection,cut``: A cut of the selected text into the clipboard was
|
||||||
|
requested.
|
||||||
|
- ``selection,start``: A selection has begun and no previous selection
|
||||||
|
existed.
|
||||||
|
- ``selection,changed``: The current selection has changed.
|
||||||
|
- ``selection,cleared``: The current selection has been cleared.
|
||||||
|
- ``cursor,changed``: The cursor has changed position.
|
||||||
|
- ``anchor,clicked``: An anchor has been clicked. The event_info
|
||||||
|
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
|
||||||
|
- ``anchor,in``: Mouse cursor has moved into an anchor. The event_info
|
||||||
|
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
|
||||||
|
- ``anchor,out``: Mouse cursor has moved out of an anchor. The event_info
|
||||||
|
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
|
||||||
|
- ``anchor,up``: Mouse button has been unpressed on an anchor. The event_info
|
||||||
|
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
|
||||||
|
- ``anchor,down``: Mouse button has been pressed on an anchor. The event_info
|
||||||
|
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
|
||||||
|
- ``preedit,changed``: The preedit string has changed.
|
||||||
|
- ``language,changed``: Program language changed.
|
||||||
|
- ``text,set,done``: Whole text has been set to the entry.
|
||||||
|
- ``rejected``: .Called when some of inputs are rejected by the filter. (since 1.9)
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``icon`` - An icon in the entry
|
||||||
|
- ``end`` - A content in the end of the entry
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
No auto-capitalization when typing
|
||||||
|
|
||||||
|
.. data:: ELM_AUTOCAPITAL_TYPE_WORD
|
||||||
|
|
||||||
|
Autocapitalize each word typed
|
||||||
|
|
||||||
|
.. data:: ELM_AUTOCAPITAL_TYPE_SENTENCE
|
||||||
|
|
||||||
|
Autocapitalize the start of each sentence
|
||||||
|
|
||||||
|
.. data:: ELM_AUTOCAPITAL_TYPE_ALLCHARACTER
|
||||||
|
|
||||||
|
Autocapitalize all letters
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Entry_Cnp_Mode:
|
||||||
|
|
||||||
|
Copy & paste modes
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. data:: ELM_CNP_MODE_MARKUP
|
||||||
|
|
||||||
|
Copy & paste text with markup tags
|
||||||
|
|
||||||
|
.. data:: ELM_CNP_MODE_NO_IMAGE
|
||||||
|
|
||||||
|
Copy & paste text without item (image) tags
|
||||||
|
|
||||||
|
.. data:: ELM_CNP_MODE_PLAINTEXT
|
||||||
|
|
||||||
|
Copy & paste text without markup tags
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Input_Hints:
|
||||||
|
|
||||||
|
Input Hints
|
||||||
|
-----------
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_HINT_NONE
|
||||||
|
|
||||||
|
No active hints
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_HINT_AUTO_COMPLETE
|
||||||
|
|
||||||
|
Suggest word auto completion
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_HINT_SENSITIVE_DATA
|
||||||
|
|
||||||
|
typed text should not be stored
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Entry_Input_Panel_Lang:
|
||||||
|
|
||||||
|
Input panel language sort order
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LANG_AUTOMATIC
|
||||||
|
|
||||||
|
Automatic
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LANG_ALPHABET
|
||||||
|
|
||||||
|
Alphabetic
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Entry_Input_Panel_Layout:
|
||||||
|
|
||||||
|
Input panel layouts
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NORMAL
|
||||||
|
|
||||||
|
Default layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NUMBER
|
||||||
|
|
||||||
|
Number layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_EMAIL
|
||||||
|
|
||||||
|
Email layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_URL
|
||||||
|
|
||||||
|
URL layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_PHONENUMBER
|
||||||
|
|
||||||
|
Phone number layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_IP
|
||||||
|
|
||||||
|
IP layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_MONTH
|
||||||
|
|
||||||
|
Month layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NUMBERONLY
|
||||||
|
|
||||||
|
Number only layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_INVALID
|
||||||
|
|
||||||
|
Never use this
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_HEX
|
||||||
|
|
||||||
|
Hexadecimal layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_TERMINAL
|
||||||
|
|
||||||
|
Command-line terminal layout
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_PASSWORD
|
||||||
|
|
||||||
|
Like normal, but no auto-correct, no auto-capitalization etc.
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_DATETIME
|
||||||
|
|
||||||
|
Date and time layout
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_EMOTICON
|
||||||
|
|
||||||
|
Emoticon layout
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Input_Panel_Layout_Normal_Variation:
|
||||||
|
|
||||||
|
Input panel normal layout variation
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_NORMAL
|
||||||
|
|
||||||
|
The plain normal layout
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_FILENAME
|
||||||
|
|
||||||
|
Filename layout. Symbols such as '/' should be disabled
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_PERSON_NAME
|
||||||
|
|
||||||
|
The name of a person
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Input_Panel_Layout_Numberonly_Variation:
|
||||||
|
|
||||||
|
Input panel numberonly layout variation
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL
|
||||||
|
|
||||||
|
The numberonly normal layout
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED
|
||||||
|
|
||||||
|
The signed number layout
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_DECIMAL
|
||||||
|
|
||||||
|
The decimal number layout
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED_AND_DECIMAL
|
||||||
|
|
||||||
|
The signed and decimal number layout
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Input_Panel_Layout_Password_Variation:
|
||||||
|
|
||||||
|
Input panel password layout variation
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NORMAL
|
||||||
|
|
||||||
|
The normal password layout
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NUMBERONLY
|
||||||
|
|
||||||
|
The password layout to allow only number
|
||||||
|
|
||||||
|
.. versionadded:: 1.12
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Entry_Input_Panel_Return_Key_Type:
|
||||||
|
|
||||||
|
Input panel return key modes
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT
|
||||||
|
|
||||||
|
Default
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE
|
||||||
|
|
||||||
|
Done
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_GO
|
||||||
|
|
||||||
|
Go
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_JOIN
|
||||||
|
|
||||||
|
Join
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN
|
||||||
|
|
||||||
|
Login
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH
|
||||||
|
|
||||||
|
Search
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEND
|
||||||
|
|
||||||
|
Send
|
||||||
|
|
||||||
|
.. data:: ELM_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN
|
||||||
|
|
||||||
|
Sign-in
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Entry_Text_Format:
|
||||||
|
|
||||||
|
Text format
|
||||||
|
-----------
|
||||||
|
|
||||||
|
.. data:: ELM_TEXT_FORMAT_PLAIN_UTF8
|
||||||
|
|
||||||
|
Plain UTF-8 type
|
||||||
|
|
||||||
|
.. data:: ELM_TEXT_FORMAT_MARKUP_UTF8
|
||||||
|
|
||||||
|
UTF-8 with markup
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Wrap_Type:
|
||||||
|
|
||||||
|
Wrap mode
|
||||||
|
---------
|
||||||
|
|
||||||
|
.. data:: ELM_WRAP_NONE
|
||||||
|
|
||||||
|
No wrap
|
||||||
|
|
||||||
|
.. data:: ELM_WRAP_CHAR
|
||||||
|
|
||||||
|
Wrap between characters
|
||||||
|
|
||||||
|
.. data:: ELM_WRAP_WORD
|
||||||
|
|
||||||
|
Wrap in allowed wrapping points (as defined in the unicode standard)
|
||||||
|
|
||||||
|
.. data:: ELM_WRAP_MIXED
|
||||||
|
|
||||||
|
Word wrap, and if that fails, char wrap
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Entry
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
.. autofunction:: markup_to_utf8
|
||||||
|
.. autofunction:: utf8_to_markup
|
||||||
|
|
||||||
|
.. autoclass:: Entry
|
||||||
|
.. autoclass:: EntryContextMenuItem
|
||||||
|
.. autoclass:: FilterLimitSize
|
||||||
|
.. autoclass:: FilterAcceptSet
|
||||||
|
.. autoclass:: EntryAnchorInfo
|
||||||
|
.. autoclass:: EntryAnchorHoverInfo
|
||||||
|
|
|
@ -1,2 +1,137 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.fileselector
|
Fileselector
|
||||||
|
############
|
||||||
|
|
||||||
|
.. 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.
|
||||||
|
|
||||||
|
It contains shortcut buttons for home directory (*~*) and to jump one
|
||||||
|
directory upwards (..), as well as cancel/ok buttons to confirm/cancel a
|
||||||
|
given selection. After either one of those two former actions, the file
|
||||||
|
selector will issue its ``"done"`` smart callback.
|
||||||
|
|
||||||
|
There's a text entry on it, too, showing the name of the current
|
||||||
|
selection. There's the possibility of making it editable, so it is
|
||||||
|
useful on file saving dialogs on applications, where one gives a file
|
||||||
|
name to save contents to, in a given directory in the system. This
|
||||||
|
custom file name will be reported on the ``"done"`` smart callback
|
||||||
|
(explained in sequence).
|
||||||
|
|
||||||
|
Finally, it has a view to display file system items into in two possible
|
||||||
|
forms:
|
||||||
|
|
||||||
|
- list
|
||||||
|
- grid
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
|
- ``done`` - the user has clicked on the "ok" or "cancel"
|
||||||
|
buttons (*event_info* is the selection's path)
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Layout as a list
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_GRID
|
||||||
|
|
||||||
|
Layout as a grid
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Fileselector_Sort:
|
||||||
|
|
||||||
|
Fileselector sort method
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_SORT_BY_FILENAME_ASC
|
||||||
|
|
||||||
|
Sort by filename in ascending order
|
||||||
|
|
||||||
|
.. versionadded:: 1.9
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_SORT_BY_FILENAME_DESC
|
||||||
|
|
||||||
|
Sort by filename in descending order
|
||||||
|
|
||||||
|
.. versionadded:: 1.9
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_SORT_BY_TYPE_ASC
|
||||||
|
|
||||||
|
Sort by file type in ascending order
|
||||||
|
|
||||||
|
.. versionadded:: 1.9
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_SORT_BY_TYPE_DESC
|
||||||
|
|
||||||
|
Sort by file type in descending order
|
||||||
|
|
||||||
|
.. versionadded:: 1.9
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_SORT_BY_SIZE_ASC
|
||||||
|
|
||||||
|
Sort by file size in ascending order
|
||||||
|
|
||||||
|
.. versionadded:: 1.9
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_SORT_BY_SIZE_DESC
|
||||||
|
|
||||||
|
Sort by file size in descending order
|
||||||
|
|
||||||
|
.. versionadded:: 1.9
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC
|
||||||
|
|
||||||
|
Sort by file modification date in ascending order
|
||||||
|
|
||||||
|
.. versionadded:: 1.9
|
||||||
|
|
||||||
|
.. data:: ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC
|
||||||
|
|
||||||
|
Sort by file modification date in descending order
|
||||||
|
|
||||||
|
.. versionadded:: 1.9
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Fileselector
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Fileselector
|
||||||
|
|
|
@ -1,2 +1,75 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.fileselector_button
|
Fileselector Button
|
||||||
|
###################
|
||||||
|
|
||||||
|
.. image:: /images/fileselector-button-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This is a button that, when clicked, creates an Elementary window (or
|
||||||
|
inner window) with a :py:class:`~efl.elementary.fileselector.Fileselector`
|
||||||
|
within.
|
||||||
|
|
||||||
|
When a file is chosen, the (inner) window is closed and the button emits
|
||||||
|
a signal having the selected file as it's ``event_info``.
|
||||||
|
|
||||||
|
This widget encapsulates operations on its internal file selector on its
|
||||||
|
own API. There is less control over its file selector than that one
|
||||||
|
would have instantiating one directly.
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
- ``default``
|
||||||
|
- ``anchor``
|
||||||
|
- ``hoversel_vertical``
|
||||||
|
- ``hoversel_vertical_entry``
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``file,chosen`` - the user has selected a path which comes as the
|
||||||
|
``event_info`` data
|
||||||
|
- ``language,changed`` - the program's language changed
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Label of the fileselector_button
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``icon`` - Icon of the fileselector_button
|
||||||
|
|
||||||
|
|
||||||
|
Fileselector Interface
|
||||||
|
======================
|
||||||
|
|
||||||
|
This widget supports the fileselector interface.
|
||||||
|
|
||||||
|
If you wish to control the fileselector part using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.fileselector.Fileselector` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class CustomFileselectorButton(Fileselector, FileselectorButton):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
FileselectorButton.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: FileselectorButton
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: FileselectorButton
|
||||||
|
|
|
@ -1,2 +1,90 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.fileselector_entry
|
Fileselector Entry
|
||||||
|
##################
|
||||||
|
|
||||||
|
.. image:: /images/fileselector-entry-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This is an entry made to be filled with or display a file
|
||||||
|
system path string.
|
||||||
|
|
||||||
|
Besides the entry itself, the widget has a
|
||||||
|
:py:class:`~efl.elementary.fileselector_button.FileselectorButton` on its side,
|
||||||
|
which will raise an internal
|
||||||
|
:py:class:`~efl.elementary.fileselector.Fileselector`, when clicked, for path
|
||||||
|
selection aided by file system navigation.
|
||||||
|
|
||||||
|
This file selector may appear in an Elementary window or in an
|
||||||
|
inner window. When a file is chosen from it, the (inner) window
|
||||||
|
is closed and the selected file's path string is exposed both as
|
||||||
|
a smart event and as the new text on the entry.
|
||||||
|
|
||||||
|
This widget encapsulates operations on its internal file
|
||||||
|
selector on its own API. There is less control over its file
|
||||||
|
selector than that one would have instantiating one directly.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - The text within the entry was changed
|
||||||
|
- ``activated`` - The entry has had editing finished and
|
||||||
|
changes are to be "committed"
|
||||||
|
- ``press`` - The entry has been clicked
|
||||||
|
- ``longpressed`` - The entry has been clicked (and held) for a
|
||||||
|
couple seconds
|
||||||
|
- ``clicked`` - The entry has been clicked
|
||||||
|
- ``clicked,double`` - The entry has been double clicked
|
||||||
|
- ``focused`` - The entry has received focus
|
||||||
|
- ``unfocused`` - The entry has lost focus
|
||||||
|
- ``selection,paste`` - A paste action has occurred on the
|
||||||
|
entry
|
||||||
|
- ``selection,copy`` - A copy action has occurred on the entry
|
||||||
|
- ``selection,cut`` - A cut action has occurred on the entry
|
||||||
|
- ``unpressed`` - The file selector entry's button was released
|
||||||
|
after being pressed.
|
||||||
|
- ``file,chosen`` - The user has selected a path via the file
|
||||||
|
selector entry's internal file selector, whose string
|
||||||
|
comes as the ``event_info`` data.
|
||||||
|
- ``language,changed`` - the program's language changed
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Label of the fileselector_button
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``button icon`` - Button icon of the fileselector_entry
|
||||||
|
|
||||||
|
|
||||||
|
Fileselector Interface
|
||||||
|
======================
|
||||||
|
|
||||||
|
This widget supports the fileselector interface.
|
||||||
|
|
||||||
|
If you wish to control the fileselector part using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.fileselector.Fileselector` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class CustomFileselectorButton(Fileselector, FileselectorButton):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
FileselectorButton.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: FileselectorEntry
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: FileselectorEntry
|
||||||
|
|
|
@ -1,2 +1,164 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.flip
|
Flip
|
||||||
|
####
|
||||||
|
|
||||||
|
.. image:: /images/flip-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This widget holds two content :py:class:`efl.evas.Object`: one on
|
||||||
|
the front and one on the back. It allows you to flip from front to back
|
||||||
|
and vice-versa using various animations.
|
||||||
|
|
||||||
|
If either the front or back contents are not set the flip will treat that
|
||||||
|
as transparent. So if you were to set the front content but not the back,
|
||||||
|
and then call :py:meth:`Flip.go` you would see whatever is below the flip.
|
||||||
|
|
||||||
|
For a list of supported animations see :py:meth:`Flip.go`.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``animate,begin`` - when a flip animation was started
|
||||||
|
- ``animate,done`` - when a flip animation is finished
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``front`` - A front content of the flip
|
||||||
|
- ``back`` - A back content of the flip
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Flip_Direction:
|
||||||
|
|
||||||
|
Flip directions
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_DIRECTION_UP
|
||||||
|
|
||||||
|
Allows interaction with the top of the widget.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_DIRECTION_DOWN
|
||||||
|
|
||||||
|
Allows interaction with the bottom of the widget.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_DIRECTION_LEFT
|
||||||
|
|
||||||
|
Allows interaction with the left portion of
|
||||||
|
|
||||||
|
the widget.
|
||||||
|
.. data:: ELM_FLIP_DIRECTION_RIGHT
|
||||||
|
|
||||||
|
Allows interaction with the right portion of
|
||||||
|
|
||||||
|
the widget.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Flip_Interaction:
|
||||||
|
|
||||||
|
Flip interaction modes
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_INTERACTION_NONE
|
||||||
|
|
||||||
|
No interaction is allowed
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_INTERACTION_ROTATE
|
||||||
|
|
||||||
|
Interaction will cause rotate animation
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_INTERACTION_CUBE
|
||||||
|
|
||||||
|
Interaction will cause cube animation
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_INTERACTION_PAGE
|
||||||
|
|
||||||
|
Interaction will cause page animation
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Flip_Mode:
|
||||||
|
|
||||||
|
Flip types
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_ROTATE_Y_CENTER_AXIS
|
||||||
|
|
||||||
|
Rotate the currently visible content around a vertical axis in the
|
||||||
|
middle of its width, the other content is shown as the other side of the
|
||||||
|
flip.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_ROTATE_X_CENTER_AXIS
|
||||||
|
|
||||||
|
Rotate the currently visible content around a horizontal axis in the
|
||||||
|
middle of its height, the other content is shown as the other side of
|
||||||
|
the flip.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_ROTATE_XZ_CENTER_AXIS
|
||||||
|
|
||||||
|
Rotate the currently visible content around a diagonal axis in the
|
||||||
|
middle of its width, the other content is shown as the other side of the
|
||||||
|
flip.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_ROTATE_YZ_CENTER_AXIS
|
||||||
|
|
||||||
|
Rotate the currently visible content around a diagonal axis in the
|
||||||
|
middle of its height, the other content is shown as the other side of
|
||||||
|
the flip.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_CUBE_LEFT
|
||||||
|
|
||||||
|
Rotate the currently visible content to the left as if the flip was a
|
||||||
|
cube, the other content is show as the right face of the cube.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_CUBE_RIGHT
|
||||||
|
|
||||||
|
Rotate the currently visible content to the right as if the flip was a
|
||||||
|
cube, the other content is show as the left face of the cube.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_CUBE_UP
|
||||||
|
|
||||||
|
Rotate the currently visible content up as if the flip was a cube, the
|
||||||
|
other content is show as the bottom face of the cube.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_CUBE_DOWN
|
||||||
|
|
||||||
|
Rotate the currently visible content down as if the flip was a cube, the
|
||||||
|
other content is show as the upper face of the cube.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_PAGE_LEFT
|
||||||
|
|
||||||
|
Move the currently visible content to the left as if the flip was a
|
||||||
|
book, the other content is shown as the page below that.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_PAGE_RIGHT
|
||||||
|
|
||||||
|
Move the currently visible content to the right as if the flip was a
|
||||||
|
book, the other content is shown as the page below that.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_PAGE_UP
|
||||||
|
|
||||||
|
Move the currently visible content up as if the flip was a book, the
|
||||||
|
other content is shown as the page below that.
|
||||||
|
|
||||||
|
.. data:: ELM_FLIP_PAGE_DOWN
|
||||||
|
|
||||||
|
Move the currently visible content down as if the flip was a book, the
|
||||||
|
other content is shown as the page below that.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Flip
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Flip
|
||||||
|
|
|
@ -1,2 +1,52 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.flipselector
|
Flipselector
|
||||||
|
############
|
||||||
|
|
||||||
|
.. image:: /images/flipselector-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A flip selector is a widget to show a set of *text* items, one at a time, with
|
||||||
|
the same sheet switching style as the :py:class:`~efl.elementary.clock.Clock`
|
||||||
|
widget, when one changes the current displaying sheet (thus, the "flip" in the
|
||||||
|
name).
|
||||||
|
|
||||||
|
User clicks to flip sheets which are *held* for some time will
|
||||||
|
make the flip selector to flip continuously and automatically for
|
||||||
|
the user. The interval between flips will keep growing in time,
|
||||||
|
so that it helps the user to reach an item which is distant from
|
||||||
|
the current selection.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``selected`` - when the widget's selected text item is changed
|
||||||
|
- ``overflowed`` - when the widget's current selection is changed
|
||||||
|
from the first item in its list to the last
|
||||||
|
- ``underflowed`` - when the widget's current selection is changed
|
||||||
|
from the last item in its list to the first
|
||||||
|
- ``focused`` - When the flipselector has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the flipselector has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - label of the flipselector item
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
FlipSelector
|
||||||
|
FlipSelectorItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: FlipSelector
|
||||||
|
.. autoclass:: FlipSelectorItem
|
||||||
|
|
|
@ -1,2 +1,54 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.frame
|
Frame
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/frame-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Frame is a widget that holds some content and has a title.
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
- default
|
||||||
|
- pad_small
|
||||||
|
- pad_medium
|
||||||
|
- pad_large
|
||||||
|
- pad_huge
|
||||||
|
- outdent_top
|
||||||
|
- outdent_bottom
|
||||||
|
|
||||||
|
Out of all these styles only default shows the title.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - The user has clicked the frame's label
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - A content of the frame
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Label of the frame
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Frame
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Frame
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
.. automodule:: efl.elementary.general
|
|
|
@ -1,2 +1,329 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.gengrid
|
Gengrid
|
||||||
|
#######
|
||||||
|
|
||||||
|
.. image:: /images/gengrid-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This widget aims to position objects in a grid layout while actually
|
||||||
|
creating and rendering only the visible ones, using the same idea as the
|
||||||
|
:py:class:`~efl.elementary.genlist.Genlist`: the user defines a **class** for
|
||||||
|
each item, specifying functions that will be called at object creation,
|
||||||
|
deletion, etc. When those items are selected by the user, a callback
|
||||||
|
function is issued. Users may interact with a gengrid via the mouse (by
|
||||||
|
clicking on items to select them and clicking on the grid's viewport and
|
||||||
|
swiping to pan the whole view) or via the keyboard, navigating through
|
||||||
|
item with the arrow keys.
|
||||||
|
|
||||||
|
|
||||||
|
Scrollable Interface
|
||||||
|
====================
|
||||||
|
|
||||||
|
This widget supports the scrollable interface.
|
||||||
|
|
||||||
|
If you wish to control the scolling behaviour using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.scroller.Scrollable` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class ScrollableGenlist(Genlist, Scrollable):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
Genlist.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Gengrid layouts
|
||||||
|
===============
|
||||||
|
|
||||||
|
Gengrid may layout its items in one of two possible layouts:
|
||||||
|
|
||||||
|
- horizontal or
|
||||||
|
- vertical.
|
||||||
|
|
||||||
|
When in "horizontal mode", items will be placed in **columns**, from top
|
||||||
|
to bottom and, when the space for a column is filled, another one is
|
||||||
|
started on the right, thus expanding the grid horizontally, making for
|
||||||
|
horizontal scrolling. When in "vertical mode" , though, items will be
|
||||||
|
placed in **rows**, from left to right and, when the space for a row is
|
||||||
|
filled, another one is started below, thus expanding the grid vertically
|
||||||
|
(and making for vertical scrolling).
|
||||||
|
|
||||||
|
|
||||||
|
Gengrid items
|
||||||
|
=============
|
||||||
|
|
||||||
|
An item in a gengrid can have 0 or more texts (they can be regular text
|
||||||
|
or textblock Evas objects - that's up to the style to determine), 0 or
|
||||||
|
more contents (which are simply objects swallowed into the gengrid
|
||||||
|
item's theming Edje object) and 0 or more **boolean states**, which
|
||||||
|
have the behavior left to the user to define. The Edje part names for
|
||||||
|
each of these properties will be looked up, in the theme file for the
|
||||||
|
gengrid, under the Edje (string) data items named ``"texts"``,
|
||||||
|
``"contents"`` and ``"states"``, respectively. For each of those
|
||||||
|
properties, if more than one part is provided, they must have names
|
||||||
|
listed separated by spaces in the data fields. For the default gengrid
|
||||||
|
item theme, we have **one** text part (``"elm.text"``), **two** content
|
||||||
|
parts (``"elm.swalllow.icon"`` and ``"elm.swallow.end"``) and **no**
|
||||||
|
state parts.
|
||||||
|
|
||||||
|
A gengrid item may be at one of several styles. Elementary provides one
|
||||||
|
by default - "default", but this can be extended by system or
|
||||||
|
application custom themes/overlays/extensions (see
|
||||||
|
:py:class:`~efl.elementary.theme.Theme` for more details).
|
||||||
|
|
||||||
|
|
||||||
|
Gengrid item classes
|
||||||
|
====================
|
||||||
|
|
||||||
|
In order to have the ability to add and delete items on the fly, gengrid
|
||||||
|
implements a class (callback) system where the application provides a
|
||||||
|
structure with information about that type of item (gengrid may contain
|
||||||
|
multiple different items with different classes, states and styles).
|
||||||
|
Gengrid will call the functions in this struct (methods) when an item is
|
||||||
|
"realized" (i.e., created dynamically, while the user is scrolling the
|
||||||
|
grid). All objects will simply be deleted when no longer needed with
|
||||||
|
:meth:`~efl.eo.Eo.delete`. The :class:`GengridItemClass` class contains the
|
||||||
|
following attributes and methods:
|
||||||
|
|
||||||
|
- ``item_style`` - This is a constant string and simply defines the name
|
||||||
|
of the item style. It **must** be specified and the default should be
|
||||||
|
``default``.
|
||||||
|
- ``func.text_get`` - This function is called when an item object is
|
||||||
|
actually created. The ``data`` parameter will point to the same data
|
||||||
|
passed to :meth:`~Gengrid.item_append` and related item creation
|
||||||
|
functions. The ``obj`` parameter is the gengrid object itself, while
|
||||||
|
the ``part`` one is the name string of one of the existing text parts
|
||||||
|
in the Edje group implementing the item's theme.
|
||||||
|
See :py:meth:`GengridItemClass.text_get`.
|
||||||
|
- ``func.content_get`` - This function is called when an item object is
|
||||||
|
actually created. The ``data`` parameter will point to the same data
|
||||||
|
passed to :py:meth:`GengridItem.append_to` and related item creation
|
||||||
|
functions. The ``obj`` parameter is the gengrid object itself, while
|
||||||
|
the ``part`` one is the name string of one of the existing (content)
|
||||||
|
swallow parts in the Edje group implementing the item's theme. It must
|
||||||
|
return ``None,`` when no content is desired, or a valid object handle,
|
||||||
|
otherwise. The object will be deleted by the gengrid on its deletion
|
||||||
|
or when the item is "unrealized". See :py:meth:`GengridItemClass.content_get`.
|
||||||
|
- ``func.state_get`` - This function is called when an item object is
|
||||||
|
actually created. The ``data`` parameter will point to the same data
|
||||||
|
passed to :py:meth:`GengridItem.append_to` and related item creation
|
||||||
|
functions. The ``obj`` parameter is the gengrid object itself, while
|
||||||
|
the ``part`` one is the name string of one of the state parts in the
|
||||||
|
Edje group implementing the item's theme. Return ``False`` for
|
||||||
|
false/off or ``True`` for true/on. Gengrids will emit a signal to
|
||||||
|
its theming Edje object with ``"elm,state,xxx,active"`` and ``"elm"``
|
||||||
|
as "emission" and "source" arguments, respectively, when the state is
|
||||||
|
true (the default is false), where ``xxx`` is the name of the (state)
|
||||||
|
part. See :py:meth:`GengridItemClass.state_get`.
|
||||||
|
- ``func.del`` - This is called when
|
||||||
|
:meth:`efl.elementary.object_item.ObjectItem.delete` is called on
|
||||||
|
an item or :meth:`~Gengrid.clear` is called on the gengrid. This is
|
||||||
|
intended for use when gengrid items are deleted, so any data attached
|
||||||
|
to the item (e.g. its data parameter on creation) can be deleted. See
|
||||||
|
:py:meth:`GengridItemClass.delete`.
|
||||||
|
|
||||||
|
|
||||||
|
Usage hints
|
||||||
|
===========
|
||||||
|
|
||||||
|
If the user wants to have multiple items selected at the same time,
|
||||||
|
:attr:`~Gengrid.multi_select` will permit it. If the gengrid is
|
||||||
|
single-selection only (the default), then :attr:`~Gengrid.selected_item`
|
||||||
|
will return the selected item or ``None``, if none is selected. If the
|
||||||
|
gengrid is under multi-selection, then :attr:`~Gengrid.selected_items`
|
||||||
|
will return a list (that is only valid as long as no items are modified
|
||||||
|
(added, deleted, selected or unselected) of child items on a gengrid.
|
||||||
|
|
||||||
|
If an item changes (internal (boolean) state, text or content changes),
|
||||||
|
then use :meth:`~GengridItem.update` to have gengrid update the item with
|
||||||
|
the new state. A gengrid will re-"realize" the item, thus calling the
|
||||||
|
functions in the :class:`GengridItemClass` set for that item.
|
||||||
|
|
||||||
|
To programmatically (un)select an item or get the selected state, use
|
||||||
|
:attr:`GengridItem.selected`. To make an item disabled (unable to be
|
||||||
|
selected and appear differently) or get the disabled state
|
||||||
|
use :attr:`GengridItem.disabled`.
|
||||||
|
|
||||||
|
Grid cells will only have their selection smart callbacks called when
|
||||||
|
firstly getting selected. Any further clicks will do nothing, unless you
|
||||||
|
enable the "always select mode", with :attr:`~Gengrid.select_mode` as
|
||||||
|
:attr:`ELM_OBJECT_SELECT_MODE_ALWAYS`, thus making every click to issue
|
||||||
|
selection callbacks. :attr:`~Gengrid.select_mode` as
|
||||||
|
:attr:`ELM_OBJECT_SELECT_MODE_NONE` will turn off the ability to select items
|
||||||
|
entirely in the widget and they will neither appear selected nor call
|
||||||
|
the selection smart callbacks.
|
||||||
|
|
||||||
|
Remember that you can create new styles and add your own theme
|
||||||
|
augmentation per application with
|
||||||
|
:meth:`Theme.extension_add<efl.elementary.theme.Theme.extension_add>`. If you
|
||||||
|
absolutely must have a specific style that overrides any theme the user
|
||||||
|
or system sets up you can use
|
||||||
|
:meth:`Theme.extension_add<efl.elementary.theme.Theme.overlay_add>` to add such
|
||||||
|
a file.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``activated`` - The user has double-clicked or pressed
|
||||||
|
(enter|return|spacebar) on an item. The ``event_info`` parameter
|
||||||
|
is the gengrid item that was activated.
|
||||||
|
- ``clicked,double`` - The user has double-clicked an item.
|
||||||
|
The ``event_info`` parameter is the gengrid item that was double-clicked.
|
||||||
|
- ``clicked,right`` - The user has right-clicked an item. The
|
||||||
|
``event_info`` parameter is the item that was right-clicked. (since: 1.13)
|
||||||
|
- ``longpressed`` - This is called when the item is pressed for a certain
|
||||||
|
amount of time. By default it's 1 second.
|
||||||
|
- ``selected`` - The user has made an item selected. The
|
||||||
|
``event_info`` parameter is the gengrid item that was selected.
|
||||||
|
- ``unselected`` - The user has made an item unselected. The
|
||||||
|
``event_info`` parameter is the gengrid item that was unselected.
|
||||||
|
- ``realized`` - This is called when the item in the gengrid
|
||||||
|
has its implementing Evas object instantiated, de facto.
|
||||||
|
``event_info`` is the gengrid item that was created.
|
||||||
|
- ``unrealized`` - This is called when the implementing Evas
|
||||||
|
object for this item is deleted. ``event_info`` is the gengrid
|
||||||
|
item that was deleted.
|
||||||
|
- ``changed`` - Called when an item is added, removed, resized
|
||||||
|
or moved and when the gengrid is resized or gets "horizontal"
|
||||||
|
property changes.
|
||||||
|
- ``scroll,anim,start`` - This is called when scrolling animation has
|
||||||
|
started.
|
||||||
|
- ``scroll,anim,stop`` - This is called when scrolling animation has
|
||||||
|
stopped.
|
||||||
|
- ``drag,start,up`` - Called when the item in the gengrid has
|
||||||
|
been dragged (not scrolled) up.
|
||||||
|
- ``drag,start,down`` - Called when the item in the gengrid has
|
||||||
|
been dragged (not scrolled) down.
|
||||||
|
- ``drag,start,left`` - Called when the item in the gengrid has
|
||||||
|
been dragged (not scrolled) left.
|
||||||
|
- ``drag,start,right`` - Called when the item in the gengrid has
|
||||||
|
been dragged (not scrolled) right.
|
||||||
|
- ``drag,stop`` - Called when the item in the gengrid has
|
||||||
|
stopped being dragged.
|
||||||
|
- ``drag`` - Called when the item in the gengrid is being
|
||||||
|
dragged.
|
||||||
|
- ``scroll`` - called when the content has been scrolled
|
||||||
|
(moved).
|
||||||
|
- ``scroll,drag,start`` - called when dragging the content has
|
||||||
|
started.
|
||||||
|
- ``scroll,drag,stop`` - called when dragging the content has
|
||||||
|
stopped.
|
||||||
|
- ``edge,top`` - This is called when the gengrid is scrolled until
|
||||||
|
the top edge.
|
||||||
|
- ``edge,bottom`` - This is called when the gengrid is scrolled
|
||||||
|
until the bottom edge.
|
||||||
|
- ``edge,left`` - This is called when the gengrid is scrolled
|
||||||
|
until the left edge.
|
||||||
|
- ``edge,right`` - This is called when the gengrid is scrolled
|
||||||
|
until the right edge.
|
||||||
|
- ``moved`` - This is called when a gengrid item is moved by a user
|
||||||
|
interaction in a reorder mode. The ``event_info`` parameter is the item that
|
||||||
|
was moved.
|
||||||
|
- ``index,update`` - This is called when a gengrid item index is changed.
|
||||||
|
Note that this callback is called while each item is being realized.
|
||||||
|
- ``highlighted`` - an item in the list is highlighted. This is called when
|
||||||
|
the user presses an item or keyboard selection is done so the item is
|
||||||
|
physically highlighted. The ``event_info`` parameter is the item that was
|
||||||
|
highlighted.
|
||||||
|
- ``unhighlighted`` - an item in the list is unhighlighted. This is called
|
||||||
|
when the user releases an item or keyboard selection is moved so the item
|
||||||
|
is physically unhighlighted. The ``event_info`` parameter is the item that
|
||||||
|
was unhighlighted.
|
||||||
|
- ``language,changed`` - This is called when the program's language is
|
||||||
|
changed. Call :meth:`~Gengrid.realized_items_update` if items text should
|
||||||
|
be translated.
|
||||||
|
- ``focused`` - When the gengrid has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the gengrid has lost focus. (since 1.8)
|
||||||
|
- ``item,focused`` - When the gengrid item has received focus. (since 1.10)
|
||||||
|
- ``item,unfocused`` - When the gengrid item has lost focus. (since 1.10)
|
||||||
|
- ``item,reorder,anim,start`` - This is called when a gengrid item movement
|
||||||
|
has just started by keys in reorder mode. The parameter is the item that
|
||||||
|
is going to move. (since 1.10)
|
||||||
|
- ``item,reorder,anim,stop`` - This is called when a gengrid item movement just
|
||||||
|
stopped in reorder mode. The parameter is the item that was moved. (since 1.10)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Gengrid_Item_Scrollto_Type:
|
||||||
|
|
||||||
|
Items' scroll to types
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
.. data:: ELM_GENGRID_ITEM_SCROLLTO_NONE
|
||||||
|
|
||||||
|
No scroll to
|
||||||
|
|
||||||
|
.. data:: ELM_GENGRID_ITEM_SCROLLTO_IN
|
||||||
|
|
||||||
|
Scroll to the nearest viewport
|
||||||
|
|
||||||
|
.. data:: ELM_GENGRID_ITEM_SCROLLTO_TOP
|
||||||
|
|
||||||
|
Scroll to the top of viewport
|
||||||
|
|
||||||
|
.. data:: ELM_GENGRID_ITEM_SCROLLTO_MIDDLE
|
||||||
|
|
||||||
|
Scroll to the middle of viewport
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Gengrid_Object_Multi_Select_Mode:
|
||||||
|
|
||||||
|
Multi-select mode
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT
|
||||||
|
|
||||||
|
Default multiple select mode
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
|
||||||
|
|
||||||
|
Disallow mutiple selection when clicked without control key pressed
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_MULTI_SELECT_MODE_MAX
|
||||||
|
|
||||||
|
Value unknown
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Gengrid_Reorder_Type:
|
||||||
|
|
||||||
|
Reorder type
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. data:: ELM_GENGRID_REORDER_TYPE_NORMAL
|
||||||
|
|
||||||
|
Normal reorder mode
|
||||||
|
|
||||||
|
.. versionadded:: 1.11
|
||||||
|
|
||||||
|
.. data:: ELM_GENGRID_REORDER_TYPE_SWAP
|
||||||
|
|
||||||
|
Swap reorder mode
|
||||||
|
|
||||||
|
.. versionadded:: 1.11
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Gengrid
|
||||||
|
GengridItem
|
||||||
|
GengridItemClass
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Gengrid
|
||||||
|
.. autoclass:: GengridItem
|
||||||
|
.. autoclass:: GengridItemClass
|
||||||
|
|
|
@ -1,2 +1,453 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.genlist
|
Genlist
|
||||||
|
#######
|
||||||
|
|
||||||
|
.. image:: /images/genlist-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This widget aims to have more expansive list than the simple list in
|
||||||
|
Elementary that could have more flexible items and allow many more
|
||||||
|
entries while still being fast and low on memory usage. At the same time
|
||||||
|
it was also made to be able to do tree structures. But the price to pay
|
||||||
|
is more complexity when it comes to usage. If all you want is a simple
|
||||||
|
list with icons and a single text, use the normal
|
||||||
|
:py:class:`~efl.elementary.list.List` object.
|
||||||
|
|
||||||
|
Genlist has a fairly large API, mostly because it's relatively complex,
|
||||||
|
trying to be both expansive, powerful and efficient. First we will begin
|
||||||
|
an overview on the theory behind genlist.
|
||||||
|
|
||||||
|
|
||||||
|
Genlist item classes - creating items
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
In order to have the ability to add and delete items on the fly, genlist
|
||||||
|
implements a class (callback) system where the application provides a
|
||||||
|
structure with information about that type of item (genlist may contain
|
||||||
|
multiple different items with different classes, states and styles).
|
||||||
|
Genlist will call the functions in this struct (methods) when an item is
|
||||||
|
"realized" (i.e., created dynamically, while the user is scrolling the
|
||||||
|
grid). All objects will simply be deleted when no longer needed with
|
||||||
|
:py:meth:`~efl.evas.Object.delete`. :py:class:`GenlistItemClass` contains the
|
||||||
|
following members:
|
||||||
|
|
||||||
|
- ``item_style`` - This is a constant string and simply defines the name
|
||||||
|
of the item style. It **must** be specified and the default should be
|
||||||
|
``"default".``
|
||||||
|
- ``decorate_item_style`` - This is a constant string and simply defines
|
||||||
|
the name of the decorate mode item style. It is used to specify
|
||||||
|
decorate mode item style. It can be used when you call
|
||||||
|
:py:attr:`GenlistItem.decorate_mode`.
|
||||||
|
- ``decorate_all_item_style`` - This is a constant string and simply
|
||||||
|
defines the name of the decorate all item style. It is used to specify
|
||||||
|
decorate all item style. It can be used to set selection, checking and
|
||||||
|
deletion mode. This is used when you call
|
||||||
|
:py:attr:`Genlist.decorate_mode`.
|
||||||
|
- ``func`` - A struct with pointers to functions that will be called when
|
||||||
|
an item is going to be actually created. All of them receive a ``data``
|
||||||
|
parameter that will point to the same data passed to
|
||||||
|
:py:meth:`GenlistItem.append_to` and related item creation functions, and an
|
||||||
|
``obj`` parameter that points to the genlist object itself.
|
||||||
|
|
||||||
|
The function pointers inside ``func`` are ``text_get``, ``content_get``,
|
||||||
|
``state_get`` and ``del``. The 3 first functions also receive a ``part``
|
||||||
|
parameter described below. A brief description of these functions follows:
|
||||||
|
|
||||||
|
- ``text_get`` - The ``part`` parameter is the name string of one of the
|
||||||
|
existing text parts in the Edje group implementing the item's theme.
|
||||||
|
See :py:meth:`GenlistItemClass.text_get`.
|
||||||
|
- ``content_get`` - The ``part`` parameter is the name string of one of the
|
||||||
|
existing (content) swallow parts in the Edje group implementing the
|
||||||
|
item's theme. It must return ``None``, when no content is desired, or
|
||||||
|
a valid object handle, otherwise. The object will be deleted by the
|
||||||
|
genlist on its deletion or when the item is "unrealized". See
|
||||||
|
:py:meth:`GenlistItemClass.content_get`.
|
||||||
|
- ``func.state_get`` - The ``part`` parameter is the name string of one of
|
||||||
|
the state parts in the Edje group implementing the item's theme. Return
|
||||||
|
``False`` for false/off or ``True`` for true/on. Genlists will
|
||||||
|
emit a signal to its theming Edje object with ``"elm,state,xxx,active"``
|
||||||
|
and ``"elm"`` as "emission" and "source" arguments, respectively, when
|
||||||
|
the state is true (the default is false), where ``xxx`` is the name of
|
||||||
|
the (state) part. See :py:meth:`GenlistItemClass.state_get`.
|
||||||
|
- ``func.del`` - This is intended for use when genlist items are deleted,
|
||||||
|
so any data attached to the item (e.g. its data parameter on creation)
|
||||||
|
can be deleted. See :py:meth:`GenlistItemClass.delete`.
|
||||||
|
|
||||||
|
|
||||||
|
Available item styles
|
||||||
|
=====================
|
||||||
|
|
||||||
|
- ``default``
|
||||||
|
- ``default_style`` The text part is a textblock
|
||||||
|
- ``double_label`` Two different text parts
|
||||||
|
- ``icon_top_text_bottom``
|
||||||
|
- ``group_index``
|
||||||
|
- ``one_icon`` Only 1 icon (left) (since: 1.1)
|
||||||
|
- ``end_icon`` Only 1 icon (at end/right) (since: 1.1)
|
||||||
|
- ``no_icon`` No icon (since: 1.1)
|
||||||
|
- ``full`` Only one object, elm.swallow.content, which consumes whole area of
|
||||||
|
the genlist item (since: 1.7)
|
||||||
|
|
||||||
|
|
||||||
|
Structure of items
|
||||||
|
==================
|
||||||
|
|
||||||
|
An item in a genlist can have 0 or more texts (they can be regular text
|
||||||
|
or textblock Evas objects - that's up to the style to determine), 0 or
|
||||||
|
more contents (which are simply objects swallowed into the genlist item's
|
||||||
|
theming Edje object) and 0 or more **boolean states**, which have the
|
||||||
|
behavior left to the user to define. The Edje part names for each of
|
||||||
|
these properties will be looked up, in the theme file for the genlist,
|
||||||
|
under the Edje (string) data items named ``labels``, ``contents``
|
||||||
|
and ``states``, respectively. For each of those properties, if more
|
||||||
|
than one part is provided, they must have names listed separated by
|
||||||
|
spaces in the data fields. For the default genlist item theme, we have
|
||||||
|
**one** text part (``elm.text``), **two** content parts
|
||||||
|
(``elm.swallow.icon`` and ``elm.swallow.end``) and **no** state parts.
|
||||||
|
|
||||||
|
A genlist item may be at one of several styles. Elementary provides one
|
||||||
|
by default - "default", but this can be extended by system or application
|
||||||
|
custom themes/overlays/extensions (see :py:mod:`themes<efl.elementary.theme>`)
|
||||||
|
for more details).
|
||||||
|
|
||||||
|
|
||||||
|
Editing and Navigating
|
||||||
|
======================
|
||||||
|
|
||||||
|
Items can be added by several calls. All of them return a
|
||||||
|
:py:class:`GenlistItem` handle that is an internal member inside the genlist.
|
||||||
|
They all take a data parameter that is meant to be used for a handle to the
|
||||||
|
applications internal data (eg. the struct with the original item data). The
|
||||||
|
parent parameter is the parent genlist item this belongs to if it is a tree or
|
||||||
|
an indexed group, and None if there is no parent. The flags can be a bitmask of
|
||||||
|
:attr:`ELM_GENLIST_ITEM_NONE`, :attr:`ELM_GENLIST_ITEM_TREE` and
|
||||||
|
:attr:`ELM_GENLIST_ITEM_GROUP`. If :attr:`ELM_GENLIST_ITEM_TREE` is set then
|
||||||
|
this item is displayed as an item that is able to expand and have child items.
|
||||||
|
If :attr:`ELM_GENLIST_ITEM_GROUP` is set then this item is group index item
|
||||||
|
that is displayed at the top until the next group comes. The func parameter is
|
||||||
|
a convenience callback that is called when the item is selected and the data
|
||||||
|
parameter will be the func_data parameter, ``obj`` be the genlist object and
|
||||||
|
event_info will be the genlist item.
|
||||||
|
|
||||||
|
:py:meth:`GenlistItem.append_to` adds an item to the end of the list, or if
|
||||||
|
there is a parent, to the end of all the child items of the parent.
|
||||||
|
:py:meth:`GenlistItem.prepend_to` is the same but adds to the beginning of
|
||||||
|
the list or children list. :py:meth:`GenlistItem.insert_before` inserts at
|
||||||
|
item before another item and :py:meth:`GenlistItem.insert_after` inserts after
|
||||||
|
the indicated item.
|
||||||
|
|
||||||
|
The application can clear the list with :py:meth:`Genlist.clear` which deletes
|
||||||
|
all the items in the list and
|
||||||
|
:py:meth:`~efl.elementary.object_item.ObjectItem.delete` will delete a specific
|
||||||
|
item. :py:meth:`GenlistItem.subitems_clear` will clear all items that are
|
||||||
|
children of the indicated parent item.
|
||||||
|
|
||||||
|
To help inspect list items you can jump to the item at the top of the list
|
||||||
|
with :py:attr:`Genlist.first_item` which will return the item pointer, and
|
||||||
|
similarly :py:attr:`Genlist.last_item` gets the item at the end of the list.
|
||||||
|
:py:attr:`GenlistItem.next` and :py:attr:`GenlistItem.prev` get the next
|
||||||
|
and previous items respectively relative to the indicated item. Using
|
||||||
|
these calls you can walk the entire item list/tree. Note that as a tree
|
||||||
|
the items are flattened in the list, so :py:attr:`GenlistItem.parent` will
|
||||||
|
let you know which item is the parent (and thus know how to skip them if
|
||||||
|
wanted).
|
||||||
|
|
||||||
|
|
||||||
|
Multi-selection
|
||||||
|
===============
|
||||||
|
|
||||||
|
If the application wants multiple items to be able to be selected,
|
||||||
|
:py:attr:`Genlist.multi_select` can enable this. If the list is
|
||||||
|
single-selection only (the default), then :py:attr:`Genlist.selected_item`
|
||||||
|
will return the selected item, if any, or None if none is selected. If the
|
||||||
|
list is multi-select then :py:attr:`Genlist.selected_items` will return a
|
||||||
|
list (that is only valid as long as no items are modified (added, deleted,
|
||||||
|
selected or unselected)).
|
||||||
|
|
||||||
|
|
||||||
|
Usage hints
|
||||||
|
===========
|
||||||
|
|
||||||
|
There are also convenience functions.
|
||||||
|
:py:attr:`efl.elementary.object_item.ObjectItem.widget` will return the genlist
|
||||||
|
object the item belongs to. :py:meth:`GenlistItem.show` will make the scroller
|
||||||
|
scroll to show that specific item so its visible.
|
||||||
|
:py:attr:`efl.elementary.object_item.ObjectItem.data` returns the data pointer
|
||||||
|
set by the item creation functions.
|
||||||
|
|
||||||
|
If an item changes (state of boolean changes, text or contents change),
|
||||||
|
then use :py:meth:`GenlistItem.update` to have genlist update the item with
|
||||||
|
the new state. Genlist will re-realize the item and thus call the functions
|
||||||
|
in the _Elm_Genlist_Item_Class for that item.
|
||||||
|
|
||||||
|
Use :py:attr:`GenlistItem.selected` to programmatically (un)select an item or
|
||||||
|
get its selected state. Similarly to expand/contract an item and get its
|
||||||
|
expanded state, use :py:attr:`GenlistItem.expanded`. And again to make an item
|
||||||
|
disabled (unable to be selected and appear differently) use
|
||||||
|
:py:attr:`GenlistItem.disabled` to set this and get the disabled state.
|
||||||
|
|
||||||
|
In general to indicate how the genlist should expand items horizontally to
|
||||||
|
fill the list area, use :py:attr:`Genlist.mode`. Valid modes are
|
||||||
|
ELM_LIST_LIMIT, ELM_LIST_COMPRESS and ELM_LIST_SCROLL. The default is
|
||||||
|
ELM_LIST_SCROLL. This mode means that if items are too wide to fit, the
|
||||||
|
scroller will scroll horizontally. Otherwise items are expanded to
|
||||||
|
fill the width of the viewport of the scroller. If it is
|
||||||
|
ELM_LIST_LIMIT, items will be expanded to the viewport width
|
||||||
|
if larger than the item, but genlist widget with is
|
||||||
|
limited to the largest item. D not use ELM_LIST_LIMIT mode with homogeneous
|
||||||
|
mode turned on. ELM_LIST_COMPRESS can be combined with a different style
|
||||||
|
that uses Edje's ellipsis feature (cutting text off like this: "tex...").
|
||||||
|
|
||||||
|
Items will only call their selection func and callback when first becoming
|
||||||
|
selected. Any further clicks will do nothing, unless you enable always
|
||||||
|
select with :py:attr:`Genlist.select_mode` as ELM_OBJECT_SELECT_MODE_ALWAYS.
|
||||||
|
This means even if selected, every click will make the selected callbacks
|
||||||
|
be called. :py:attr:`Genlist.select_mode` as ELM_OBJECT_SELECT_MODE_NONE will
|
||||||
|
turn off the ability to select items entirely and they will neither
|
||||||
|
appear selected nor call selected callback functions.
|
||||||
|
|
||||||
|
Remember that you can create new styles and add your own theme augmentation per
|
||||||
|
application with :py:meth:`efl.elementary.theme.Theme.extension_add`. If you
|
||||||
|
absolutely must have a specific style that overrides any theme the user or
|
||||||
|
system sets up you can use :py:meth:`efl.elementary.theme.Theme.overlay_add` to
|
||||||
|
add such a file.
|
||||||
|
|
||||||
|
|
||||||
|
Scrollable Interface
|
||||||
|
====================
|
||||||
|
|
||||||
|
This widget supports the scrollable interface.
|
||||||
|
|
||||||
|
If you wish to control the scrolling behaviour using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.scroller.Scrollable` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class ScrollableGenlist(Genlist, Scrollable):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
Genlist.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Evas tracks every object you create. Every time it processes an event
|
||||||
|
(mouse move, down, up etc.) it needs to walk through objects and find out
|
||||||
|
what event that affects. Even worse every time it renders display updates,
|
||||||
|
in order to just calculate what to re-draw, it needs to walk through many
|
||||||
|
many many objects. Thus, the more objects you keep active, the more
|
||||||
|
overhead Evas has in just doing its work. It is advisable to keep your
|
||||||
|
active objects to the minimum working set you need. Also remember that
|
||||||
|
object creation and deletion carries an overhead, so there is a
|
||||||
|
middle-ground, which is not easily determined. But don't keep massive lists
|
||||||
|
of objects you can't see or use. Genlist does this with list objects. It
|
||||||
|
creates and destroys them dynamically as you scroll around. It groups them
|
||||||
|
into blocks so it can determine the visibility etc. of a whole block at
|
||||||
|
once as opposed to having to walk the whole list. This 2-level list allows
|
||||||
|
for very large numbers of items to be in the list (tests have used up to
|
||||||
|
2,000,000 items). Also genlist employs a queue for adding items. As items
|
||||||
|
may be different sizes, every item added needs to be calculated as to its
|
||||||
|
size and thus this presents a lot of overhead on populating the list, this
|
||||||
|
genlist employs a queue. Any item added is queued and spooled off over
|
||||||
|
time, actually appearing some time later, so if your list has many members
|
||||||
|
you may find it takes a while for them to all appear, with your process
|
||||||
|
consuming a lot of CPU while it is busy spooling.
|
||||||
|
|
||||||
|
Genlist also implements a tree structure, but it does so with callbacks to
|
||||||
|
the application, with the application filling in tree structures when
|
||||||
|
requested (allowing for efficient building of a very deep tree that could
|
||||||
|
even be used for file-management). See the above smart signal callbacks for
|
||||||
|
details.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``activated`` - The user has double-clicked or pressed
|
||||||
|
(enter|return|spacebar) on an item. The ``event_info`` parameter is the
|
||||||
|
item that was activated.
|
||||||
|
- ``clicked,double`` - The user has double-clicked an item. The
|
||||||
|
``event_info`` parameter is the item that was double-clicked.
|
||||||
|
- ``clicked,right`` - The user has right-clicked an item. The
|
||||||
|
``event_info`` parameter is the item that was right-clicked. (since: 1.13)
|
||||||
|
- ``selected`` - This is called when a user has made an item selected.
|
||||||
|
The event_info parameter is the genlist item that was selected.
|
||||||
|
- ``unselected`` - This is called when a user has made an item
|
||||||
|
unselected. The event_info parameter is the genlist item that was
|
||||||
|
unselected.
|
||||||
|
- ``expanded`` - This is called when :py:attr:`GenlistItem.expanded` is
|
||||||
|
called and the item is now meant to be expanded. The event_info
|
||||||
|
parameter is the genlist item that was indicated to expand. It is the
|
||||||
|
job of this callback to then fill in the child items.
|
||||||
|
- ``contracted`` - This is called when :py:attr:`GenlistItem.expanded` is
|
||||||
|
called and the item is now meant to be contracted. The event_info
|
||||||
|
parameter is the genlist item that was indicated to contract. It is the
|
||||||
|
job of this callback to then delete the child items.
|
||||||
|
- ``expand,request`` - This is called when a user has indicated they want
|
||||||
|
to expand a tree branch item. The callback should decide if the item can
|
||||||
|
expand (has any children) and then call :py:attr:`GenlistItem.expanded`
|
||||||
|
appropriately to set the state. The event_info parameter is the genlist
|
||||||
|
item that was indicated to expand.
|
||||||
|
- ``contract,request`` - This is called when a user has indicated they
|
||||||
|
want to contract a tree branch item. The callback should decide if the
|
||||||
|
item can contract (has any children) and then call
|
||||||
|
:py:attr:`GenlistItem.expanded` appropriately to set the state. The
|
||||||
|
event_info parameter is the genlist item that was indicated to contract.
|
||||||
|
- ``realized`` - This is called when the item in the list is created as a
|
||||||
|
real evas object. event_info parameter is the genlist item that was
|
||||||
|
created.
|
||||||
|
- ``unrealized`` - This is called just before an item is unrealized.
|
||||||
|
After this call content objects provided will be deleted and the item
|
||||||
|
object itself delete or be put into a floating cache.
|
||||||
|
- ``drag,start,up`` - This is called when the item in the list has been
|
||||||
|
dragged (not scrolled) up.
|
||||||
|
- ``drag,start,down`` - This is called when the item in the list has been
|
||||||
|
dragged (not scrolled) down.
|
||||||
|
- ``drag,start,left`` - This is called when the item in the list has been
|
||||||
|
dragged (not scrolled) left.
|
||||||
|
- ``drag,start,right`` - This is called when the item in the list has
|
||||||
|
been dragged (not scrolled) right.
|
||||||
|
- ``drag,stop`` - This is called when the item in the list has stopped
|
||||||
|
being dragged.
|
||||||
|
- ``drag`` - This is called when the item in the list is being dragged.
|
||||||
|
- ``longpressed`` - This is called when the item is pressed for a certain
|
||||||
|
amount of time. By default it's 1 second. The event_info parameter is the
|
||||||
|
longpressed genlist item.
|
||||||
|
- ``scroll,anim,start`` - This is called when scrolling animation has
|
||||||
|
started.
|
||||||
|
- ``scroll,anim,stop`` - This is called when scrolling animation has
|
||||||
|
stopped.
|
||||||
|
- ``scroll,drag,start`` - This is called when dragging the content has
|
||||||
|
started.
|
||||||
|
- ``scroll,drag,stop`` - This is called when dragging the content has
|
||||||
|
stopped.
|
||||||
|
- ``edge,top`` - This is called when the genlist is scrolled until
|
||||||
|
the top edge.
|
||||||
|
- ``edge,bottom`` - This is called when the genlist is scrolled
|
||||||
|
until the bottom edge.
|
||||||
|
- ``edge,left`` - This is called when the genlist is scrolled
|
||||||
|
until the left edge.
|
||||||
|
- ``edge,right`` - This is called when the genlist is scrolled
|
||||||
|
until the right edge.
|
||||||
|
- ``multi,swipe,left`` - This is called when the genlist is multi-touch
|
||||||
|
swiped left.
|
||||||
|
- ``multi,swipe,right`` - This is called when the genlist is multi-touch
|
||||||
|
swiped right.
|
||||||
|
- ``multi,swipe,up`` - This is called when the genlist is multi-touch
|
||||||
|
swiped up.
|
||||||
|
- ``multi,swipe,down`` - This is called when the genlist is multi-touch
|
||||||
|
swiped down.
|
||||||
|
- ``multi,pinch,out`` - This is called when the genlist is multi-touch
|
||||||
|
pinched out.
|
||||||
|
- ``multi,pinch,in`` - This is called when the genlist is multi-touch
|
||||||
|
pinched in.
|
||||||
|
- ``swipe`` - This is called when the genlist is swiped.
|
||||||
|
- ``moved`` - This is called when a genlist item is moved in reorder mode.
|
||||||
|
- ``moved,after`` - This is called when a genlist item is moved after
|
||||||
|
another item in reorder mode. The event_info parameter is the reordered
|
||||||
|
item. To get the relative previous item, use :py:attr:`GenlistItem.prev`.
|
||||||
|
This signal is called along with "moved" signal.
|
||||||
|
- ``moved,before`` - This is called when a genlist item is moved before
|
||||||
|
another item in reorder mode. The event_info parameter is the reordered
|
||||||
|
item. To get the relative previous item, use :py:attr:`GenlistItem.next`.
|
||||||
|
This signal is called along with "moved" signal.
|
||||||
|
- ``language,changed`` - This is called when the program's language is
|
||||||
|
changed.
|
||||||
|
- ``tree,effect,finished`` - This is called when a genlist tree effect
|
||||||
|
is finished.
|
||||||
|
- ``highlighted`` - an item in the list is highlighted. This is called when
|
||||||
|
the user presses an item or keyboard selection is done so the item is
|
||||||
|
physically highlighted. The ``event_info`` parameter is the item that was
|
||||||
|
highlighted.
|
||||||
|
- ``unhighlighted`` - an item in the list is unhighlighted. This is called
|
||||||
|
when the user releases an item or keyboard selection is moved so the item
|
||||||
|
is physically unhighlighted. The ``event_info`` parameter is the item that
|
||||||
|
was unhighlighted.
|
||||||
|
- ``focused`` - When the genlist has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the genlist has lost focus. (since 1.8)
|
||||||
|
- ``item,focused`` - When the genlist item has received focus. (since 1.10)
|
||||||
|
- ``item,unfocused`` - When the genlist item has lost focus. (since 1.10)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Genlist_Item_Type:
|
||||||
|
|
||||||
|
Genlist item types
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_NONE
|
||||||
|
|
||||||
|
Simple item
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_TREE
|
||||||
|
|
||||||
|
The item may be expanded and have child items
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_GROUP
|
||||||
|
|
||||||
|
An index item of a group of items
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Genlist_Item_Field_Type:
|
||||||
|
|
||||||
|
Genlist items' field types
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_FIELD_ALL
|
||||||
|
|
||||||
|
Match all fields
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_FIELD_TEXT
|
||||||
|
|
||||||
|
Match text fields
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_FIELD_CONTENT
|
||||||
|
|
||||||
|
Match content fields
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_FIELD_STATE
|
||||||
|
|
||||||
|
Match state fields
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Genlist_Item_Scrollto_Type:
|
||||||
|
|
||||||
|
Genlist items' scroll-to types
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_SCROLLTO_NONE
|
||||||
|
|
||||||
|
No scroll to
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_SCROLLTO_IN
|
||||||
|
|
||||||
|
Scroll to the nearest viewport
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_SCROLLTO_TOP
|
||||||
|
|
||||||
|
Scroll to the top of viewport
|
||||||
|
|
||||||
|
.. data:: ELM_GENLIST_ITEM_SCROLLTO_MIDDLE
|
||||||
|
|
||||||
|
Scroll to the middle of viewport
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Genlist
|
||||||
|
GenlistItem
|
||||||
|
GenlistItemClass
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Genlist
|
||||||
|
.. autoclass:: GenlistItem
|
||||||
|
.. autoclass:: GenlistItemClass
|
||||||
|
|
|
@ -1,2 +1,152 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.gesture_layer
|
Gesture Layer
|
||||||
|
#############
|
||||||
|
|
||||||
|
.. image:: /images/gesturelayer-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Use the GestureLayer to detect gestures. The advantage is that you don't
|
||||||
|
have to implement gesture detection, just set callbacks for gesture states.
|
||||||
|
|
||||||
|
In order to use Gesture Layer you start with instantiating this class
|
||||||
|
with a parent object parameter. Next 'activate' gesture layer with a
|
||||||
|
:py:meth:`~GestureLayer.attach` call. Usually with same object as target (2nd
|
||||||
|
parameter).
|
||||||
|
|
||||||
|
Now you need to tell gesture layer what gestures you follow. This is done with
|
||||||
|
:py:meth:`~GestureLayer.cb_set` call. By setting the callback you actually
|
||||||
|
saying to gesture layer: I would like to know when the gesture
|
||||||
|
:ref:`Elm_Gesture_Type` switches to state :ref:`Elm_Gesture_State`.
|
||||||
|
|
||||||
|
Next, you need to implement the actual action that follows the input in
|
||||||
|
your callback.
|
||||||
|
|
||||||
|
Note that if you like to stop being reported about a gesture, just set
|
||||||
|
all callbacks referring this gesture to None. (again with
|
||||||
|
:py:meth:`~GestureLayer.cb_set`)
|
||||||
|
|
||||||
|
The information reported by gesture layer to your callback is depending
|
||||||
|
on :ref:`Elm_Gesture_Type`:
|
||||||
|
|
||||||
|
- :class:`GestureTapsInfo` is the info reported for tap gestures:
|
||||||
|
|
||||||
|
- :attr:`ELM_GESTURE_N_TAPS`
|
||||||
|
- :attr:`ELM_GESTURE_N_LONG_TAPS`
|
||||||
|
- :attr:`ELM_GESTURE_N_DOUBLE_TAPS`
|
||||||
|
- :attr:`ELM_GESTURE_N_TRIPLE_TAPS`
|
||||||
|
|
||||||
|
- :class:`GestureMomentumInfo` is info reported for momentum gestures:
|
||||||
|
|
||||||
|
- :attr:`ELM_GESTURE_MOMENTUM`
|
||||||
|
|
||||||
|
- :class:`GestureLineInfo` is the info reported for line gestures
|
||||||
|
(this also contains :class:`GestureMomentumInfo` internal structure):
|
||||||
|
|
||||||
|
- :attr:`ELM_GESTURE_N_LINES`
|
||||||
|
- :attr:`ELM_GESTURE_N_FLICKS`
|
||||||
|
|
||||||
|
Note that we consider a flick as a line-gesture that should be completed
|
||||||
|
in flick-time-limit as defined in
|
||||||
|
:py:class:`~efl.elementary.configuration.Configuration`.
|
||||||
|
|
||||||
|
:class:`GestureZoomInfo` is the info reported for :attr:`ELM_GESTURE_ZOOM`
|
||||||
|
gesture.
|
||||||
|
|
||||||
|
:class:`GestureRotateInfo` is the info reported for
|
||||||
|
:attr:`ELM_GESTURE_ROTATE` gesture.
|
||||||
|
|
||||||
|
Gesture Layer Tweaks:
|
||||||
|
|
||||||
|
Note that line, flick, gestures can start without the need to remove
|
||||||
|
fingers from surface. When user fingers rests on same-spot gesture is
|
||||||
|
ended and starts again when fingers moved.
|
||||||
|
|
||||||
|
Setting glayer_continues_enable to false in
|
||||||
|
:py:class:`~efl.elementary.configuration.Configuration` will change this
|
||||||
|
behavior so gesture starts when user touches (a *DOWN* event)
|
||||||
|
touch-surface and ends when no fingers touches surface (a *UP* event).
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Gesture_State:
|
||||||
|
|
||||||
|
Gesture states
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_STATE_UNDEFINED
|
||||||
|
|
||||||
|
Gesture not started
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_STATE_START
|
||||||
|
|
||||||
|
Gesture started
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_STATE_MOVE
|
||||||
|
|
||||||
|
Gesture is ongoing
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_STATE_END
|
||||||
|
|
||||||
|
Gesture completed
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_STATE_ABORT
|
||||||
|
|
||||||
|
Ongoing gesture was aborted
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Gesture_Type:
|
||||||
|
|
||||||
|
Gesture types
|
||||||
|
-------------
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_N_TAPS
|
||||||
|
|
||||||
|
N fingers single taps
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_N_LONG_TAPS
|
||||||
|
|
||||||
|
N fingers single long-taps
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_N_DOUBLE_TAPS
|
||||||
|
|
||||||
|
N fingers double-single taps
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_N_TRIPLE_TAPS
|
||||||
|
|
||||||
|
N fingers triple-single taps
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_MOMENTUM
|
||||||
|
|
||||||
|
Reports momentum in the direction of move
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_N_LINES
|
||||||
|
|
||||||
|
N fingers line gesture
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_N_FLICKS
|
||||||
|
|
||||||
|
N fingers flick gesture
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_ZOOM
|
||||||
|
|
||||||
|
Zoom
|
||||||
|
|
||||||
|
.. data:: ELM_GESTURE_ROTATE
|
||||||
|
|
||||||
|
Rotate
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: GestureLayer
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: GestureLayer
|
||||||
|
|
|
@ -1,2 +1,33 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.grid
|
Grid
|
||||||
|
####
|
||||||
|
|
||||||
|
.. image:: /images/grid-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A grid layout widget.
|
||||||
|
|
||||||
|
The grid is a grid layout widget that lays out a series of children as a
|
||||||
|
fixed "grid" of widgets using a given percentage of the grid width and
|
||||||
|
height each using the child object.
|
||||||
|
|
||||||
|
The Grid uses a "Virtual resolution" that is stretched to fill the grid
|
||||||
|
widgets size itself. The default is 100 x 100, so that means the
|
||||||
|
position and sizes of children will effectively be percentages (0 to 100)
|
||||||
|
of the width or height of the grid widget.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Grid
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Grid
|
||||||
|
.. autofunction:: grid_pack_set
|
||||||
|
.. autofunction:: grid_pack_get
|
||||||
|
|
|
@ -1,2 +1,111 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.hover
|
Hover
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/hover-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A Hover object will hover over its ``parent`` object at the ``target``
|
||||||
|
location.
|
||||||
|
|
||||||
|
Anything in the background will be given a darker coloring to indicate
|
||||||
|
that the hover object is on top (at the default theme). When the hover
|
||||||
|
is clicked it is dismissed(hidden), if the contents of the hover are
|
||||||
|
clicked that **doesn't** cause the hover to be dismissed.
|
||||||
|
|
||||||
|
A Hover object has two parents. One parent that owns it during creation
|
||||||
|
and the other parent being the one over which the hover object spans.
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
- default
|
||||||
|
- popout
|
||||||
|
- menu
|
||||||
|
- hoversel_vertical
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - the user clicked the empty space in the hover to
|
||||||
|
dismiss.
|
||||||
|
- ``dismissed`` - the user clicked the empty space in the hover to dismiss.
|
||||||
|
(since 1.8)
|
||||||
|
- ``smart,changed`` - a content object placed under the "smart"
|
||||||
|
policy was replaced to a new slot direction.
|
||||||
|
- ``focused`` - When the hover has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the hover has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``left``
|
||||||
|
- ``top-left``
|
||||||
|
- ``top``
|
||||||
|
- ``top-right``
|
||||||
|
- ``right``
|
||||||
|
- ``bottom-right``
|
||||||
|
- ``bottom``
|
||||||
|
- ``bottom-left``
|
||||||
|
- ``middle``
|
||||||
|
- ``smart``
|
||||||
|
|
||||||
|
All directions may have contents at the same time, except for "smart".
|
||||||
|
This is a special placement hint and its use case depends of the
|
||||||
|
calculations coming from :py:meth:`~Hover.best_content_location_get`. Its use
|
||||||
|
is for cases when one desires only one hover content, but with a dynamic
|
||||||
|
special placement within the hover area. The content's geometry,
|
||||||
|
whenever it changes, will be used to decide on a best location, not
|
||||||
|
extrapolating the hover's parent object view to show it in (still being
|
||||||
|
the hover's target determinant of its medium part -- move and resize it
|
||||||
|
to simulate finger sizes, for example). If one of the directions other
|
||||||
|
than "smart" are used, a previously content set using it will be
|
||||||
|
deleted, and vice-versa.
|
||||||
|
|
||||||
|
.. note:: The hover object will take up the entire space of ``target``
|
||||||
|
object.
|
||||||
|
|
||||||
|
.. note:: The content parts listed indicate the direction that the content
|
||||||
|
will be displayed
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Hover_Axis:
|
||||||
|
|
||||||
|
Hover axis
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. data:: ELM_HOVER_AXIS_NONE
|
||||||
|
|
||||||
|
No preferred orientation
|
||||||
|
|
||||||
|
.. data:: ELM_HOVER_AXIS_HORIZONTAL
|
||||||
|
|
||||||
|
Horizontal orientation
|
||||||
|
|
||||||
|
.. data:: ELM_HOVER_AXIS_VERTICAL
|
||||||
|
|
||||||
|
Vertical orientation
|
||||||
|
|
||||||
|
.. data:: ELM_HOVER_AXIS_BOTH
|
||||||
|
|
||||||
|
Both
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Hover
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Hover
|
||||||
|
|
|
@ -1,2 +1,56 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.hoversel
|
Hoversel
|
||||||
|
########
|
||||||
|
|
||||||
|
.. image:: /images/hoversel-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A hoversel is a button that pops up a list of items (automatically
|
||||||
|
choosing the direction to display) that have a label and, optionally, an
|
||||||
|
icon to select from.
|
||||||
|
|
||||||
|
It is a convenience widget to avoid the need to do all the piecing
|
||||||
|
together yourself. It is intended for a small number of items in the
|
||||||
|
hoversel menu (no more than 8), though is capable of many more.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - the user clicked the hoversel button and popped up
|
||||||
|
the sel
|
||||||
|
- ``selected`` - an item in the hoversel list is selected. event_info
|
||||||
|
is the item
|
||||||
|
- ``dismissed`` - the hover is dismissed
|
||||||
|
- ``expanded`` - the hover is expanded (since 1.9)
|
||||||
|
- ``item,focused`` - the hoversel item has received focus. (since 1.10)
|
||||||
|
- ``item,unfocused`` - the hoversel item has lost focus. (since 1.10)
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``icon`` - An icon of the hoversel
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Label of the hoversel
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Hoversel
|
||||||
|
HoverselItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Hoversel
|
||||||
|
.. autoclass:: HoverselItem
|
||||||
|
|
|
@ -1,2 +1,183 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.icon
|
Icon
|
||||||
|
####
|
||||||
|
|
||||||
|
.. image:: /images/icon-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
An icon object is used to display standard icon images ("delete",
|
||||||
|
"edit", "arrows", etc.) or images coming from a custom file (PNG, JPG,
|
||||||
|
EDJE, etc.), on icon contexts.
|
||||||
|
|
||||||
|
The icon image requested can be in the Elementary theme in use, or in
|
||||||
|
the ``freedesktop.org`` theme paths. It's possible to set the order of
|
||||||
|
preference from where an image will be fetched.
|
||||||
|
|
||||||
|
This widget inherits from the :py:class:`~efl.elementary.image.Image` one, so
|
||||||
|
that all the functions acting on it also work for icon objects.
|
||||||
|
|
||||||
|
You should be using an icon, instead of an image, whenever one of the
|
||||||
|
following apply:
|
||||||
|
|
||||||
|
- you need a **thumbnail** version of an original image
|
||||||
|
- you need freedesktop.org provided icon images
|
||||||
|
- you need theme provided icon images (Edje groups)
|
||||||
|
|
||||||
|
Default images provided by Elementary's default theme are described below.
|
||||||
|
|
||||||
|
These are names that follow (more or less) the **Freedesktop** icon naming
|
||||||
|
specification. Use of these names are **preferred**, at least if you want to
|
||||||
|
give your user the ability to use other themes. All these icons can be
|
||||||
|
seen in the elementary_test application, the test is called "Icon Standard".
|
||||||
|
|
||||||
|
- ``folder`` (since 1.13)
|
||||||
|
- ``user-home`` (since 1.13)
|
||||||
|
- ``user-trash`` (since 1.13)
|
||||||
|
|
||||||
|
- ``view-close`` (since 1.13)
|
||||||
|
- ``view-refresh`` (since 1.13)
|
||||||
|
|
||||||
|
- ``window-close`` 1.13)
|
||||||
|
|
||||||
|
- ``document-close`` (since 1.13)
|
||||||
|
- ``document-edit`` (since 1.13)
|
||||||
|
|
||||||
|
- ``dialog-info`` (since 1.13)
|
||||||
|
- ``dialog-close`` (since 1.13)
|
||||||
|
|
||||||
|
- ``arrow-up`` (since 1.13)
|
||||||
|
- ``arrow-down`` (since 1.13)
|
||||||
|
- ``arrow-left`` (since 1.13)
|
||||||
|
- ``arrow-right`` (since 1.13)
|
||||||
|
- ``arrow-up-left`` (since 1.13)
|
||||||
|
- ``arrow-up-right`` (since 1.13)
|
||||||
|
- ``arrow-down-left`` (since 1.13)
|
||||||
|
- ``arrow-down-right`` (since 1.13)
|
||||||
|
|
||||||
|
- ``edit-delete`` (since 1.13)
|
||||||
|
|
||||||
|
- ``application-chat`` (since 1.13)
|
||||||
|
- ``application-clock`` (since 1.13)
|
||||||
|
|
||||||
|
- ``media-seek-forward`` 1.13)
|
||||||
|
- ``media-seek-backward`` (since 1.13)
|
||||||
|
- ``media-skip-forward`` (since 1.13)
|
||||||
|
- ``media-skip-backward`` (since 1.13)
|
||||||
|
- ``media-playback-pause`` (since 1.13)
|
||||||
|
- ``media-playback-start`` (since 1.13)
|
||||||
|
- ``media-playback-stop`` (since 1.13)
|
||||||
|
- ``media-eject`` (since 1.13)
|
||||||
|
|
||||||
|
- ``audio-volume`` (since 1.13)
|
||||||
|
- ``audio-volume-muted`` (since 1.13)
|
||||||
|
|
||||||
|
These are names for icons that were first intended to be used in
|
||||||
|
toolbars, but can be used in many other places too:
|
||||||
|
|
||||||
|
- ``home``
|
||||||
|
- ``close``
|
||||||
|
- ``apps``
|
||||||
|
- ``arrow_up``
|
||||||
|
- ``arrow_down``
|
||||||
|
- ``arrow_left``
|
||||||
|
- ``arrow_right``
|
||||||
|
- ``chat``
|
||||||
|
- ``clock``
|
||||||
|
- ``delete``
|
||||||
|
- ``edit``
|
||||||
|
- ``refresh``
|
||||||
|
- ``folder``
|
||||||
|
- ``file``
|
||||||
|
|
||||||
|
These are names for icons that were designed to be used in menus
|
||||||
|
(but again, you can use them anywhere else):
|
||||||
|
|
||||||
|
- ``menu/home``
|
||||||
|
- ``menu/close``
|
||||||
|
- ``menu/apps``
|
||||||
|
- ``menu/arrow_up``
|
||||||
|
- ``menu/arrow_down``
|
||||||
|
- ``menu/arrow_left``
|
||||||
|
- ``menu/arrow_right``
|
||||||
|
- ``menu/chat``
|
||||||
|
- ``menu/clock``
|
||||||
|
- ``menu/delete``
|
||||||
|
- ``menu/edit``
|
||||||
|
- ``menu/refresh``
|
||||||
|
- ``menu/folder``
|
||||||
|
- ``menu/file``
|
||||||
|
|
||||||
|
And these are names for some media player specific icons:
|
||||||
|
|
||||||
|
- ``media_player/forward``
|
||||||
|
- ``media_player/info``
|
||||||
|
- ``media_player/next``
|
||||||
|
- ``media_player/pause``
|
||||||
|
- ``media_player/play``
|
||||||
|
- ``media_player/prev``
|
||||||
|
- ``media_player/rewind``
|
||||||
|
- ``media_player/stop``
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``thumb,done`` - Setting :py:attr:`~Icon.thumb` has completed with success
|
||||||
|
- ``thumb,error`` - Setting :py:attr:`~Icon.thumb` has failed
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Icon_Lookup_Order:
|
||||||
|
|
||||||
|
Icon lookup modes
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_ICON_LOOKUP_FDO_THEME
|
||||||
|
|
||||||
|
freedesktop, theme
|
||||||
|
|
||||||
|
.. data:: ELM_ICON_LOOKUP_THEME_FDO
|
||||||
|
|
||||||
|
theme, freedesktop
|
||||||
|
|
||||||
|
.. data:: ELM_ICON_LOOKUP_FDO
|
||||||
|
|
||||||
|
freedesktop
|
||||||
|
|
||||||
|
.. data:: ELM_ICON_LOOKUP_THEME
|
||||||
|
|
||||||
|
theme
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Icon_Type:
|
||||||
|
|
||||||
|
Icon type
|
||||||
|
---------
|
||||||
|
|
||||||
|
.. data:: ELM_ICON_NONE
|
||||||
|
|
||||||
|
No icon
|
||||||
|
|
||||||
|
.. data:: ELM_ICON_FILE
|
||||||
|
|
||||||
|
Icon is a file
|
||||||
|
|
||||||
|
.. data:: ELM_ICON_STANDARD
|
||||||
|
|
||||||
|
Icon is set with standards name
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Icon
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Icon
|
||||||
|
|
|
@ -1,2 +1,95 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.image
|
Image
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/image-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
An Elementary image object allows one to load and display an image
|
||||||
|
file on it, be it from a disk file or from a memory region.
|
||||||
|
|
||||||
|
Exceptionally, one may also load an Edje group as the contents of the
|
||||||
|
image. In this case, though, most of the functions of the image API will
|
||||||
|
act as a no-op.
|
||||||
|
|
||||||
|
One can tune various properties of the image, like:
|
||||||
|
|
||||||
|
- pre-scaling,
|
||||||
|
- smooth scaling,
|
||||||
|
- orientation,
|
||||||
|
- aspect ratio during resizes, etc.
|
||||||
|
|
||||||
|
An image object may also be made valid source and destination for drag
|
||||||
|
and drop actions by setting :py:attr:`~Image.editable`.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``drop`` - This is called when a user has dropped an image
|
||||||
|
typed object onto the object in question -- the
|
||||||
|
event info argument is the path to that image file
|
||||||
|
- ``clicked`` - This is called when a user has clicked the image
|
||||||
|
- ``download,start`` - remote url download has started
|
||||||
|
- ``download,progress`` - url download in progress
|
||||||
|
- ``download,end`` - remote url download has finished
|
||||||
|
- ``download,error`` - remote url download has finished with errors
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Image_Orient:
|
||||||
|
|
||||||
|
Image manipulation types
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_ORIENT_NONE
|
||||||
|
|
||||||
|
No orientation change
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_ORIENT_0
|
||||||
|
|
||||||
|
No orientation change
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_ROTATE_90
|
||||||
|
|
||||||
|
Rotate 90 degrees clockwise
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_ROTATE_180
|
||||||
|
|
||||||
|
Rotate 180 degrees clockwise
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_ROTATE_270
|
||||||
|
|
||||||
|
Rotate 270 degrees clockwise
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_FLIP_HORIZONTAL
|
||||||
|
|
||||||
|
Flip the image horizontally
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_FLIP_VERTICAL
|
||||||
|
|
||||||
|
Flip the image vertically
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_FLIP_TRANSPOSE
|
||||||
|
|
||||||
|
Flip the image along the y = (width - x) line (bottom-left to top-right)
|
||||||
|
|
||||||
|
.. data:: ELM_IMAGE_FLIP_TRANSVERSE
|
||||||
|
|
||||||
|
Flip the image along the y = x line (top-left to bottom-right)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Image
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Image
|
||||||
|
|
|
@ -1,2 +1,64 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.index
|
Index
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/index-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
An index widget gives you an index for fast access to whichever
|
||||||
|
group of other UI items one might have.
|
||||||
|
|
||||||
|
It's a list of text items (usually letters, for alphabetically ordered
|
||||||
|
access).
|
||||||
|
|
||||||
|
Index widgets are by default hidden and just appear when the
|
||||||
|
user clicks over it's reserved area in the canvas. In its
|
||||||
|
default theme, it's an area one ``finger`` wide on
|
||||||
|
the right side of the index widget's container.
|
||||||
|
|
||||||
|
When items on the index are selected, smart callbacks get called, so that its
|
||||||
|
user can make other container objects to show a given area or child object
|
||||||
|
depending on the index item selected. You'd probably be using an index together
|
||||||
|
with :py:class:`~efl.elementary.list.List`,
|
||||||
|
:py:class:`~efl.elementary.genlist.Genlist` or
|
||||||
|
:py:class:`~efl.elementary.gengrid.Gengrid`.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - When the selected index item changes. ``event_info``
|
||||||
|
is the selected item's data.
|
||||||
|
- ``delay,changed`` - When the selected index item changes, but
|
||||||
|
after a small idling period. ``event_info`` is the selected
|
||||||
|
item's data.
|
||||||
|
- ``selected`` - When the user releases a mouse button and
|
||||||
|
selects an item. ``event_info`` is the selected item's data.
|
||||||
|
- ``level,up`` - when the user moves a finger from the first
|
||||||
|
level to the second level
|
||||||
|
- ``level,down`` - when the user moves a finger from the second
|
||||||
|
level to the first level
|
||||||
|
- ``language,changed`` - the program's language changed
|
||||||
|
- ``focused`` - When the index has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the index has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
The ``delay,changed`` event has a delay on change before the event is actually
|
||||||
|
reported and moreover just the last event happening on those time frames will
|
||||||
|
actually be reported.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Index
|
||||||
|
IndexItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Index
|
||||||
|
.. autoclass:: IndexItem
|
||||||
|
|
|
@ -1,2 +1,42 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.innerwindow
|
Innerwindow
|
||||||
|
###########
|
||||||
|
|
||||||
|
.. image:: /images/innerwindow-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
An inwin is a window inside a window that is useful for a quick popup.
|
||||||
|
It does not hover.
|
||||||
|
|
||||||
|
It works by creating an object that will occupy the entire window, so it must be
|
||||||
|
created using an :py:class:`~efl.elementary.window.Window` as parent only. The
|
||||||
|
inwin object can be hidden or restacked below every other object if it's needed
|
||||||
|
to show what's behind it without destroying it. If this is done, the
|
||||||
|
:py:meth:`~InnerWindow.activate` function can be used to bring it back to full
|
||||||
|
visibility again.
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
- ``default`` The inwin is sized to take over most of the window it's
|
||||||
|
placed in.
|
||||||
|
- ``minimal`` The size of the inwin will be the minimum necessary to show
|
||||||
|
its contents.
|
||||||
|
- ``minimal_vertical`` Horizontally, the inwin takes as much space as
|
||||||
|
possible, but it's sized vertically the most it needs to fit its
|
||||||
|
contents.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: InnerWindow
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: InnerWindow
|
||||||
|
|
|
@ -1,2 +1,78 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.label
|
Label
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/label-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Widget to display text, with simple html-like markup.
|
||||||
|
|
||||||
|
The Label widget **doesn't** allow text to overflow its boundaries, if the
|
||||||
|
text doesn't fit the geometry of the label it will be ellipsized or be
|
||||||
|
cut.
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
``default``
|
||||||
|
No animation
|
||||||
|
``marker``
|
||||||
|
Centers the text in the label and makes it bold by default
|
||||||
|
``slide_long``
|
||||||
|
The entire text appears from the right of the screen and
|
||||||
|
slides until it disappears in the left of the screen(reappearing on
|
||||||
|
the right again).
|
||||||
|
``slide_short``
|
||||||
|
The text appears in the left of the label and slides to
|
||||||
|
the right to show the overflow. When all of the text has been shown
|
||||||
|
the position is reset.
|
||||||
|
``slide_bounce``
|
||||||
|
The text appears in the left of the label and slides to
|
||||||
|
the right to show the overflow. When all of the text has been shown
|
||||||
|
the animation reverses, moving the text to the left.
|
||||||
|
|
||||||
|
Custom themes can of course invent new markup tags and style them any way
|
||||||
|
they like.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``language,changed`` - The program's language changed.
|
||||||
|
- ``slide,end`` - The slide is end.
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Label_Slide_Mode:
|
||||||
|
|
||||||
|
Slide modes
|
||||||
|
-----------
|
||||||
|
|
||||||
|
.. data:: ELM_LABEL_SLIDE_MODE_NONE
|
||||||
|
|
||||||
|
The label will never slide.
|
||||||
|
|
||||||
|
.. data:: ELM_LABEL_SLIDE_MODE_AUTO
|
||||||
|
|
||||||
|
The label slide if the content is bigger than it's container.
|
||||||
|
|
||||||
|
.. data:: ELM_LABEL_SLIDE_MODE_ALWAYS
|
||||||
|
|
||||||
|
The label will always slide.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Label
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Label
|
||||||
|
|
|
@ -1,2 +1,165 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.layout
|
Layout
|
||||||
|
######
|
||||||
|
|
||||||
|
.. image:: /images/layout-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This is a container widget that takes a standard Edje design file and
|
||||||
|
wraps it very thinly in a widget.
|
||||||
|
|
||||||
|
An Edje design (theme) file has a very wide range of possibilities to
|
||||||
|
describe the behavior of elements added to the Layout. Check out the Edje
|
||||||
|
documentation and the EDC reference to get more information about what can
|
||||||
|
be done with Edje.
|
||||||
|
|
||||||
|
Just like :py:class:`~efl.elementary.list.List`,
|
||||||
|
:py:class:`~efl.elementary.box.Box`, and other container
|
||||||
|
widgets, any object added to the Layout will become its child, meaning
|
||||||
|
that it will be deleted if the Layout is deleted, move if the Layout is
|
||||||
|
moved, and so on.
|
||||||
|
|
||||||
|
The Layout widget can contain as many Contents, Boxes or Tables as
|
||||||
|
described in its theme file. For instance, objects can be added to
|
||||||
|
different Tables by specifying the respective Table part names. The same
|
||||||
|
is valid for Content and Box.
|
||||||
|
|
||||||
|
The objects added as child of the Layout will behave as described in the
|
||||||
|
part description where they were added. There are 3 possible types of
|
||||||
|
parts where a child can be added:
|
||||||
|
|
||||||
|
Content (SWALLOW part)
|
||||||
|
Only one object can be added to the ``SWALLOW`` part (but you still can
|
||||||
|
have many ``SWALLOW`` parts and one object on each of them). Use the
|
||||||
|
``Object.content_set/get/unset`` functions to set, retrieve and unset
|
||||||
|
objects as content of the *SWALLOW*. After being set to this part,
|
||||||
|
the object size, position, visibility, clipping and other description
|
||||||
|
properties will be totally controlled by the description of the
|
||||||
|
given part (inside the Edje theme file).
|
||||||
|
|
||||||
|
One can use ``size_hint_`` functions on the child to have some kind of
|
||||||
|
control over its behavior, but the resulting behavior will still
|
||||||
|
depend heavily on the ``SWALLOW`` part description.
|
||||||
|
|
||||||
|
The Edje theme also can change the part description, based on
|
||||||
|
signals or scripts running inside the theme. This change can also be
|
||||||
|
animated. All of this will affect the child object set as content
|
||||||
|
accordingly. The object size will be changed if the part size is
|
||||||
|
changed, it will animate move if the part is moving, and so on.
|
||||||
|
|
||||||
|
Box (BOX part)
|
||||||
|
An Edje ``BOX`` part is very similar to the Elementary
|
||||||
|
:py:class:`~efl.elementary.box.Box` widget. It allows one to add objects to
|
||||||
|
the box and have them distributed along its area, accordingly to the
|
||||||
|
specified ``layout`` property (now by ``layout`` we mean the chosen
|
||||||
|
layouting design of the Box, not the Layout widget itself).
|
||||||
|
|
||||||
|
A similar effect for having a box with its position, size and other things
|
||||||
|
controlled by the Layout theme would be to create an Elementary
|
||||||
|
:py:class:`~efl.elementary.box.Box` widget and add it as a Content in the
|
||||||
|
``SWALLOW`` part.
|
||||||
|
|
||||||
|
The main difference of using the Layout Box is that its behavior, the box
|
||||||
|
properties like layouting format, padding, align, etc. will be all
|
||||||
|
controlled by the theme. This means, for example, that a signal could be
|
||||||
|
sent to the Layout theme (with
|
||||||
|
:py:meth:`~efl.elementary.object.Object.signal_emit`) and the theme handled
|
||||||
|
the signal by changing the box padding, or align, or both. Using the
|
||||||
|
Elementary :py:class:`~efl.elementary.box.Box` widget is not necessarily
|
||||||
|
harder or easier, it just depends on the circumstances and requirements.
|
||||||
|
|
||||||
|
The Layout Box can be used through the ``box_`` set of functions.
|
||||||
|
|
||||||
|
Table (TABLE part)
|
||||||
|
Just like the *Box*, the Layout Table is very similar to the Elementary
|
||||||
|
:py:class:`~efl.elementary.table.Table` widget. It allows one to add objects
|
||||||
|
to the Table specifying the row and column where the object should be added,
|
||||||
|
and any column or row span if necessary.
|
||||||
|
|
||||||
|
Again, we could have this design by adding a
|
||||||
|
:py:class:`~efl.elementary.table.Table` widget to the ``SWALLOW`` part using
|
||||||
|
:py:func:`~efl.elementary.object.Object.part_content_set`. The same
|
||||||
|
difference happens here when choosing to use the Layout Table (a ``TABLE``
|
||||||
|
part) instead of the :py:class:`~efl.elementary.table.Table` plus
|
||||||
|
``SWALLOW`` part. It's just a matter of convenience.
|
||||||
|
|
||||||
|
The Layout Table can be used through the ``table_`` set of functions.
|
||||||
|
|
||||||
|
Another interesting thing about the Layout widget is that it offers some
|
||||||
|
predefined themes that come with the default Elementary theme. These themes can
|
||||||
|
be set by :py:attr:`~efl.elementary.layout_class.LayoutClass.theme`, and provide
|
||||||
|
some basic functionality depending on the theme used.
|
||||||
|
|
||||||
|
Most of them already send some signals, some already provide a toolbar or
|
||||||
|
back and next buttons.
|
||||||
|
|
||||||
|
|
||||||
|
Layout Class
|
||||||
|
============
|
||||||
|
|
||||||
|
Elementary, besides having the :py:class:`~efl.elementary.layout.Layout`
|
||||||
|
widget, exposes its foundation -- the Elementary Layout Class -- in
|
||||||
|
order to create other widgets which are, basically, a certain layout
|
||||||
|
with some more logic on top.
|
||||||
|
|
||||||
|
The idea is to make the creation of that widgets as easy as possible,
|
||||||
|
factorizing code on this common base. For example, a button is a layout
|
||||||
|
(that looks like push button) that happens to react on clicks and keyboard
|
||||||
|
events in a special manner, calling its user back on those events. That's no
|
||||||
|
surprise, then, that the :py:class:`~efl.elementary.button.Button`
|
||||||
|
implementation relies on LayoutClass, if you go to check it.
|
||||||
|
|
||||||
|
Container parts, here, map directly to Edje parts from the layout's Edje
|
||||||
|
group. Besides that, there's a whole infrastructure around Edje files:
|
||||||
|
|
||||||
|
- interfacing by signals,
|
||||||
|
- setting/retrieving text part values,
|
||||||
|
- dealing with table and box parts directly,
|
||||||
|
- etc.
|
||||||
|
|
||||||
|
Finally, layout objects will do **part aliasing** for you, if you set
|
||||||
|
it up properly. For that, take a look at
|
||||||
|
Elm_Layout_Part_Alias_Description, where it's explained in detail.
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
These are available predefined theme layouts. All of them have class =
|
||||||
|
*layout*, group = *application*, and style = one of the following options:
|
||||||
|
|
||||||
|
- ``toolbar-content`` - application with toolbar and main content area
|
||||||
|
- ``toolbar-content-back`` - application with toolbar and main content
|
||||||
|
area with a back button and title area
|
||||||
|
- ``toolbar-content-back-next`` - application with toolbar and main
|
||||||
|
content area with a back and next buttons and title area
|
||||||
|
- ``content-back`` - application with a main content area with a back
|
||||||
|
button and title area
|
||||||
|
- ``content-back-next`` - application with a main content area with a
|
||||||
|
back and next buttons and title area
|
||||||
|
- ``toolbar-vbox`` - application with toolbar and main content area as a
|
||||||
|
vertical box
|
||||||
|
- ``toolbar-table`` - application with toolbar and main content area as a
|
||||||
|
table
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``theme,changed`` - The theme was changed.
|
||||||
|
- ``language,changed`` - the program's language changed
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Layout
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Layout
|
||||||
|
.. autoclass:: LayoutClass
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
.. automodule:: efl.elementary.layout_class
|
|
|
@ -1,2 +1,137 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.list
|
List
|
||||||
|
####
|
||||||
|
|
||||||
|
.. image:: /images/list-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A list widget is a container whose children are displayed vertically or
|
||||||
|
horizontally, in order, and can be selected.
|
||||||
|
The list can accept only one or multiple items selection. Also has many
|
||||||
|
modes of items displaying.
|
||||||
|
|
||||||
|
A list is a very simple type of list widget. For more robust
|
||||||
|
lists, :py:class:`~efl.elementary.genlist.Genlist` should probably be used.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``activated`` - The user has double-clicked or pressed
|
||||||
|
(enter|return|spacebar) on an item.
|
||||||
|
- ``clicked,double`` - The user has double-clicked an item.
|
||||||
|
- ``clicked,right`` - The user has right-clicked an item. (since: 1.13)
|
||||||
|
- ``selected`` - when the user selected an item
|
||||||
|
- ``unselected`` - when the user unselected an item
|
||||||
|
- ``longpressed`` - an item in the list is long-pressed
|
||||||
|
- ``edge,top`` - the list is scrolled until the top edge
|
||||||
|
- ``edge,bottom`` - the list is scrolled until the bottom edge
|
||||||
|
- ``edge,left`` - the list is scrolled until the left edge
|
||||||
|
- ``edge,right`` - the list is scrolled until the right edge
|
||||||
|
- ``highlighted`` - an item in the list is highlighted. This is called when
|
||||||
|
the user presses an item or keyboard selection is done so the item is
|
||||||
|
physically highlighted.
|
||||||
|
- ``unhighlighted`` - an item in the list is unhighlighted. This is called
|
||||||
|
when the user releases an item or keyboard selection is moved so the item
|
||||||
|
is physically unhighlighted.
|
||||||
|
- ``language,changed`` - the program's language changed
|
||||||
|
- ``focused`` - When the list has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the list has lost focus. (since 1.8)
|
||||||
|
- ``item,focused`` - When the list item has received focus. (since 1.10)
|
||||||
|
- ``item,unfocused`` - When the list item has lost focus. (since 1.10)
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
- ``default``
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``start`` - A start position object in the list item
|
||||||
|
- ``end`` - A end position object in the list item
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - label in the list item
|
||||||
|
|
||||||
|
|
||||||
|
Scrollable Interface
|
||||||
|
====================
|
||||||
|
|
||||||
|
This widget supports the scrollable interface.
|
||||||
|
|
||||||
|
If you wish to control the scolling behaviour using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.scroller.Scrollable` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class ScrollableGenlist(Genlist, Scrollable):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
Genlist.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_List_Mode:
|
||||||
|
|
||||||
|
List sizing modes
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_LIST_COMPRESS
|
||||||
|
|
||||||
|
The list won't set any of its size hints to inform how a possible container
|
||||||
|
should resize it.
|
||||||
|
|
||||||
|
Then, if it's not created as a "resize object", it might end with zeroed
|
||||||
|
dimensions. The list will respect the container's geometry and, if any of
|
||||||
|
its items won't fit into its transverse axis, one won't be able to scroll it
|
||||||
|
in that direction.
|
||||||
|
|
||||||
|
.. data:: ELM_LIST_SCROLL
|
||||||
|
|
||||||
|
Default value.
|
||||||
|
|
||||||
|
This is the same as ELM_LIST_COMPRESS, with the exception that if any of
|
||||||
|
its items won't fit into its transverse axis, one will be able to scroll
|
||||||
|
it in that direction.
|
||||||
|
|
||||||
|
.. data:: ELM_LIST_LIMIT
|
||||||
|
|
||||||
|
Sets a minimum size hint on the list object, so that containers may
|
||||||
|
respect it (and resize itself to fit the child properly).
|
||||||
|
|
||||||
|
More specifically, a minimum size hint will be set for its transverse
|
||||||
|
axis, so that the largest item in that direction fits well. This is
|
||||||
|
naturally bound by the list object's maximum size hints, set externally.
|
||||||
|
|
||||||
|
.. data:: ELM_LIST_EXPAND
|
||||||
|
|
||||||
|
Besides setting a minimum size on the transverse axis, just like on
|
||||||
|
ELM_LIST_LIMIT, the list will set a minimum size on the longitudinal
|
||||||
|
axis, trying to reserve space to all its children to be visible at a time.
|
||||||
|
|
||||||
|
This is naturally bound by the list object's maximum size hints, set
|
||||||
|
externally.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
List
|
||||||
|
ListItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: List
|
||||||
|
.. autoclass:: ListItem
|
||||||
|
|
|
@ -1,2 +1,202 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.map
|
Map
|
||||||
|
###
|
||||||
|
|
||||||
|
.. image:: /images/map-preview.png
|
||||||
|
:width: 100%
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
The *Map* is a widget specifically for displaying a geographic map.
|
||||||
|
It uses `OpenStreetMap <http://www.openstreetmap.org/>`_ as map tile provider,
|
||||||
|
`YOURS <http://www.yournavigation.org/>`_ for routing calculation and
|
||||||
|
`Nominatim <http://nominatim.openstreetmap.org/>`_ to convert geographic
|
||||||
|
coordinates to/from address names. But custom providers can be added.
|
||||||
|
|
||||||
|
It supports some basic but yet nice features:
|
||||||
|
|
||||||
|
- zooming and scrolling
|
||||||
|
- markers with content to be displayed when user clicks over them
|
||||||
|
- automatic grouping of markers based on zoom level
|
||||||
|
- routes calculation
|
||||||
|
- names/coordinates conversion (and viceversa)
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - Called when a user has clicked the map without dragging around.
|
||||||
|
- ``clicked,double`` - Called when a user has double-clicked the map.
|
||||||
|
- ``press`` - This is called when a user has pressed down on the map.
|
||||||
|
- ``longpressed`` - This is called when a user has pressed down on the map
|
||||||
|
for a long time without dragging around.
|
||||||
|
- ``scroll`` - the content has been scrolled (moved).
|
||||||
|
- ``scroll,drag,start`` - dragging the contents around has started.
|
||||||
|
- ``scroll,drag,stop`` - dragging the contents around has stopped.
|
||||||
|
- ``scroll,anim,start`` - scrolling animation has started.
|
||||||
|
- ``scroll,anim,stop`` - scrolling animation has stopped.
|
||||||
|
- ``zoom,start`` - Zoom animation started.
|
||||||
|
- ``zoom,stop`` - Zoom animation stopped.
|
||||||
|
- ``zoom,change`` - Zoom changed when using an auto zoom mode.
|
||||||
|
- ``tile,load`` - A map tile image load begins.
|
||||||
|
- ``tile,loaded`` - A map tile image load ends.
|
||||||
|
- ``tile,loaded,fail`` - A map tile image load fails.
|
||||||
|
- ``route,load`` - Route request begins.
|
||||||
|
- ``route,loaded`` - Route request ends.
|
||||||
|
- ``route,loaded,fail`` - Route request fails.
|
||||||
|
- ``name,load`` - Name request begins.
|
||||||
|
- ``name,loaded`` - Name request ends.
|
||||||
|
- ``name,loaded,fail`` - Name request fails.
|
||||||
|
- ``overlay,clicked`` - A overlay is clicked.
|
||||||
|
- ``loaded`` - when a map is finally loaded.
|
||||||
|
- ``language,changed`` - the program's language changed
|
||||||
|
- ``focused`` - When the map has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the map has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Scrollable Interface
|
||||||
|
====================
|
||||||
|
|
||||||
|
This widget supports the scrollable interface.
|
||||||
|
|
||||||
|
If you wish to control the scolling behaviour using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`Scrollable<efl.elementary.scroller.Scrollable>` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class ScrollableGenlist(Genlist, Scrollable):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
Genlist.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Map_Overlay_Type:
|
||||||
|
|
||||||
|
Map overlay types
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_NONE
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_DEFAULT
|
||||||
|
|
||||||
|
The default overlay type.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_CLASS
|
||||||
|
|
||||||
|
The Class overlay is used to group marker together.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_GROUP
|
||||||
|
|
||||||
|
A group of overlays.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_BUBBLE
|
||||||
|
|
||||||
|
This class can *follow* another overlay.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_ROUTE
|
||||||
|
|
||||||
|
This is used to draw a route result on the map.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_LINE
|
||||||
|
|
||||||
|
Simply draw a line on the map.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_POLYGON
|
||||||
|
|
||||||
|
Simply draw a polygon on the map.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_CIRCLE
|
||||||
|
|
||||||
|
Simply draw a circle on the map.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_OVERLAY_TYPE_SCALE
|
||||||
|
|
||||||
|
This will draw a dinamic scale on the map.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Map_Route_Method:
|
||||||
|
|
||||||
|
Map route methods
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_ROUTE_METHOD_FASTEST
|
||||||
|
|
||||||
|
Route should prioritize time
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_ROUTE_METHOD_SHORTEST
|
||||||
|
|
||||||
|
Route should prioritize distance
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Map_Route_Type:
|
||||||
|
|
||||||
|
Map route types
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_ROUTE_TYPE_MOTOCAR
|
||||||
|
|
||||||
|
Route should consider an automobile will be used.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_ROUTE_TYPE_BICYCLE
|
||||||
|
|
||||||
|
Route should consider a bicycle will be used by the user.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_ROUTE_TYPE_FOOT
|
||||||
|
|
||||||
|
Route should consider user will be walking.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Map_Source_Type:
|
||||||
|
|
||||||
|
Map source types
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_SOURCE_TYPE_TILE
|
||||||
|
|
||||||
|
Map tile provider
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_SOURCE_TYPE_ROUTE
|
||||||
|
|
||||||
|
Route service provider
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_SOURCE_TYPE_NAME
|
||||||
|
|
||||||
|
Name service provider
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Map_Zoom_Mode:
|
||||||
|
|
||||||
|
Map zoom modes
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_ZOOM_MODE_MANUAL
|
||||||
|
|
||||||
|
Zoom controlled manually by :py:attr:`~Map.zoom`
|
||||||
|
|
||||||
|
It's set by default.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_ZOOM_MODE_AUTO_FIT
|
||||||
|
|
||||||
|
Zoom until map fits inside the scroll frame with no pixels outside this
|
||||||
|
area.
|
||||||
|
|
||||||
|
.. data:: ELM_MAP_ZOOM_MODE_AUTO_FILL
|
||||||
|
|
||||||
|
Zoom until map fills scroll, ensuring no pixels are left unfilled.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Map
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Map
|
||||||
|
|
|
@ -1,2 +1,33 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.mapbuf
|
Mapbuf
|
||||||
|
######
|
||||||
|
|
||||||
|
.. image:: /images/mapbuf-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This holds one content object and uses an Evas Map of transformation
|
||||||
|
points to be later used with this content. So the content will be
|
||||||
|
moved, resized, etc as a single image. So it will improve performance
|
||||||
|
when you have a complex interface, with a lot of elements, and will
|
||||||
|
need to resize or move it frequently (the content object and its
|
||||||
|
children).
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - The main content of the mapbuf
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Mapbuf
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Mapbuf
|
||||||
|
|
|
@ -1,2 +1,48 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.menu
|
Menu
|
||||||
|
####
|
||||||
|
|
||||||
|
.. image:: /images/menu-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A menu is a list of items displayed above its parent.
|
||||||
|
|
||||||
|
When the menu is showing its parent is darkened. Each item can have a
|
||||||
|
sub-menu. The menu object can be used to display a menu on a right click
|
||||||
|
event, in a toolbar, anywhere.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - the user clicked the empty space in the menu to dismiss.
|
||||||
|
- ``dismissed`` - the user clicked the empty space in the menu to dismiss (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - A main content of the menu item
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - label in the menu item
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Menu
|
||||||
|
MenuItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Menu
|
||||||
|
.. autoclass:: MenuItem
|
||||||
|
|
|
@ -1,2 +1,60 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.multibuttonentry
|
MultiButtonEntry
|
||||||
|
################
|
||||||
|
|
||||||
|
.. image:: /images/multibuttonentry-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A Multibuttonentry is a widget to allow a user enter text and manage
|
||||||
|
it as a number of buttons. Each text button is inserted by pressing the
|
||||||
|
"return" key. If there is no space in the current row, a new button is
|
||||||
|
added to the next row. When a text button is pressed, it will become
|
||||||
|
focused. Backspace removes the focus. When the Multibuttonentry loses
|
||||||
|
focus items longer than one line are shrunk to one line.
|
||||||
|
|
||||||
|
Typical use case of multibuttonentry is, composing emails/messages to a
|
||||||
|
group of addresses, each of which is an item that can be clicked for
|
||||||
|
further actions.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``item,selected`` - this is called when an item is selected by
|
||||||
|
api, user interaction, and etc. this is also called when a
|
||||||
|
user press back space while cursor is on the first field of
|
||||||
|
entry. event_info contains the item.
|
||||||
|
- ``item,added`` - when a new multi-button entry item is added.
|
||||||
|
event_info contains the item.
|
||||||
|
- ``item,deleted`` - when a multi-button entry item is deleted.
|
||||||
|
event_info contains the item.
|
||||||
|
- ``item,clicked`` - this is called when an item is clicked by user
|
||||||
|
interaction. Both "item,selected" and "item,clicked" are needed.
|
||||||
|
event_info contains the item.
|
||||||
|
- ``clicked`` - when multi-button entry is clicked.
|
||||||
|
- ``focused`` - when multi-button entry is focused.
|
||||||
|
- ``unfocused`` - when multi-button entry is unfocused.
|
||||||
|
- ``expanded`` - when multi-button entry is expanded.
|
||||||
|
- ``contracted`` - when multi-button entry is contracted.
|
||||||
|
- ``expand,state,changed`` - when shrink mode state of
|
||||||
|
multi-button entry is changed.
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - A label of the multibuttonentry
|
||||||
|
- ``default`` - A label of the multibuttonentry item
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: MultiButtonEntry
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: MultiButtonEntry
|
||||||
|
|
|
@ -1,2 +1,97 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.naviframe
|
Naviframe
|
||||||
|
#########
|
||||||
|
|
||||||
|
.. image:: /images/naviframe-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Naviframe stands for navigation frame. It's a views manager
|
||||||
|
for applications.
|
||||||
|
|
||||||
|
A naviframe holds views (or pages) as its items. Those items are
|
||||||
|
organized in a stack, so that new items get pushed on top of the
|
||||||
|
old, and only the topmost view is displayed at one time. The
|
||||||
|
transition between views is animated, depending on the theme
|
||||||
|
applied to the widget.
|
||||||
|
|
||||||
|
Naviframe views hold spaces to various elements, which are:
|
||||||
|
|
||||||
|
- back button, used to navigate to previous views,
|
||||||
|
- next button, used to navigate to next views in the stack,
|
||||||
|
- title label,
|
||||||
|
- sub-title label,
|
||||||
|
- title icon and
|
||||||
|
- content area.
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - The main content of the current page
|
||||||
|
- ``icon`` - An icon in the title area of the current page
|
||||||
|
- ``prev_btn`` - A button of the current page to go to the previous page
|
||||||
|
- ``next_btn`` - A button of the current page to go to the next page
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Title label in the title area of the current page
|
||||||
|
- ``subtitle`` - Sub-title label in the title area of the current page
|
||||||
|
|
||||||
|
Most of those content objects can be passed at the time of an item
|
||||||
|
creation (see :py:meth:`~NaviframeItem.push_to`).
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
Naviframe items can have different styles, which affect the
|
||||||
|
transition between views, for example. On the default theme, two of
|
||||||
|
them are supported:
|
||||||
|
|
||||||
|
- ``basic`` - views are switched sliding horizontally, one after the other
|
||||||
|
- ``overlap`` - like the previous one, but the previous view stays at its place
|
||||||
|
and is overlapped by the new
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``transition,finished`` - When the transition is finished in changing the item
|
||||||
|
- ``title,transition,finished`` - When the title area's transition is finished
|
||||||
|
- ``title,clicked`` - User clicked title area
|
||||||
|
- ``focused`` - When the naviframe has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the naviframe has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
All the parts, for content and text, described here will also be
|
||||||
|
reachable by naviframe **items** direct calls:
|
||||||
|
|
||||||
|
- :py:meth:`~efl.elementary.object_item.ObjectItem.delete`
|
||||||
|
- :py:meth:`~efl.elementary.object_item.ObjectItem.part_text_set`
|
||||||
|
- :py:meth:`~efl.elementary.object_item.ObjectItem.part_text_get`
|
||||||
|
- :py:meth:`~efl.elementary.object_item.ObjectItem.part_content_set`
|
||||||
|
- :py:meth:`~efl.elementary.object_item.ObjectItem.part_content_get`
|
||||||
|
- :py:meth:`~efl.elementary.object_item.ObjectItem.part_content_unset`
|
||||||
|
- :py:meth:`~efl.elementary.object_item.ObjectItem.signal_emit`
|
||||||
|
|
||||||
|
What happens is that the topmost item of a naviframe will be the
|
||||||
|
widget's target layout, when accessed directly. Items lying below
|
||||||
|
the top one can be interacted with this way.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Naviframe
|
||||||
|
NaviframeItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Naviframe
|
||||||
|
.. autoclass:: NaviframeItem
|
||||||
|
|
|
@ -1,2 +1,20 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.need
|
Need
|
||||||
|
####
|
||||||
|
|
||||||
|
Description
|
||||||
|
===========
|
||||||
|
|
||||||
|
These functions are used for requesting use of optional Elementary modules.
|
||||||
|
Check their return value for whether the feature is actually supported.
|
||||||
|
|
||||||
|
|
||||||
|
.. autofunction:: efl.elementary.need_efreet
|
||||||
|
.. autofunction:: efl.elementary.need_systray
|
||||||
|
.. autofunction:: efl.elementary.need_sys_notify
|
||||||
|
.. autofunction:: efl.elementary.need_e_dbus
|
||||||
|
.. autofunction:: efl.elementary.need_eldbus
|
||||||
|
.. autofunction:: efl.elementary.need_elocation
|
||||||
|
.. autofunction:: efl.elementary.need_ethumb
|
||||||
|
.. autofunction:: efl.elementary.need_web
|
||||||
|
|
|
@ -1,2 +1,54 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.notify
|
Notify
|
||||||
|
######
|
||||||
|
|
||||||
|
.. image:: /images/notify-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Display a container in a particular region of the parent.
|
||||||
|
|
||||||
|
A timeout can be set to automatically hide the notify. This is so that, after
|
||||||
|
an :py:meth:`~efl.evas.Object.show` on a notify object, if a timeout was set on
|
||||||
|
it, it will **automatically** get hidden after that time.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``timeout`` - when timeout happens on notify and it's hidden
|
||||||
|
- ``block,clicked`` - when a click outside of the notify happens
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - The main content of the notify
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _ELM_NOTIFY_ALIGN_FILL:
|
||||||
|
|
||||||
|
ELM_NOTIFY_ALIGN_FILL
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
.. data:: ELM_NOTIFY_ALIGN_FILL
|
||||||
|
|
||||||
|
Use with :py:attr:`Notify.align`
|
||||||
|
|
||||||
|
.. versionadded:: 1.8
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Notify
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Notify
|
||||||
|
|
|
@ -1,2 +1,282 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.object
|
Object
|
||||||
|
######
|
||||||
|
|
||||||
|
Copy and Paste
|
||||||
|
==============
|
||||||
|
|
||||||
|
Implements the following functionality
|
||||||
|
|
||||||
|
a. select, copy/cut and paste
|
||||||
|
b. clipboard
|
||||||
|
c. drag and drop
|
||||||
|
|
||||||
|
in order to share data across application windows.
|
||||||
|
|
||||||
|
Contains functions to select text or a portion of data,
|
||||||
|
send it to a buffer, and paste the data into a target.
|
||||||
|
|
||||||
|
elm_cnp provides a generic copy and paste facility based on its windowing
|
||||||
|
system.
|
||||||
|
It is not necessary to know the details of each windowing system,
|
||||||
|
but some terms and behavior are common.
|
||||||
|
Currently the X11 window system is widely used, and only X11 functionality is
|
||||||
|
implemented.
|
||||||
|
|
||||||
|
In X11R6 window system, CopyPaste works like a peer-to-peer communication.
|
||||||
|
Copying is an operation on an object in an X server.
|
||||||
|
X11 calls those objects 'selections' which have names.
|
||||||
|
Generally, two selection types are needed for copy and paste:
|
||||||
|
The Primary selection and the Clipboard selection.
|
||||||
|
Primary selection is for selecting text (that means highlighted text).
|
||||||
|
Clipboard selection is for explicit copying behavior
|
||||||
|
(such as ctrl+c, or 'copy' in a menu).
|
||||||
|
Thus, in applications most cases only use the clipboard selection.
|
||||||
|
As stated before, taking ownership of a selection doesn't move any actual data.
|
||||||
|
Copying and Pasting is described as follows:
|
||||||
|
|
||||||
|
1. Copy text in Program A : Program A takes ownership of the selection
|
||||||
|
2. Paste text in Program B : Program B notes that Program A owns the selection
|
||||||
|
3. Program B asks A for the text
|
||||||
|
4. Program A responds and sends the text to program B
|
||||||
|
5. Program B pastes the response
|
||||||
|
|
||||||
|
More information is on
|
||||||
|
- http://www.jwz.org/doc/x-cut-and-paste.html
|
||||||
|
- X11R6 Inter-Client Communication Conventions Manual, section 2
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Object_Focus_Direction:
|
||||||
|
|
||||||
|
Focus direction
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_PREVIOUS
|
||||||
|
|
||||||
|
Focus previous
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_NEXT
|
||||||
|
|
||||||
|
Focus next
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_UP
|
||||||
|
|
||||||
|
Focus up
|
||||||
|
|
||||||
|
.. versionadded:: 1.8.1
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_DOWN
|
||||||
|
|
||||||
|
Focus down
|
||||||
|
|
||||||
|
.. versionadded:: 1.8.1
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_RIGHT
|
||||||
|
|
||||||
|
Focus right
|
||||||
|
|
||||||
|
.. versionadded:: 1.8.1
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_LEFT
|
||||||
|
|
||||||
|
Focus left
|
||||||
|
|
||||||
|
.. versionadded:: 1.8.1
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Focus_Move_Policy:
|
||||||
|
|
||||||
|
Focus move policy
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_MOVE_POLICY_CLICK
|
||||||
|
|
||||||
|
Give focus to object when they are clicked
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_MOVE_POLICY_IN
|
||||||
|
|
||||||
|
Give focus to object on mouse-in
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Focus_Autoscroll_Mode:
|
||||||
|
|
||||||
|
Focus autoscroll mode
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_AUTOSCROLL_MODE_SHOW
|
||||||
|
|
||||||
|
Directly show the focused region or item automatically.
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_AUTOSCROLL_MODE_NONE
|
||||||
|
|
||||||
|
Do not show the focused region or item automatically.
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
.. data:: ELM_FOCUS_AUTOSCROLL_MODE_BRING_IN
|
||||||
|
|
||||||
|
Bring_in the focused region or item automatically which might
|
||||||
|
invole the scrolling
|
||||||
|
|
||||||
|
.. versionadded:: 1.10
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Input_Event_Type:
|
||||||
|
|
||||||
|
Input event types
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: EVAS_CALLBACK_KEY_DOWN
|
||||||
|
.. data:: EVAS_CALLBACK_KEY_UP
|
||||||
|
.. data:: EVAS_CALLBACK_MOUSE_WHEEL
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Object_Sel_Type:
|
||||||
|
|
||||||
|
Selection type
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Defines the types of selection property names.
|
||||||
|
|
||||||
|
:see: http://www.x.org/docs/X11/xlib.pdf for more details.
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_TYPE_PRIMARY
|
||||||
|
|
||||||
|
Primary text selection (highlighted or selected text)
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_TYPE_SECONDARY
|
||||||
|
|
||||||
|
Used when primary selection is in use
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_TYPE_XDND
|
||||||
|
|
||||||
|
Drag 'n' Drop
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_TYPE_CLIPBOARD
|
||||||
|
|
||||||
|
Clipboard selection (ctrl+C)
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Object_Sel_Format:
|
||||||
|
|
||||||
|
Selection format
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Defines the types of content.
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_FORMAT_TARGETS
|
||||||
|
|
||||||
|
For matching every possible atom
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_FORMAT_NONE
|
||||||
|
|
||||||
|
Content is from outside of Elementary
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_FORMAT_TEXT
|
||||||
|
|
||||||
|
Plain unformatted text: Used for things that don't want rich markup
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_FORMAT_MARKUP
|
||||||
|
|
||||||
|
Edje textblock markup, including inline images
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_FORMAT_IMAGE
|
||||||
|
|
||||||
|
Images
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_FORMAT_VCARD
|
||||||
|
|
||||||
|
Vcards
|
||||||
|
|
||||||
|
.. data:: ELM_SEL_FORMAT_HTML
|
||||||
|
|
||||||
|
Raw HTML-like data (eg. webkit)
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Object_Xdnd_Action:
|
||||||
|
|
||||||
|
XDND action
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Defines the kind of action associated with the drop data if for XDND
|
||||||
|
|
||||||
|
.. versionadded:: 1.8
|
||||||
|
|
||||||
|
.. data:: ELM_XDND_ACTION_UNKNOWN
|
||||||
|
|
||||||
|
Action type is unknown
|
||||||
|
|
||||||
|
.. data:: ELM_XDND_ACTION_COPY
|
||||||
|
|
||||||
|
Copy the data
|
||||||
|
|
||||||
|
.. data:: ELM_XDND_ACTION_MOVE
|
||||||
|
|
||||||
|
Move the data
|
||||||
|
|
||||||
|
.. data:: ELM_XDND_ACTION_PRIVATE
|
||||||
|
|
||||||
|
Private action type
|
||||||
|
|
||||||
|
.. data:: ELM_XDND_ACTION_ASK
|
||||||
|
|
||||||
|
Ask the user what to do
|
||||||
|
|
||||||
|
.. data:: ELM_XDND_ACTION_LIST
|
||||||
|
|
||||||
|
List the data
|
||||||
|
|
||||||
|
.. data:: ELM_XDND_ACTION_LINK
|
||||||
|
|
||||||
|
Link the data
|
||||||
|
|
||||||
|
.. data:: ELM_XDND_ACTION_DESCRIPTION
|
||||||
|
|
||||||
|
Describe the data
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Object_Select_Mode:
|
||||||
|
|
||||||
|
Selection modes
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_SELECT_MODE_DEFAULT
|
||||||
|
|
||||||
|
Items will only call their selection func and callback when
|
||||||
|
first becoming selected. Any further clicks will do nothing,
|
||||||
|
unless you set always select mode.
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_SELECT_MODE_ALWAYS
|
||||||
|
|
||||||
|
This means that, even if selected, every click will make the
|
||||||
|
selected callbacks be called.
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_SELECT_MODE_NONE
|
||||||
|
|
||||||
|
This will turn off the ability to select items entirely and
|
||||||
|
they will neither appear selected nor call selected callback
|
||||||
|
functions.
|
||||||
|
|
||||||
|
.. data:: ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
|
||||||
|
|
||||||
|
No select mode with no finger size rule
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Object
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Object
|
||||||
|
|
|
@ -1,2 +1,13 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.object_item
|
Object Item
|
||||||
|
###########
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: ObjectItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: ObjectItem
|
||||||
|
|
|
@ -1,2 +1,62 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.panel
|
Panel
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/panel-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A panel is a type of animated container that contains subobjects.
|
||||||
|
|
||||||
|
It can be expanded or contracted by clicking the button on it's edge.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``focused`` - When the panel has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the panel has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - A content of the panel
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Panel_Orient:
|
||||||
|
|
||||||
|
Panel orientation types
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
.. data:: ELM_PANEL_ORIENT_TOP
|
||||||
|
|
||||||
|
Panel (dis)appears from the top
|
||||||
|
|
||||||
|
.. data:: ELM_PANEL_ORIENT_BOTTOM
|
||||||
|
|
||||||
|
Panel (dis)appears from the bottom
|
||||||
|
|
||||||
|
.. data:: ELM_PANEL_ORIENT_LEFT
|
||||||
|
|
||||||
|
Panel (dis)appears from the left
|
||||||
|
|
||||||
|
.. data:: ELM_PANEL_ORIENT_RIGHT
|
||||||
|
|
||||||
|
Panel (dis)appears from the right
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Panel
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Panel
|
||||||
|
|
|
@ -1,2 +1,46 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.panes
|
Panes
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/panes-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
The panes widget adds a draggable bar between two contents. When
|
||||||
|
dragged this bar will resize contents' size.
|
||||||
|
|
||||||
|
Panes can be displayed vertically or horizontally, and contents size
|
||||||
|
proportion can be customized (homogeneous by default).
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``press`` - The panes has been pressed (button wasn't released yet).
|
||||||
|
- ``unpressed`` - The panes was released after being pressed.
|
||||||
|
- ``clicked`` - The panes has been clicked.
|
||||||
|
- ``clicked,double`` - The panes has been double clicked.
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``left`` - A leftside content of the panes
|
||||||
|
- ``right`` - A rightside content of the panes
|
||||||
|
- ``top`` - A top content of the vertical panes
|
||||||
|
- ``bottom`` - A bottom content of the vertical panes
|
||||||
|
|
||||||
|
If panes are displayed vertically, left content will be displayed on top.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Panes
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Panes
|
||||||
|
|
|
@ -1,2 +1,39 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.photo
|
Photo
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/photo-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
An Elementary photo widget is intended for displaying a photo, for
|
||||||
|
ex., a person's image (contact).
|
||||||
|
|
||||||
|
Simple, yet with a very specific purpose. It has a decorative frame
|
||||||
|
around the inner image itself, on the default theme.
|
||||||
|
|
||||||
|
This widget relies on an internal :py:class:`~efl.elementary.icon.Icon`, so
|
||||||
|
that the APIs of these two widgets are similar (drag and drop is also possible
|
||||||
|
here, for example).
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - This is called when a user has clicked the photo
|
||||||
|
- ``drag,start`` - One has started dragging the inner image out of the photo's
|
||||||
|
frame
|
||||||
|
- ``drag,end`` - One has dropped the dragged image somewhere
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Photo
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Photo
|
||||||
|
|
|
@ -1,2 +1,95 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.photocam
|
Photocam
|
||||||
|
########
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This is a widget specifically for displaying high-resolution digital
|
||||||
|
camera photos giving speedy feedback (fast load), low memory footprint
|
||||||
|
and zooming and panning as well as fitting logic. It is entirely focused
|
||||||
|
on jpeg images, and takes advantage of properties of the jpeg format (via
|
||||||
|
evas loader features in the jpeg loader).
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - This is called when a user has clicked the photo without
|
||||||
|
dragging around.
|
||||||
|
- ``press`` - This is called when a user has pressed down on the photo.
|
||||||
|
- ``longpressed`` - This is called when a user has pressed down on the
|
||||||
|
photo for a long time without dragging around.
|
||||||
|
- ``clicked,double`` - This is called when a user has double-clicked the
|
||||||
|
photo.
|
||||||
|
- ``load`` - Photo load begins.
|
||||||
|
- ``loaded`` - This is called when the image file load is complete for
|
||||||
|
the first view (low resolution blurry version).
|
||||||
|
- ``load,detail`` - Photo detailed data load begins.
|
||||||
|
- ``loaded,detail`` - This is called when the image file load is
|
||||||
|
complete for the detailed image data (full resolution needed).
|
||||||
|
- ``zoom,start`` - Zoom animation started.
|
||||||
|
- ``zoom,stop`` - Zoom animation stopped.
|
||||||
|
- ``zoom,change`` - Zoom changed when using an auto zoom mode.
|
||||||
|
- ``scroll`` - the content has been scrolled (moved)
|
||||||
|
- ``scroll,anim,start`` - scrolling animation has started
|
||||||
|
- ``scroll,anim,stop`` - scrolling animation has stopped
|
||||||
|
- ``scroll,drag,start`` - dragging the contents around has started
|
||||||
|
- ``scroll,drag,stop`` - dragging the contents around has stopped
|
||||||
|
- ``download,start`` - remote url download has started
|
||||||
|
- ``download,progress`` - url download in progress
|
||||||
|
- ``download,end`` - remote url download has finished
|
||||||
|
- ``download,error`` - remote url download has finished with errors
|
||||||
|
- ``focused`` - When the photocam has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the photocam has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Scrollable Interface
|
||||||
|
====================
|
||||||
|
|
||||||
|
This widget supports the scrollable interface.
|
||||||
|
|
||||||
|
If you wish to control the scrolling behaviour using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.scroller.Scrollable` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class ScrollableGenlist(Genlist, Scrollable):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
Genlist.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Photocam_Zoom_Mode:
|
||||||
|
|
||||||
|
Photocam zoom modes
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. data:: ELM_PHOTOCAM_ZOOM_MODE_MANUAL
|
||||||
|
|
||||||
|
Zoom controlled normally by :py:attr:`~Photocam.zoom`
|
||||||
|
|
||||||
|
.. data:: ELM_PHOTOCAM_ZOOM_MODE_AUTO_FIT
|
||||||
|
|
||||||
|
Zoom until photo fits in photocam
|
||||||
|
|
||||||
|
.. data:: ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL
|
||||||
|
|
||||||
|
Zoom until photo fills photocam
|
||||||
|
|
||||||
|
.. data:: ELM_PHOTOCAM_ZOOM_MODE_AUTO_FIT_IN
|
||||||
|
|
||||||
|
Zoom in until photo fits in photocam
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Photocam
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Photocam
|
||||||
|
|
|
@ -1,2 +1,38 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.plug
|
Plug
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
Widget Description
|
||||||
|
==================
|
||||||
|
|
||||||
|
An object that allows one to show an image which other process created.
|
||||||
|
It can be used anywhere like any other elementary widget.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - the user clicked the image (press/release).
|
||||||
|
- ``image,deleted`` - the server side was deleted.
|
||||||
|
- ``image,resized`` - the server side was resized. The ``event_info`` parameter
|
||||||
|
of the callback will be ``Evas_Coord_Size`` (two integers).
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
the event "image,resized" will be sent whenever the server
|
||||||
|
resized its image and this **always** happen on the first
|
||||||
|
time. Then it can be used to track when the server-side image
|
||||||
|
is fully known (client connected to server, retrieved its
|
||||||
|
image buffer through shared memory and resized the evas
|
||||||
|
object).
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Plug
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Plug
|
||||||
|
|
|
@ -1,2 +1,153 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.popup
|
Popup
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/popup-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This widget is an enhancement of :py:class:`~efl.elementary.notify.Notify`.
|
||||||
|
In addition to Content area, there are two optional sections namely Title
|
||||||
|
area and Action area.
|
||||||
|
|
||||||
|
Popup Widget displays its content with a particular orientation in the
|
||||||
|
parent area. This orientation can be one among top, center, bottom,
|
||||||
|
left, top-left, top-right, bottom-left and bottom-right. Content part of
|
||||||
|
Popup can be an Evas Object set by application or it can be Text set by
|
||||||
|
application or set of items containing an icon and/or text. The
|
||||||
|
content/item-list can be removed using elm_object_content_set with second
|
||||||
|
parameter passed as None.
|
||||||
|
|
||||||
|
Following figures shows the textual layouts of popup in which Title Area
|
||||||
|
and Action area area are optional ones. Action area can have up to 3
|
||||||
|
buttons handled using elm_object common APIs mentioned below. If user
|
||||||
|
wants to have more than 3 buttons then these buttons can be put inside
|
||||||
|
the items of a list as content. User needs to handle the clicked signal
|
||||||
|
of these action buttons if required. No event is processed by the widget
|
||||||
|
automatically when clicked on these action buttons.
|
||||||
|
|
||||||
|
Figure::
|
||||||
|
|
||||||
|
|---------------------| |---------------------| |---------------------|
|
||||||
|
| Title Area | | Title Area | | Title Area |
|
||||||
|
|Icon| Text | |Icon| Text | |Icon| Text |
|
||||||
|
|---------------------| |---------------------| |---------------------|
|
||||||
|
| Item 1 | | | | |
|
||||||
|
|---------------------| | | | |
|
||||||
|
| Item 2 | | | | Description |
|
||||||
|
|---------------------| | Content | | |
|
||||||
|
| Item 3 | | | | |
|
||||||
|
|---------------------| | | | |
|
||||||
|
| . | |---------------------| |---------------------|
|
||||||
|
| . | | Action Area | | Action Area |
|
||||||
|
| . | | Btn1 |Btn2|. |Btn3 | | Btn1 |Btn2| |Btn3 |
|
||||||
|
|---------------------| |---------------------| |---------------------|
|
||||||
|
| Item N | Content Based Layout Description based Layout
|
||||||
|
|---------------------|
|
||||||
|
| Action Area |
|
||||||
|
| Btn1 |Btn2|. |Btn3 |
|
||||||
|
|---------------------|
|
||||||
|
Item Based Layout
|
||||||
|
|
||||||
|
Timeout can be set on expiry of which popup instance hides and sends a
|
||||||
|
smart signal "timeout" to the user. The visible region of popup is
|
||||||
|
surrounded by a translucent region called Blocked Event area. By
|
||||||
|
clicking on Blocked Event area, the signal "block,clicked" is sent to
|
||||||
|
the application. This block event area can be avoided by using API
|
||||||
|
elm_popup_allow_events_set. When gets hidden, popup does not get
|
||||||
|
destroyed automatically, application should destroy the popup instance
|
||||||
|
after use. To control the maximum height of the internal scroller for
|
||||||
|
item, we use the height of the action area which is passed by theme
|
||||||
|
based on the number of buttons currently set to popup.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``timeout`` - when ever popup is closed as a result of timeout.
|
||||||
|
- ``block,clicked`` - when ever user taps on Blocked Event area.
|
||||||
|
- ``focused`` - When the popup has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the popup has lost focus. (since 1.8)
|
||||||
|
- ``language,changed`` - the program's language changed (since 1.8)
|
||||||
|
- ``item,focused`` - the popup item has received focus. (since 1.10)
|
||||||
|
- ``item,unfocused`` - the popup item has lost focus. (since 1.10)
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - The content of the popup
|
||||||
|
- ``title,icon`` - Title area's icon
|
||||||
|
- ``button1`` - 1st button of the action area
|
||||||
|
- ``button2`` - 2nd button of the action area
|
||||||
|
- ``button3`` - 3rd button of the action area
|
||||||
|
- ``default`` - Item's icon
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``title,text`` - This operates on Title area's label
|
||||||
|
- ``default`` - content-text set in the content area of the widget
|
||||||
|
- ``default`` - Item's label
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Popup_Orient:
|
||||||
|
|
||||||
|
Popup orientation types
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_TOP
|
||||||
|
|
||||||
|
Popup should appear in the top of parent, default
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_CENTER
|
||||||
|
|
||||||
|
Popup should appear in the center of parent
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_BOTTOM
|
||||||
|
|
||||||
|
Popup should appear in the bottom of parent
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_LEFT
|
||||||
|
|
||||||
|
Popup should appear in the left of parent
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_RIGHT
|
||||||
|
|
||||||
|
Popup should appear in the right of parent
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_TOP_LEFT
|
||||||
|
|
||||||
|
Popup should appear in the top left of parent
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_TOP_RIGHT
|
||||||
|
|
||||||
|
Popup should appear in the top right of parent
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_BOTTOM_LEFT
|
||||||
|
|
||||||
|
Popup should appear in the bottom left of parent
|
||||||
|
|
||||||
|
.. data:: ELM_POPUP_ORIENT_BOTTOM_RIGHT
|
||||||
|
|
||||||
|
Popup should appear in the bottom right of parent
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Popup
|
||||||
|
PopupItem
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Popup
|
||||||
|
.. autoclass:: PopupItem
|
||||||
|
|
|
@ -1,2 +1,68 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.progressbar
|
Progressbar
|
||||||
|
###########
|
||||||
|
|
||||||
|
.. image:: /images/progressbar-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
The progress bar is a widget for visually representing the progress
|
||||||
|
status of a given job/task.
|
||||||
|
|
||||||
|
A progress bar may be horizontal or vertical. It may display an icon
|
||||||
|
besides it, as well as primary and **units** labels. The former is meant
|
||||||
|
to label the widget as a whole, while the latter, which is formatted
|
||||||
|
with floating point values (and thus accepts a ``printf``-style format
|
||||||
|
string, like ``"%1.2f units"``), is meant to label the widget's **progress
|
||||||
|
value**. Label, icon and unit strings/objects are **optional** for
|
||||||
|
progress bars.
|
||||||
|
|
||||||
|
A progress bar may be **inverted**, in which case it gets its values
|
||||||
|
inverted, i.e., high values being on the left or top and low values on
|
||||||
|
the right or bottom, for horizontal and vertical modes respectively.
|
||||||
|
|
||||||
|
The **span** of the progress, as set by :py:attr:`~Progressbar.span_size`, is
|
||||||
|
its length (horizontally or vertically), unless one puts size hints on the
|
||||||
|
widget to expand on desired directions, by any container. That length will be
|
||||||
|
scaled by the object or applications scaling factor. Applications can query the
|
||||||
|
progress bar for its value with :py:attr:`~Progressbar.value`.
|
||||||
|
|
||||||
|
This widget emits the following signals, besides the ones sent from
|
||||||
|
:py:class:`~efl.elementary.layout_class.LayoutClass`:
|
||||||
|
|
||||||
|
- ``changed`` - when the value is changed
|
||||||
|
- ``focused`` - When the progressbar has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the progressbar has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
This widget has the following styles:
|
||||||
|
|
||||||
|
- ``default``
|
||||||
|
- ``wheel`` (simple style, no text, no progression, only "pulse"
|
||||||
|
effect is available)
|
||||||
|
- ``double`` (style with two independent progress indicators)
|
||||||
|
|
||||||
|
Default text parts of the progressbar widget that you can use for are:
|
||||||
|
|
||||||
|
- ``default`` - Label of the progressbar
|
||||||
|
|
||||||
|
Default content parts of the progressbar widget that you can use for are:
|
||||||
|
|
||||||
|
- ``icon`` - An icon of the progressbar
|
||||||
|
|
||||||
|
Default part names for the "recording" style:
|
||||||
|
|
||||||
|
- ``elm.cur.progressbar`` - The "main" indicator bar
|
||||||
|
- ``elm.cur.progressbar1`` - The "secondary" indicator bar
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Progressbar
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Progressbar
|
||||||
|
|
|
@ -1,2 +1,63 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.radio
|
Radio
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/radio-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Radio is a widget that allows for one or more options to be displayed
|
||||||
|
and have the user choose only one of them.
|
||||||
|
|
||||||
|
A radio object contains an indicator, an optional Label and an optional
|
||||||
|
icon object. While it's possible to have a group of only one radio they,
|
||||||
|
are normally used in groups of two or more.
|
||||||
|
|
||||||
|
Radio objects are grouped in a slightly different, compared to other UI
|
||||||
|
toolkits. There is no separate group name/id to remember or manage. The
|
||||||
|
members represent the group, there are the group. To make a group, use
|
||||||
|
:py:meth:`Radio.group_add` and pass existing radio object and the new radio
|
||||||
|
object.
|
||||||
|
|
||||||
|
The radio object(s) will select from one of a set of integer values, so
|
||||||
|
any value they are configuring needs to be mapped to a set of integers.
|
||||||
|
To configure what value that radio object represents, use
|
||||||
|
:py:attr:`~Radio.state_value` to set the integer it represents. The
|
||||||
|
value of the whole group (which one is currently selected) is
|
||||||
|
represented by the property :py:attr:`~Radio.value` on any group member. For
|
||||||
|
convenience the radio objects are also able to directly set an
|
||||||
|
integer(int) to the value that is selected.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - This is called whenever the user changes the state of one of
|
||||||
|
the radio objects within the group of radio objects that work together.
|
||||||
|
- ``focused`` - When the radio has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the radio has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Label of the radio
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``icon`` - An icon of the radio
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Radio
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Radio
|
||||||
|
|
|
@ -1,2 +1,136 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.scroller
|
Scroller
|
||||||
|
########
|
||||||
|
|
||||||
|
.. image:: /images/scroller-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A scroller holds a single object and "scrolls it around".
|
||||||
|
|
||||||
|
This means that it allows the user to use a scrollbar (or a finger) to
|
||||||
|
drag the viewable region around, allowing to move through a much larger
|
||||||
|
object that is contained in the scroller. The scroller will always have
|
||||||
|
a small minimum size by default as it won't be limited by the contents
|
||||||
|
of the scroller.
|
||||||
|
|
||||||
|
This widget inherits from :py:class:`~efl.elementary.layout_class.LayoutClass`,
|
||||||
|
so that all the functions acting on it also work for scroller objects.
|
||||||
|
|
||||||
|
.. note:: When Elementary is in embedded mode the scrollbars will not be
|
||||||
|
draggable, they appear merely as indicators of how much has been
|
||||||
|
scrolled.
|
||||||
|
|
||||||
|
.. note:: When Elementary is in desktop mode the thumbscroll(a.k.a.
|
||||||
|
fingerscroll) won't work.
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``edge,left`` - the left edge of the content has been reached
|
||||||
|
- ``edge,right`` - the right edge of the content has been reached
|
||||||
|
- ``edge,top`` - the top edge of the content has been reached
|
||||||
|
- ``edge,bottom`` - the bottom edge of the content has been reached
|
||||||
|
- ``scroll`` - the content has been scrolled (moved)
|
||||||
|
- ``scroll,left`` - the content has been scrolled (moved) leftwards
|
||||||
|
- ``scroll,right`` - the content has been scrolled (moved) rightwards
|
||||||
|
- ``scroll,up`` - the content has been scrolled (moved) upwards
|
||||||
|
- ``scroll,down`` - the content has been scrolled (moved) downwards
|
||||||
|
- ``scroll,anim,start`` - scrolling animation has started
|
||||||
|
- ``scroll,anim,stop`` - scrolling animation has stopped
|
||||||
|
- ``scroll,drag,start`` - dragging the contents around has started
|
||||||
|
- ``scroll,drag,stop`` - dragging the contents around has stopped
|
||||||
|
- ``vbar,drag`` - the vertical scroll bar has been dragged
|
||||||
|
- ``vbar,press`` - the vertical scroll bar has been pressed
|
||||||
|
- ``vbar,unpress`` - the vertical scroll bar has been unpressed
|
||||||
|
- ``hbar,drag`` - the horizontal scroll bar has been dragged
|
||||||
|
- ``hbar,press`` - the horizontal scroll bar has been pressed
|
||||||
|
- ``hbar,unpress`` - the horizontal scroll bar has been unpressed
|
||||||
|
- ``scroll,page,changed`` - the visible page has changed
|
||||||
|
- ``focused`` - When the scroller has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the scroller has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
.. note:: The "scroll,anim,*" and "scroll,drag,*" signals are only emitted by
|
||||||
|
user intervention.
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``default`` - A content of the scroller
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Scroller_Policy:
|
||||||
|
|
||||||
|
Scrollbar visibility
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_POLICY_AUTO
|
||||||
|
|
||||||
|
Show scrollbars as needed
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_POLICY_ON
|
||||||
|
|
||||||
|
Always show scrollbars
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_POLICY_OFF
|
||||||
|
|
||||||
|
Never show scrollbars
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Scroller_Single_Direction:
|
||||||
|
|
||||||
|
Single direction
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Type that controls how the content is scrolled.
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_SINGLE_DIRECTION_NONE
|
||||||
|
|
||||||
|
Scroll every direction
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_SINGLE_DIRECTION_SOFT
|
||||||
|
|
||||||
|
Scroll single direction if the direction is certain
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_SINGLE_DIRECTION_HARD
|
||||||
|
|
||||||
|
Scroll only single direction
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Scroller_Movement_Block:
|
||||||
|
|
||||||
|
Movement block
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Type that blocks the scroll movement in one or more direction.
|
||||||
|
|
||||||
|
:since: 1.8
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_MOVEMENT_NO_BLOCK
|
||||||
|
|
||||||
|
Do not block movements
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL
|
||||||
|
|
||||||
|
Block vertical movements
|
||||||
|
|
||||||
|
.. data:: ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL
|
||||||
|
|
||||||
|
Block horizontal movements
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Scroller
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Scroller
|
||||||
|
|
|
@ -1,2 +1,50 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.segment_control
|
Segment Control
|
||||||
|
###############
|
||||||
|
|
||||||
|
.. image:: /images/segmentcontrol-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Segment control widget is a horizontal control made of multiple
|
||||||
|
segment items, each segment item functioning similar to discrete two
|
||||||
|
state button. A segment control groups the items together and provides
|
||||||
|
compact single button with multiple equal size segments.
|
||||||
|
|
||||||
|
Segment item size is determined by base widget size and the number of
|
||||||
|
items added. Only one segment item can be at selected state. A segment
|
||||||
|
item can display combination of Text and any Evas_Object like Images or
|
||||||
|
other widget.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - When the user clicks on a segment item which is not
|
||||||
|
previously selected and get selected. The event_info parameter is the
|
||||||
|
segment item.
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``icon`` - An icon in a segment control item
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Title label in a segment control item
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: SegmentControl
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: SegmentControl
|
||||||
|
|
|
@ -1,2 +1,24 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.separator
|
Separator
|
||||||
|
#########
|
||||||
|
|
||||||
|
.. image:: /images/separator-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Separator is a very thin object used to separate other objects.
|
||||||
|
|
||||||
|
A separator can be vertical or horizontal.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Separator
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Separator
|
||||||
|
|
|
@ -1,2 +1,70 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.slider
|
Slider
|
||||||
|
######
|
||||||
|
|
||||||
|
.. image:: /images/slider-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
The slider adds a draggable "slider" widget for selecting the value of
|
||||||
|
something within a range.
|
||||||
|
|
||||||
|
A slider can be horizontal or vertical. It can contain an Icon and has a
|
||||||
|
primary label as well as a units label (that is formatted with floating
|
||||||
|
point values and thus accepts a printf-style format string, like
|
||||||
|
``"%1.2f units"``. There is also an indicator string that may be somewhere
|
||||||
|
else (like on the slider itself) that also accepts a format string like
|
||||||
|
units. Label, Icon Unit and Indicator strings/objects are optional.
|
||||||
|
|
||||||
|
A slider may be inverted which means values invert, with high vales being
|
||||||
|
on the left or top and low values on the right or bottom (as opposed to
|
||||||
|
normally being low on the left or top and high on the bottom and right).
|
||||||
|
|
||||||
|
The slider should have its minimum and maximum values set by the
|
||||||
|
application with :py:attr:`Slider.min_max` and value should also be set by
|
||||||
|
the application before use with :py:attr:`Slider.value`. The span of the
|
||||||
|
slider is its length (horizontally or vertically). This will be scaled by
|
||||||
|
the object or applications scaling factor. At any point code can query the
|
||||||
|
slider for its value with :py:attr:`Slider.value`.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - Whenever the slider value is changed by the user.
|
||||||
|
- ``slider,drag,start`` - dragging the slider indicator around has
|
||||||
|
started.
|
||||||
|
- ``slider,drag,stop`` - dragging the slider indicator around has
|
||||||
|
stopped.
|
||||||
|
- ``delay,changed`` - A short time after the value is changed by
|
||||||
|
the user. This will be called only when the user stops dragging
|
||||||
|
for a very short period or when they release their finger/mouse,
|
||||||
|
so it avoids possibly expensive reactions to the value change.
|
||||||
|
- ``focused`` - When the slider has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the slider has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Layout content parts
|
||||||
|
====================
|
||||||
|
|
||||||
|
- ``icon`` - An icon of the slider
|
||||||
|
- ``end`` - A end part content of the slider
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - Label of the slider
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Slider
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Slider
|
||||||
|
|
|
@ -1,2 +1,74 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.slideshow
|
Slideshow
|
||||||
|
#########
|
||||||
|
|
||||||
|
.. image:: /images/slideshow-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
This widget, as the name indicates, is a pre-made image
|
||||||
|
slideshow panel, with API functions acting on (child) image
|
||||||
|
items presentation. Between those actions, are:
|
||||||
|
|
||||||
|
- advance to next/previous image
|
||||||
|
- select the style of image transition animation
|
||||||
|
- set the exhibition time for each image
|
||||||
|
- start/stop the slideshow
|
||||||
|
|
||||||
|
The transition animations are defined in the widget's theme,
|
||||||
|
consequently new animations can be added without having to
|
||||||
|
update the widget's code.
|
||||||
|
|
||||||
|
Slideshow items
|
||||||
|
===============
|
||||||
|
|
||||||
|
For slideshow items, just like for :py:class:`~efl.elementary.genlist.Genlist`
|
||||||
|
ones, the user defines a **classes**, specifying functions that will be called
|
||||||
|
on the item's creation and deletion times.
|
||||||
|
|
||||||
|
The :py:class:`SlideshowItemClass` class contains the following
|
||||||
|
members:
|
||||||
|
|
||||||
|
- ``get`` - When an item is displayed, this function is
|
||||||
|
called, and it's where one should create the item object, de
|
||||||
|
facto. For example, the object can be a pure Evas image object
|
||||||
|
or a :py:class:`~efl.elementary.photocam.Photocam` widget.
|
||||||
|
|
||||||
|
- ``delete`` - When an item is no more displayed, this function
|
||||||
|
is called, where the user must delete any data associated to
|
||||||
|
the item.
|
||||||
|
|
||||||
|
Slideshow caching
|
||||||
|
=================
|
||||||
|
|
||||||
|
The slideshow provides facilities to have items adjacent to the
|
||||||
|
one being displayed **already "realized"** (i.e. loaded) for
|
||||||
|
you, so that the system does not have to decode image data
|
||||||
|
anymore at the time it has to actually switch images on its
|
||||||
|
viewport. The user is able to set the numbers of items to be
|
||||||
|
cached **before** and **after** the current item, in the widget's
|
||||||
|
item list.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - when the slideshow switches its view to a new item.
|
||||||
|
event_info parameter in callback contains the current visible item
|
||||||
|
- ``transition,end`` - when a slide transition ends. event_info
|
||||||
|
parameter in callback contains the current visible item
|
||||||
|
- ``focused`` - When the slideshow has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the slideshow has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Slideshow
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Slideshow
|
||||||
|
|
|
@ -1,2 +1,53 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.spinner
|
Spinner
|
||||||
|
#######
|
||||||
|
|
||||||
|
.. image:: /images/spinner-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A spinner is a widget which allows the user to increase or decrease
|
||||||
|
numeric values using arrow buttons, or edit values directly, clicking
|
||||||
|
over it and typing the new value.
|
||||||
|
|
||||||
|
By default the spinner will not wrap and has a label
|
||||||
|
of ``"%.0f"`` (just showing the integer value of the double).
|
||||||
|
|
||||||
|
A spinner has a label that is formatted with floating
|
||||||
|
point values and thus accepts a printf-style format string, like
|
||||||
|
``"%1.2f units"``.
|
||||||
|
|
||||||
|
It also allows specific values to be replaced by pre-defined labels.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``changed`` - Whenever the spinner value is changed.
|
||||||
|
- ``delay,changed`` - A short time after the value is changed by
|
||||||
|
the user. This will be called only when the user stops dragging
|
||||||
|
for a very short period or when they release their finger/mouse,
|
||||||
|
so it avoids possibly expensive reactions to the value change.
|
||||||
|
- ``language,changed`` - the program's language changed
|
||||||
|
- ``focused`` - When the spinner has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the spinner has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
- ``default``: Default style
|
||||||
|
- ``vertical``: up/down buttons at the right side and text left aligned.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Spinner
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Spinner
|
||||||
|
|
|
@ -1,2 +1,57 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.systray
|
Systray
|
||||||
|
#######
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Systray_Category:
|
||||||
|
|
||||||
|
Category of the Status Notifier Item.
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_SYSTRAY_CATEGORY_APP_STATUS
|
||||||
|
|
||||||
|
Indicators of application status
|
||||||
|
|
||||||
|
.. data:: ELM_SYSTRAY_CATEGORY_COMMUNICATIONS
|
||||||
|
|
||||||
|
Communications apps
|
||||||
|
|
||||||
|
.. data:: ELM_SYSTRAY_CATEGORY_SYS_SERVICES
|
||||||
|
|
||||||
|
System Service apps
|
||||||
|
|
||||||
|
.. data:: ELM_SYSTRAY_CATEGORY_HARDWARE
|
||||||
|
|
||||||
|
Hardware indicators
|
||||||
|
|
||||||
|
.. data:: ELM_SYSTRAY_CATEGORY_OTHER
|
||||||
|
|
||||||
|
Undefined category
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Systray_Status:
|
||||||
|
|
||||||
|
Application status information.
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_SYSTRAY_STATUS_PASSIVE
|
||||||
|
|
||||||
|
Passive (normal)
|
||||||
|
|
||||||
|
.. data:: ELM_SYSTRAY_STATUS_ACTIVE
|
||||||
|
|
||||||
|
Active
|
||||||
|
|
||||||
|
.. data:: ELM_SYSTRAY_STATUS_ATTENTION
|
||||||
|
|
||||||
|
Needs Attention
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Systray
|
||||||
|
.. autofunction:: on_systray_ready
|
||||||
|
|
||||||
|
.. autoclass:: EventSystrayReady
|
||||||
|
|
|
@ -1,2 +1,38 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.table
|
Table
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/table-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A container widget to arrange other widgets in a table where items can
|
||||||
|
span multiple columns or rows - even overlap (and then be raised or
|
||||||
|
lowered accordingly to adjust stacking if they do overlap).
|
||||||
|
|
||||||
|
The row and column count is not fixed. The table widget adjusts itself
|
||||||
|
when subobjects are added to it dynamically.
|
||||||
|
|
||||||
|
The most common way to use a table is::
|
||||||
|
|
||||||
|
table = Table(win)
|
||||||
|
table.show()
|
||||||
|
table.padding = (space_between_columns, space_between_rows)
|
||||||
|
table.pack(table_content_object, x_coord, y_coord, colspan, rowspan)
|
||||||
|
table.pack(table_content_object, x_coord, y_coord, colspan, rowspan)
|
||||||
|
table.pack(table_content_object, x_coord, y_coord, colspan, rowspan)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Table
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Table
|
||||||
|
.. autofunction:: table_pack_set
|
||||||
|
.. autofunction:: table_pack_get
|
||||||
|
|
|
@ -1,2 +1,81 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.theme
|
Theme
|
||||||
|
#####
|
||||||
|
|
||||||
|
|
||||||
|
Description
|
||||||
|
===========
|
||||||
|
|
||||||
|
Elementary uses Edje to theme its widgets, naturally. But for the most
|
||||||
|
part this is hidden behind a simpler interface that lets the user set
|
||||||
|
extensions and choose the style of widgets in a much easier way.
|
||||||
|
|
||||||
|
Instead of thinking in terms of paths to Edje files and their groups
|
||||||
|
each time you want to change the appearance of a widget, Elementary
|
||||||
|
works so you can add any theme file with extensions or replace the
|
||||||
|
main theme at one point in the application, and then just set the style
|
||||||
|
of widgets with
|
||||||
|
:py:attr:`Object.style<efl.elementary.object.Object.style>`
|
||||||
|
and related functions. Elementary
|
||||||
|
will then look in its list of themes for a matching group and apply it,
|
||||||
|
and when the theme changes midway through the application, all widgets
|
||||||
|
will be updated accordingly.
|
||||||
|
|
||||||
|
There are three concepts you need to know to understand how Elementary
|
||||||
|
theming works: default theme, extensions and overlays.
|
||||||
|
|
||||||
|
Default theme, obviously enough, is the one that provides the default
|
||||||
|
look of all widgets. End users can change the theme used by Elementary
|
||||||
|
by setting the ``ELM_THEME`` environment variable before running an
|
||||||
|
application, or globally for all programs using the ``elementary_config``
|
||||||
|
utility. Applications can change the default theme using :py:attr:`Theme.order`,
|
||||||
|
but this can go against the user wishes, so it's not an advised practice.
|
||||||
|
|
||||||
|
Ideally, applications should find everything they need in the already
|
||||||
|
provided theme, but there may be occasions when that's not enough and
|
||||||
|
custom styles are required to correctly express the idea. For this
|
||||||
|
cases, Elementary has extensions.
|
||||||
|
|
||||||
|
Extensions allow the application developer to write styles of its own
|
||||||
|
to apply to some widgets. This requires knowledge of how each widget
|
||||||
|
is themed, as extensions will always replace the entire group used by
|
||||||
|
the widget, so important signals and parts need to be there for the
|
||||||
|
object to behave properly (see documentation of Edje for details).
|
||||||
|
Once the theme for the extension is done, the application needs to add
|
||||||
|
it to the list of themes Elementary will look into, using
|
||||||
|
:py:func:`Theme.extension_add()`, and set the style of the desired widgets as
|
||||||
|
he would normally with
|
||||||
|
:py:attr:`Object.style<efl.elementary.object.Object.style>`.
|
||||||
|
|
||||||
|
Overlays, on the other hand, can replace the look of all widgets by
|
||||||
|
overriding the default style. Like extensions, it's up to the application
|
||||||
|
developer to write the theme for the widgets it wants, the difference
|
||||||
|
being that when looking for the theme, Elementary will check first the
|
||||||
|
list of overlays, then the set theme and lastly the list of extensions,
|
||||||
|
so with overlays it's possible to replace the default view and every
|
||||||
|
widget will be affected. This is very much alike to setting the whole
|
||||||
|
theme for the application and will probably clash with the end user
|
||||||
|
options, not to mention the risk of ending up with not matching styles
|
||||||
|
across the program. Unless there's a very special reason to use them,
|
||||||
|
overlays should be avoided for the reasons exposed before.
|
||||||
|
|
||||||
|
All these theme lists are handled by :py:class:`Theme` instances. Elementary
|
||||||
|
keeps one default internally. It's possible to create a new instance of a
|
||||||
|
:py:class:`Theme` to set other theme for a specific widget (and all of its
|
||||||
|
children), but this is as discouraged, if not even more so, than using
|
||||||
|
overlays. Don't use this unless you really know what you are doing.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Remember to :py:func:`Theme.free` the instance when you're done with it!
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Theme
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Theme
|
||||||
|
|
|
@ -1,2 +1,172 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.thumb
|
Thumb
|
||||||
|
#####
|
||||||
|
|
||||||
|
.. image:: /images/thumb-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A thumbnail object is used for displaying the thumbnail of an image
|
||||||
|
or video. You must have compiled Elementary with ``Ethumb_Client``
|
||||||
|
support. Also, Ethumb's DBus service must be present and
|
||||||
|
auto-activated in order to have thumbnails generated. You must also
|
||||||
|
have a **session** bus, not a **system** one.
|
||||||
|
|
||||||
|
Once the thumbnail object becomes visible, it will check if there
|
||||||
|
is a previously generated thumbnail image for the file set on
|
||||||
|
it. If not, it will start generating this thumbnail.
|
||||||
|
|
||||||
|
Different configuration settings will cause different thumbnails to
|
||||||
|
be generated even on the same file.
|
||||||
|
|
||||||
|
Generated thumbnails are stored under ``$HOME/.thumbnails/``. Check
|
||||||
|
Ethumb's documentation to change this path, and to see other
|
||||||
|
configuration options.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - This is called when a user has clicked the
|
||||||
|
thumbnail object without dragging it around.
|
||||||
|
- ``clicked,double`` - This is called when a user has double-clicked
|
||||||
|
the thumbnail object.
|
||||||
|
- ``press`` - This is called when a user has pressed down over the
|
||||||
|
thumbnail object.
|
||||||
|
- ``generate,start`` - The thumbnail generation has started.
|
||||||
|
- ``generate,stop`` - The generation process has stopped.
|
||||||
|
- ``generate,error`` - The thumbnail generation failed.
|
||||||
|
- ``load,error`` - The thumbnail image loading failed.
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
- ``default``
|
||||||
|
- ``noframe``
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Thumb_Animation_Setting:
|
||||||
|
|
||||||
|
Thumb animation mode
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
.. data:: ELM_THUMB_ANIMATION_START
|
||||||
|
|
||||||
|
Play animation once
|
||||||
|
|
||||||
|
.. data:: ELM_THUMB_ANIMATION_LOOP
|
||||||
|
|
||||||
|
Keep playing animation until stop is requested
|
||||||
|
|
||||||
|
.. data:: ELM_THUMB_ANIMATION_STOP
|
||||||
|
|
||||||
|
Stop playing the animation
|
||||||
|
|
||||||
|
|
||||||
|
.. _Ethumb_Thumb_FDO_Size:
|
||||||
|
|
||||||
|
Thumb FDO size
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_NORMAL
|
||||||
|
|
||||||
|
128x128 as defined by FreeDesktop.Org standard
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_LARGE
|
||||||
|
|
||||||
|
256x256 as defined by FreeDesktop.Org standard
|
||||||
|
|
||||||
|
|
||||||
|
.. _Ethumb_Thumb_Format:
|
||||||
|
|
||||||
|
Thumb format
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_FDO
|
||||||
|
|
||||||
|
PNG as defined by FreeDesktop.Org standard
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_JPEG
|
||||||
|
|
||||||
|
JPEGs are often smaller and faster to read/write
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_EET
|
||||||
|
|
||||||
|
EFL's own storage system, supports key parameter
|
||||||
|
|
||||||
|
|
||||||
|
.. _Ethumb_Thumb_Aspect:
|
||||||
|
|
||||||
|
Thumb aspect
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_KEEP_ASPECT
|
||||||
|
|
||||||
|
keep original proportion between width and height
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_IGNORE_ASPECT
|
||||||
|
|
||||||
|
ignore aspect and foce it to match thumbnail's width and height
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_CROP
|
||||||
|
|
||||||
|
keep aspect but crop (cut) the largest dimension
|
||||||
|
|
||||||
|
|
||||||
|
.. _Ethumb_Thumb_Orientation:
|
||||||
|
|
||||||
|
Thumb orientation
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_ORIENT_NONE
|
||||||
|
|
||||||
|
keep orientation as pixel data is
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_ROTATE_90_CW
|
||||||
|
|
||||||
|
rotate 90° clockwise
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_ROTATE_180
|
||||||
|
|
||||||
|
rotate 180°
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_ROTATE_90_CCW
|
||||||
|
|
||||||
|
rotate 90° counter-clockwise
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_FLIP_HORIZONTAL
|
||||||
|
|
||||||
|
flip horizontally
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_FLIP_VERTICAL
|
||||||
|
|
||||||
|
flip vertically
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_FLIP_TRANSPOSE
|
||||||
|
|
||||||
|
transpose
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_FLIP_TRANSVERSE
|
||||||
|
|
||||||
|
transverse
|
||||||
|
|
||||||
|
.. data:: ETHUMB_THUMB_ORIENT_ORIGINAL
|
||||||
|
|
||||||
|
use orientation from metadata (EXIF-only currently)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Thumb
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Thumb
|
||||||
|
|
|
@ -1,2 +1,130 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.toolbar
|
Toolbar
|
||||||
|
#######
|
||||||
|
|
||||||
|
.. image:: /images/toolbar-preview.png
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A toolbar is a widget that displays a list of items inside a box. It
|
||||||
|
can be scrollable, show a menu with items that don't fit to toolbar size
|
||||||
|
or even crop them.
|
||||||
|
|
||||||
|
Only one item can be selected at a time.
|
||||||
|
|
||||||
|
Items can have multiple states, or show menus when selected by the user.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``clicked`` - when the user clicks on a toolbar item and becomes selected.
|
||||||
|
- ``longpressed`` - when the toolbar is pressed for a certain amount of time.
|
||||||
|
- ``language,changed`` - when the program language changes.
|
||||||
|
- ``focused`` - When the toolbar has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the toolbar has lost focus. (since 1.8)
|
||||||
|
- ``item,focused`` - When the toolbar item has received focus. (since 1.10)
|
||||||
|
- ``item,unfocused`` - When the toolbar item has lost focus. (since 1.10)
|
||||||
|
|
||||||
|
|
||||||
|
Available styles
|
||||||
|
================
|
||||||
|
|
||||||
|
- ``default``
|
||||||
|
- ``transparent`` - no background or shadow, just show the content
|
||||||
|
|
||||||
|
|
||||||
|
Layout text parts
|
||||||
|
=================
|
||||||
|
|
||||||
|
- ``default`` - label of the toolbar item
|
||||||
|
|
||||||
|
|
||||||
|
Scrollable Interface
|
||||||
|
====================
|
||||||
|
|
||||||
|
This widget supports the scrollable interface.
|
||||||
|
|
||||||
|
If you wish to control the scrolling behaviour using these functions,
|
||||||
|
inherit both the widget class and the
|
||||||
|
:py:class:`~efl.elementary.scroller.Scrollable` class
|
||||||
|
using multiple inheritance, for example::
|
||||||
|
|
||||||
|
class ScrollableGenlist(Genlist, Scrollable):
|
||||||
|
def __init__(self, canvas, *args, **kwargs):
|
||||||
|
Genlist.__init__(self, canvas)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Toolbar_Shrink_Mode:
|
||||||
|
|
||||||
|
Toolbar shrink modes
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_SHRINK_NONE
|
||||||
|
|
||||||
|
Set toolbar minimum size to fit all the items
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_SHRINK_HIDE
|
||||||
|
|
||||||
|
Hide exceeding items
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_SHRINK_SCROLL
|
||||||
|
|
||||||
|
Allow accessing exceeding items through a scroller
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_SHRINK_MENU
|
||||||
|
|
||||||
|
Inserts a button to pop up a menu with exceeding items
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_SHRINK_EXPAND
|
||||||
|
|
||||||
|
Expand all items according the size of the toolbar.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Toolbar_Item_Scrollto_Type:
|
||||||
|
|
||||||
|
Toolbar item scrollto types
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
Where to position the item in the toolbar.
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_ITEM_SCROLLTO_NONE
|
||||||
|
|
||||||
|
No scrollto
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_ITEM_SCROLLTO_IN
|
||||||
|
|
||||||
|
To the nearest viewport
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_ITEM_SCROLLTO_FIRST
|
||||||
|
|
||||||
|
To the first of viewport
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_ITEM_SCROLLTO_MIDDLE
|
||||||
|
|
||||||
|
To the middle of viewport
|
||||||
|
|
||||||
|
.. data:: ELM_TOOLBAR_ITEM_SCROLLTO_LAST
|
||||||
|
|
||||||
|
To the last of viewport
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Toolbar
|
||||||
|
ToolbarItem
|
||||||
|
ToolbarItemState
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Toolbar
|
||||||
|
.. autoclass:: ToolbarItem
|
||||||
|
.. autoclass:: ToolbarItemState
|
||||||
|
|
|
@ -1,2 +1,166 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.transit
|
Transit
|
||||||
|
#######
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Transit is designed to apply various animated transition effects to
|
||||||
|
``Evas_Object``, such like translation, rotation, etc. For using these
|
||||||
|
effects, create a :py:class:`Transit` and add the desired transition effects.
|
||||||
|
|
||||||
|
Once the effects are added into transit, they will be automatically managed
|
||||||
|
(their callback will be called for the set duration and they will be deleted
|
||||||
|
upon completion).
|
||||||
|
|
||||||
|
Example::
|
||||||
|
|
||||||
|
from efl.elementary.transit import Transit, ELM_TRANSIT_TWEEN_MODE_DECELERATE
|
||||||
|
|
||||||
|
t = Transit()
|
||||||
|
t.object_add(obj)
|
||||||
|
t.effect_translation_add(0, 0, 280, 280)
|
||||||
|
t.duration = 1
|
||||||
|
t.auto_reverse = True
|
||||||
|
t.tween_mode = ELM_TRANSIT_TWEEN_MODE_DECELERATE
|
||||||
|
t.repeat_times = 3
|
||||||
|
|
||||||
|
Some transition effects are used to change the properties of objects. They
|
||||||
|
are:
|
||||||
|
|
||||||
|
- :py:func:`~Transit.effect_translation_add`
|
||||||
|
- :py:func:`~Transit.effect_color_add`
|
||||||
|
- :py:func:`~Transit.effect_rotation_add`
|
||||||
|
- :py:func:`~Transit.effect_wipe_add`
|
||||||
|
- :py:func:`~Transit.effect_zoom_add`
|
||||||
|
- :py:func:`~Transit.effect_resizing_add`
|
||||||
|
|
||||||
|
Other transition effects are used to make one object disappear and another
|
||||||
|
object appear on its place. These effects are:
|
||||||
|
|
||||||
|
- :py:func:`~Transit.effect_flip_add`
|
||||||
|
- :py:func:`~Transit.effect_resizable_flip_add`
|
||||||
|
- :py:func:`~Transit.effect_fade_add`
|
||||||
|
- :py:func:`~Transit.effect_blend_add`
|
||||||
|
|
||||||
|
It's also possible to make a transition chain with
|
||||||
|
:py:func:`~Transit.chain_transit_add`.
|
||||||
|
|
||||||
|
.. warning:: We strongly recommend to use elm_transit just when edje can
|
||||||
|
not do the trick. Edje is better at handling transitions than
|
||||||
|
Elm_Transit. Edje has more flexibility and animations can be
|
||||||
|
manipulated inside the theme.
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Transit_Effect_Flip_Axis:
|
||||||
|
|
||||||
|
Flip effects
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_EFFECT_FLIP_AXIS_X
|
||||||
|
|
||||||
|
Flip on X axis
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_EFFECT_FLIP_AXIS_Y
|
||||||
|
|
||||||
|
Flip on Y axis
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Transit_Effect_Wipe_Dir:
|
||||||
|
|
||||||
|
Wipe effects
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_EFFECT_WIPE_DIR_LEFT
|
||||||
|
|
||||||
|
Wipe to the left
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_EFFECT_WIPE_DIR_RIGHT
|
||||||
|
|
||||||
|
Wipe to the right
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_EFFECT_WIPE_DIR_UP
|
||||||
|
|
||||||
|
Wipe up
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_EFFECT_WIPE_DIR_DOWN
|
||||||
|
|
||||||
|
Wipe down
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Transit_Effect_Wipe_Type:
|
||||||
|
|
||||||
|
Wipe types
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_EFFECT_WIPE_TYPE_HIDE
|
||||||
|
|
||||||
|
Hide the object during the animation.
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_EFFECT_WIPE_TYPE_SHOW
|
||||||
|
|
||||||
|
Show the object during the animation.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Transit_Tween_Mode:
|
||||||
|
|
||||||
|
Tween modes
|
||||||
|
-----------
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_TWEEN_MODE_LINEAR
|
||||||
|
|
||||||
|
Constant speed
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL
|
||||||
|
|
||||||
|
Starts slow, increase speed over time, then decrease again and stop slowly
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_TWEEN_MODE_DECELERATE
|
||||||
|
|
||||||
|
Starts fast and decrease speed over time
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_TWEEN_MODE_ACCELERATE
|
||||||
|
|
||||||
|
Starts slow and increase speed over time
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_TWEEN_MODE_DIVISOR_INTERP
|
||||||
|
|
||||||
|
Start at gradient v1, interpolated via power of v2 curve
|
||||||
|
|
||||||
|
.. versionadded:: 1.13
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_TWEEN_MODE_BOUNCE
|
||||||
|
|
||||||
|
Start at 0.0 then "drop" like a ball bouncing to the ground at 1.0, and
|
||||||
|
bounce v2 times, with decay factor of v1
|
||||||
|
|
||||||
|
.. versionadded:: 1.13
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_TWEEN_MODE_SPRING
|
||||||
|
|
||||||
|
Start at 0.0 then "wobble" like a spring rest position 1.0, and wobble
|
||||||
|
v2 times, with decay factor of v1
|
||||||
|
|
||||||
|
.. versionadded:: 1.13
|
||||||
|
|
||||||
|
.. data:: ELM_TRANSIT_TWEEN_MODE_BEZIER_CURVE
|
||||||
|
|
||||||
|
Follow the cubic-bezier curve calculated with the control points (x1,
|
||||||
|
y1), (x2, y2)
|
||||||
|
|
||||||
|
.. versionadded:: 1.13
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Transit
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Transit
|
||||||
|
|
|
@ -1,2 +1,33 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.video
|
Video
|
||||||
|
#####
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
Display a video by using Emotion.
|
||||||
|
|
||||||
|
It embeds the video inside an Edje object, so you can do some
|
||||||
|
animation depending on the video state change. It also implements a
|
||||||
|
resource management policy to remove this burden from the application.
|
||||||
|
|
||||||
|
These widgets emit the following signals, besides the ones sent from
|
||||||
|
:py:class:`~efl.elementary.layout_class.LayoutClass`:
|
||||||
|
|
||||||
|
- ``focused`` - When the widget has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the widget has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Video
|
||||||
|
Player
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Video
|
||||||
|
.. autoclass:: Player
|
||||||
|
|
|
@ -1,2 +1,141 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.web
|
Web
|
||||||
|
###
|
||||||
|
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
A web widget is used for displaying web pages (HTML/CSS/JS)
|
||||||
|
using WebKit-EFL. You must have compiled Elementary with
|
||||||
|
ewebkit support.
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``download,request``: A file download has been requested. Event info is
|
||||||
|
a WebDownload instance
|
||||||
|
- ``editorclient,contents,changed``: Editor client's contents changed
|
||||||
|
- ``editorclient,selection,changed``: Editor client's selection changed
|
||||||
|
- ``frame,created``: A new frame was created. Event info is an
|
||||||
|
Evas_Object which can be handled with WebKit's ewk_frame API
|
||||||
|
- ``icon,received``: An icon was received by the main frame
|
||||||
|
- ``inputmethod,changed``: Input method changed. Event info is an
|
||||||
|
Eina_Bool indicating whether it's enabled or not
|
||||||
|
- ``js,windowobject,clear``: JS window object has been cleared
|
||||||
|
- ``link,hover,in``: Mouse cursor is hovering over a link. Event info
|
||||||
|
is a tuple, where the first string contains the URL the link
|
||||||
|
points to, and the second one the title of the link
|
||||||
|
- ``link,hover,out``: Mouse cursor left the link
|
||||||
|
- ``load,document,finished``: Loading of a document finished. Event info
|
||||||
|
is the frame that finished loading
|
||||||
|
- ``load,error``: Load failed. Event info is a WebFrameLoadError instance
|
||||||
|
- ``load,finished``: Load finished. Event info is None on success, on
|
||||||
|
error it's a WebFrameLoadError instance
|
||||||
|
- ``load,newwindow,show``: A new window was created and is ready to be
|
||||||
|
shown
|
||||||
|
- ``load,progress``: Overall load progress. Event info is
|
||||||
|
a double containing a value between 0.0 and 1.0
|
||||||
|
- ``load,provisional``: Started provisional load
|
||||||
|
- ``load,started``: Loading of a document started
|
||||||
|
- ``menubar,visible,get``: Queries if the menubar is visible. Event info
|
||||||
|
is a bool where the callback should set True if
|
||||||
|
the menubar is visible, or False in case it's not
|
||||||
|
- ``menubar,visible,set``: Informs menubar visibility. Event info is
|
||||||
|
a bool indicating the visibility
|
||||||
|
- ``popup,created``: A dropdown widget was activated, requesting its
|
||||||
|
popup menu to be created. Event info is a WebMenu instance
|
||||||
|
- ``popup,willdelete``: The web object is ready to destroy the popup
|
||||||
|
object created. Event info is a WebMenu instance
|
||||||
|
- ``ready``: Page is fully loaded
|
||||||
|
- ``scrollbars,visible,get``: Queries visibility of scrollbars. Event
|
||||||
|
info is a bool where the visibility state should be set
|
||||||
|
- ``scrollbars,visible,set``: Informs scrollbars visibility. Event info
|
||||||
|
is an Eina_Bool with the visibility state set
|
||||||
|
- ``statusbar,text,set``: Text of the statusbar changed. Event info is
|
||||||
|
a string with the new text
|
||||||
|
- ``statusbar,visible,get``: Queries visibility of the status bar.
|
||||||
|
Event info is a bool where the visibility state should be
|
||||||
|
set.
|
||||||
|
- ``statusbar,visible,set``: Informs statusbar visibility. Event info is
|
||||||
|
an Eina_Bool with the visibility value
|
||||||
|
- ``title,changed``: Title of the main frame changed. Event info is a
|
||||||
|
string with the new title
|
||||||
|
- ``toolbars,visible,get``: Queries visibility of toolbars. Event info
|
||||||
|
is a bool where the visibility state should be set
|
||||||
|
- ``toolbars,visible,set``: Informs the visibility of toolbars. Event
|
||||||
|
info is an Eina_Bool with the visibility state
|
||||||
|
- ``tooltip,text,set``: Show and set text of a tooltip. Event info is
|
||||||
|
a string with the text to show
|
||||||
|
- ``uri,changed``: URI of the main frame changed. Event info is a string (deprecated. use ``url,changed`` instead)
|
||||||
|
- ``url,changed``: URL of the main frame changed. Event info is a string
|
||||||
|
with the new URI
|
||||||
|
- ``view,resized``: The web object internal's view changed sized
|
||||||
|
- ``windows,close,request``: A JavaScript request to close the current
|
||||||
|
window was requested
|
||||||
|
- ``zoom,animated,end``: Animated zoom finished
|
||||||
|
- ``focused`` : When the web has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` : When the web has lost focus. (since 1.8)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Web_Window_Feature:
|
||||||
|
|
||||||
|
Web window features
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_WINDOW_FEATURE_TOOLBAR
|
||||||
|
|
||||||
|
Toolbar
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_WINDOW_FEATURE_STATUSBAR
|
||||||
|
|
||||||
|
Status bar
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_WINDOW_FEATURE_SCROLLBARS
|
||||||
|
|
||||||
|
Scrollbars
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_WINDOW_FEATURE_MENUBAR
|
||||||
|
|
||||||
|
Menu bar
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_WINDOW_FEATURE_LOCATIONBAR
|
||||||
|
|
||||||
|
Location bar
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_WINDOW_FEATURE_FULLSCREEN
|
||||||
|
|
||||||
|
Fullscreen
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Web_Zoom_Mode:
|
||||||
|
|
||||||
|
Web zoom modes
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_ZOOM_MODE_MANUAL
|
||||||
|
|
||||||
|
Zoom controlled normally by :py:attr:`~Web.zoom`
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_ZOOM_MODE_AUTO_FIT
|
||||||
|
|
||||||
|
Zoom until content fits in web object.
|
||||||
|
|
||||||
|
.. data:: ELM_WEB_ZOOM_MODE_AUTO_FILL
|
||||||
|
|
||||||
|
Zoom until content fills web object.
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram:: Web
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Web
|
||||||
|
|
|
@ -1,2 +1,361 @@
|
||||||
|
.. currentmodule:: efl.elementary
|
||||||
|
|
||||||
.. automodule:: efl.elementary.window
|
Window
|
||||||
|
######
|
||||||
|
|
||||||
|
Widget description
|
||||||
|
==================
|
||||||
|
|
||||||
|
The window class of Elementary.
|
||||||
|
|
||||||
|
Contains functions to manipulate windows. The Evas engine used to render
|
||||||
|
the window contents is specified in the system or user elementary config
|
||||||
|
files (whichever is found last), and can be overridden with the
|
||||||
|
ELM_ENGINE environment variable for testing. Engines that may be
|
||||||
|
supported (depending on Evas and Ecore-Evas compilation setup and
|
||||||
|
modules actually installed at runtime) are (listed in order of best
|
||||||
|
supported and most likely to be complete and work to lowest quality).
|
||||||
|
|
||||||
|
Note that ELM_ENGINE is really only needed for special cases and debugging.
|
||||||
|
you should normally use ELM_DISPLAY and ELM_ACCEL environment variables, or
|
||||||
|
core elementary config. ELM_DISPLAY can be set to "x11" or "wl" to indicate
|
||||||
|
the target display system (as on Linux systems you may have both display
|
||||||
|
systems available, so this selects which to use). ELM_ACCEL may also be set
|
||||||
|
to indicate if you want accelerations and which kind to use. see
|
||||||
|
:py:attr:`~efl.elementary.configuration.Configuration.accel_preference` for
|
||||||
|
details on this environment variable values.
|
||||||
|
|
||||||
|
``x11``, ``x``, ``software-x11``, ``software_x11``
|
||||||
|
Software rendering in X11
|
||||||
|
``gl``, ``opengl``, ``opengl-x11``, ``opengl_x11``
|
||||||
|
OpenGL or OpenGL-ES2 rendering in X11
|
||||||
|
``shot:...``
|
||||||
|
Virtual screenshot renderer - renders to output file and exits
|
||||||
|
``fb``, ``software-fb``, ``software_fb``
|
||||||
|
Linux framebuffer direct software rendering
|
||||||
|
``sdl``, ``software-sdl``, ``software_sdl``
|
||||||
|
SDL software rendering to SDL buffer
|
||||||
|
``gl-sdl``, ``gl_sdl``, ``opengl-sdl``, ``opengl_sdl``
|
||||||
|
OpenGL or OpenGL-ES2 using SDL
|
||||||
|
``gdi``, ``software-gdi``, ``software_gdi``
|
||||||
|
Windows WIN32 rendering via GDI with software
|
||||||
|
``ews``
|
||||||
|
rendering to EWS (Ecore + Evas Single Process Windowing System)
|
||||||
|
``gl-cocoa``, ``gl_cocoa``, ``opengl-cocoa``, ``opengl_cocoa``
|
||||||
|
OpenGL rendering in Cocoa
|
||||||
|
``wayland_shm``
|
||||||
|
Wayland client SHM rendering
|
||||||
|
``wayland_egl``
|
||||||
|
Wayland client OpenGL/EGL rendering
|
||||||
|
``drm``
|
||||||
|
Linux drm/kms etc. direct display
|
||||||
|
|
||||||
|
All engines use a simple string to select the engine to render, EXCEPT
|
||||||
|
the "shot" engine. This actually encodes the output of the virtual
|
||||||
|
screenshot and how long to delay in the engine string. The engine string
|
||||||
|
is encoded in the following way::
|
||||||
|
|
||||||
|
"shot:[delay=XX][:][repeat=DDD][:][file=XX]"
|
||||||
|
|
||||||
|
Where options are separated by a ``:`` char if more than one option is
|
||||||
|
given, with delay, if provided being the first option and file the last
|
||||||
|
(order is important). The delay specifies how long to wait after the
|
||||||
|
window is shown before doing the virtual "in memory" rendering and then
|
||||||
|
save the output to the file specified by the file option (and then exit).
|
||||||
|
If no delay is given, the default is 0.5 seconds. If no file is given the
|
||||||
|
default output file is "out.png". Repeat option is for continuous
|
||||||
|
capturing screenshots. Repeat range is from 1 to 999 and filename is
|
||||||
|
fixed to "out001.png" Some examples of using the shot engine::
|
||||||
|
|
||||||
|
ELM_ENGINE="shot:delay=1.0:repeat=5:file=elm_test.png" elementary_test
|
||||||
|
ELM_ENGINE="shot:delay=1.0:file=elm_test.png" elementary_test
|
||||||
|
ELM_ENGINE="shot:file=elm_test2.png" elementary_test
|
||||||
|
ELM_ENGINE="shot:delay=2.0" elementary_test
|
||||||
|
ELM_ENGINE="shot:" elementary_test
|
||||||
|
|
||||||
|
|
||||||
|
Emitted signals
|
||||||
|
===============
|
||||||
|
|
||||||
|
- ``delete,request``: the user requested to close the window. See
|
||||||
|
:py:attr:`~Window.autodel`.
|
||||||
|
- ``focus,in``: window got focus
|
||||||
|
- ``focus,out``: window lost focus
|
||||||
|
- ``moved``: window that holds the canvas was moved
|
||||||
|
- ``withdrawn``: window is still managed normally but removed from view
|
||||||
|
- ``iconified``: window is minimized (perhaps into an icon or taskbar)
|
||||||
|
- ``normal``: window is in a normal state (not withdrawn or iconified)
|
||||||
|
- ``stick``: window has become sticky (shows on all desktops)
|
||||||
|
- ``unstick``: window has stopped being sticky
|
||||||
|
- ``fullscreen``: window has become fullscreen
|
||||||
|
- ``unfullscreen``: window has stopped being fullscreen
|
||||||
|
- ``maximized``: window has been maximized
|
||||||
|
- ``unmaximized``: window has stopped being maximized
|
||||||
|
- ``ioerr``: there has been a low-level I/O error with the display system
|
||||||
|
- ``indicator,prop,changed``: an indicator's property has been changed
|
||||||
|
- ``rotation,changed``: window rotation has been changed
|
||||||
|
- ``profile,changed``: profile of the window has been changed
|
||||||
|
- ``focused`` - When the window has received focus. (since 1.8)
|
||||||
|
- ``unfocused`` - When the window has lost focus. (since 1.8)
|
||||||
|
- ``theme,changed`` - The theme was changed. (since 1.13)
|
||||||
|
|
||||||
|
|
||||||
|
Enumerations
|
||||||
|
============
|
||||||
|
|
||||||
|
.. _Elm_Win_Type:
|
||||||
|
|
||||||
|
Window types
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_UNKNOWN
|
||||||
|
|
||||||
|
Unknown window type (since 1.9)
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_BASIC
|
||||||
|
|
||||||
|
A normal window.
|
||||||
|
|
||||||
|
Indicates a normal, top-level window. Almost every window will be
|
||||||
|
created with this type.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_DIALOG_BASIC
|
||||||
|
|
||||||
|
Used for simple dialog windows
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_DESKTOP
|
||||||
|
|
||||||
|
For special desktop windows, like a background window holding desktop icons.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_DOCK
|
||||||
|
|
||||||
|
The window is used as a dock or panel.
|
||||||
|
|
||||||
|
Usually would be kept on top of any other window by the Window Manager.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_TOOLBAR
|
||||||
|
|
||||||
|
The window is used to hold a floating toolbar, or similar.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_MENU
|
||||||
|
|
||||||
|
Similar to ELM_WIN_TOOLBAR.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_UTILITY
|
||||||
|
|
||||||
|
A persistent utility window, like a toolbox or palette.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_SPLASH
|
||||||
|
|
||||||
|
Splash window for a starting up application.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_DROPDOWN_MENU
|
||||||
|
|
||||||
|
The window is a dropdown menu, as when an entry in a menubar is clicked.
|
||||||
|
|
||||||
|
Typically used with :py:attr:`~Window.override`. This hint exists for
|
||||||
|
completion only, as the EFL way of implementing a menu would not
|
||||||
|
normally use a separate window for its contents.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_POPUP_MENU
|
||||||
|
|
||||||
|
Like ELM_WIN_DROPDOWN_MENU, but for the menu triggered by right-clicking
|
||||||
|
an object.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_TOOLTIP
|
||||||
|
|
||||||
|
The window is a tooltip.
|
||||||
|
|
||||||
|
A short piece of explanatory text that typically appear after the mouse
|
||||||
|
cursor hovers over an object for a while. Typically used with
|
||||||
|
:py:attr:`~Window.override` and also not very commonly used in the EFL.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_NOTIFICATION
|
||||||
|
|
||||||
|
A notification window, like a warning about battery life or a new E-Mail
|
||||||
|
received.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_COMBO
|
||||||
|
|
||||||
|
A window holding the contents of a combo box.
|
||||||
|
|
||||||
|
Not usually used in the EFL.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_DND
|
||||||
|
|
||||||
|
Used to indicate the window is a representation of an object being
|
||||||
|
dragged across different windows, or even applications.
|
||||||
|
|
||||||
|
Typically used with :py:attr:`~Window.override`.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_INLINED_IMAGE
|
||||||
|
|
||||||
|
The window is rendered onto an image buffer.
|
||||||
|
|
||||||
|
No actual window is created for this type, instead the window and all of
|
||||||
|
its contents will be rendered to an image buffer. This allows to have
|
||||||
|
children window inside a parent one just like any other object would be,
|
||||||
|
and do other things like applying Evas_Map effects to it. This is the
|
||||||
|
only type of window that requires the ``parent`` parameter
|
||||||
|
to be a valid :py:class:`efl.evas.Object`.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_SOCKET_IMAGE
|
||||||
|
|
||||||
|
The window is rendered onto an image buffer and can be shown other
|
||||||
|
process's plug image object.
|
||||||
|
|
||||||
|
No actual window is created for this type, instead the window and all of
|
||||||
|
its contents will be rendered to an image buffer and can be shown other
|
||||||
|
process's plug image object
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Win_Indicator_Mode:
|
||||||
|
|
||||||
|
Indicator states
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_INDICATOR_UNKNOWN
|
||||||
|
|
||||||
|
Unknown indicator state.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_INDICATOR_HIDE
|
||||||
|
|
||||||
|
Hides the indicator.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_INDICATOR_SHOW
|
||||||
|
|
||||||
|
Shows the indicator.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Win_Indicator_Opacity_Mode:
|
||||||
|
|
||||||
|
Indicator opacity
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_INDICATOR_OPACITY_UNKNOWN
|
||||||
|
|
||||||
|
Unknown indicator opacity mode.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_INDICATOR_OPAQUE
|
||||||
|
|
||||||
|
Opacifies the indicator.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_INDICATOR_TRANSLUCENT
|
||||||
|
|
||||||
|
Be translucent the indicator.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_INDICATOR_TRANSPARENT
|
||||||
|
|
||||||
|
Transparentizes the indicator.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Win_Keyboard_Mode:
|
||||||
|
|
||||||
|
Keyboard virtual keyboard modes
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_UNKNOWN
|
||||||
|
|
||||||
|
Unknown keyboard state.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_OFF
|
||||||
|
|
||||||
|
Request to deactivate the keyboard.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_ON
|
||||||
|
|
||||||
|
Enable keyboard with default layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_ALPHA
|
||||||
|
|
||||||
|
Alpha (a-z) keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_NUMERIC
|
||||||
|
|
||||||
|
Numeric keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_PIN
|
||||||
|
|
||||||
|
PIN keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_PHONE_NUMBER
|
||||||
|
|
||||||
|
Phone keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_HEX
|
||||||
|
|
||||||
|
Hexadecimal numeric keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_TERMINAL
|
||||||
|
|
||||||
|
Full (QWERTY) keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_PASSWORD
|
||||||
|
|
||||||
|
Password keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_IP
|
||||||
|
|
||||||
|
IP keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_HOST
|
||||||
|
|
||||||
|
Host keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_FILE
|
||||||
|
|
||||||
|
File keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_URL
|
||||||
|
|
||||||
|
URL keyboard layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_KEYPAD
|
||||||
|
|
||||||
|
Keypad layout.
|
||||||
|
|
||||||
|
.. data:: ELM_WIN_KEYBOARD_J2ME
|
||||||
|
|
||||||
|
J2ME keyboard layout.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Elm_Illume_Command:
|
||||||
|
|
||||||
|
Illume commands
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Available commands that can be sent to the Illume manager.
|
||||||
|
|
||||||
|
When running under an Illume session, a window may send commands to the
|
||||||
|
Illume manager to perform different actions.
|
||||||
|
|
||||||
|
.. data:: ELM_ILLUME_COMMAND_FOCUS_BACK
|
||||||
|
|
||||||
|
Reverts focus to the previous window
|
||||||
|
|
||||||
|
.. data:: ELM_ILLUME_COMMAND_FOCUS_FORWARD
|
||||||
|
|
||||||
|
Sends focus to the next window in the list
|
||||||
|
|
||||||
|
.. data:: ELM_ILLUME_COMMAND_FOCUS_HOME
|
||||||
|
|
||||||
|
Hides all windows to show the Home screen
|
||||||
|
|
||||||
|
.. data:: ELM_ILLUME_COMMAND_CLOSE
|
||||||
|
|
||||||
|
Closes the currently active window
|
||||||
|
|
||||||
|
|
||||||
|
Inheritance diagram
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. inheritance-diagram::
|
||||||
|
Window
|
||||||
|
StandardWindow
|
||||||
|
DialogWindow
|
||||||
|
:parts: 2
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Window
|
||||||
|
.. autoclass:: StandardWindow
|
||||||
|
.. autoclass:: DialogWindow
|
||||||
|
|
|
@ -16,10 +16,6 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
from efl.elementary.general import *
|
|
||||||
from efl.elementary.need import *
|
|
||||||
|
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
#"access",
|
#"access",
|
||||||
"actionslider",
|
"actionslider",
|
||||||
|
@ -57,7 +53,6 @@ __all__ = (
|
||||||
"index",
|
"index",
|
||||||
"innerwindow",
|
"innerwindow",
|
||||||
"label",
|
"label",
|
||||||
"layout_class",
|
|
||||||
"layout",
|
"layout",
|
||||||
"list",
|
"list",
|
||||||
"map",
|
"map",
|
||||||
|
@ -68,7 +63,6 @@ __all__ = (
|
||||||
"need",
|
"need",
|
||||||
"notify",
|
"notify",
|
||||||
"object",
|
"object",
|
||||||
"object_item",
|
|
||||||
"panel",
|
"panel",
|
||||||
"panes",
|
"panes",
|
||||||
"photo",
|
"photo",
|
||||||
|
|
|
@ -16,268 +16,10 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
:mod:`general` Module
|
|
||||||
#####################
|
|
||||||
|
|
||||||
|
|
||||||
.. _General:
|
|
||||||
|
|
||||||
General
|
|
||||||
=======
|
|
||||||
|
|
||||||
General Elementary API. Functions that don't relate to
|
|
||||||
Elementary objects specifically.
|
|
||||||
|
|
||||||
Here are documented functions which init/shutdown the library,
|
|
||||||
that apply to generic Elementary objects, that deal with
|
|
||||||
configuration, et cetera.
|
|
||||||
|
|
||||||
|
|
||||||
.. _Fingers:
|
|
||||||
|
|
||||||
Fingers
|
|
||||||
=======
|
|
||||||
|
|
||||||
Elementary is designed to be finger-friendly for touchscreens,
|
|
||||||
and so in addition to scaling for display resolution, it can
|
|
||||||
also scale based on finger "resolution" (or size). You can then
|
|
||||||
customize the granularity of the areas meant to receive clicks
|
|
||||||
on touchscreens.
|
|
||||||
|
|
||||||
Different profiles may have pre-set values for finger sizes.
|
|
||||||
|
|
||||||
|
|
||||||
Enumerations
|
|
||||||
============
|
|
||||||
|
|
||||||
.. _Elm_Object_Layer:
|
|
||||||
|
|
||||||
Object layers
|
|
||||||
-------------
|
|
||||||
|
|
||||||
.. versionadded:: 1.14
|
|
||||||
|
|
||||||
.. data:: ELM_OBJECT_LAYER_BACKGROUND
|
|
||||||
|
|
||||||
where to place backgrounds
|
|
||||||
|
|
||||||
.. data:: ELM_OBJECT_LAYER_DEFAULT
|
|
||||||
|
|
||||||
Evas_Object default layer (and thus for Elementary)
|
|
||||||
|
|
||||||
.. data:: ELM_OBJECT_LAYER_FOCUS
|
|
||||||
|
|
||||||
where focus object visualization is
|
|
||||||
|
|
||||||
.. data:: ELM_OBJECT_LAYER_TOOLTIP
|
|
||||||
|
|
||||||
where to show tooltips
|
|
||||||
|
|
||||||
.. data:: ELM_OBJECT_LAYER_CURSOR
|
|
||||||
|
|
||||||
where to show cursors
|
|
||||||
|
|
||||||
.. data:: ELM_OBJECT_LAYER_LAST
|
|
||||||
|
|
||||||
last layer known by Elementary
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Policy:
|
|
||||||
|
|
||||||
Policy types
|
|
||||||
------------
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_QUIT
|
|
||||||
|
|
||||||
Under which circumstances the application should quit automatically.
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_EXIT
|
|
||||||
|
|
||||||
Defines elm_exit() behaviour. (since 1.8)
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_THROTTLE
|
|
||||||
|
|
||||||
Defines how throttling should work (since 1.8)
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Policy_Quit:
|
|
||||||
|
|
||||||
Quit policy types
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_QUIT_NONE
|
|
||||||
|
|
||||||
Never quit the application automatically
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_QUIT_LAST_WINDOW_CLOSED
|
|
||||||
|
|
||||||
Quit when the application's last window is closed
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Policy_Exit:
|
|
||||||
|
|
||||||
Exit policy types
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
Possible values for the ELM_POLICY_EXIT policy.
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_EXIT_NONE
|
|
||||||
|
|
||||||
Just quit the main loop on exit().
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_EXIT_WINDOWS_DEL
|
|
||||||
|
|
||||||
Delete all the windows after quitting the main loop.
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Policy_Throttle:
|
|
||||||
|
|
||||||
Throttle policy types
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
Possible values for the #ELM_POLICY_THROTTLE policy.
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_THROTTLE_CONFIG
|
|
||||||
|
|
||||||
Do whatever elementary config is configured to do.
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_THROTTLE_HIDDEN_ALWAYS
|
|
||||||
|
|
||||||
Always throttle when all windows are no longer visible.
|
|
||||||
|
|
||||||
.. data:: ELM_POLICY_THROTTLE_NEVER
|
|
||||||
|
|
||||||
Never throttle when windows are all hidden, regardless of config settings.
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Process_State:
|
|
||||||
|
|
||||||
Elm_Process_State
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
.. data:: ELM_PROCESS_STATE_FOREGROUND
|
|
||||||
|
|
||||||
The process is in a foreground/active/running state - work as normal.
|
|
||||||
|
|
||||||
.. versionadded:: 1.12
|
|
||||||
|
|
||||||
.. data:: ELM_PROCESS_STATE_BACKGROUND
|
|
||||||
|
|
||||||
The process is in the bacgkround, so you may want to stop animating,
|
|
||||||
fetching data as often etc.
|
|
||||||
|
|
||||||
.. versionadded:: 1.12
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Sys_Notify_Closed_Reason:
|
|
||||||
|
|
||||||
Notify close reasons
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
The reason the notification was closed
|
|
||||||
|
|
||||||
.. data:: ELM_SYS_NOTIFY_CLOSED_EXPIRED
|
|
||||||
|
|
||||||
The notification expired.
|
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
.. data:: ELM_SYS_NOTIFY_CLOSED_DISMISSED
|
|
||||||
|
|
||||||
The notification was dismissed by the user.
|
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
.. data:: ELM_SYS_NOTIFY_CLOSED_REQUESTED
|
|
||||||
|
|
||||||
The notification was closed by a call to CloseNotification method.
|
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
.. data:: ELM_SYS_NOTIFY_CLOSED_UNDEFINED
|
|
||||||
|
|
||||||
Undefined/reserved reasons.
|
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Sys_Notify_Urgency:
|
|
||||||
|
|
||||||
Notify urgency levels
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
Urgency levels of a notification
|
|
||||||
|
|
||||||
:see: :py:func:`sys_notify_send`
|
|
||||||
|
|
||||||
.. data:: ELM_SYS_NOTIFY_URGENCY_LOW
|
|
||||||
|
|
||||||
Low
|
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
.. data:: ELM_SYS_NOTIFY_URGENCY_NORMAL
|
|
||||||
|
|
||||||
Normal
|
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
.. data:: ELM_SYS_NOTIFY_URGENCY_CRITICAL
|
|
||||||
|
|
||||||
Critical
|
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Glob_Match_Flags:
|
|
||||||
|
|
||||||
Glob matching
|
|
||||||
-------------
|
|
||||||
|
|
||||||
Glob matching bitfiled flags
|
|
||||||
|
|
||||||
.. data:: ELM_GLOB_MATCH_NO_ESCAPE
|
|
||||||
|
|
||||||
Treat backslash as an ordinary character instead of escape.
|
|
||||||
|
|
||||||
.. versionadded:: 1.11
|
|
||||||
|
|
||||||
.. data:: ELM_GLOB_MATCH_PATH
|
|
||||||
|
|
||||||
Match a slash in string only with a slash in pattern and not by an
|
|
||||||
asterisk (*) or a question mark (?) metacharacter, nor by a bracket
|
|
||||||
expression ([]) containing a slash.
|
|
||||||
|
|
||||||
.. versionadded:: 1.11
|
|
||||||
|
|
||||||
.. data:: ELM_GLOB_MATCH_PERIOD
|
|
||||||
|
|
||||||
Leading period in string has to be matched exactly by a period in
|
|
||||||
pattern. A period is considered to be leading if it is the first
|
|
||||||
character in string, or if both ELM_GLOB_MATCH_PATH is set and the
|
|
||||||
period immediately follows a slash.
|
|
||||||
|
|
||||||
.. versionadded:: 1.11
|
|
||||||
|
|
||||||
.. data:: ELM_GLOB_MATCH_NOCASE
|
|
||||||
|
|
||||||
The pattern is matched case-insensitively.
|
|
||||||
|
|
||||||
.. versionadded:: 1.11
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.general
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from cpython cimport PyUnicode_AsUTF8String, PyMem_Malloc, Py_DECREF, Py_INCREF
|
from cpython cimport PyUnicode_AsUTF8String, PyMem_Malloc, Py_DECREF, Py_INCREF
|
||||||
from libc.string cimport memcpy
|
from libc.string cimport memcpy, strdup
|
||||||
|
from libc.stdlib cimport malloc, free
|
||||||
|
from libc.stdint cimport uintptr_t
|
||||||
|
|
||||||
from efl.evas cimport Object as evasObject
|
from efl.evas cimport Object as evasObject
|
||||||
|
|
||||||
|
@ -291,11 +33,16 @@ from efl.eina cimport EINA_LOG_DOM_DBG, EINA_LOG_DOM_INFO, \
|
||||||
|
|
||||||
from efl.ecore cimport Event, EventHandler, _event_mapping_register
|
from efl.ecore cimport Event, EventHandler, _event_mapping_register
|
||||||
|
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import traceback
|
import traceback
|
||||||
import atexit
|
import atexit
|
||||||
|
|
||||||
|
|
||||||
|
include "elementary_cdef.pxi"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
elm_log = add_logger("efl.elementary")
|
elm_log = add_logger("efl.elementary")
|
||||||
cdef int PY_EFL_ELM_LOG_DOMAIN = elm_log.eina_log_domain
|
cdef int PY_EFL_ELM_LOG_DOMAIN = elm_log.eina_log_domain
|
||||||
|
|
||||||
|
@ -469,7 +216,7 @@ def on_process_background(func, *args, **kwargs):
|
||||||
return EventHandler(ELM_EVENT_PROCESS_BACKGROUND, func, *args, **kwargs)
|
return EventHandler(ELM_EVENT_PROCESS_BACKGROUND, func, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
def on_process_background(func, *args, **kwargs):
|
def on_process_foreground(func, *args, **kwargs):
|
||||||
"""Use this to set a handler for the process foreground event.
|
"""Use this to set a handler for the process foreground event.
|
||||||
|
|
||||||
Emitted when going from nothing being visible to at least one window being
|
Emitted when going from nothing being visible to at least one window being
|
||||||
|
@ -488,7 +235,7 @@ def on_sys_notify_notification_closed(func, *args, **kargs):
|
||||||
|
|
||||||
def on_sys_notify_action_invoked(func, *args, **kargs):
|
def on_sys_notify_action_invoked(func, *args, **kargs):
|
||||||
return EventHandler(
|
return EventHandler(
|
||||||
ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED, func, *args, **kargs
|
ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED, func, *args, **kargs
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -832,3 +579,93 @@ def sys_notify_send(
|
||||||
<const void *>py_cb_data if cb is not None else NULL
|
<const void *>py_cb_data if cb is not None else NULL
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from cpython cimport PyObject_GetBuffer, PyBuffer_Release, PyBUF_SIMPLE, \
|
||||||
|
PyObject_CheckBuffer
|
||||||
|
|
||||||
|
from efl.utils.deprecated cimport DEPRECATED
|
||||||
|
from efl.utils.conversions cimport *
|
||||||
|
from efl.eo cimport Eo, object_from_instance
|
||||||
|
from efl.evas cimport SmartObject, EventKeyDown, EventKeyUp, EventMouseWheel
|
||||||
|
|
||||||
|
from datetime import date, datetime
|
||||||
|
|
||||||
|
|
||||||
|
cdef object _cb_string_conv(void *addr):
|
||||||
|
return _ctouni(<const char *>addr) if addr is not NULL else None
|
||||||
|
|
||||||
|
cdef object _cb_object_item_conv(void *addr):
|
||||||
|
return _object_item_to_python(<Elm_Object_Item *>addr)
|
||||||
|
|
||||||
|
|
||||||
|
#include "access.pxi"
|
||||||
|
include "actionslider.pxi"
|
||||||
|
include "background.pxi"
|
||||||
|
include "box.pxi"
|
||||||
|
include "bubble.pxi"
|
||||||
|
include "button.pxi"
|
||||||
|
include "calendar.pxi"
|
||||||
|
include "check.pxi"
|
||||||
|
include "clock.pxi"
|
||||||
|
include "colorselector.pxi"
|
||||||
|
include "configuration.pxi"
|
||||||
|
include "conformant.pxi"
|
||||||
|
include "ctxpopup.pxi"
|
||||||
|
include "datetime.pxi"
|
||||||
|
include "dayselector.pxi"
|
||||||
|
include "diskselector.pxi"
|
||||||
|
include "entry.pxi"
|
||||||
|
include "fileselector.pxi"
|
||||||
|
include "fileselector_button.pxi"
|
||||||
|
include "fileselector_entry.pxi"
|
||||||
|
include "flip.pxi"
|
||||||
|
include "flipselector.pxi"
|
||||||
|
include "frame.pxi"
|
||||||
|
#include "general.pxi"
|
||||||
|
include "gengrid.pxi"
|
||||||
|
include "genlist.pxi"
|
||||||
|
include "gesture_layer.pxi"
|
||||||
|
#include "glview.pxi"
|
||||||
|
include "grid.pxi"
|
||||||
|
include "hover.pxi"
|
||||||
|
include "hoversel.pxi"
|
||||||
|
include "icon.pxi"
|
||||||
|
include "image.pxi"
|
||||||
|
include "index.pxi"
|
||||||
|
include "innerwindow.pxi"
|
||||||
|
include "label.pxi"
|
||||||
|
#include "layout_class.pxi"
|
||||||
|
include "layout.pxi"
|
||||||
|
include "list.pxi"
|
||||||
|
include "map.pxi"
|
||||||
|
include "mapbuf.pxi"
|
||||||
|
include "menu.pxi"
|
||||||
|
include "multibuttonentry.pxi"
|
||||||
|
include "naviframe.pxi"
|
||||||
|
include "need.pxi"
|
||||||
|
include "notify.pxi"
|
||||||
|
include "object.pxi"
|
||||||
|
include "object_item.pxi"
|
||||||
|
include "panel.pxi"
|
||||||
|
include "panes.pxi"
|
||||||
|
include "photo.pxi"
|
||||||
|
include "photocam.pxi"
|
||||||
|
include "plug.pxi"
|
||||||
|
include "popup.pxi"
|
||||||
|
include "progressbar.pxi"
|
||||||
|
include "radio.pxi"
|
||||||
|
include "scroller.pxi"
|
||||||
|
include "segment_control.pxi"
|
||||||
|
include "separator.pxi"
|
||||||
|
include "slider.pxi"
|
||||||
|
include "slideshow.pxi"
|
||||||
|
include "spinner.pxi"
|
||||||
|
#include "store.pxi"
|
||||||
|
include "systray.pxi"
|
||||||
|
include "table.pxi"
|
||||||
|
include "theme.pxi"
|
||||||
|
include "thumb.pxi"
|
||||||
|
include "toolbar.pxi"
|
||||||
|
include "transit.pxi"
|
||||||
|
include "video.pxi"
|
||||||
|
include "web.pxi"
|
||||||
|
include "window.pxi"
|
|
@ -16,103 +16,7 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
include "actionslider_cdef.pxi"
|
||||||
|
|
||||||
:mod:`actionslider` Module
|
|
||||||
##########################
|
|
||||||
|
|
||||||
.. image:: /images/actionslider-preview.png
|
|
||||||
|
|
||||||
|
|
||||||
Widget description
|
|
||||||
==================
|
|
||||||
|
|
||||||
An actionslider is a switcher for two or three labels with
|
|
||||||
customizable magnet properties.
|
|
||||||
|
|
||||||
The user drags and releases the indicator, to choose a label.
|
|
||||||
|
|
||||||
Labels can occupy the following positions.
|
|
||||||
|
|
||||||
- Left
|
|
||||||
- Right
|
|
||||||
- Center
|
|
||||||
|
|
||||||
Positions can be enabled or disabled.
|
|
||||||
|
|
||||||
Magnets can be set on the above positions.
|
|
||||||
|
|
||||||
When the indicator is released, it will move to its nearest "enabled and
|
|
||||||
magnetized" position.
|
|
||||||
|
|
||||||
|
|
||||||
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").
|
|
||||||
|
|
||||||
|
|
||||||
Layout text parts
|
|
||||||
=================
|
|
||||||
|
|
||||||
- ``indicator`` - An indicator label of the actionslider
|
|
||||||
- ``left`` - A left label of the actionslider
|
|
||||||
- ``right`` - A right label of the actionslider
|
|
||||||
- ``center`` - A center label of the actionslider
|
|
||||||
|
|
||||||
|
|
||||||
Enumerations
|
|
||||||
============
|
|
||||||
|
|
||||||
.. _Elm_Actionslider_Pos:
|
|
||||||
|
|
||||||
Actionslider positions
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
.. data:: ELM_ACTIONSLIDER_NONE
|
|
||||||
|
|
||||||
No position
|
|
||||||
|
|
||||||
.. data:: ELM_ACTIONSLIDER_LEFT
|
|
||||||
|
|
||||||
Left position
|
|
||||||
|
|
||||||
.. data:: ELM_ACTIONSLIDER_CENTER
|
|
||||||
|
|
||||||
Center position
|
|
||||||
|
|
||||||
.. data:: ELM_ACTIONSLIDER_RIGHT
|
|
||||||
|
|
||||||
Right position
|
|
||||||
|
|
||||||
.. data:: ELM_ACTIONSLIDER_ALL
|
|
||||||
|
|
||||||
All positions
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.actionslider
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from libc.stdint cimport uintptr_t
|
|
||||||
from cpython cimport PyObject
|
|
||||||
|
|
||||||
from efl.eo cimport _object_mapping_register
|
|
||||||
from efl.utils.conversions cimport _ctouni
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
|
|
||||||
cdef object _cb_string_conv(void *addr):
|
|
||||||
return _ctouni(<const char *>addr) if addr is not NULL else None
|
|
||||||
|
|
||||||
|
|
||||||
cdef class Actionslider(LayoutClass):
|
cdef class Actionslider(LayoutClass):
|
||||||
"""
|
"""
|
|
@ -0,0 +1,7 @@
|
||||||
|
from . import Actionslider
|
||||||
|
|
||||||
|
from . import ELM_ACTIONSLIDER_NONE
|
||||||
|
from . import ELM_ACTIONSLIDER_LEFT
|
||||||
|
from . import ELM_ACTIONSLIDER_CENTER
|
||||||
|
from . import ELM_ACTIONSLIDER_RIGHT
|
||||||
|
from . import ELM_ACTIONSLIDER_ALL
|
|
@ -1,6 +1,3 @@
|
||||||
from efl.evas cimport Evas_Object
|
|
||||||
|
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
|
|
||||||
cpdef enum Elm_Actionslider_Pos:
|
cpdef enum Elm_Actionslider_Pos:
|
|
@ -16,70 +16,8 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
:mod:`background` Module
|
include "background_cdef.pxi"
|
||||||
########################
|
|
||||||
|
|
||||||
.. 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
|
|
||||||
container object.
|
|
||||||
|
|
||||||
It works just like an image, but has some properties useful to a
|
|
||||||
background, like setting it to tiled, centered, scaled or stretched.
|
|
||||||
|
|
||||||
|
|
||||||
Layout content parts
|
|
||||||
====================
|
|
||||||
|
|
||||||
- ``overlay`` - overlay of the bg
|
|
||||||
|
|
||||||
|
|
||||||
Enumerations
|
|
||||||
============
|
|
||||||
|
|
||||||
.. _Elm_Bg_Option:
|
|
||||||
|
|
||||||
Background display modes
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
.. data:: ELM_BG_OPTION_CENTER
|
|
||||||
|
|
||||||
Center
|
|
||||||
|
|
||||||
.. data:: ELM_BG_OPTION_SCALE
|
|
||||||
|
|
||||||
Scale
|
|
||||||
|
|
||||||
.. data:: ELM_BG_OPTION_STRETCH
|
|
||||||
|
|
||||||
Stretch
|
|
||||||
|
|
||||||
.. data:: ELM_BG_OPTION_TILE
|
|
||||||
|
|
||||||
Tile
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.background
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from cpython cimport PyUnicode_AsUTF8String
|
|
||||||
|
|
||||||
from efl.eo cimport _object_mapping_register, Eo
|
|
||||||
from efl.utils.conversions cimport _ctouni
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
|
|
||||||
cdef class Background(LayoutClass):
|
cdef class Background(LayoutClass):
|
|
@ -0,0 +1,6 @@
|
||||||
|
from . import Background
|
||||||
|
|
||||||
|
from . import ELM_BG_OPTION_CENTER
|
||||||
|
from . import ELM_BG_OPTION_SCALE
|
||||||
|
from . import ELM_BG_OPTION_STRETCH
|
||||||
|
from . import ELM_BG_OPTION_TILE
|
|
@ -1,6 +1,3 @@
|
||||||
from efl.evas cimport Eina_Bool, Evas_Object, Evas_Coord
|
|
||||||
|
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
|
|
||||||
cpdef enum Elm_Bg_Option:
|
cpdef enum Elm_Bg_Option:
|
|
@ -16,131 +16,7 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
include "box_cdef.pxi"
|
||||||
|
|
||||||
:mod:`box` Module
|
|
||||||
#################
|
|
||||||
|
|
||||||
.. image:: /images/box-preview.png
|
|
||||||
|
|
||||||
|
|
||||||
Widget description
|
|
||||||
==================
|
|
||||||
|
|
||||||
A box arranges objects in a linear fashion, governed by a layout function
|
|
||||||
that defines the details of this arrangement.
|
|
||||||
|
|
||||||
By default, the box will use an internal function to set the layout to
|
|
||||||
a single row, either vertical or horizontal. This layout is affected
|
|
||||||
by a number of parameters, such as the homogeneous flag set by
|
|
||||||
:py:attr:`~Box.homogeneous`, the values given by :py:attr:`~Box.padding` and
|
|
||||||
:py:attr:`~Box.align` and the hints set to each object in the box.
|
|
||||||
|
|
||||||
For this default layout, it's possible to change the orientation with
|
|
||||||
:py:attr:`~Box.horizontal`. The box will start in the vertical orientation,
|
|
||||||
placing its elements ordered from top to bottom. When horizontal is set,
|
|
||||||
the order will go from left to right. If the box is set to be
|
|
||||||
homogeneous, every object in it will be assigned the same space, that
|
|
||||||
of the largest object. Padding can be used to set some spacing between
|
|
||||||
the cell given to each object. The alignment of the box, set with
|
|
||||||
:py:attr:`~Box.align`, determines how the bounding box of all the elements
|
|
||||||
will be placed within the space given to the box widget itself.
|
|
||||||
|
|
||||||
The size hints of each object also affect how they are placed and sized
|
|
||||||
within the box. :py:attr:`~efl.evas.Object.size_hint_min` will give the minimum
|
|
||||||
size the object can have, and the box will use it as the basis for all
|
|
||||||
latter calculations. Elementary widgets set their own minimum size as
|
|
||||||
needed, so there's rarely any need to use it manually.
|
|
||||||
|
|
||||||
:py:attr:`~efl.evas.Object.size_hint_weight`, when not in homogeneous mode, is
|
|
||||||
used to tell whether the object will be allocated the minimum size it
|
|
||||||
needs or if the space given to it should be expanded. It's important
|
|
||||||
to realize that expanding the size given to the object is not the same
|
|
||||||
thing as resizing the object. It could very well end being a small
|
|
||||||
widget floating in a much larger empty space. If not set, the weight
|
|
||||||
for objects will normally be 0.0 for both axis, meaning the widget will
|
|
||||||
not be expanded. To take as much space possible, set the weight to
|
|
||||||
``EVAS_HINT_EXPAND`` (defined to 1.0) for the desired axis to expand.
|
|
||||||
|
|
||||||
Besides how much space each object is allocated, it's possible to control
|
|
||||||
how the widget will be placed within that space using
|
|
||||||
:py:attr:`~efl.evas.Object.size_hint_align`. By default, this value will be 0.5
|
|
||||||
for both axis, meaning the object will be centered, but any value from
|
|
||||||
0.0 (left or top, for the ``x`` and ``y`` axis, respectively) to 1.0
|
|
||||||
(right or bottom) can be used. The special value *EVAS_HINT_FILL*, which
|
|
||||||
is -1.0, means the object will be resized to fill the entire space it
|
|
||||||
was allocated.
|
|
||||||
|
|
||||||
In addition, customized functions to define the layout can be set, which
|
|
||||||
allow the application developer to organize the objects within the box
|
|
||||||
in any number of ways.
|
|
||||||
|
|
||||||
The special :py:meth:`Box.layout_transition` function can be used
|
|
||||||
to switch from one layout to another, animating the motion of the
|
|
||||||
children of the box.
|
|
||||||
|
|
||||||
.. note:: Objects should not be added to box objects using _add() calls.
|
|
||||||
|
|
||||||
|
|
||||||
Enumerations
|
|
||||||
============
|
|
||||||
|
|
||||||
.. _Evas_Object_Box_Layout:
|
|
||||||
|
|
||||||
Box layout modes
|
|
||||||
----------------
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_HORIZONTAL
|
|
||||||
|
|
||||||
Horizontal layout
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_VERTICAL
|
|
||||||
|
|
||||||
Vertical layout
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_VERTICAL
|
|
||||||
|
|
||||||
Homogeneous vertical layout
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_HORIZONTAL
|
|
||||||
|
|
||||||
Homogeneous horizontal layout
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_MAX_SIZE_HORIZONTAL
|
|
||||||
|
|
||||||
Homogeneous layout, maximum size on the horizontal axis
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_MAX_SIZE_VERTICAL
|
|
||||||
|
|
||||||
Homogeneous layout, maximum size on the horizontal axis
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_FLOW_HORIZONTAL
|
|
||||||
|
|
||||||
Horizontally flowing layout
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_FLOW_VERTICAL
|
|
||||||
|
|
||||||
Vertically flowing layout
|
|
||||||
|
|
||||||
.. data:: ELM_BOX_LAYOUT_STACK
|
|
||||||
|
|
||||||
Stacking layout
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.box
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from efl.c_eo cimport Eo as cEo
|
|
||||||
from efl.eo cimport _object_mapping_register, object_from_instance
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from object cimport Object
|
|
||||||
|
|
||||||
from efl.utils.conversions cimport eina_list_objects_to_python_list
|
|
||||||
|
|
||||||
|
|
||||||
ELM_BOX_LAYOUT_HORIZONTAL = 0
|
ELM_BOX_LAYOUT_HORIZONTAL = 0
|
|
@ -0,0 +1,11 @@
|
||||||
|
from . import Box
|
||||||
|
|
||||||
|
from . import ELM_BOX_LAYOUT_HORIZONTAL
|
||||||
|
from . import ELM_BOX_LAYOUT_VERTICAL
|
||||||
|
from . import ELM_BOX_LAYOUT_HOMOGENEOUS_VERTICAL
|
||||||
|
from . import ELM_BOX_LAYOUT_HOMOGENEOUS_HORIZONTAL
|
||||||
|
from . import ELM_BOX_LAYOUT_HOMOGENEOUS_MAX_SIZE_HORIZONTAL
|
||||||
|
from . import ELM_BOX_LAYOUT_HOMOGENEOUS_MAX_SIZE_VERTICAL
|
||||||
|
from . import ELM_BOX_LAYOUT_FLOW_HORIZONTAL
|
||||||
|
from . import ELM_BOX_LAYOUT_FLOW_VERTICAL
|
||||||
|
from . import ELM_BOX_LAYOUT_STACK
|
|
@ -1,5 +1,3 @@
|
||||||
from efl.evas cimport Eina_Bool, Eina_List, Evas_Object, Evas_Coord
|
|
||||||
|
|
||||||
cdef extern from "Ecore.h":
|
cdef extern from "Ecore.h":
|
||||||
ctypedef void (*Ecore_Cb)(void *data)
|
ctypedef void (*Ecore_Cb)(void *data)
|
||||||
|
|
|
@ -16,99 +16,7 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
include "bubble_cdef.pxi"
|
||||||
|
|
||||||
: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.
|
|
||||||
|
|
||||||
The bubble widget contains 5 important visual elements:
|
|
||||||
|
|
||||||
- The frame is a rectangle with rounded edjes and an "arrow".
|
|
||||||
- The ``icon`` is an image to which the frame's arrow points to.
|
|
||||||
- The ``label`` is a text which appears to the right of the icon if the
|
|
||||||
corner is **top_left** or **bottom_left** and is right aligned to
|
|
||||||
the frame otherwise.
|
|
||||||
- The ``info`` is a text which appears to the right of the label. Info's
|
|
||||||
font is of a lighter color than label.
|
|
||||||
- The ``content`` is an evas object that is shown inside the frame.
|
|
||||||
|
|
||||||
The position of the arrow, icon, label and info depends on which corner is
|
|
||||||
selected. The four available corners are:
|
|
||||||
|
|
||||||
- ``top_left`` - Default
|
|
||||||
- ``top_right``
|
|
||||||
- ``bottom_left``
|
|
||||||
- ``bottom_right``
|
|
||||||
|
|
||||||
|
|
||||||
Layout content parts
|
|
||||||
====================
|
|
||||||
|
|
||||||
- ``default`` - A content of the bubble
|
|
||||||
- ``icon`` - An icon of the bubble
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
Top left position
|
|
||||||
|
|
||||||
.. data:: ELM_BUBBLE_POS_TOP_RIGHT
|
|
||||||
|
|
||||||
Top right position
|
|
||||||
|
|
||||||
.. data:: ELM_BUBBLE_POS_BOTTOM_LEFT
|
|
||||||
|
|
||||||
Bottom left position
|
|
||||||
|
|
||||||
.. data:: ELM_BUBBLE_POS_BOTTOM_RIGHT
|
|
||||||
|
|
||||||
Bottom right position
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.bubble
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from efl.eo cimport _object_mapping_register
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
|
|
||||||
cdef class Bubble(LayoutClass):
|
cdef class Bubble(LayoutClass):
|
||||||
"""
|
"""
|
|
@ -0,0 +1,6 @@
|
||||||
|
from . import Bubble
|
||||||
|
|
||||||
|
from . import ELM_BUBBLE_POS_TOP_LEFT
|
||||||
|
from . import ELM_BUBBLE_POS_TOP_RIGHT
|
||||||
|
from . import ELM_BUBBLE_POS_BOTTOM_LEFT
|
||||||
|
from . import ELM_BUBBLE_POS_BOTTOM_RIGHT
|
|
@ -1,6 +1,3 @@
|
||||||
from efl.evas cimport Evas_Object
|
|
||||||
|
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
|
|
||||||
cpdef enum Elm_Bubble_Pos:
|
cpdef enum Elm_Bubble_Pos:
|
|
@ -15,74 +15,7 @@
|
||||||
# You should have received a copy of the GNU Lesser General Public License
|
# 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/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
"""
|
include "button_cdef.pxi"
|
||||||
|
|
||||||
:mod:`button` Module
|
|
||||||
####################
|
|
||||||
|
|
||||||
.. image:: /images/button-preview.png
|
|
||||||
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
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.
|
|
||||||
- ``pressed``: button was pressed.
|
|
||||||
- ``unpressed``: button was released after being pressed.
|
|
||||||
- ``focused`` : When the button has received focus. (since 1.8)
|
|
||||||
- ``unfocused`` : When the button has lost focus. (since 1.8)
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.button
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from efl.eo cimport _object_mapping_register
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
|
|
||||||
cdef class Button(LayoutClass):
|
cdef class Button(LayoutClass):
|
||||||
"""
|
"""
|
|
@ -0,0 +1 @@
|
||||||
|
from . import Button
|
|
@ -1,6 +1,3 @@
|
||||||
from efl.evas cimport Eina_Bool, Evas_Object
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
|
|
||||||
Evas_Object *elm_button_add(Evas_Object *parent)
|
Evas_Object *elm_button_add(Evas_Object *parent)
|
||||||
|
@ -10,7 +7,3 @@ cdef extern from "Elementary.h":
|
||||||
double elm_button_autorepeat_initial_timeout_get(const Evas_Object *obj)
|
double elm_button_autorepeat_initial_timeout_get(const Evas_Object *obj)
|
||||||
void elm_button_autorepeat_gap_timeout_set(Evas_Object *obj, double t)
|
void elm_button_autorepeat_gap_timeout_set(Evas_Object *obj, double t)
|
||||||
double elm_button_autorepeat_gap_timeout_get(const Evas_Object *obj)
|
double elm_button_autorepeat_gap_timeout_get(const Evas_Object *obj)
|
||||||
|
|
||||||
|
|
||||||
cdef class Button(LayoutClass):
|
|
||||||
pass
|
|
|
@ -16,178 +16,7 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
include "calendar_cdef.pxi"
|
||||||
|
|
||||||
:mod:`calendar_elm` Module
|
|
||||||
##########################
|
|
||||||
|
|
||||||
.. image:: /images/calendar-preview.png
|
|
||||||
|
|
||||||
|
|
||||||
Widget description
|
|
||||||
==================
|
|
||||||
|
|
||||||
This is a calendar widget.
|
|
||||||
|
|
||||||
It helps applications to flexibly display a calender with day of the week,
|
|
||||||
date, year and month. Applications are able to set specific dates to be
|
|
||||||
reported back, when selected, in the smart callbacks of the calendar widget.
|
|
||||||
The API of this widget lets the applications perform other functions, like:
|
|
||||||
|
|
||||||
- placing marks on specific dates
|
|
||||||
- setting the bounds for the calendar (minimum and maximum years)
|
|
||||||
- setting the day names of the week (e.g. "Thu" or "Thursday")
|
|
||||||
- setting the year and month format.
|
|
||||||
|
|
||||||
|
|
||||||
Emitted signals
|
|
||||||
===============
|
|
||||||
|
|
||||||
- ``changed`` - emitted when the date in the calendar is changed.
|
|
||||||
- ``display,changed`` - emitted when the current month displayed in the
|
|
||||||
calendar is changed.
|
|
||||||
- ``focused`` - When the calendar has received focus. (since 1.8)
|
|
||||||
- ``unfocused`` - When the calendar has lost focus. (since 1.8)
|
|
||||||
|
|
||||||
|
|
||||||
Enumerations
|
|
||||||
============
|
|
||||||
|
|
||||||
.. _Elm_Calendar_Mark_Repeat_Type:
|
|
||||||
|
|
||||||
Calendar mark repeat types
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_UNIQUE
|
|
||||||
|
|
||||||
Default value.
|
|
||||||
|
|
||||||
Marks will be displayed only on event day.
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_DAILY
|
|
||||||
|
|
||||||
Marks will be displayed every day after event day (inclusive).
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_WEEKLY
|
|
||||||
|
|
||||||
Marks will be displayed every week after event day (inclusive) - i.e.
|
|
||||||
each seven days.
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_MONTHLY
|
|
||||||
|
|
||||||
Marks will be displayed every month day that coincides to event day.
|
|
||||||
|
|
||||||
E.g.: if an event is set to 30th Jan, no marks will be displayed on Feb,
|
|
||||||
but will be displayed on 30th Mar
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_ANNUALLY
|
|
||||||
|
|
||||||
Marks will be displayed every year that coincides to event day (and month).
|
|
||||||
|
|
||||||
E.g. an event added to 30th Jan 2012 will be repeated on 30th Jan 2013.
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_LAST_DAY_OF_MONTH
|
|
||||||
|
|
||||||
Marks will be displayed every last day of month after event day
|
|
||||||
(inclusive).
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Calendar_Select_Mode:
|
|
||||||
|
|
||||||
Calendar selection modes
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_SELECT_MODE_DEFAULT
|
|
||||||
|
|
||||||
Default mode
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_SELECT_MODE_ALWAYS
|
|
||||||
|
|
||||||
Select always
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_SELECT_MODE_NONE
|
|
||||||
|
|
||||||
Don't select
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_SELECT_MODE_ONDEMAND
|
|
||||||
|
|
||||||
Select on demand
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Calendar_Selectable:
|
|
||||||
|
|
||||||
Selectable
|
|
||||||
----------
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_SELECTABLE_NONE
|
|
||||||
|
|
||||||
None selectable
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_SELECTABLE_YEAR
|
|
||||||
|
|
||||||
Year is selectable
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_SELECTABLE_MONTH
|
|
||||||
|
|
||||||
Month is selectable
|
|
||||||
|
|
||||||
.. data:: ELM_CALENDAR_SELECTABLE_DAY
|
|
||||||
|
|
||||||
Day is selectable
|
|
||||||
|
|
||||||
|
|
||||||
.. _Elm_Calendar_Weekday:
|
|
||||||
|
|
||||||
Days
|
|
||||||
----
|
|
||||||
|
|
||||||
.. data:: ELM_DAY_SUNDAY
|
|
||||||
|
|
||||||
Sunday
|
|
||||||
|
|
||||||
.. data:: ELM_DAY_MONDAY
|
|
||||||
|
|
||||||
Monday
|
|
||||||
|
|
||||||
.. data:: ELM_DAY_TUESDAY
|
|
||||||
|
|
||||||
Tuesday
|
|
||||||
|
|
||||||
.. data:: ELM_DAY_WEDNESDAY
|
|
||||||
|
|
||||||
Wednesday
|
|
||||||
|
|
||||||
.. data:: ELM_DAY_THURSDAY
|
|
||||||
|
|
||||||
Thursday
|
|
||||||
|
|
||||||
.. data:: ELM_DAY_FRIDAY
|
|
||||||
|
|
||||||
Friday
|
|
||||||
|
|
||||||
.. data:: ELM_DAY_SATURDAY
|
|
||||||
|
|
||||||
Saturday
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.calendar_elm
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from cpython cimport PyUnicode_AsUTF8String
|
|
||||||
|
|
||||||
from efl.utils.conversions cimport array_of_strings_to_python_list, \
|
|
||||||
python_list_strings_to_array_of_strings
|
|
||||||
from efl.eo cimport _object_mapping_register
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
from datetime import date
|
|
||||||
|
|
||||||
|
|
||||||
cdef class CalendarMark(object):
|
cdef class CalendarMark(object):
|
||||||
"""
|
"""
|
|
@ -1,11 +1,3 @@
|
||||||
from efl.evas cimport Eina_Bool, Eina_List, Evas_Object
|
|
||||||
|
|
||||||
|
|
||||||
cdef extern from "string.h":
|
|
||||||
void *memcpy(void *dst, void *src, int n)
|
|
||||||
char *strdup(char *str)
|
|
||||||
|
|
||||||
|
|
||||||
cdef extern from "time.h":
|
cdef extern from "time.h":
|
||||||
struct tm:
|
struct tm:
|
||||||
int tm_sec
|
int tm_sec
|
||||||
|
@ -21,7 +13,6 @@ cdef extern from "time.h":
|
||||||
long int tm_gmtoff
|
long int tm_gmtoff
|
||||||
const char *tm_zone
|
const char *tm_zone
|
||||||
|
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
|
|
||||||
cpdef enum Elm_Calendar_Mark_Repeat_Type:
|
cpdef enum Elm_Calendar_Mark_Repeat_Type:
|
|
@ -0,0 +1,27 @@
|
||||||
|
from . import Calendar, CalendarMark
|
||||||
|
|
||||||
|
from . import ELM_CALENDAR_UNIQUE
|
||||||
|
from . import ELM_CALENDAR_DAILY
|
||||||
|
from . import ELM_CALENDAR_WEEKLY
|
||||||
|
from . import ELM_CALENDAR_MONTHLY
|
||||||
|
from . import ELM_CALENDAR_ANNUALLY
|
||||||
|
from . import ELM_CALENDAR_LAST_DAY_OF_MONTH
|
||||||
|
|
||||||
|
from . import ELM_CALENDAR_SELECT_MODE_DEFAULT
|
||||||
|
from . import ELM_CALENDAR_SELECT_MODE_ALWAYS
|
||||||
|
from . import ELM_CALENDAR_SELECT_MODE_NONE
|
||||||
|
from . import ELM_CALENDAR_SELECT_MODE_ONDEMAND
|
||||||
|
|
||||||
|
from . import ELM_CALENDAR_SELECTABLE_NONE
|
||||||
|
from . import ELM_CALENDAR_SELECTABLE_YEAR
|
||||||
|
from . import ELM_CALENDAR_SELECTABLE_MONTH
|
||||||
|
from . import ELM_CALENDAR_SELECTABLE_DAY
|
||||||
|
|
||||||
|
from . import ELM_DAY_SUNDAY
|
||||||
|
from . import ELM_DAY_MONDAY
|
||||||
|
from . import ELM_DAY_TUESDAY
|
||||||
|
from . import ELM_DAY_WEDNESDAY
|
||||||
|
from . import ELM_DAY_THURSDAY
|
||||||
|
from . import ELM_DAY_FRIDAY
|
||||||
|
from . import ELM_DAY_SATURDAY
|
||||||
|
from . import ELM_DAY_LAST
|
|
@ -15,59 +15,7 @@
|
||||||
# You should have received a copy of the GNU Lesser General Public License
|
# 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/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
include "check_cdef.pxi"
|
||||||
"""
|
|
||||||
|
|
||||||
:mod:`check` Module
|
|
||||||
###################
|
|
||||||
|
|
||||||
.. image:: /images/check-preview.png
|
|
||||||
|
|
||||||
|
|
||||||
Widget description
|
|
||||||
==================
|
|
||||||
|
|
||||||
The check widget allows for toggling a value between true and false.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
|
|
||||||
Layout content parts
|
|
||||||
====================
|
|
||||||
|
|
||||||
- ``icon`` - An icon of the check
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
cdef class Check(LayoutClass):
|
cdef class Check(LayoutClass):
|
||||||
"""
|
"""
|
|
@ -0,0 +1 @@
|
||||||
|
from . import Check
|
|
@ -1,5 +1,3 @@
|
||||||
from efl.evas cimport Eina_Bool, Evas_Object
|
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
Evas_Object *elm_check_add(Evas_Object *parent)
|
Evas_Object *elm_check_add(Evas_Object *parent)
|
||||||
void elm_check_state_set(Evas_Object *obj, Eina_Bool state)
|
void elm_check_state_set(Evas_Object *obj, Eina_Bool state)
|
|
@ -16,104 +16,7 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
include "clock_cdef.pxi"
|
||||||
|
|
||||||
:mod:`clock` Module
|
|
||||||
###################
|
|
||||||
|
|
||||||
.. image:: /images/clock-preview.png
|
|
||||||
|
|
||||||
|
|
||||||
Widget description
|
|
||||||
==================
|
|
||||||
|
|
||||||
This is a digital clock widget.
|
|
||||||
|
|
||||||
In its default theme, it has a vintage "flipping numbers clock" appearance,
|
|
||||||
which will animate sheets of individual algarisms individually as time goes
|
|
||||||
by.
|
|
||||||
|
|
||||||
A newly created clock will fetch system's time (already considering
|
|
||||||
local time adjustments) to start with, and will tick accordingly. It may
|
|
||||||
or may not show seconds.
|
|
||||||
|
|
||||||
Clocks have an **edition** mode. When in it, the sheets will display
|
|
||||||
extra arrow indications on the top and bottom and the user may click on
|
|
||||||
them to raise or lower the time values. After it's told to exit edition
|
|
||||||
mode, it will keep ticking with that new time set (it keeps the
|
|
||||||
difference from local time).
|
|
||||||
|
|
||||||
Also, when under edition mode, user clicks on the cited arrows which are
|
|
||||||
**held** for some time will make the clock to flip the sheet, thus
|
|
||||||
editing the time, continuously and automatically for the user. The
|
|
||||||
interval between sheet flips will keep growing in time, so that it helps
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
Emitted signals
|
|
||||||
===============
|
|
||||||
|
|
||||||
- ``changed`` - the clock's user changed the time
|
|
||||||
- ``focused`` - When the clock has received focus. (since 1.8)
|
|
||||||
- ``unfocused`` - When the clock has lost focus. (since 1.8)
|
|
||||||
|
|
||||||
|
|
||||||
Enumerations
|
|
||||||
============
|
|
||||||
|
|
||||||
.. _Elm_Clock_Edit_Mode:
|
|
||||||
|
|
||||||
Clock edit modes
|
|
||||||
----------------
|
|
||||||
|
|
||||||
.. data:: ELM_CLOCK_EDIT_DEFAULT
|
|
||||||
|
|
||||||
Default edit
|
|
||||||
|
|
||||||
.. data:: ELM_CLOCK_EDIT_HOUR_DECIMAL
|
|
||||||
|
|
||||||
Edit hours' decimal
|
|
||||||
|
|
||||||
.. data:: ELM_CLOCK_EDIT_HOUR_UNIT
|
|
||||||
|
|
||||||
Edit hours' unit
|
|
||||||
|
|
||||||
.. data:: ELM_CLOCK_EDIT_MIN_DECIMAL
|
|
||||||
|
|
||||||
Edit minutes' decimal
|
|
||||||
|
|
||||||
.. data:: ELM_CLOCK_EDIT_MIN_UNIT
|
|
||||||
|
|
||||||
Edit minutes' unit
|
|
||||||
|
|
||||||
.. data:: ELM_CLOCK_EDIT_SEC_DECIMAL
|
|
||||||
|
|
||||||
Edit seconds' decimal
|
|
||||||
|
|
||||||
.. data:: ELM_CLOCK_EDIT_SEC_UNIT
|
|
||||||
|
|
||||||
Edit seconds' unit
|
|
||||||
|
|
||||||
.. data:: ELM_CLOCK_EDIT_ALL
|
|
||||||
|
|
||||||
Edit all
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.clock
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from efl.eo cimport _object_mapping_register
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
|
|
||||||
cdef class Clock(LayoutClass):
|
cdef class Clock(LayoutClass):
|
||||||
"""
|
"""
|
|
@ -0,0 +1,10 @@
|
||||||
|
from . import Clock
|
||||||
|
|
||||||
|
from . import ELM_CLOCK_EDIT_DEFAULT
|
||||||
|
from . import ELM_CLOCK_EDIT_HOUR_DECIMAL
|
||||||
|
from . import ELM_CLOCK_EDIT_HOUR_UNIT
|
||||||
|
from . import ELM_CLOCK_EDIT_MIN_DECIMAL
|
||||||
|
from . import ELM_CLOCK_EDIT_MIN_UNIT
|
||||||
|
from . import ELM_CLOCK_EDIT_SEC_DECIMAL
|
||||||
|
from . import ELM_CLOCK_EDIT_SEC_UNIT
|
||||||
|
from . import ELM_CLOCK_EDIT_ALL
|
|
@ -1,6 +1,3 @@
|
||||||
from efl.evas cimport Evas_Object, Eina_Bool
|
|
||||||
|
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
|
|
||||||
cpdef enum Elm_Clock_Edit_Mode:
|
cpdef enum Elm_Clock_Edit_Mode:
|
|
@ -1,5 +1,3 @@
|
||||||
from object_item cimport Elm_Object_Item
|
|
||||||
from efl.elementary.object cimport Elm_Sel_Type, Elm_Sel_Format, Elm_Xdnd_Action
|
|
||||||
from efl.utils.conversions cimport python_list_objects_to_eina_list
|
from efl.utils.conversions cimport python_list_objects_to_eina_list
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
|
|
|
@ -16,83 +16,7 @@
|
||||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
include "colorselector_cdef.pxi"
|
||||||
|
|
||||||
:mod:`colorselector` Module
|
|
||||||
###########################
|
|
||||||
|
|
||||||
.. image:: /images/colorselector-preview.png
|
|
||||||
|
|
||||||
|
|
||||||
Widget description
|
|
||||||
==================
|
|
||||||
|
|
||||||
A Colorselector is a color selection widget.
|
|
||||||
|
|
||||||
It allows application to set a series of colors. It also allows to
|
|
||||||
load/save colors from/to config with a unique identifier, by default,
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
Emitted signals
|
|
||||||
===============
|
|
||||||
|
|
||||||
- ``"changed"`` - When the color value changes on selector
|
|
||||||
- ``"changed,user"`` - When the color value changes after a user interaction,
|
|
||||||
not fired when the value is changed by an api call (since 1.14)
|
|
||||||
- ``"color,item,selected"`` - When user clicks on color item.
|
|
||||||
The event_info parameter of the callback will be the selected
|
|
||||||
color item.
|
|
||||||
- ``"color,item,longpressed"`` - When user long presses on color item.
|
|
||||||
The event_info parameter of the callback will be the selected
|
|
||||||
color item.
|
|
||||||
- ``focused`` - When the colorselector has received focus. (since 1.8)
|
|
||||||
- ``unfocused`` - When the colorselector has lost focus. (since 1.8)
|
|
||||||
|
|
||||||
|
|
||||||
Enumerations
|
|
||||||
============
|
|
||||||
|
|
||||||
.. _Elm_Colorselector_Mode:
|
|
||||||
|
|
||||||
Colorselector modes
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
.. data:: ELM_COLORSELECTOR_PALETTE
|
|
||||||
|
|
||||||
Show palette
|
|
||||||
|
|
||||||
.. data:: ELM_COLORSELECTOR_COMPONENTS
|
|
||||||
|
|
||||||
Show components
|
|
||||||
|
|
||||||
.. data:: ELM_COLORSELECTOR_BOTH
|
|
||||||
|
|
||||||
Show palette and components
|
|
||||||
|
|
||||||
|
|
||||||
Inheritance diagram
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. inheritance-diagram:: efl.elementary.colorselector
|
|
||||||
:parts: 2
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from cpython cimport PyUnicode_AsUTF8String
|
|
||||||
from libc.stdint cimport uintptr_t
|
|
||||||
|
|
||||||
from efl.eo cimport _object_mapping_register
|
|
||||||
from efl.utils.conversions cimport _ctouni
|
|
||||||
from efl.evas cimport Object as evasObject
|
|
||||||
from object_item cimport ObjectItem, _object_item_to_python
|
|
||||||
from layout_class cimport LayoutClass
|
|
||||||
|
|
||||||
|
|
||||||
cdef object _cb_object_item_conv(void *addr):
|
|
||||||
return _object_item_to_python(<Elm_Object_Item *>addr)
|
|
||||||
|
|
||||||
|
|
||||||
cdef class ColorselectorPaletteItem(ObjectItem):
|
cdef class ColorselectorPaletteItem(ObjectItem):
|
|
@ -0,0 +1,5 @@
|
||||||
|
from . import Colorselector, ColorselectorPaletteItem
|
||||||
|
|
||||||
|
from . import ELM_COLORSELECTOR_PALETTE
|
||||||
|
from . import ELM_COLORSELECTOR_COMPONENTS
|
||||||
|
from . import ELM_COLORSELECTOR_BOTH
|
|
@ -1,7 +1,3 @@
|
||||||
from efl.evas cimport Evas_Object, Eina_List, Eina_Bool
|
|
||||||
from object_item cimport Elm_Object_Item
|
|
||||||
|
|
||||||
|
|
||||||
cdef extern from "Elementary.h":
|
cdef extern from "Elementary.h":
|
||||||
|
|
||||||
cpdef enum Elm_Colorselector_Mode:
|
cpdef enum Elm_Colorselector_Mode:
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue