Elm: Unify modules into a monolithic module

This commit is contained in:
Kai Huuhko 2015-05-07 21:33:14 +03:00
parent dba05cc1ba
commit a1f36bb073
288 changed files with 9294 additions and 9587 deletions

View File

@ -1,2 +1,85 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.actionslider
Actionslider
############
.. image:: /images/actionslider-preview.png
Widget description
==================
An actionslider is a switcher for two or three labels with
customizable magnet properties.
The user drags and releases the indicator, to choose a label.
Labels can occupy the following positions.
- Left
- Right
- Center
Positions can be enabled or disabled.
Magnets can be set on the above positions.
When the indicator is released, it will move to its nearest "enabled and
magnetized" position.
Emitted signals
===============
- ``selected`` - when user selects an enabled position (the label is
passed as event info)".
- ``pos_changed`` - when the indicator reaches any of the
positions("left", "right" or "center").
Layout text parts
=================
- ``indicator`` - An indicator label of the actionslider
- ``left`` - A left label of the actionslider
- ``right`` - A right label of the actionslider
- ``center`` - A center label of the actionslider
Enumerations
============
.. _Elm_Actionslider_Pos:
Actionslider positions
----------------------
.. data:: ELM_ACTIONSLIDER_NONE
No position
.. data:: ELM_ACTIONSLIDER_LEFT
Left position
.. data:: ELM_ACTIONSLIDER_CENTER
Center position
.. data:: ELM_ACTIONSLIDER_RIGHT
Right position
.. data:: ELM_ACTIONSLIDER_ALL
All positions
Inheritance diagram
===================
.. inheritance-diagram:: Actionslider
:parts: 2
.. autoclass:: Actionslider

View File

@ -1,2 +1,58 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.background
Background
##########
.. image:: /images/background-preview.png
Widget description
==================
The background widget is used for setting a solid color, image or Edje group
as a background to a window (unless it has transparency enabled) or any
container object.
It works just like an image, but has some properties useful to a
background, like setting it to tiled, centered, scaled or stretched.
Layout content parts
====================
- ``overlay`` - overlay of the bg
Enumerations
============
.. _Elm_Bg_Option:
Background display modes
------------------------
.. data:: ELM_BG_OPTION_CENTER
Center
.. data:: ELM_BG_OPTION_SCALE
Scale
.. data:: ELM_BG_OPTION_STRETCH
Stretch
.. data:: ELM_BG_OPTION_TILE
Tile
Inheritance diagram
===================
.. inheritance-diagram:: Background
:parts: 2
.. autoclass:: Background

View File

@ -1,2 +1,118 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.box
Box
###
.. image:: /images/box-preview.png
Widget description
==================
A box arranges objects in a linear fashion, governed by a layout function
that defines the details of this arrangement.
By default, the box will use an internal function to set the layout to
a single row, either vertical or horizontal. This layout is affected
by a number of parameters, such as the homogeneous flag set by
:py:attr:`~Box.homogeneous`, the values given by :py:attr:`~Box.padding` and
:py:attr:`~Box.align` and the hints set to each object in the box.
For this default layout, it's possible to change the orientation with
:py:attr:`~Box.horizontal`. The box will start in the vertical orientation,
placing its elements ordered from top to bottom. When horizontal is set,
the order will go from left to right. If the box is set to be
homogeneous, every object in it will be assigned the same space, that
of the largest object. Padding can be used to set some spacing between
the cell given to each object. The alignment of the box, set with
:py:attr:`~Box.align`, determines how the bounding box of all the elements
will be placed within the space given to the box widget itself.
The size hints of each object also affect how they are placed and sized
within the box. :py:attr:`~efl.evas.Object.size_hint_min` will give the minimum
size the object can have, and the box will use it as the basis for all
latter calculations. Elementary widgets set their own minimum size as
needed, so there's rarely any need to use it manually.
:py:attr:`~efl.evas.Object.size_hint_weight`, when not in homogeneous mode, is
used to tell whether the object will be allocated the minimum size it
needs or if the space given to it should be expanded. It's important
to realize that expanding the size given to the object is not the same
thing as resizing the object. It could very well end being a small
widget floating in a much larger empty space. If not set, the weight
for objects will normally be 0.0 for both axis, meaning the widget will
not be expanded. To take as much space possible, set the weight to
``EVAS_HINT_EXPAND`` (defined to 1.0) for the desired axis to expand.
Besides how much space each object is allocated, it's possible to control
how the widget will be placed within that space using
:py:attr:`~efl.evas.Object.size_hint_align`. By default, this value will be 0.5
for both axis, meaning the object will be centered, but any value from
0.0 (left or top, for the ``x`` and ``y`` axis, respectively) to 1.0
(right or bottom) can be used. The special value *EVAS_HINT_FILL*, which
is -1.0, means the object will be resized to fill the entire space it
was allocated.
In addition, customized functions to define the layout can be set, which
allow the application developer to organize the objects within the box
in any number of ways.
The special :py:meth:`Box.layout_transition` function can be used
to switch from one layout to another, animating the motion of the
children of the box.
.. note:: Objects should not be added to box objects using _add() calls.
Enumerations
============
.. _Evas_Object_Box_Layout:
Box layout modes
----------------
.. data:: ELM_BOX_LAYOUT_HORIZONTAL
Horizontal layout
.. data:: ELM_BOX_LAYOUT_VERTICAL
Vertical layout
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_VERTICAL
Homogeneous vertical layout
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_HORIZONTAL
Homogeneous horizontal layout
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_MAX_SIZE_HORIZONTAL
Homogeneous layout, maximum size on the horizontal axis
.. data:: ELM_BOX_LAYOUT_HOMOGENEOUS_MAX_SIZE_VERTICAL
Homogeneous layout, maximum size on the horizontal axis
.. data:: ELM_BOX_LAYOUT_FLOW_HORIZONTAL
Horizontally flowing layout
.. data:: ELM_BOX_LAYOUT_FLOW_VERTICAL
Vertically flowing layout
.. data:: ELM_BOX_LAYOUT_STACK
Stacking layout
Inheritance diagram
===================
.. inheritance-diagram:: Box
:parts: 2
.. autoclass:: Box

