elementary doc

SVN revision: 40781
This commit is contained in:
Carsten Haitzler 2009-05-22 21:01:46 +00:00
parent 3276a99966
commit a4bf81cef2
9 changed files with 459 additions and 139 deletions

View File

@ -8,7 +8,6 @@
<div id="footer">
<table><tr>
<td class="poweredby"><img src="doxygen.png"></td>
<td class="copyright">Copyright &copy;$year Enlightenment</td>
<td class="generated">Docs generated $datetime</td>
</tr></table>

View File

@ -9,8 +9,8 @@
<link rel="icon" href="img/favicon.png" type="image/ico">
<link rel="shortcut icon" href="img/favicon.png" type="image/ico">
<link rel="stylesheet" type="text/css" media="screen" href="e.css">
<link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
<link rel="stylesheet" type="text/css" href="e.css">
<link rel="stylesheet" type="text/css" href="edoxy.css">
</head>
<body>

View File

@ -368,8 +368,8 @@ HR {
margin-left: 3px;
}
.memnav {
background-color: #e8eef2;
border: 1px solid #84b0c7;
background-color: #eeeeee;
border: 1px solid #dddddd;
text-align: center;
margin: 2px;
margin-right: 15px;
@ -377,36 +377,39 @@ HR {
}
.memitem {
padding: 4px;
background-color: #eef3f5;
background-color: #eeeeee;
border-width: 1px;
border-style: solid;
border-color: #dedeee;
-moz-border-radius: 8px 8px 8px 8px;
border-color: #dddddd;
-moz-border-radius: 4px 4px 4px 4px;
}
.memname {
white-space: nowrap;
font-weight: bold;
color: #ffffff;
}
.memdoc{
padding-left: 10px;
}
.memproto {
background-color: #d5e1e8;
background-color: #111111;
width: 100%;
border-width: 1px;
border-style: solid;
border-color: #84b0c7;
border-color: #000000;
font-weight: bold;
-moz-border-radius: 8px 8px 8px 8px;
-moz-border-radius: 4px 4px 4px 4px;
}
.paramkey {
text-align: right;
color: #ffffff;
}
.paramtype {
white-space: nowrap;
color: #aaaaaa;
}
.paramname {
color: #602020;
color: #ff0000;
font-style: italic;
white-space: nowrap;
}

View File

@ -2,7 +2,7 @@
#include "elm_priv.h"
/**
* @defgroup Check Check
* @defgroup Check Check
*
* The check widget allows for toggling a value between true or false (1 or 0).
*
@ -146,7 +146,7 @@ _signal_check_toggle(void *data, Evas_Object *obj, const char *emission, const c
* Add a new Check object
*
* @param parent The parent object
* @return The new object or NUL if it cannot be created
* @return The new object or NULL if it cannot be created
*
* @ingroup Check
*/
@ -180,10 +180,10 @@ elm_check_add(Evas_Object *parent)
}
/**
* XXX
* Set the text label of the check object
*
* @param xxx XXX
* @return XXX
* @param obj The check object
* @param label The text label string in UTF-8
*
* @ingroup Check
*/
@ -211,10 +211,15 @@ elm_check_label_set(Evas_Object *obj, const char *label)
}
/**
* XXX
* Set the icon object of the check object
*
* @param xxx XXX
* @return XXX
* Once the icon object is set, it will become a child of the check object and
* be deleted when the check object is deleted. If another icon object is set
* then the previous one becomes orophaned and will no longer be deleted along
* with the check.
*
* @param obj The check object
* @param icon The icon object
*
* @ingroup Check
*/
@ -237,10 +242,13 @@ elm_check_icon_set(Evas_Object *obj, Evas_Object *icon)
}
/**
* XXX
* Set the on/off state of the check object
*
* @param xxx XXX
* @return XXX
* This sets the state of the check and will also set the value if pointed to
* to the state supplied, but will not call any callbacks.
*
* @param obj The check object
* @param state The state to use (1 == on, 0 == off)
*
* @ingroup Check
*/
@ -260,10 +268,10 @@ elm_check_state_set(Evas_Object *obj, Evas_Bool state)
}
/**
* XXX
* Get the state of the check object
*
* @param xxx XXX
* @return XXX
* @param obj The check object
* @return The boolean state
*
* @ingroup Check
*/
@ -275,10 +283,17 @@ elm_check_state_get(const Evas_Object *obj)
}
/**
* XXX
* Set a convenience pointer to a boolean to change
*
* This sets a pointer to a boolean, that, in addition to the check objects
* state will also be modified directly. To stop setting the object pointed
* to simply use NULL as the statep parameter. If statep is not NULL, then
* when this is called, the check objects state will also be modified to
* reflect the value of the boolean statep points to, just like calling
* elm_check_state_set().
*
* @param xxx XXX
* @return XXX
* @param obj The check object
* @param statep Pointer to the boolean to modify
*
* @ingroup Check
*/

