Elm: Unify modules into a monolithic module
This commit is contained in:
parent
d9fa1e89e2
commit
d3569bf1f1
|
@ -1,2 +1,83 @@
|
|||
Actionslider
|
||||
############
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Actionslider
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Actionslider
|
||||
|
|
|
@ -1,2 +1,56 @@
|
|||
Background
|
||||
##########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Background
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Background
|
||||
|
|
|
@ -1,2 +1,116 @@
|
|||
Box
|
||||
###
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Box
|
||||
:parts: 2
|
||||
|
||||
.. autoclass:: efl.elementary.Box
|
||||
|
|
|
@ -1,2 +1,86 @@
|
|||
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:: efl.elementary.bubble
|
||||
:parts: 2
|
||||
|
||||
.. automodule:: efl.elementary.bubble
|
||||
|
|
|
@ -1,3 +1,63 @@
|
|||
Button
|
||||
######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Button
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Button
|
||||
|
||||
|
|
|
@ -1,2 +1,160 @@
|
|||
Calendar
|
||||
########
|
||||
|
||||
.. automodule:: efl.elementary.calendar_elm
|
||||
.. 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
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Calendar
|
||||
|
|
|
@ -1,2 +1,47 @@
|
|||
Check
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Check
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Check
|
||||
|
|
|
@ -1,2 +1,92 @@
|
|||
Clock
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Clock
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Clock
|
||||
|
|
|
@ -1,2 +1,62 @@
|
|||
Colorselector
|
||||
#############
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.colorselector
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Colorselector
|
||||
.. autoclass:: efl.elementary.ColorselectorPaletteItem
|
||||
|
|
|
@ -1,2 +1,161 @@
|
|||
Configuration
|
||||
#############
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Configuration
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Configuration
|
||||
|
|
|
@ -1,2 +1,41 @@
|
|||
Conformant
|
||||
##########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Conformant
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Conformant
|
||||
|
|
|
@ -1,2 +1,82 @@
|
|||
Ctxpopup
|
||||
########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Ctxpopup
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Ctxpopup
|
||||
.. autoclass:: efl.elementary.CtxpopupItem
|
||||
|
|
|
@ -1,2 +1,218 @@
|
|||
Datetime
|
||||
########
|
||||
|
||||
.. automodule:: efl.elementary.datetime_elm
|
||||
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:: efl.elementary.Datetime
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Datetime
|
||||
|
|
|
@ -1,2 +1,97 @@
|
|||
Dayselector
|
||||
###########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Dayselector
|
||||
:parts: 2
|
||||
|
||||
.. autoclass:: efl.elementary.Dayselector
|
||||
|
|
|
@ -1,2 +1,68 @@
|
|||
Diskselector
|
||||
############
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Diskselector
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Diskselector
|
||||
.. autoclass:: efl.elementary.DiskselectorItem
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
.. module:: efl.elementary
|
||||
|
||||
Elementary
|
||||
##########
|
||||
|
@ -51,11 +52,44 @@ A sample Python Elementary program
|
|||
API Reference
|
||||
=============
|
||||
|
||||
.. autofunction:: init
|
||||
.. autofunction:: shutdown
|
||||
.. autofunction:: run
|
||||
.. autofunction:: exit
|
||||
|
||||
.. autofunction:: on_ethumb_connect
|
||||
.. autofunction:: on_config_all_changed
|
||||
.. autofunction:: on_policy_changed
|
||||
|
||||
.. autofunction:: on_process_background
|
||||
.. autofunction:: on_process_background
|
||||
|
||||
.. autofunction:: on_sys_notify_notification_closed
|
||||
.. autofunction:: on_sys_notify_action_invoked
|
||||
|
||||
.. autofunction:: policy_set
|
||||
.. autofunction:: policy_get
|
||||
.. autofunction:: process_state_get
|
||||
.. autofunction:: coords_finger_size_adjust
|
||||
|
||||
.. autofunction:: language_set
|
||||
.. autofunction:: cache_all_flush
|
||||
.. autofunction:: font_properties_get
|
||||
.. autofunction:: font_properties_free
|
||||
|
||||
.. autofunction:: font_fontconfig_name_get
|
||||
.. autofunction:: object_tree_dump
|
||||
.. autofunction:: object_tree_dot_dump
|
||||
|
||||
.. autofunction:: sys_notify_close
|
||||
.. autofunction:: sys_notify_send
|
||||
|
||||
.. toctree:: *
|
||||
:glob:
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
|
||||
Inheritance diagram
|
||||
===================
|
||||
|
||||
|
|
|
@ -1,2 +1,590 @@
|
|||
Entry
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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_Entry_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_Entry_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
|
||||
|
||||
|
||||
.. _Elm_Entry_Icon_Type:
|
||||
|
||||
Icon types
|
||||
----------
|
||||
|
||||
.. data:: ELM_ICON_NONE
|
||||
|
||||
No icon
|
||||
|
||||
.. data:: ELM_ICON_FILE
|
||||
|
||||
Icon is a file
|
||||
|
||||
.. data:: ELM_ICON_STANDARD
|
||||
|
||||
Icon is set with standards names
|
||||
|
||||
|
||||
Inheritance diagram
|
||||
===================
|
||||
|
||||
.. inheritance-diagram:: efl.elementary.Entry
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Entry
|
||||
|
|
|
@ -1,2 +1,135 @@
|
|||
Fileselector
|
||||
############
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Fileselector
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Fileselector
|
||||
|
|
|
@ -1,2 +1,73 @@
|
|||
Fileselector Button
|
||||
###################
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.FileselectorButton
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.FileselectorButton
|
||||
|
|
|
@ -1,2 +1,88 @@
|
|||
Fileselector Entry
|
||||
##################
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.FileselectorEntry
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.FileselectorEntry
|
||||
|
|
|
@ -1,2 +1,162 @@
|
|||
Flip
|
||||
####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Flip
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Flip
|
||||
|
|
|
@ -1,2 +1,48 @@
|
|||
Flipselector
|
||||
############
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Flipselector
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.FlipSelector
|
||||
.. autoclass:: efl.elementary.FlipSelectorItem
|
||||
|
|
|
@ -1,2 +1,52 @@
|
|||
Frame
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Frame
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Frame
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
.. automodule:: efl.elementary.general
|
|
@ -1,2 +1,324 @@
|
|||
Gengrid
|
||||
#######
|
||||
|
||||
.. automodule:: efl.elementary.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_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
|
||||
|
||||
|
||||
.. _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:: efl.elementary.Gengrid
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Gengrid
|
||||
.. autoclass:: efl.elementary.GengridItem
|
||||
.. autoclass:: efl.elementary.GengridItemClass
|
||||
|
|
|
@ -1,2 +1,512 @@
|
|||
Genlist
|
||||
#######
|
||||
|
||||
.. automodule:: efl.elementary.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
|
||||
|
||||
|
||||
.. _Elm_Genlist_List_Mode:
|
||||
|
||||
List sizing
|
||||
-----------
|
||||
|
||||
.. 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.
|
||||
|
||||
|
||||
.. _Elm_Genlist_Object_Select_Mode:
|
||||
|
||||
Selection modes
|
||||
---------------
|
||||
|
||||
.. data:: ELM_OBJECT_SELECT_MODE_DEFAULT
|
||||
|
||||
Default select mode
|
||||
|
||||
.. data:: ELM_OBJECT_SELECT_MODE_ALWAYS
|
||||
|
||||
Always select mode
|
||||
|
||||
.. data:: ELM_OBJECT_SELECT_MODE_NONE
|
||||
|
||||
No select mode
|
||||
|
||||
.. data:: ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
|
||||
|
||||
No select mode with no finger size rule
|
||||
|
||||
|
||||
Inheritance diagram
|
||||
===================
|
||||
|
||||
.. inheritance-diagram:: efl.elementary.Genlist
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Genlist
|
||||
.. autoclass:: efl.elementary.GenlistItem
|
||||
.. autoclass:: efl.elementary.GenlistItemClass
|
||||
|
|
|
@ -1,2 +1,150 @@
|
|||
Gesture Layer
|
||||
#############
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.GestureLayer
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.GestureLayer
|
||||
|
|
|
@ -1,2 +1,29 @@
|
|||
Grid
|
||||
####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Grid
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Grid
|
||||
|
|
|
@ -1,2 +1,109 @@
|
|||
Hover
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Hover
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Hover
|
||||
|
|
|
@ -1,2 +1,73 @@
|
|||
Hoversel
|
||||
########
|
||||
|
||||
.. automodule:: efl.elementary.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
|
||||
|
||||
|
||||
Enumerations
|
||||
============
|
||||
|
||||
.. _Elm_Hoversel_Icon_Type:
|
||||
|
||||
Icon types
|
||||
----------
|
||||
|
||||
.. data:: ELM_ICON_NONE
|
||||
|
||||
No icon
|
||||
|
||||
.. data:: ELM_ICON_FILE
|
||||
|
||||
Icon is a file
|
||||
|
||||
.. data:: ELM_ICON_STANDARD
|
||||
|
||||
Icon is set with standards names
|
||||
|
||||
|
||||
Inheritance diagram
|
||||
===================
|
||||
|
||||
.. inheritance-diagram:: efl.elementary.Hoversel
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Hoversel
|
||||
.. autoclass:: efl.elementary.HoverselItem
|
||||
|
|
|
@ -1,2 +1,181 @@
|
|||
Icon
|
||||
####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Icon
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Icon
|
||||
|
|
|
@ -1,2 +1,93 @@
|
|||
Image
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Image
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Image
|
||||
|
|
|
@ -1,2 +1,59 @@
|
|||
Index
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Index
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Index
|
||||
|
|
|
@ -1,2 +1,40 @@
|
|||
Innerwindow
|
||||
###########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.InnerWindow
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.InnerWindow
|
||||
|
|
|
@ -1,2 +1,98 @@
|
|||
Label
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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_Wrap_Type:
|
||||
|
||||
Wrap modes
|
||||
----------
|
||||
|
||||
.. 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.
|
||||
|
||||
|
||||
.. _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:: efl.elementary.Label
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Label
|
||||
|
|
|
@ -1,2 +1,163 @@
|
|||
Layout
|
||||
######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Layout
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Layout
|
||||
.. autoclass:: efl.elementary.LayoutClass
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
.. automodule:: efl.elementary.layout_class
|
|
@ -1,2 +1,160 @@
|
|||
List
|
||||
####
|
||||
|
||||
.. automodule:: efl.elementary.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.
|
||||
|
||||
|
||||
.. _Elm_List_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:: efl.elementary.List
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.List
|
||||
.. autoclass:: efl.elementary.ListItem
|
||||
|
|
|
@ -1,2 +1,200 @@
|
|||
Map
|
||||
###
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Map
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Map
|
||||
|
|
|
@ -1,2 +1,31 @@
|
|||
Mapbuf
|
||||
######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Mapbuf
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Mapbuf
|
||||
|
|
|
@ -1,2 +1,44 @@
|
|||
Menu
|
||||
####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Menu
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Menu
|
||||
.. autoclass:: efl.elementary.MenuItem
|
||||
|
|
|
@ -1,2 +1,58 @@
|
|||
MultiButtonEntry
|
||||
################
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.MultiButtonEntry
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.MultiButtonEntry
|
||||
|
|
|
@ -1,2 +1,92 @@
|
|||
Naviframe
|
||||
#########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Naviframe
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Naviframe
|
||||
|
|
|
@ -1,2 +1,18 @@
|
|||
Need
|
||||
####
|
||||
|
||||
.. automodule:: efl.elementary.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,52 @@
|
|||
Notify
|
||||
######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Notify
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Notify
|
||||
|
|
|
@ -1,2 +1,254 @@
|
|||
Object
|
||||
######
|
||||
|
||||
.. automodule:: efl.elementary.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
|
||||
|
||||
|
||||
Inheritance diagram
|
||||
===================
|
||||
|
||||
.. inheritance-diagram:: efl.elementary.Object
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Object
|
||||
|
|
|
@ -1,2 +1,11 @@
|
|||
Object Item
|
||||
#########################
|
||||
|
||||
.. automodule:: efl.elementary.object_item
|
||||
Inheritance diagram
|
||||
===================
|
||||
|
||||
.. inheritance-diagram:: efl.elementary.ObjectItem
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.ObjectItem
|
||||
|
|
|
@ -1,2 +1,60 @@
|
|||
Panel
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Panel
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Panel
|
||||
|
|
|
@ -1,2 +1,44 @@
|
|||
Panes
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Panes
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Panes
|
||||
|
|
|
@ -1,2 +1,37 @@
|
|||
Photo
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Photo
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Photo
|
||||
|
|
|
@ -1,2 +1,93 @@
|
|||
Photocam
|
||||
########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Photocam
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Photocam
|
||||
|
|
|
@ -1,2 +1,36 @@
|
|||
Plug
|
||||
####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Plug
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Plug
|
||||
|
|
|
@ -1,2 +1,170 @@
|
|||
Popup
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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
|
||||
|
||||
|
||||
.. Elm_Wrap_Type:
|
||||
|
||||
Wrap modes
|
||||
----------
|
||||
|
||||
.. 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:: efl.elementary.Popup
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Popup
|
||||
|
|
|
@ -1,2 +1,66 @@
|
|||
Progressbar
|
||||
###########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Progressbar
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Progressbar
|
||||
|
|
|
@ -1,2 +1,61 @@
|
|||
Radio
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Radio
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Radio
|
||||
|
|
|
@ -1,2 +1,134 @@
|
|||
Scroller
|
||||
########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Scroller
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Scroller
|
||||
|
|
|
@ -1,2 +1,48 @@
|
|||
Segment Control
|
||||
###############
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.SegmentControl
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.SegmentControl
|
||||
|
|
|
@ -1,2 +1,22 @@
|
|||
Separator
|
||||
#########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Separator
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Separator
|
||||
|
|
|
@ -1,2 +1,68 @@
|
|||
Slider
|
||||
######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Slider
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Slider
|
||||
|
|
|
@ -1,2 +1,72 @@
|
|||
Slideshow
|
||||
#########
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Slideshow
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Slideshow
|
||||
|
|
|
@ -1,2 +1,51 @@
|
|||
Spinner
|
||||
#######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Spinner
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Spinner
|
||||
|
|
|
@ -1,2 +1,52 @@
|
|||
Systray
|
||||
#######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Systray
|
||||
|
|
|
@ -1,2 +1,34 @@
|
|||
Table
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Table
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Table
|
||||
|
|
|
@ -1,2 +1,79 @@
|
|||
Theme
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Theme
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Theme
|
||||
|
|
|
@ -1,2 +1,170 @@
|
|||
Thumb
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Thumb
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Thumb
|
||||
|
|
|
@ -1,2 +1,167 @@
|
|||
Toolbar
|
||||
#######
|
||||
|
||||
.. automodule:: efl.elementary.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_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_Toolbar_Object_Select_Mode:
|
||||
|
||||
Selection modes
|
||||
---------------
|
||||
|
||||
.. data:: ELM_OBJECT_SELECT_MODE_DEFAULT
|
||||
|
||||
Default select mode
|
||||
|
||||
.. data:: ELM_OBJECT_SELECT_MODE_ALWAYS
|
||||
|
||||
Always select mode
|
||||
|
||||
.. data:: ELM_OBJECT_SELECT_MODE_NONE
|
||||
|
||||
No select mode
|
||||
|
||||
.. data:: ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
|
||||
|
||||
No select mode with no finger size rule
|
||||
|
||||
|
||||
.. _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:: efl.elementary.Toolbar
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Toolbar
|
||||
|
|
|
@ -1,2 +1,164 @@
|
|||
Transit
|
||||
#######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Transit
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Transit
|
||||
|
|
|
@ -1,2 +1,28 @@
|
|||
Video
|
||||
#####
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Video
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Video
|
||||
|
|
|
@ -1,2 +1,139 @@
|
|||
Web
|
||||
###
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Web
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Web
|
||||
|
|
|
@ -1,2 +1,354 @@
|
|||
Window
|
||||
######
|
||||
|
||||
.. automodule:: efl.elementary.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:: efl.elementary.Window
|
||||
:parts: 2
|
||||
|
||||
|
||||
.. autoclass:: efl.elementary.Window
|
||||
|
|
|
@ -16,10 +16,6 @@
|
|||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
from efl.elementary.general import *
|
||||
from efl.elementary.need import *
|
||||
|
||||
|
||||
__all__ = (
|
||||
#"access",
|
||||
"actionslider",
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
|
||||
"""
|
||||
|
||||
:mod:`general` Module
|
||||
#####################
|
||||
:mod:`elementary` Module
|
||||
########################
|
||||
|
||||
|
||||
.. _General:
|
||||
|
@ -267,17 +267,12 @@ Glob matching bitfiled flags
|
|||
|
||||
.. versionadded:: 1.11
|
||||
|
||||
|
||||
Inheritance diagram
|
||||
===================
|
||||
|
||||
.. inheritance-diagram:: efl.elementary.general
|
||||
:parts: 2
|
||||
|
||||
"""
|
||||
|
||||
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
|
||||
|
||||
|
@ -290,14 +285,17 @@ from efl.eina cimport EINA_LOG_DOM_DBG, EINA_LOG_DOM_INFO, \
|
|||
EINA_LOG_DOM_WARN, EINA_LOG_DOM_ERR, EINA_LOG_DOM_CRIT
|
||||
|
||||
from efl.ecore cimport Event, EventHandler, _event_mapping_register
|
||||
from efl.elementary.need cimport elm_need_sys_notify, elm_need_systray, \
|
||||
elm_need_ethumb
|
||||
|
||||
|
||||
import sys
|
||||
import traceback
|
||||
import atexit
|
||||
|
||||
|
||||
include "elementary_cdef.pxi"
|
||||
|
||||
|
||||
|
||||
elm_log = add_logger("efl.elementary")
|
||||
cdef int PY_EFL_ELM_LOG_DOMAIN = elm_log.eina_log_domain
|
||||
|
||||
|
@ -597,7 +595,7 @@ def on_sys_notify_notification_closed(func, *args, **kargs):
|
|||
|
||||
def on_sys_notify_action_invoked(func, *args, **kargs):
|
||||
return EventHandler(
|
||||
ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED, func, *args, **kargs
|
||||
ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED, func, *args, **kargs
|
||||
)
|
||||
|
||||
|
||||
|
@ -941,3 +939,93 @@ def sys_notify_send(
|
|||
<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/>.
|
||||
#
|
||||
|
||||
"""
|
||||
|
||||
: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
|
||||
|
||||
include "actionslider_cdef.pxi"
|
||||
|
||||
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":
|
||||
|
||||
cpdef enum Elm_Actionslider_Pos:
|
|
@ -16,70 +16,8 @@
|
|||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
"""
|
||||
|
||||
:mod:`background` Module
|
||||
########################
|
||||
|
||||
.. image:: /images/background-preview.png
|
||||
|
||||
|
||||
Widget description
|
||||
==================
|
||||
|
||||
The background widget is used for setting a solid color, image or Edje group
|
||||
as a background to a window (unless it has transparency enabled) or any
|
||||
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
|
||||
include "background_cdef.pxi"
|
||||
|
||||
|
||||
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":
|
||||
|
||||
cpdef enum Elm_Bg_Option:
|
|
@ -16,131 +16,7 @@
|
|||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
"""
|
||||
|
||||
: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
|
||||
include "box_cdef.pxi"
|
||||
|
||||
|
||||
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":
|
||||
ctypedef void (*Ecore_Cb)(void *data)
|
||||
|
|
@ -16,99 +16,7 @@
|
|||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
"""
|
||||
|
||||
: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
|
||||
|
||||
include "bubble_cdef.pxi"
|
||||
|
||||
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":
|
||||
|
||||
cpdef enum Elm_Bubble_Pos:
|
|
@ -15,74 +15,7 @@
|
|||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
"""
|
||||
|
||||
:mod:`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
|
||||
|
||||
include "button_cdef.pxi"
|
||||
|
||||
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":
|
||||
|
||||
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)
|
||||
void elm_button_autorepeat_gap_timeout_set(Evas_Object *obj, double t)
|
||||
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/>.
|
||||
#
|
||||
|
||||
"""
|
||||
|
||||
: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
|
||||
|
||||
include "calendar_cdef.pxi"
|
||||
|
||||
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":
|
||||
struct tm:
|
||||
int tm_sec
|
||||
|
@ -21,7 +13,6 @@ cdef extern from "time.h":
|
|||
long int tm_gmtoff
|
||||
const char *tm_zone
|
||||
|
||||
|
||||
cdef extern from "Elementary.h":
|
||||
|
||||
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
|
||||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
"""
|
||||
|
||||
: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
|
||||
include "check_cdef.pxi"
|
||||
|
||||
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":
|
||||
Evas_Object *elm_check_add(Evas_Object *parent)
|
||||
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/>.
|
||||
#
|
||||
|
||||
"""
|
||||
|
||||
: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
|
||||
|
||||
include "clock_cdef.pxi"
|
||||
|
||||
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":
|
||||
|
||||
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
|
||||
|
||||
cdef extern from "Elementary.h":
|
||||
|
|
|
@ -16,82 +16,7 @@
|
|||
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
"""
|
||||
|
||||
: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
|
||||
- ``"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)
|
||||
|
||||
include "colorselector_cdef.pxi"
|
||||
|
||||
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":
|
||||
|
||||
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