View File

@ -1,2 +1,88 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.bubble
Bubble
######
.. image:: /images/bubble-preview.png
Widget description
==================
The Bubble is a widget to show text similar to how speech is
represented in comics.
The bubble widget contains 5 important visual elements:
- The frame is a rectangle with rounded edjes and an "arrow".
- The ``icon`` is an image to which the frame's arrow points to.
- The ``label`` is a text which appears to the right of the icon if the
corner is **top_left** or **bottom_left** and is right aligned to
the frame otherwise.
- The ``info`` is a text which appears to the right of the label. Info's
font is of a lighter color than label.
- The ``content`` is an evas object that is shown inside the frame.
The position of the arrow, icon, label and info depends on which corner is
selected. The four available corners are:
- ``top_left`` - Default
- ``top_right``
- ``bottom_left``
- ``bottom_right``
Layout content parts
====================
- ``default`` - A content of the bubble
- ``icon`` - An icon of the bubble
Layout text parts
=================
- ``default`` - Label of the bubble
- ``info`` - info of the bubble
Emitted signals
===============
- ``clicked`` - This is called when a user has clicked the bubble.
- ``focused`` - When the bubble has received focus. (since 1.8)
- ``unfocused`` - When the bubble has lost focus. (since 1.8)
Enumerations
============
.. _Elm_Bubble_Pos:
Bubble arrow positions
----------------------
.. data:: ELM_BUBBLE_POS_TOP_LEFT
Top left position
.. data:: ELM_BUBBLE_POS_TOP_RIGHT
Top right position
.. data:: ELM_BUBBLE_POS_BOTTOM_LEFT
Bottom left position
.. data:: ELM_BUBBLE_POS_BOTTOM_RIGHT
Bottom right position
Inheritance diagram
===================
.. inheritance-diagram:: Bubble
:parts: 2
.. autoclass:: Bubble

View File

@ -1,3 +1,65 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.button
Button
######
.. image:: /images/button-preview.png
Widget description
==================
This is a push-button. Press it and run some function. It can contain
a simple label and icon object and it also has an autorepeat feature.
Available styles
================
- ``default`` a normal button.
- ``anchor`` Like default, but the button fades away when the mouse is not
over it, leaving only the text or icon.
- ``hoversel_vertical`` Internally used by
:py:class:`~efl.elementary.hoversel.Hoversel` to give a continuous look
across its options.
- ``hoversel_vertical_entry`` Another internal for
:py:class:`~efl.elementary.hoversel.Hoversel`.
- ``naviframe`` Internally used by
:py:class:`~efl.elementary.naviframe.Naviframe` for its back button.
- ``colorselector`` Internally used by
:py:class:`~efl.elementary.colorselector.Colorselector` for its left and
right buttons.
Layout content parts
====================
- ``icon`` - An icon of the button
Layout text parts
=================
- ``default`` - Label of the button
Emitted signals
===============
- ``clicked``: the user clicked the button (press/release).
- ``repeated``: the user pressed the button without releasing it.
- ``pressed``: button was pressed.
- ``unpressed``: button was released after being pressed.
- ``focused`` : When the button has received focus. (since 1.8)
- ``unfocused`` : When the button has lost focus. (since 1.8)
Inheritance diagram
===================
.. inheritance-diagram:: Button
:parts: 2
.. autoclass:: Button

View File