View File

@ -4,66 +4,215 @@
/**
* @defgroup Genlist Genlist
*
* The aim was to have more expansive list that 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.
* The aim was to have more expansive list that 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 label, use the normal List object.
*
* Signals that you can add callbacks for are:
*
* clicked - This is called when a user has double-clicked an item. The event_info parameter is the genlist item that as double-clicked.
* clicked - This is called when a user has double-clicked an item. The
* event_info parameter is the genlist item that as double-clicked.
*
* selected - This is called when a user has made an item selected. The event_info parameter is the genlist item that was selected.
* 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.
* 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 elm_genlist_item_expanded_set() 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.
* expanded - This is called when elm_genlist_item_expanded_set() 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 elm_genlist_item_expanded_set() 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
* contracted - This is called when elm_genlist_item_expanded_set() 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 elm_genlist_item_expanded_set() appropriately to set the state. The event_info parameter is the genlist item that was indicated to expand.
* 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 elm_genlist_item_expanded_set()
* 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 elm_genlist_item_expanded_set() appropriately to set the state. The event_info parameter is the genlist item that was indicated to contract.
* 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 elm_genlist_item_expanded_set()
* appropriately to set the state. The event_info parameter is the genlist
* item that was indicated to contract.
*
* 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 o the theory behind genlist.
* 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 o the theory behind genlist.
*
* 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 1,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.
* 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
8 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.
* 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.
*
* An item in the genlist world can have 0 or more text labels (they can be regular text or textblock that's up to the style to determine), 0 or more icons (which are simply objects swallowed into the genlist item) and 0 or more boolean states that can be used for check, radio or other indicators by the edje theme style. An item may be one of several styles (Elementary provides 2 by default - default and double_label, but this can be extended by system or application custom themes/overlays/extensions).
* An item in the genlist world can have 0 or more text labels (they can be
* regular text or textblock that's up to the style to determine), 0 or
* more icons (which are simply objects swallowed into the genlist item) and
* 0 or more boolean states that can be used for check, radio or other
* indicators by the edje theme style. An item may be one of several styles
* (Elementary provides 2 by default - default and double_label, but this
* can be extended by system or application custom themes/overlays/extensions).
*
* In order to implement 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 (that is created dynamically while scrolling). All objects will simply be deleted when no longer needed with evas_object_del(). The Elm_Genlist_Item_Class structure contains the following members:
* In order to implement 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 (that is created dynamically while scrolling). All objects will
* simply be deleted when no longer needed with evas_object_del(). The
* Elm_Genlist_Item_Class structure 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.
* 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.label_get - This function is called when an actual item object is created. The data parameter is the data parameter passed to elm_genlist_item_append() and related item creation functions. The obj parameter is the genlist object and the part parameter is the string name of the text part in the edje design that is listed as one of the possible labels that can be set. This function must return a strudup()'ed string as the caller will free() it when done.
* func.label_get - This function is called when an actual item object is
* created. The data parameter is the data parameter passed to
* elm_genlist_item_append() and related item creation functions. The obj
* parameter is the genlist object and the part parameter is the string name
* of the text part in the edje design that is listed as one of the possible
* labels that can be set. This function must return a strudup()'ed string as
* the caller will free() it when done.
*
* func.icon_get - This function is called when an actual item object is created. The data parameter is the data parameter passed to elm_genlist_item_append() and related item creation functions. The obj parameter is the genlist object and the part parameter is the string name of the icon part in the edje design that is listed as one of the possible icons that can be set. This must return NULL for no object or a valid object. The object will be deleted by genlist on shutdown or when he item its unrealized.
* func.icon_get - This function is called when an actual item object is
* created. The data parameter is the data parameter passed to
* elm_genlist_item_append() and related item creation functions. The obj
* parameter is the genlist object and the part parameter is the string name
* of the icon part in the edje design that is listed as one of the possible
* icons that can be set. This must return NULL for no object or a valid
* object. The object will be deleted by genlist on shutdown or when the item
* its unrealized.
*
* func.state_get - This function is called when an actual item object is created. The data parameter is the data parameter passed to elm_genlist_item_append() and related item creation functions. The obj parameter is the genlist object and the part parameter is the string name of the state part in the edje design that is listed as one of the possible states that can be set. Return 0 for false or 1 for true. Genlist will emit a signal with elm,state,XXX,active elm when true (the default is false), where XXX is the name of the part.
* func.state_get - This function is called when an actual item object is
* created. The data parameter is the data parameter passed to
* elm_genlist_item_append() and related item creation functions. The obj
* parameter is the genlist object and the part parameter is the string name
* of the state part in the edje design that is listed as one of the possible
* states that can be set. Return 0 for false or 1 for true. Genlist will
* emit a signal to the edje object with elm,state,XXX,active elm when
* true (the default is false), where XXX is the name of the part.
*
* func.del - This is called when elm_genlist_item_del() is called on an item, elm_genlist_clear() is called on the genlist, or elm_genlist_item_subitems_clear() is called to clear sub-items. This is intended for use when actual genlist items are deleted, so any backing data attached to the item (e.g. its data parameter on creation) can be deleted.
* func.del - This is called when elm_genlist_item_del() is called on an
* item, elm_genlist_clear() is called on the genlist, or
* elm_genlist_item_subitems_clear() is called to clear sub-items. This is
* intended for use when actual genlist items are deleted, so any backing
* data attached to the item (e.g. its data parameter on creation) can be
* deleted.
*
* Items can be added by several calls. All of them return a Elm_Genlist_Item 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, and NULL if there is no parent. The flags can be a bitmask of ELM_GENLIST_ITEM_NONE and ELM_GENLIST_ITEM_SUBITEMS. If ELM_GENLIST_ITEM_SUBITEMS is set then this item is displayed as a item that is able to expand and have child items. 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 vent_info will be the genlist item.
* Items can be added by several calls. All of them return a Elm_Genlist_Item
* 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, and
* NULL if there is no parent. The flags can be a bitmask of
* ELM_GENLIST_ITEM_NONE and ELM_GENLIST_ITEM_SUBITEMS. If
* ELM_GENLIST_ITEM_SUBITEMS is set then this item is displayed as a item
* that is able to expand and have child items. 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
* vent_info will be the genlist item.
*
* elm_genlist_item_append() appends 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. elm_genlist_item_prepend() is the same but prepends to the beginning of the list or children list. elm_genlist_item_insert_before() inserts at item before another item and elm_genlist_item_insert_after() inserts after the indicated item.
* elm_genlist_item_append() appends 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.
* elm_genlist_item_prepend() is the same but prepends to the beginning of
* the list or children list. elm_genlist_item_insert_before() inserts at
* item before another item and elm_genlist_item_insert_after() inserts after
* the indicated item.
*
* The application can clear the list with elm_genlist_clear() which deletes all the items in the list and elm_genlist_item_del() will delete a specific item. elm_genlist_item_subitems_clear() will clear all items that are children of the indicated parent item.
* The application can clear the list with elm_genlist_clear() which deletes
* all the items in the list and elm_genlist_item_del() will delete a specific
* item. elm_genlist_item_subitems_clear() will clear all items that are
* children of the indicated parent item.
*
* If the application wants multiple items to be able to be selected, elm_genlist_multi_select_set() can enable this. If the list is single-selection only (the default), then elm_genlist_selected_item_get() will return the selected item, if any, or NULL I none is selected. If the list is multi-select then elm_genlist_selected_items_get() will return a list (that is only valid as long as no items are modified (added, deleted, selected or unselected).
* If the application wants multiple items to be able to be selected,
* elm_genlist_multi_select_set() can enable this. If the list is
* single-selection only (the default), then elm_genlist_selected_item_get()
* will return the selected item, if any, or NULL I none is selected. If the
* list is multi-select then elm_genlist_selected_items_get() will return a
* list (that is only valid as long as no items are modified (added, deleted,
* selected or unselected).
*
* To help inspect list items you can jump to the item at the top of the list with elm_genlist_first_item_get() which will return the item pointer, and similarly elm_genlist_last_item_get() gets the item at the end of the list. elm_genlist_item_next_get() and elm_genlist_item_prev_get() 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 he items are flattened in the list, so elm_genlist_item_parent_get() will let you know which item is the parent (and thus know how to skip them if wanted).
* To help inspect list items you can jump to the item at the top of the list
* with elm_genlist_first_item_get() which will return the item pointer, and
* similarly elm_genlist_last_item_get() gets the item at the end of the list.
* elm_genlist_item_next_get() and elm_genlist_item_prev_get() 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 elm_genlist_item_parent_get() will
* let you know which item is the parent (and thus know how to skip them if
* wanted).
*
* There are also convenience functions. elm_genlist_item_genlist_get() will return the genlist object the item belongs to. elm_genlist_item_show() will make the scroller scroll to show that specific item so its visible. elm_genlist_item_data_get() returns the data pointer set by the item creation functions.
* There are also convenience functions. elm_genlist_item_genlist_get() will
* return the genlist object the item belongs to. elm_genlist_item_show()
* will make the scroller scroll to show that specific item so its visible.
* elm_genlist_item_data_get() returns the data pointer set by the item
* creation functions.
*
* If an item changes (state of boolean changes, label or icons change), then use elm_genlist_item_update() to have genlist update the item with the new state. Genlist will re-realize the item thus call the functions in the _Elm_Genlist_Item_Class for that item.
* If an item changes (state of boolean changes, label or icons change),
* then use elm_genlist_item_update() to have genlist update the item with
* the new state. Genlist will re-realize the item thus call the functions
* in the _Elm_Genlist_Item_Class for that item.
*
* To pro grammatically (un)select an item use elm_genlist_item_selected_set(). To get its selected state use elm_genlist_item_selected_get(). Similarly to expand/contract and item and get its expanded state, use elm_genlist_item_expanded_set() and elm_genlist_item_expanded_get(). And again to make an item disabled (unable to be selected and appear differently) use elm_genlist_item_disabled_set() to set this and elm_genlist_item_disabled_get() to get the disabled state.
* To programmatically (un)select an item use elm_genlist_item_selected_set().
* To get its selected state use elm_genlist_item_selected_get(). Similarly
* to expand/contract and item and get its expanded state, use
* elm_genlist_item_expanded_set() and elm_genlist_item_expanded_get(). And
* again to make an item disabled (unable to be selected and appear
* differently) use elm_genlist_item_disabled_set() to set this and
* elm_genlist_item_disabled_get() to get the disabled state.
*
* In general to indicate how the genlist should expand items horizontally to fill the list area, use elm_genlist_horizontal_mode_set(). Valid modes are ELM_LIST_LIMIT 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 and limited to that size. This can be combined with a different style that uses edjes' ellipsis feature (cutting text off like this: tex...).
* In general to indicate how the genlist should expand items horizontally to
* fill the list area, use elm_genlist_horizontal_mode_set(). Valid modes are
* ELM_LIST_LIMIT 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 and limited to that size. This can be combined with
* a different style that uses edjes' 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 elm_genlist_always_select_mode_set(). This means even if selected, every click will make the selected callbacks be called. elm_genlist_no_select_mode_set() 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 you own theme augmentation per application with elm_theme_extension_add(). If you absolutely must have a specific style that overrides any theme the user or system sets up you can use elm_theme_overlay_add() to add such a file.
* 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 elm_genlist_always_select_mode_set(). This means even if
* selected, every click will make the selected callbacks be called.
* elm_genlist_no_select_mode_set() 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 you own theme augmentation
* per application with elm_theme_extension_add(). If you absolutely must
* have a specific style that overrides any theme the user or system sets up
* you can use elm_theme_overlay_add() to add such a file.
*/
typedef struct _Widget_Data Widget_Data;
typedef struct _Item_Block Item_Block;
@ -851,10 +1000,10 @@ _pan_calculate(Evas_Object *obj)
}
/**
* XXX
* Add a new Genlist object
*
* @param xxx XXX
* @return XXX
* @param parent The parent object
* @return The new object or NULL if it cannot be created
*
* @ingroup Genlist
*/