@ -1,2 +1,165 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.calendar_elm
Calendar
########
.. image:: /images/calendar-preview.png
Widget description
==================
This is a calendar widget.
It helps applications to flexibly display a calender with day of the week,
date, year and month. Applications are able to set specific dates to be
reported back, when selected, in the smart callbacks of the calendar widget.
The API of this widget lets the applications perform other functions, like:
- placing marks on specific dates
- setting the bounds for the calendar (minimum and maximum years)
- setting the day names of the week (e.g. "Thu" or "Thursday")
- setting the year and month format.
Emitted signals
===============
- ``changed`` - emitted when the date in the calendar is changed.
- ``display,changed`` - emitted when the current month displayed in the
calendar is changed.
- ``focused`` - When the calendar has received focus. (since 1.8)
- ``unfocused`` - When the calendar has lost focus. (since 1.8)
Enumerations
============
.. _Elm_Calendar_Mark_Repeat_Type:
Calendar mark repeat types
--------------------------
.. data:: ELM_CALENDAR_UNIQUE
Default value.
Marks will be displayed only on event day.
.. data:: ELM_CALENDAR_DAILY
Marks will be displayed every day after event day (inclusive).
.. data:: ELM_CALENDAR_WEEKLY
Marks will be displayed every week after event day (inclusive) - i.e.
each seven days.
.. data:: ELM_CALENDAR_MONTHLY
Marks will be displayed every month day that coincides to event day.
E.g.: if an event is set to 30th Jan, no marks will be displayed on Feb,
but will be displayed on 30th Mar
.. data:: ELM_CALENDAR_ANNUALLY
Marks will be displayed every year that coincides to event day (and month).
E.g. an event added to 30th Jan 2012 will be repeated on 30th Jan 2013.
.. data:: ELM_CALENDAR_LAST_DAY_OF_MONTH
Marks will be displayed every last day of month after event day
(inclusive).
.. _Elm_Calendar_Select_Mode:
Calendar selection modes
------------------------
.. data:: ELM_CALENDAR_SELECT_MODE_DEFAULT
Default mode
.. data:: ELM_CALENDAR_SELECT_MODE_ALWAYS
Select always
.. data:: ELM_CALENDAR_SELECT_MODE_NONE
Don't select
.. data:: ELM_CALENDAR_SELECT_MODE_ONDEMAND
Select on demand
.. _Elm_Calendar_Selectable:
Selectable
----------
.. data:: ELM_CALENDAR_SELECTABLE_NONE
None selectable
.. data:: ELM_CALENDAR_SELECTABLE_YEAR
Year is selectable
.. data:: ELM_CALENDAR_SELECTABLE_MONTH
Month is selectable
.. data:: ELM_CALENDAR_SELECTABLE_DAY
Day is selectable
.. _Elm_Calendar_Weekday:
Days
----
.. data:: ELM_DAY_SUNDAY
Sunday
.. data:: ELM_DAY_MONDAY
Monday
.. data:: ELM_DAY_TUESDAY
Tuesday
.. data:: ELM_DAY_WEDNESDAY
Wednesday
.. data:: ELM_DAY_THURSDAY
Thursday
.. data:: ELM_DAY_FRIDAY
Friday
.. data:: ELM_DAY_SATURDAY
Saturday
Inheritance diagram
===================
.. inheritance-diagram::
Calendar
CalendarMark
:parts: 2
.. autoclass:: Calendar
.. autoclass:: CalendarMark

View File

@ -1,2 +1,49 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.check
Check
#####
.. image:: /images/check-preview.png
Widget description
==================
The check widget allows for toggling a value between true and false.
Check objects are a lot like radio objects in layout and functionality,
except they do not work as a group, but independently, and only toggle
the value of a boolean :py:attr:`~Check.state` between false and true.
Emitted signals
===============
- ``changed`` - This is called whenever the user changes the state of
the check objects.
- ``focused`` - When the check has received focus. (since 1.8)
- ``unfocused`` - When the check has lost focus. (since 1.8)
Layout content parts
====================
- ``icon`` - An icon of the check
Layout text parts
=================
- ``default`` - A label of the check
- ``on`` - On state label of the check
- ``off`` - Off state label of the check
Inheritance diagram
===================
.. inheritance-diagram:: Check
:parts: 2
.. autoclass:: Check

View File

@ -1,2 +1,94 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.clock
Clock
#####
.. image:: /images/clock-preview.png
Widget description
==================
This is a digital clock widget.
In its default theme, it has a vintage "flipping numbers clock" appearance,
which will animate sheets of individual algarisms individually as time goes
by.
A newly created clock will fetch system's time (already considering
local time adjustments) to start with, and will tick accordingly. It may
or may not show seconds.
Clocks have an **edition** mode. When in it, the sheets will display
extra arrow indications on the top and bottom and the user may click on
them to raise or lower the time values. After it's told to exit edition
mode, it will keep ticking with that new time set (it keeps the
difference from local time).
Also, when under edition mode, user clicks on the cited arrows which are
**held** for some time will make the clock to flip the sheet, thus
editing the time, continuously and automatically for the user. The
interval between sheet flips will keep growing in time, so that it helps
the user to reach a time which is distant from the one set.
The time display is, by default, in military mode (24h), but an am/pm
indicator may be optionally shown, too, when it will switch to 12h.
Emitted signals
===============
- ``changed`` - the clock's user changed the time
- ``focused`` - When the clock has received focus. (since 1.8)
- ``unfocused`` - When the clock has lost focus. (since 1.8)
Enumerations
============
.. _Elm_Clock_Edit_Mode:
Clock edit modes
----------------
.. data:: ELM_CLOCK_EDIT_DEFAULT
Default edit
.. data:: ELM_CLOCK_EDIT_HOUR_DECIMAL
Edit hours' decimal
.. data:: ELM_CLOCK_EDIT_HOUR_UNIT
Edit hours' unit
.. data:: ELM_CLOCK_EDIT_MIN_DECIMAL
Edit minutes' decimal
.. data:: ELM_CLOCK_EDIT_MIN_UNIT
Edit minutes' unit
.. data:: ELM_CLOCK_EDIT_SEC_DECIMAL
Edit seconds' decimal
.. data:: ELM_CLOCK_EDIT_SEC_UNIT
Edit seconds' unit
.. data:: ELM_CLOCK_EDIT_ALL
Edit all
Inheritance diagram
===================
.. inheritance-diagram:: Clock
:parts: 2
.. autoclass:: Clock

View File

@ -1,2 +1,66 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.colorselector
Colorselector
#############
.. image:: /images/colorselector-preview.png
Widget description
==================
A Colorselector is a color selection widget.
It allows application to set a series of colors. It also allows to
load/save colors from/to config with a unique identifier, by default,
the colors are loaded/saved from/to config using "default" identifier.
The colors can be picked by user from the color set by clicking on
individual color item on the palette or by selecting it from selector.
Emitted signals
===============
- ``"changed"`` - When the color value changes on selector
- ``"color,item,selected"`` - When user clicks on color item.
The event_info parameter of the callback will be the selected
color item.
- ``"color,item,longpressed"`` - When user long presses on color item.
The event_info parameter of the callback will be the selected
color item.
- ``focused`` - When the colorselector has received focus. (since 1.8)
- ``unfocused`` - When the colorselector has lost focus. (since 1.8)
Enumerations
============
.. _Elm_Colorselector_Mode:
Colorselector modes
-------------------
.. data:: ELM_COLORSELECTOR_PALETTE
Show palette
.. data:: ELM_COLORSELECTOR_COMPONENTS
Show components
.. data:: ELM_COLORSELECTOR_BOTH
Show palette and components
Inheritance diagram
===================
.. inheritance-diagram::
Colorselector
ColorselectorPaletteItem
:parts: 2
.. autoclass:: Colorselector
.. autoclass:: ColorselectorPaletteItem

View File

@ -1,2 +1,162 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.configuration
Configuration
#############
Description
===========
Elementary configuration is formed by a set options bounded to a
given profile, like theme, "finger size", etc.
These are functions with which one synchronizes changes made to those
values to the configuration storing files, de facto. You most probably
don't want to use the functions in this group unless you're writing an
elementary configuration manager.
Profiles
========
Profiles are pre-set options that affect the whole look-and-feel of
Elementary-based applications. There are, for example, profiles
aimed at desktop computer applications and others aimed at mobile,
touchscreen-based ones. You most probably don't want to use the
functions in this group unless you're writing an elementary
configuration manager.
Elementary Scrolling
====================
These set how scrollable views in Elementary widgets should behave on
user interaction.
Password show last
==================
Show last feature of password mode enables user to view the last input
entered for few seconds before masking it. These functions allow to set
this feature in password mode of entry widget and also allow to
manipulate the duration for which the input has to be visible.
Elementary Engine
=================
These are functions setting and querying which rendering engine
Elementary will use for drawing its windows' pixels.
The following are the available engines:
- "software_x11"
- "fb"
- "directfb"
- "software_16_x11"
- "software_8_x11"
- "xrender_x11"
- "opengl_x11"
- "software_gdi"
- "software_16_wince_gdi"
- "sdl"
- "software_16_sdl"
- "opengl_sdl"
- "buffer"
- "ews"
- "opengl_cocoa"
- "psl1ght"
ATSPI AT-SPI2 Accessibility
===========================
Elementary widgets support Linux Accessibility standard. For more
information please visit:
http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus
Enumerations
============
.. _Elm_Softcursor_Mode:
Elm_Softcursor_Mode
-------------------
.. data:: ELM_SOFTCURSOR_MODE_AUTO
Auto-detect if a software cursor should be used (default)
.. data:: ELM_SOFTCURSOR_MODE_ON
Always use a softcursor
.. data:: ELM_SOFTCURSOR_MODE_OFF
Never use a softcursor
.. _Elm_Slider_Indicator_Visible_Mode:
Elm_Slider_Indicator_Visible_Mode
---------------------------------
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_DEFAULT
show indicator on mouse down or change in slider value
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS
Always show the indicator
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS
Show the indicator on focus
.. data:: ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE
Never show the indicator
.. _Edje_Channel:
Audio Channels
--------------
.. data:: EDJE_CHANNEL_EFFECT
Standard audio effects
.. data:: EDJE_CHANNEL_BACKGROUND
Background audio sounds
.. data:: EDJE_CHANNEL_MUSIC
Music audio
.. data:: EDJE_CHANNEL_FOREGROUND
Foreground audio sounds
.. data:: EDJE_CHANNEL_INTERFACE
Sounds related to the interface
.. data:: EDJE_CHANNEL_INPUT
Sounds related to regular input
.. data:: EDJE_CHANNEL_ALERT
Sounds for major alerts
.. data:: EDJE_CHANNEL_ALL
All audio channels (convenience)
Inheritance diagram
===================
.. inheritance-diagram:: Configuration
:parts: 2
.. autoclass:: Configuration