View File

@ -112,6 +112,72 @@ if [ -z "$NOCONFIGURE" ]; then
./configure "$@"
fi
@endverbatim
*
* To gnerate all the things needed to bootstrap just run:
*
@verbatim
./autogen.sh
@endverbatim
*
* This will generate Makefile.in's, the confgure script and everything else.
* After this it works like all normal autotools projects:
@verbatim
./configure
make
sudo make install
@endverbatim
*
* Note sudo was assumed to get root permissions, as this would install in
* /usr/local which is system-owned. Ue any way you like to gain root, or
* specify a different prefix with configure:
*
@verbatim
./confiugre --prefix=$HOME/mysoftware
@endverbatim
*
* Also remember that autotools buys you some useful commands like:
@verbatim
make uninstall
@endverbatim
*
* This uninstalls the software after it was installed with "make install".
* It is very useful to clear up what you built if you wish to clean the
* system.
*
@verbatim
make distcheck
@endverbatim
*
* This firstly checks if your build tree is "clean" and ready for
* distribution. It also builds a tarball (myapp-0.0.0.tar.gz) that is
* ready to upload and distribute to the world, that contains the generated
* Makefile.in's and configure script. The users do not need to run
* autogen.sh - just configure and on. They don't need autotools installed.
* This tarball also builds cleanly, has all the sources it needs to build
* included (that is sources for your application, not libraries it depends
* on like Elementary). It builds cleanly in a buildroot and does not
* contain any files that are temporarily generated like binaries and other
* build-gnerated files, so the tarball is clean, and no need to worry
* about cleaning up your tree before packaging.
*
@verbatim
make clean
@endverbatim
*
* This cleans up all build files (binaries, objects etc.) from the tree.
*
@verbatim
make distclean
@endverbatim
*
* This cleans out all files from the build and from configure's output too.
*
@verbatim
make maintainer-clean
@endverbatim
*
* This deletes all the files autogen.sh will produce so the tree is clean
* to be put into a revision-control system (like CVS, SVN or GIT for example).
*
* The above will build a library - libmyapp.so and install in the target
* library directory (default is /usr/local/lib). You will also get a
@ -178,12 +244,12 @@ myapp_LDADD = @ELEMENTARY_LIBS@
myapp_CFLAGS =
@endverbatim
*
* Notice that they ae the same as before, just with libtool and library
* Notice that they are the same as before, just with libtool and library
* building sections removed. Both ways work for building elementary
* applications. It is up to you to decide what is best for you. If you just
* follow the template above, you can do it both ways and can decide at build
* time. The more advanced of you may suggest making it a configure option.
* That is perfectly valid, bu has been left out here for simplicity, as our\
* That is perfectly valid, bu has been left out here for simplicity, as our
* aim to have an Elementary (and EFL) tutorial, not an autoconf & automake
* document.
*
@ -1033,7 +1099,7 @@ elm_coords_finger_size_adjust(int times_w, Evas_Coord *w, int times_h, Evas_Coor
/**
* @defgroup Focus Focus
*
* Object have focus. This is what determines where the keyboard input goes to
* Objects have focus. This is what determines where the keyboard input goes to
* within the application window.
*/

View File

@ -4,9 +4,20 @@
/**
* @defgroup Pager Pager
*
* The pager is an object that allows flipping (with animation) between 1 or more pages of objects, much like a stack of windows within the window.
* The pager is an object that allows flipping (with animation) between 1 or
* more pages of objects, much like a stack of windows within the window.
*
* Objects can be pushed or popped from he stack or deleted as normal. Pushes an pops will animate (and a pop will delete the object once the animation is finished). Any object in the pager can be promoted to the top (from its current stacking position) as well. Objects are pushed to the top with elm_pager_content_push() and when the top item is no longer wanted, simply pop it with elm_pager_content_pop() and it will also be deleted. Any object you wish to promote to the top that is already in the pager, simply use elm_pager_content_promote(). If an object is no longer needed and is not the top item, just delete it as normal. You can query which objects are the top and bottom with elm_pager_content_bottom_get() and elm_pager_content_top_get()
* Objects can be pushed or popped from he stack or deleted as normal.
* Pushes and pops will animate (and a pop will delete the object once the
* animation is finished). Any object in the pager can be promoted to the top
* (from its current stacking position) as well. Objects are pushed to the
* top with elm_pager_content_push() and when the top item is no longer
* wanted, simply pop it with elm_pager_content_pop() and it will also be
* deleted. Any object you wish to promote to the top that is already in the
* pager, simply use elm_pager_content_promote(). If an object is no longer
* needed and is not the top item, just delete it as normal. You can query
* which objects are the top and bottom with elm_pager_content_bottom_get()
* and elm_pager_content_top_get().
*/
typedef struct _Widget_Data Widget_Data;
@ -172,10 +183,10 @@ _signal_hide_finished(void *data, Evas_Object *obj, const char *emission, const
}
/**
* XXX
* Add a new pager to the parent
*
* @param xxx XXX
* @return XXX
* @param parent The parent object
* @return The new object or NULL if it cannot be created
*
* @ingroup Pager
*/
@ -205,10 +216,13 @@ elm_pager_add(Evas_Object *parent)
}
/**
* XXX
* Push an object to the top of the pager stack (and show it)
*
* The object pushed becomes a child of the pager and will be controlled
* it and deleted when the pager is deleted.
*
* @param xxx XXX
* @return XXX
* @param obj The pager object
* @param content The object to push
*
* @ingroup Pager
*/
@ -241,10 +255,13 @@ elm_pager_content_push(Evas_Object *obj, Evas_Object *content)
}
/**
* XXX
* Pop the object that is on top of the stack
*
* @param xxx XXX
* @return XXX
* This pops the object that is on top (visible) in the pager, makes it
* disappear, then deletes the object. The object that was underneath it
* on the stack will become visible.
*
* @param obj The pager object
*
* @ingroup Pager
*/
@ -286,10 +303,14 @@ elm_pager_content_pop(Evas_Object *obj)
}
/**
* XXX
* Promote an object already in the pager stack to the top of the stack
*
* @param xxx XXX
* @return XXX
* This will take the indicated object and promote it to the top of the stack
* as if it had been pushed there. The object must already be inside the
* pager stack to work.
*
* @param obj The pager object
* @param content The object to promote
*
* @ingroup Pager
*/
@ -312,10 +333,10 @@ elm_pager_content_promote(Evas_Object *obj, Evas_Object *content)
}
/**
* XXX
* Return the object at the bottom of the pager stack
*
* @param xxx XXX
* @return XXX
* @param obj The pager object
* @return The bottom object or NULL if none
*
* @ingroup Pager
*/
@ -330,10 +351,10 @@ elm_pager_content_bottom_get(Evas_Object *obj)
}
/**
* XXX
* Return the object at the top of the pager stack
*
* @param xxx XXX
* @return XXX
* @param obj The pager object
* @return The top object or NULL if none
*
* @ingroup Pager
*/