View File

@ -1,2 +1,43 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.conformant
Conformant
##########
.. image:: /images/conformant-preview.png
Widget description
==================
The aim is to provide a widget that can be used in elementary apps to
account for space taken up by the indicator, virtual keypad & softkey
windows when running the illume2 module of E17.
So conformant content will be sized and positioned considering the
space required for such stuff, and when they popup, as a keyboard
shows when an entry is selected, conformant content won't change.
Emitted signals
===============
- ``virtualkeypad,state,on``: if virtualkeypad state is switched to ``on``.
- ``virtualkeypad,state,off``: if virtualkeypad state is switched to ``off``.
- ``clipboard,state,on``: if clipboard state is switched to ``on``.
- ``clipboard,state,off``: if clipboard state is switched to ``off``.
Layout content parts
====================
- ``default`` - A content of the conformant
Inheritance diagram
===================
.. inheritance-diagram:: Conformant
:parts: 2
.. autoclass:: Conformant

View File

@ -1,2 +1,86 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.ctxpopup
Ctxpopup
########
.. image:: /images/ctxpopup-preview.png
Widget description
==================
A ctxpopup is a widget that, when shown, pops up a list of items. It
automatically chooses an area inside its parent object's view to
optimally fit into it. In the default theme, it will also point an arrow
to it's top left position at the time one shows it. Ctxpopup items have
a label and/or an icon. It is intended for a small number of items
(hence the use of list, not genlist).
.. note::
Ctxpopup is a specialization of :py:class:`~efl.elementary.hover.Hover`.
Emitted signals
===============
- ``dismissed`` - This is called when 1. the outside of ctxpopup was clicked
or 2. its parent area is changed or 3. the language is changed and also when
4. the parent object is resized due to the window rotation. Then ctxpopup is
dismissed.
- ``language,changed`` - This is called when the program's language is
changed.
- ``focused`` - When the ctxpopup has received focus. (since 1.8)
- ``unfocused`` - When the ctxpopup has lost focus. (since 1.8)
Layout content parts
====================
- ``default`` - A content of the ctxpopup
- ``icon`` - An icon in the title area
Layout text parts
=================
- ``default`` - Title label in the title area
Enumerations
============
.. _Elm_Ctxpopup_Direction:
Ctxpopup arrow directions
-------------------------
.. data:: ELM_CTXPOPUP_DIRECTION_DOWN
Arrow is pointing down
.. data:: ELM_CTXPOPUP_DIRECTION_RIGHT
Arrow is pointing right
.. data:: ELM_CTXPOPUP_DIRECTION_LEFT
Arrow is pointing left
.. data:: ELM_CTXPOPUP_DIRECTION_UP
Arrow is pointing up
.. data:: ELM_CTXPOPUP_DIRECTION_UNKNOWN
Arrow direction is unknown
Inheritance diagram
===================
.. inheritance-diagram::
Ctxpopup
CtxpopupItem
:parts: 2
.. autoclass:: Ctxpopup
.. autoclass:: CtxpopupItem

View File

@ -1,2 +1,219 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.datetime_elm
Datetime
########
Widget description
==================
Datetime widget is used to display and input date & time values.
This widget displays date and time as per the **system's locale** settings
(Date includes Day, Month & Year along with the defined separators and Time
includes Hour, Minute & AM/PM fields). Separator for AM/PM field is ignored.
The corresponding Month, AM/PM strings are displayed according to the
systems language settings.
Datetime format is a combination of LIBC standard characters like "%%d %%b
%%Y %%I : %%M %%p" which, as a whole represents both Date as well as Time
format.
Elm_datetime supports only the following sub set of libc date format specifiers:
**%%Y** The year as a decimal number including the century (example: 2011).
**%%y** The year as a decimal number without a century (range 00 to 99)
**%%m** The month as a decimal number (range 01 to 12).
**%%b** The abbreviated month name according to the current locale.
**%%B** The full month name according to the current locale.
**%%h** The abbreviated month name according to the current locale(same as %%b).
**%%d** The day of the month as a decimal number (range 01 to 31).
**%%e** The day of the month as a decimal number (range 1 to 31). single
digits are preceded by a blank.
**%%I** The hour as a decimal number using a 12-hour clock (range 01 to 12).
**%%H** The hour as a decimal number using a 24-hour clock (range 00 to 23).
**%%k** The hour (24-hour clock) as a decimal number (range 0 to 23). single
digits are preceded by a blank.
**%%l** The hour (12-hour clock) as a decimal number (range 1 to 12); single
digits are preceded by a blank.
**%%M** The minute as a decimal number (range 00 to 59).
**%%p** Either 'AM' or 'PM' according to the given time value, or the
corresponding strings for the current locale. Noon is treated as 'PM'
and midnight as 'AM'
**%%P** Like %p but in lower case: 'am' or 'pm' or a corresponding string for
the current locale.
**%%c** The preferred date and time representation for the current locale.
**%%x** The preferred date representation for the current locale without the time.
**%%X** The preferred time representation for the current locale without the date.
**%%r** The complete calendar time using the AM/PM format of the current locale.
**%%R** The hour and minute in decimal numbers using the format %H:%M.
**%%T** The time of day in decimal numbers using the format %H:%M:%S.
**%%D** The date using the format %%m/%%d/%%y.
**%%F** The date using the format %%Y-%%m-%%d.
(For more reference on the available **LIBC date format specifiers**,
please visit the link:
http://www.gnu.org/s/hello/manual/libc.html#Formatting-Calendar-Time )
Datetime widget can provide Unicode **separators** in between its fields
except for AM/PM field. A separator can be any **Unicode character**
other than the LIBC standard date format specifiers.
Example: In the format::
%%b %%d **,** %%y %%H **:** %%M
comma(,) is separator for date field %%d and colon(:) is separator for
hour field %%H.
The default format is a predefined one, based on the system Locale.
Hour format 12hr(1-12) or 24hr(0-23) display can be selected by setting
the corresponding user format.
Datetime supports six fields: Year, Month, Date, Hour, Minute, AM/PM.
Depending on the Datetime module that is loaded, the user can see
different UI to select the individual field values.
The individual fields of Datetime can be arranged in any order according
to the format set by application.
There is a provision to set the visibility of a particular field as TRUE/
FALSE so that **only time/ only date / only required fields** will be
displayed.
Each field is having a default minimum and maximum values just like the
daily calendar information. These min/max values can be modified as per
the application usage.
User can enter the values only in between the range of maximum and
minimum. Apart from these APIs, there is a provision to display only a
limited set of values out of the possible values. APIs to select the
individual field limits are intended for this purpose.
The whole widget is left aligned and its size grows horizontally
depending on the current format and each field's visible/disabled state.
Datetime individual field selection is implemented in a modular style.
Module can be implemented as a Ctxpopup based selection or an ISE based
selection or even a spinner like selection etc.
Datetime Module design
======================
The following functions are expected to be implemented in a Datetime module:
**Field creation**::
__________ __________
| |----- obj_hook() ---------------------->>>| |
| |<<<----------------returns Mod_data ------| |
| Datetime |_______ | |
| widget | |Assign module call backs | Module |
| base |<<<____| | |
| | | |
| |----- field_create() ------------------>>>| |
|__________|<<<----------------returns field_obj -----|__________|
**Field value setting**::
__________ __________
| | | |
| Datetime |<<<----------elm_datetime_value_set()---| |
| widget | | Module |
| base |----display_field_value()------------>>>| |
|__________| |__________|
**del_hook**::
__________ __________
| | | |
| Datetime |----obj_unhook()-------------------->>>>| |
| widget | | Module |
| base | <<<-----frees mod_data---------| |
|__________| |__________|
Any module can use the following shared functions that are implemented in
elm_datetime.c:
**field_format_get()** - gives the field format.
**field_limit_get()** - gives the field minimum, maximum limits.
To enable a module, set the ELM_MODULES environment variable as shown:
**export ELM_MODULES="datetime_input_ctxpopup>datetime/api"**
Emitted signals
===============
- ``changed`` - whenever Datetime field value is changed, this signal is sent.
- ``language,changed`` - whenever system locale changes, this signal is sent.
- ``focused`` - When the datetime has received focus. (since 1.8)
- ``unfocused`` - When the datetime has lost focus. (since 1.8)
Enumerations
============
.. _Elm_Datetime_Field_Type:
Datetime fields
---------------
.. data:: ELM_DATETIME_YEAR
Year
.. data:: ELM_DATETIME_MONTH
Month
.. data:: ELM_DATETIME_DATE
Date
.. data:: ELM_DATETIME_HOUR
Hour
.. data:: ELM_DATETIME_MINUTE
Minute
.. data:: ELM_DATETIME_AMPM
Am/Pm
Inheritance diagram
===================
.. inheritance-diagram:: Datetime
:parts: 2
.. autoclass:: Datetime

View File

@ -1,2 +1,99 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.dayselector
Dayselector
###########
.. image:: /images/dayselector-preview.png
Widget description
==================
Dayselector displays all seven days of the week and allows the user to
select multiple days.
The selection can be toggle by just clicking on the day.
Dayselector also provides the functionality to check whether a day is
selected or not.
First day of the week is taken from config settings by default. It can be
altered by using the API :py:attr:`~Dayselector.week_start` API.
APIs are provided for setting the duration of weekend
:py:attr:`~Dayselector.weekend_start` and :py:attr:`~Dayselector.weekend_length`
does this job.
Two styles of weekdays and weekends are supported in Dayselector.
Application can emit signals on individual check objects for setting the
weekday, weekend styles.
Once the weekend start day or weekend length changes, all the weekday &
weekend styles will be reset to default style. It's the application's
responsibility to set the styles again by sending corresponding signals.
"day0" indicates Sunday, "day1" indicates Monday etc. continues and so,
"day6" indicates the Saturday part name.
Application can change individual day display string by using the API
:py:meth:`~efl.elementary.object.Object.part_text_set`.
:py:meth:`~efl.elementary.object.Object.part_content_set` API sets the
individual day object only if the passed one is a Check widget.
Check object representing a day can be set/get by the application by using
the elm_object_part_content_set/get APIs thus providing a way to handle
the different check styles for individual days.
Emitted signals
===============
- ``dayselector,changed`` - when the user changes the state of a day.
- ``language,changed`` - the program's language changed
Enumerations
============
.. _Elm_Dayselector_Day:
Dayselector days
----------------
.. data:: ELM_DAYSELECTOR_SUN
Sunday
.. data:: ELM_DAYSELECTOR_MON
Monday
.. data:: ELM_DAYSELECTOR_TUE
Tuesday
.. data:: ELM_DAYSELECTOR_WED
Wednesday
.. data:: ELM_DAYSELECTOR_THU
Thursday
.. data:: ELM_DAYSELECTOR_FRI
Friday
.. data:: ELM_DAYSELECTOR_SAT
Saturday
Inheritance diagram
===================
.. inheritance-diagram:: Dayselector
:parts: 2
.. autoclass:: Dayselector

View File

@ -1,2 +1,72 @@
.. currentmodule:: efl.elementary
.. automodule:: efl.elementary.diskselector
Diskselector
############
.. image:: /images/diskselector-preview.png
Widget description
==================
A diskselector is a kind of list widget. It scrolls horizontally,
and can contain label and icon objects. Three items are displayed
with the selected one in the middle.
It can act like a circular list with round mode and labels can be
reduced for a defined length for side items.
Emitted signals
===============
- ``selected`` - when item is selected, i.e. scroller stops.
- ``clicked`` - This is called when a user clicks an item
- ``scroll,anim,start`` - scrolling animation has started
- ``scroll,anim,stop`` - scrolling animation has stopped
- ``scroll,drag,start`` - dragging the diskselector has started
- ``scroll,drag,stop`` - dragging the diskselector has stopped
- ``focused`` - When the diskselector has received focus. (since 1.8)
- ``unfocused`` - When the diskselector has lost focus. (since 1.8)
.. note:: The ``scroll,anim,*`` and ``scroll,drag,*`` signals are only emitted
by user intervention.
Layout content parts
====================
- ``icon`` - An icon in the diskselector item
Layout text parts
=================
- ``default`` - Label of the diskselector item
Scrollable Interface
====================
This widget supports the scrollable interface.
If you wish to control the scrolling behaviour using these functions,
inherit both the widget class and the
:py:class:`~efl.elementary.scroller.Scrollable` class
using multiple inheritance, for example::
class ScrollableGenlist(Genlist, Scrollable):
def __init__(self, canvas, *args, **kwargs):
Genlist.__init__(self, canvas)
Inheritance diagram
===================
.. inheritance-diagram::
Diskselector
DiskselectorItem
:parts: 2
.. autoclass:: Diskselector
.. autoclass:: DiskselectorItem

View File

@ -1,10 +1,7 @@
Elementary
##########
.. module:: efl.elementary
What is elementary?
===================
*******************
Elementary is a the high level toolkit based on the underlying efl
technologies (:doc:`Evas </evas/evas>`, :doc:`Edje </edje/edje>`,
@ -16,10 +13,10 @@ of flexibility.
Callbacks
=========
*********
Widget callbacks
----------------
================
Widget callbacks are set with callback_*_add methods which take a callable,
and optional args, kwargs as data.
@ -34,7 +31,7 @@ or::
Event callbacks
---------------
===============
Event callbacks have signature of::
@ -42,91 +39,418 @@ Event callbacks have signature of::
A sample Python Elementary program
==================================
**********************************
.. literalinclude:: ../../examples/elementary/test_win_dialog.py
:language: python
API Reference
=============
*************
Enumerations
============
.. _Elm_Object_Layer:
Object layers
-------------
.. versionadded:: 1.14
.. data:: ELM_OBJECT_LAYER_BACKGROUND
where to place backgrounds
.. data:: ELM_OBJECT_LAYER_DEFAULT
Evas_Object default layer (and thus for Elementary)
.. data:: ELM_OBJECT_LAYER_FOCUS
where focus object visualization is
.. data:: ELM_OBJECT_LAYER_TOOLTIP
where to show tooltips
.. data:: ELM_OBJECT_LAYER_CURSOR
where to show cursors
.. data:: ELM_OBJECT_LAYER_LAST
last layer known by Elementary
.. _Elm_Policy:
Policy types
------------
.. data:: ELM_POLICY_QUIT
Under which circumstances the application should quit automatically.
.. data:: ELM_POLICY_EXIT
Defines elm_exit() behaviour. (since 1.8)
.. data:: ELM_POLICY_THROTTLE
Defines how throttling should work (since 1.8)
.. _Elm_Policy_Quit:
Quit policy types
-----------------
.. data:: ELM_POLICY_QUIT_NONE
Never quit the application automatically
.. data:: ELM_POLICY_QUIT_LAST_WINDOW_CLOSED
Quit when the application's last window is closed
.. _Elm_Policy_Exit:
Exit policy types
-----------------
Possible values for the ELM_POLICY_EXIT policy.
.. data:: ELM_POLICY_EXIT_NONE
Just quit the main loop on exit().
.. data:: ELM_POLICY_EXIT_WINDOWS_DEL
Delete all the windows after quitting the main loop.
.. _Elm_Policy_Throttle:
Throttle policy types
---------------------
Possible values for the #ELM_POLICY_THROTTLE policy.
.. data:: ELM_POLICY_THROTTLE_CONFIG
Do whatever elementary config is configured to do.
.. data:: ELM_POLICY_THROTTLE_HIDDEN_ALWAYS
Always throttle when all windows are no longer visible.
.. data:: ELM_POLICY_THROTTLE_NEVER
Never throttle when windows are all hidden, regardless of config settings.
.. _Elm_Process_State:
Elm_Process_State
-----------------
.. data:: ELM_PROCESS_STATE_FOREGROUND
The process is in a foreground/active/running state - work as normal.
.. versionadded:: 1.12
.. data:: ELM_PROCESS_STATE_BACKGROUND
The process is in the bacgkround, so you may want to stop animating,
fetching data as often etc.
.. versionadded:: 1.12
.. _Elm_Sys_Notify_Closed_Reason:
Notify close reasons
--------------------
The reason the notification was closed
.. data:: ELM_SYS_NOTIFY_CLOSED_EXPIRED
The notification expired.
.. versionadded:: 1.10
.. data:: ELM_SYS_NOTIFY_CLOSED_DISMISSED
The notification was dismissed by the user.
.. versionadded:: 1.10
.. data:: ELM_SYS_NOTIFY_CLOSED_REQUESTED
The notification was closed by a call to CloseNotification method.
.. versionadded:: 1.10
.. data:: ELM_SYS_NOTIFY_CLOSED_UNDEFINED
Undefined/reserved reasons.
.. versionadded:: 1.10
.. _Elm_Sys_Notify_Urgency:
Notify urgency levels
---------------------
Urgency levels of a notification
:see: :py:func:`sys_notify_send`
.. data:: ELM_SYS_NOTIFY_URGENCY_LOW
Low
.. versionadded:: 1.10
.. data:: ELM_SYS_NOTIFY_URGENCY_NORMAL
Normal
.. versionadded:: 1.10
.. data:: ELM_SYS_NOTIFY_URGENCY_CRITICAL
Critical
.. versionadded:: 1.10
.. _Elm_Glob_Match_Flags:
Glob matching
-------------
Glob matching bitfiled flags
.. data:: ELM_GLOB_MATCH_NO_ESCAPE
Treat backslash as an ordinary character instead of escape.
.. versionadded:: 1.11
.. data:: ELM_GLOB_MATCH_PATH
Match a slash in string only with a slash in pattern and not by an
asterisk (*) or a question mark (?) metacharacter, nor by a bracket
expression ([]) containing a slash.
.. versionadded:: 1.11
.. data::