View File

@ -4,13 +4,30 @@
/**
* @defgroup Radio Radio
*
* The radio button allows for 1 or more selectors to be created to select 1 of a set of options.
* The radio button allows for 1 or more selectors to be created to select 1
* of a set of options.
*
* Signals that you can add callbacks for are:
*
* 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.
* 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.
*
* A radio object contains an indicator, an optional Label and an optional icon object. They work normally in groups of 2 or more. When you create a radio (if it is not the first member of the group), simply add it to the group by adding it to any other member of the group that already exists (or the first member) with elm_radio_group_add() with the second parameter being the existing group member. 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 elm_radio_state_value_set() to set the integer it represents. To set the value the whole group is to indicate use elm_radio_value_set() on any group member, and to get the groups value use elm_radio_value_get(). For convenience the radio objects are also able to directly set an integer (int) to the value that is selected. To specify the pointer to this integer to modify, use elm_radio_value_pointer_set(). The radio objects will modify this directly. That implies the pointer must point to valid memory for as long as the radio objects exist.
* A radio object contains an indicator, an optional Label and an optional
* icon object. They work normally in groups of 2 or more. When you create a
* radio (if it is not the first member of the group), simply add it to the
* group by adding it to any other member of the group that already exists
* (or the first member) with elm_radio_group_add() with the second parameter
* being the existing group member. 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 elm_radio_state_value_set() to set the integer it
* represents. To set the value the whole group is to indicate use
* elm_radio_value_set() on any group member, and to get the groups value use
* elm_radio_value_get(). For convenience the radio objects are also able to
* directly set an integer (int) to the value that is selected. To specify
* the pointer to this integer to modify, use elm_radio_value_pointer_set().
* The radio objects will modify this directly. That implies the pointer must
* point to valid memory for as long as the radio objects exist.
*/
typedef struct _Widget_Data Widget_Data;
@ -194,10 +211,10 @@ elm_radio_add(Evas_Object *parent)
}
/**
* XXX
* Set the text label of the radio object
*
* @param xxx XXX
* @return XXX
* @param obj The radio object
* @param label The text label string in UTF-8
*
* @ingroup Radio
*/
@ -225,10 +242,15 @@ elm_radio_label_set(Evas_Object *obj, const char *label)
}
/**
* XXX
* Set the icon object of the radio object
*
* @param xxx XXX
* @return XXX
* Once the icon object is set, it will become a child of the radio object and
* be deleted when the radio object is deleted. If another icon object is set
* then the previous one becomes orophaned and will no longer be deleted along
* with the radio.
*
* @param obj The radio object
* @param icon The icon object
*
* @ingroup Radio
*/
@ -251,10 +273,15 @@ elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon)
}
/**
* XXX
* Add this radio to a group of other radio objects
*
* Radio objects work in groups. Each member should have a different integer
* value assigned. In order ro have them work as a group, they need to know
* about eacthother. This adds the given radio object to the group of which
* the group object indicated is a member.
*
* @param xxx XXX
* @return XXX
* @param obj The radio object
* @param group The object whose group the object is to join
*
* @ingroup Radio
*/
@ -274,10 +301,12 @@ elm_radio_group_add(Evas_Object *obj, Evas_Object *group)
}
/**
* XXX
* Set the integer value that this radio object represents
*
* @param xxx XXX
* @return XXX
* This sets the value of the radio.
*
* @param obj The radio object
* @param value The value to use if this radio object is selected
*
* @ingroup Radio
*/
@ -292,10 +321,13 @@ elm_radio_state_value_set(Evas_Object *obj, int value)
}
/**
* XXX
*
* @param xxx XXX
* @return XXX
* Set the value the radio
*
* This sets the value of the radio group and will also set the value if
* pointed to, to the value supplied, but will not call any callbacks.
*
* @param obj The radio object
* @param state The value to use for the group
*
* @ingroup Radio
*/
@ -312,10 +344,10 @@ elm_radio_value_set(Evas_Object *obj, int value)
}
/**
* XXX
* Get the state of the radio object
*
* @param xxx XXX
* @return XXX
* @param obj The radio object
* @return The integer state
*
* @ingroup Radio
*/
@ -327,10 +359,17 @@ elm_radio_value_get(const Evas_Object *obj)
}
/**
* XXX
* Set a convenience pointer to a integer to change
*
* @param xxx XXX
* @return XXX
* This sets a pointer to a integer, that, in addition to the radio objects
* state will also be modified directly. To stop setting the object pointed
* to simply use NULL as the valuep parameter. If valuep is not NULL, then
* when this is called, the radio objects state will also be modified to
* reflect the value of the integer valuep points to, just like calling
* elm_radio_value_set().
*
* @param obj The radio object
* @param valuep Pointer to the integer to modify
*
* @ingroup Radio
*/

View File

@ -298,7 +298,7 @@ elm_slider_add(Evas_Object *parent)
* Set the label of the slider
*
* @param obj The slider object
* @param label The UTF-8 Text string for the label
* @param label The text label string in UTF-8
*
* @ingroup Slider
*/
@ -325,10 +325,15 @@ elm_slider_label_set(Evas_Object *obj, const char *label)
}
/**
* XXX
*
* @param xxx XXX
* @return XXX
* Set the icon object of the slider object
*
* Once the icon object is set, it will become a child of the slider object and
* be deleted when the slider object is deleted. If another icon object is set
* then the previous one becomes orophaned and will no longer be deleted along
* with the slider.
*
* @param obj The slider object
* @param icon The icon object
*
* @ingroup Slider
*/
@ -351,10 +356,15 @@ elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon)
}
/**
* XXX
* Set the length of the dragable region of the slider
*
* @param xxx XXX
* @return XXX
* Thois sets the minimum width or height (depending on orientation) of the
* area of the slider that allows the slider to be dragged around. This in
* turn affects the objects minimum size (along with icon label and unit
* text). Note that this will also get multiplied by the scale factor.
*
* @param obj The slider object
* @param size The length of the slider area
*
* @ingroup Slider
*/
@ -373,10 +383,15 @@ elm_slider_span_size_set(Evas_Object *obj, Evas_Coord size)
}
/**
* XXX
* Set the format string of the unit area
*
* @param xxx XXX
* @return XXX
* If NULL, this disabls the unit area display. If not it sets the format
* string for the unit text. The unit text is provided a floating point
* value, so the unit text can display up to 1 floating point falue. Note that
* this is optional. Use a format string such as "%1.2f meters" for example.
*
* @param obj The slider object
* @param units The format string for the units display
*
* @ingroup Slider
*/
@ -402,10 +417,15 @@ elm_slider_unit_format_set(Evas_Object *obj, const char *units)
}
/**
* XXX
* Set the format string for the inducator area
*
* @param xxx XXX
* @return XXX
* The slider may also display a value (the value of the slider) somewhere
* (for example above the slider knob that is dragged around). This sets the
* format string for this. See elm_slider_unit_format_set() for more
* information on how this works.
*
* @param obj The slider object
* @param units The format string for the indicator display
*
* @ingroup Slider
*/
@ -420,10 +440,10 @@ elm_slider_indicator_format_set(Evas_Object *obj, const char *indicator)
}
/**
* XXX
* Set orientation of the slider
*
* @param xxx XXX
* @return XXX
* @param obj The slider object
* @param horizontal If set, the slider will be horizontal
*
* @ingroup Slider
*/
@ -438,10 +458,13 @@ elm_slider_horizontal_set(Evas_Object *obj, Evas_Bool horizontal)
}
/**
* XXX
* Set the minimum and maximum values for the slider
*
* @param xxx XXX
* @return XXX
* Maximum mut be greater than minimum.
*
* @param obj The slider object
* @param min The minimum value
* @param max The maximum value
*
* @ingroup Slider
*/
@ -460,10 +483,10 @@ elm_slider_min_max_set(Evas_Object *obj, double min, double max)
}
/**
* XXX
* Set the value the slider indicates
*
* @param xxx XXX
* @return XXX
* @param obj The slider object
* @param val The value (must be beween min and max for the slider)
*
* @ingroup Slider
*/
@ -481,10 +504,10 @@ elm_slider_value_set(Evas_Object *obj, double val)
}
/**
* XXX
* Get the value the slider has
*
* @param xxx XXX
* @return XXX
* @param obj The slider object
* @return The value of the slider
*
* @ingroup Slider
*/
@ -496,10 +519,15 @@ elm_slider_value_get(const Evas_Object *obj)
}
/**
* XXX
* Invert the slider display
*
* @param xxx XXX
* @return XXX
* Normally the slider will display and interpret values from low to high
* and when horizontal that is left to right. When vertical that is top
* to bottom. This inverts this (so from right to left or bottom to top) if
* inverted is set to 1.
*
* @param obj The slider object
* @param inverted The inverted flag. 1 == inverted, 0 == normal
*
* @ingroup Slider
*/