forked from enlightenment/efl
Elementary: Segment Control Documentation
SVN revision: 61872
This commit is contained in:
parent
62017b8695
commit
0e631b4a06
|
@ -28,6 +28,7 @@ WGT_PREVIEW = \
|
|||
layout:preview-00.png:widget_preview_layout:200:160 \
|
||||
conformant:preview-00.png:widget_preview_conformant:200:400 \
|
||||
list:preview-00.png:widget_preview_list:200:200 \
|
||||
segment_control:preview-00.png:widget_preview_segment_control:240:120 \
|
||||
index:preview-00.png:widget_preview_index:200:160 \
|
||||
frame:preview-00.png:widget_preview_frame:100:50 \
|
||||
label:preview-00.png:widget_preview_label:70:30 \
|
||||
|
|
|
@ -48,6 +48,8 @@
|
|||
* @ref list_example_02
|
||||
*
|
||||
* @ref list_example_03
|
||||
|
||||
* @ref segment_control_example
|
||||
*
|
||||
* @ref flipselector_example
|
||||
*
|
||||
|
@ -2213,6 +2215,72 @@
|
|||
* @example list_example_03.c
|
||||
*/
|
||||
|
||||
/**
|
||||
* @page segment_control_example Segment Control Example
|
||||
*
|
||||
* This code places a Elementary segment control widgets on a window,
|
||||
* to exemplify part of the widget's API.
|
||||
*
|
||||
* Let's start adding a segment control to our window:
|
||||
* @dontinclude segment_control_example.c
|
||||
* @skipline elm_segment_control_add
|
||||
* @until evas_object_show
|
||||
*
|
||||
* Now will add an item only with label:
|
||||
* @skipline item_add
|
||||
*
|
||||
* Really simple. To add an item with only an icon, the icon needs to be created
|
||||
* first, them added with this same function:
|
||||
* @skipline icon_add
|
||||
* @until item_add
|
||||
*
|
||||
* If an item with label and icon is required, it can be done as well. In this
|
||||
* case, instead of a label (or icon) centered, the item will display an icon
|
||||
* at left and the label at right:
|
||||
* @skipline icon_add
|
||||
* @until item_add
|
||||
*
|
||||
* But, if you need to add some items that can have or not a label, but
|
||||
* want that all of them looks the same way, with icon at left, just add
|
||||
* an empty string label. It's done on our example to ilustrate that:
|
||||
* @skipline icon_add
|
||||
* @until item_add
|
||||
*
|
||||
* So far, all the item were added to the last position of the widget,
|
||||
* but if something different is required, it can be done using another
|
||||
* insertion function. Let's suppose we want to put an item just before
|
||||
* the last item:
|
||||
* @skipline count
|
||||
* @until insert_at
|
||||
*
|
||||
* There are two ways to delete items. Using the item handle, like:
|
||||
* @skipline insert_at
|
||||
* @until del
|
||||
*
|
||||
* Or using item's index:
|
||||
* @skipline insert_at
|
||||
* @until del_at
|
||||
*
|
||||
* To set properties of an item already added to the widget, you just need
|
||||
* to get the item and set icon or label, as the following code shows:
|
||||
* @skipline item_get
|
||||
* @until label_set
|
||||
*
|
||||
* Finally, it's possible to select an item from the code, and also get
|
||||
* the selected item. We will select the item at the center of the widget
|
||||
* and print its position.
|
||||
* @skipline count_get
|
||||
* @until printf
|
||||
*
|
||||
* See the full @ref segment_control_example.c "example", whose window should
|
||||
* look like this picture:
|
||||
*
|
||||
* @image html screenshots/segment_control_example.png
|
||||
* @image latex screenshots/segment_control_example.eps width=\textwidth
|
||||
*
|
||||
* @example segment_control_example.c
|
||||
*/
|
||||
|
||||
/**
|
||||
* @page flipselector_example Flip selector widget example
|
||||
*
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 9.5 KiB |
|
@ -165,6 +165,11 @@
|
|||
* @image latex img/widget/radio/preview-00.eps
|
||||
* @li @ref Route
|
||||
* @li @ref SegmentControl
|
||||
*
|
||||
* @image html img/widget/segment_control/preview-00.png
|
||||
* @image latex img/widget/segment_control/preview-00.eps
|
||||
* @image html img/segment_control.png
|
||||
* @image latex img/segment_control.eps
|
||||
* @li @ref Separator
|
||||
*
|
||||
* @image html img/widget/separator/preview-00.png
|
||||
|
|
|
@ -42,6 +42,7 @@ widget_preview_fileselector_button3 \
|
|||
widget_preview_colorselector \
|
||||
widget_preview_layout \
|
||||
widget_preview_list \
|
||||
widget_preview_segment_control \
|
||||
widget_preview_conformant \
|
||||
widget_preview_index \
|
||||
widget_preview_clock \
|
||||
|
@ -137,6 +138,7 @@ EXTRA_DIST = \
|
|||
widget_preview_label.c \
|
||||
widget_preview_layout.c \
|
||||
widget_preview_list.c \
|
||||
widget_preview_segment_control.c \
|
||||
widget_preview_pager.c \
|
||||
widget_preview_separator.c \
|
||||
widget_preview_radio.c \
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
#include "widget_preview_tmpl_head.c"
|
||||
|
||||
Evas_Object *o = elm_segment_control_add(win);
|
||||
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_win_resize_object_add(win, o);
|
||||
evas_object_show(o);
|
||||
|
||||
Evas_Object *ic = elm_icon_add(win);
|
||||
elm_icon_standard_set(ic, "home");
|
||||
elm_segment_control_item_add(o, ic, "Home");
|
||||
|
||||
ic = elm_icon_add(win);
|
||||
elm_icon_standard_set(ic, "folder");
|
||||
elm_segment_control_item_add(o, ic, "Downloads");
|
||||
|
||||
ic = elm_icon_add(win);
|
||||
elm_icon_standard_set(ic, "close");
|
||||
elm_segment_control_item_add(o, ic, "Close");
|
||||
|
||||
|
||||
#include "widget_preview_tmpl_foot.c"
|
|
@ -71,6 +71,7 @@ SRCS = \
|
|||
list_example_01.c \
|
||||
list_example_02.c \
|
||||
list_example_03.c \
|
||||
segment_control_example.c \
|
||||
flipselector_example.c \
|
||||
fileselector_example.c \
|
||||
fileselector_button_example.c \
|
||||
|
@ -166,6 +167,7 @@ pkglib_PROGRAMS += \
|
|||
list_example_01 \
|
||||
list_example_02 \
|
||||
list_example_03 \
|
||||
segment_control_example \
|
||||
slider_example \
|
||||
panes_example \
|
||||
ctxpopup_example_01 \
|
||||
|
@ -236,6 +238,7 @@ SCREENSHOTS = \
|
|||
list_example_01:list_example_01.png:0.0 \
|
||||
list_example_02:list_example_02.png:0.0 \
|
||||
list_example_03:list_example_03.png:0.0 \
|
||||
segment_control_example:segment_control_example.png:0.0 \
|
||||
flipselector_example:flipselector_example.png:0.0 \
|
||||
fileselector_example:fileselector_example.png:0.0 \
|
||||
index_example_02:index_example_03.png:0.3 \
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
/**
|
||||
* Simple Elementary's <b>segment_control widget</b> example, illustrating its
|
||||
* usage and API.
|
||||
*
|
||||
* See stdout/stderr for output. Compile with:
|
||||
*
|
||||
* @verbatim
|
||||
* gcc -g `pkg-config --cflags --libs elementary` segment_control_example.c -o segment_control_example
|
||||
* @endverbatim
|
||||
*/
|
||||
|
||||
#include <Elementary.h>
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "elementary_config.h"
|
||||
#else
|
||||
# define __UNUSED__
|
||||
#endif
|
||||
|
||||
static void
|
||||
_on_done(void *data __UNUSED__,
|
||||
Evas_Object *obj __UNUSED__,
|
||||
void *event_info __UNUSED__)
|
||||
{
|
||||
elm_exit();
|
||||
}
|
||||
|
||||
int
|
||||
elm_main(int argc __UNUSED__, char **argv __UNUSED__)
|
||||
{
|
||||
Evas_Object *win, *bg, *sc, *ic;
|
||||
Elm_Segment_Item *it;
|
||||
int count, index;
|
||||
|
||||
win = elm_win_add(NULL, "segment_control", ELM_WIN_BASIC);
|
||||
elm_win_title_set(win, "Segment Control Example");
|
||||
evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
|
||||
|
||||
bg = elm_bg_add(win);
|
||||
elm_win_resize_object_add(win, bg);
|
||||
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_show(bg);
|
||||
|
||||
sc = elm_segment_control_add(win);
|
||||
evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_win_resize_object_add(win, sc);
|
||||
evas_object_show(sc);
|
||||
|
||||
elm_segment_control_item_add(sc, NULL, "only text");
|
||||
|
||||
ic = elm_icon_add(win);
|
||||
elm_icon_standard_set(ic, "close");
|
||||
elm_segment_control_item_add(sc, ic, NULL);
|
||||
|
||||
ic = elm_icon_add(win);
|
||||
elm_icon_standard_set(ic, "home");
|
||||
elm_segment_control_item_add(sc, ic, "Home");
|
||||
|
||||
ic = elm_icon_add(win);
|
||||
elm_icon_standard_set(ic, "close");
|
||||
elm_segment_control_item_add(sc, ic, "");
|
||||
|
||||
count = elm_segment_control_item_count_get(sc);
|
||||
elm_segment_control_item_insert_at(sc, NULL, "Inserted at", count - 1);
|
||||
|
||||
it = elm_segment_control_item_insert_at(sc, NULL, "To be deleted", 2);
|
||||
elm_segment_control_item_del(it);
|
||||
|
||||
elm_segment_control_item_insert_at(sc, NULL, "To be deleted", 2);
|
||||
elm_segment_control_item_del_at(sc, 2);
|
||||
|
||||
it = elm_segment_control_item_get(sc, 0);
|
||||
elm_segment_control_item_label_set(it, "Only Text");
|
||||
|
||||
count = elm_segment_control_item_count_get(sc);
|
||||
it = elm_segment_control_item_get(sc, count / 2);
|
||||
elm_segment_control_item_selected_set(it, EINA_TRUE);
|
||||
it = elm_segment_control_item_selected_get(sc);
|
||||
index = elm_segment_control_item_index_get(it);
|
||||
printf("Item selected: %i\n", index);
|
||||
|
||||
evas_object_show(win);
|
||||
|
||||
elm_run();
|
||||
return 0;
|
||||
}
|
||||
ELM_MAIN()
|
|
@ -19888,29 +19888,340 @@ extern "C" {
|
|||
EAPI const Elm_Store *elm_store_item_store_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
|
||||
EAPI const Elm_Genlist_Item *elm_store_item_genlist_item_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
|
||||
|
||||
/* SegmentControl */
|
||||
typedef struct _Elm_Segment_Item Elm_Segment_Item;
|
||||
EAPI Evas_Object *elm_segment_control_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
|
||||
EAPI Elm_Segment_Item *elm_segment_control_item_add(Evas_Object *obj, Evas_Object *icon, const char *label) EINA_ARG_NONNULL(1);
|
||||
EAPI Elm_Segment_Item *elm_segment_control_item_insert_at(Evas_Object *obj, Evas_Object *icon, const char *label, int index) EINA_ARG_NONNULL(1);
|
||||
EAPI void elm_segment_control_item_del(Elm_Segment_Item *it) EINA_ARG_NONNULL(1);
|
||||
EAPI void elm_segment_control_item_del_at(Evas_Object *obj, int index) EINA_ARG_NONNULL(1);
|
||||
EAPI int elm_segment_control_item_count_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||
EAPI Elm_Segment_Item *elm_segment_control_item_get(const Evas_Object *obj, int index) EINA_ARG_NONNULL(1);
|
||||
EAPI const char *elm_segment_control_item_label_get(const Evas_Object *obj, int index) EINA_ARG_NONNULL(1);
|
||||
EAPI void elm_segment_control_item_label_set(Elm_Segment_Item* it, const char* label) EINA_ARG_NONNULL(1);
|
||||
EAPI Evas_Object *elm_segment_control_item_icon_get(const Evas_Object *obj, int index) EINA_ARG_NONNULL(1);
|
||||
EAPI void elm_segment_control_item_icon_set(Elm_Segment_Item *it, Evas_Object *icon) EINA_ARG_NONNULL(1);
|
||||
EAPI int elm_segment_control_item_index_get(const Elm_Segment_Item *it) EINA_ARG_NONNULL(1);
|
||||
EAPI Evas_Object *elm_segment_control_item_object_get(const Elm_Segment_Item *it) EINA_ARG_NONNULL(1);
|
||||
EAPI Elm_Segment_Item *elm_segment_control_item_selected_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||
EAPI void elm_segment_control_item_selected_set(Elm_Segment_Item *it, Eina_Bool select) EINA_ARG_NONNULL(1);
|
||||
/* smart callbacks called:
|
||||
* "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 index.
|
||||
/**
|
||||
* @defgroup SegmentControl SegmentControl
|
||||
* @ingroup Elementary
|
||||
*
|
||||
* @image html img/widget/segment_control/preview-00.png
|
||||
* @image latex img/widget/segment_control/preview-00.eps width=\textwidth
|
||||
*
|
||||
* @image html img/segment_control.png
|
||||
* @image latex img/segment_control.eps width=\textwidth
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Smart callbacks one can listen to:
|
||||
* - "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 index.
|
||||
*
|
||||
* Available styles for it:
|
||||
* - @c "default"
|
||||
*
|
||||
* Here is an example on its usage:
|
||||
* @li @ref segment_control_example
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup SegmentControl
|
||||
* @{
|
||||
*/
|
||||
|
||||
typedef struct _Elm_Segment_Item Elm_Segment_Item; /**< Item handle for a segment control widget. */
|
||||
|
||||
/**
|
||||
* Add a new segment control widget to the given parent Elementary
|
||||
* (container) object.
|
||||
*
|
||||
* @param parent The parent object.
|
||||
* @return a new segment control widget handle or @c NULL, on errors.
|
||||
*
|
||||
* This function inserts a new segment control widget on the canvas.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Evas_Object *elm_segment_control_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Append a new item to the segment control object.
|
||||
*
|
||||
* @param obj The segment control object.
|
||||
* @param icon The icon object to use for the left side of the item. An
|
||||
* icon can be any Evas object, but usually it is an icon created
|
||||
* with elm_icon_add().
|
||||
* @param label The label of the item.
|
||||
* Note that, NULL is different from empty string "".
|
||||
* @return The created item or @c NULL upon failure.
|
||||
*
|
||||
* A new item will be created and appended to the segment control, i.e., will
|
||||
* be set as @b last item.
|
||||
*
|
||||
* If it should be inserted at another position,
|
||||
* elm_segment_control_item_insert_at() should be used instead.
|
||||
*
|
||||
* Items created with this function can be deleted with function
|
||||
* elm_segment_control_item_del() or elm_segment_control_item_del_at().
|
||||
*
|
||||
* @note @p label set to @c NULL is different from empty string "".
|
||||
* If an item
|
||||
* only has icon, it will be displayed bigger and centered. If it has
|
||||
* icon and label, even that an empty string, icon will be smaller and
|
||||
* positioned at left.
|
||||
*
|
||||
* Simple example:
|
||||
* @code
|
||||
* sc = elm_segment_control_add(win);
|
||||
* ic = elm_icon_add(win);
|
||||
* elm_icon_file_set(ic, "path/to/image", NULL);
|
||||
* elm_icon_scale_set(ic, EINA_TRUE, EINA_TRUE);
|
||||
* elm_segment_control_item_add(sc, ic, "label");
|
||||
* evas_object_show(sc);
|
||||
* @endcode
|
||||
*
|
||||
* @see elm_segment_control_item_insert_at()
|
||||
* @see elm_segment_control_item_del()
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Elm_Segment_Item *elm_segment_control_item_add(Evas_Object *obj, Evas_Object *icon, const char *label) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Insert a new item to the segment control object at specified position.
|
||||
*
|
||||
* @param obj The segment control object.
|
||||
* @param icon The icon object to use for the left side of the item. An
|
||||
* icon can be any Evas object, but usually it is an icon created
|
||||
* with elm_icon_add().
|
||||
* @param label The label of the item.
|
||||
* @param index Item position. Value should be between 0 and items count.
|
||||
* @return The created item or @c NULL upon failure.
|
||||
|
||||
* Index values must be between @c 0, when item will be prepended to
|
||||
* segment control, and items count, that can be get with
|
||||
* elm_segment_control_item_count_get(), case when item will be appended
|
||||
* to segment control, just like elm_segment_control_item_add().
|
||||
*
|
||||
* Items created with this function can be deleted with function
|
||||
* elm_segment_control_item_del() or elm_segment_control_item_del_at().
|
||||
*
|
||||
* @note @p label set to @c NULL is different from empty string "".
|
||||
* If an item
|
||||
* only has icon, it will be displayed bigger and centered. If it has
|
||||
* icon and label, even that an empty string, icon will be smaller and
|
||||
* positioned at left.
|
||||
*
|
||||
* @see elm_segment_control_item_add()
|
||||
* @see elm_segment_control_count_get()
|
||||
* @see elm_segment_control_item_del()
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Elm_Segment_Item *elm_segment_control_item_insert_at(Evas_Object *obj, Evas_Object *icon, const char *label, int index) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Remove a segment control item from its parent, deleting it.
|
||||
*
|
||||
* @param it The item to be removed.
|
||||
*
|
||||
* Items can be added with elm_segment_control_item_add() or
|
||||
* elm_segment_control_item_insert_at().
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void elm_segment_control_item_del(Elm_Segment_Item *it) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Remove a segment control item at given index from its parent,
|
||||
* deleting it.
|
||||
*
|
||||
* @param obj The segment control object.
|
||||
* @param index The position of the segment control item to be deleted.
|
||||
*
|
||||
* Items can be added with elm_segment_control_item_add() or
|
||||
* elm_segment_control_item_insert_at().
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void elm_segment_control_item_del_at(Evas_Object *obj, int index) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the Segment items count from segment control.
|
||||
*
|
||||
* @param obj The segment control object.
|
||||
* @return Segment items count.
|
||||
*
|
||||
* It will just return the number of items added to segment control @p obj.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI int elm_segment_control_item_count_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the item placed at specified index.
|
||||
*
|
||||
* @param obj The segment control object.
|
||||
* @param index The index of the segment item.
|
||||
* @return The segment control item or @c NULL on failure.
|
||||
*
|
||||
* Index is the position of an item in segment control widget. Its
|
||||
* range is from @c 0 to <tt> count - 1 </tt>.
|
||||
* Count is the number of items, that can be get with
|
||||
* elm_segment_control_item_count_get().
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Elm_Segment_Item *elm_segment_control_item_get(const Evas_Object *obj, int index) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the label of item.
|
||||
*
|
||||
* @param obj The segment control object.
|
||||
* @param index The index of the segment item.
|
||||
* @return The label of the item at @p index.
|
||||
*
|
||||
* The return value is a pointer to the label associated to the item when
|
||||
* it was created, with function elm_segment_control_item_add(), or later
|
||||
* with function elm_segment_control_item_label_set. If no label
|
||||
* was passed as argument, it will return @c NULL.
|
||||
*
|
||||
* @see elm_segment_control_item_label_set() for more details.
|
||||
* @see elm_segment_control_item_add()
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI const char *elm_segment_control_item_label_get(const Evas_Object *obj, int index) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Set the label of item.
|
||||
*
|
||||
* @param it The item of segment control.
|
||||
* @param text The label of item.
|
||||
*
|
||||
* The label to be displayed by the item.
|
||||
* Label will be at right of the icon (if set).
|
||||
*
|
||||
* If a label was passed as argument on item creation, with function
|
||||
* elm_control_segment_item_add(), it will be already
|
||||
* displayed by the item.
|
||||
*
|
||||
* @see elm_segment_control_item_label_get()
|
||||
* @see elm_segment_control_item_add()
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void elm_segment_control_item_label_set(Elm_Segment_Item* it, const char* label) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the icon associated to the item.
|
||||
*
|
||||
* @param obj The segment control object.
|
||||
* @param index The index of the segment item.
|
||||
* @return The left side icon associated to the item at @p index.
|
||||
*
|
||||
* The return value is a pointer to the icon associated to the item when
|
||||
* it was created, with function elm_segment_control_item_add(), or later
|
||||
* with function elm_segment_control_item_icon_set(). If no icon
|
||||
* was passed as argument, it will return @c NULL.
|
||||
*
|
||||
* @see elm_segment_control_item_add()
|
||||
* @see elm_segment_control_item_icon_set()
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Evas_Object *elm_segment_control_item_icon_get(const Evas_Object *obj, int index) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Set the icon associated to the item.
|
||||
*
|
||||
* @param it The segment control item.
|
||||
* @param icon The icon object to associate with @p it.
|
||||
*
|
||||
* The icon object to use at left side of the item. An
|
||||
* icon can be any Evas object, but usually it is an icon created
|
||||
* with elm_icon_add().
|
||||
*
|
||||
* Once the icon object is set, a previously set one will be deleted.
|
||||
* @warning Setting the same icon for two items will cause the icon to
|
||||
* dissapear from the first item.
|
||||
*
|
||||
* If an icon was passed as argument on item creation, with function
|
||||
* elm_segment_control_item_add(), it will be already
|
||||
* associated to the item.
|
||||
*
|
||||
* @see elm_segment_control_item_add()
|
||||
* @see elm_segment_control_item_icon_get()
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void elm_segment_control_item_icon_set(Elm_Segment_Item *it, Evas_Object *icon) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the index of an item.
|
||||
*
|
||||
* @param it The segment control item.
|
||||
* @return The position of item in segment control widget.
|
||||
*
|
||||
* Index is the position of an item in segment control widget. Its
|
||||
* range is from @c 0 to <tt> count - 1 </tt>.
|
||||
* Count is the number of items, that can be get with
|
||||
* elm_segment_control_item_count_get().
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI int elm_segment_control_item_index_get(const Elm_Segment_Item *it) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the base object of the item.
|
||||
*
|
||||
* @param it The segment control item.
|
||||
* @return The base object associated with @p it.
|
||||
*
|
||||
* Base object is the @c Evas_Object that represents that item.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Evas_Object *elm_segment_control_item_object_get(const Elm_Segment_Item *it) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the selected item.
|
||||
*
|
||||
* @param obj The segment control object.
|
||||
* @return The selected item or @c NULL if none of segment items is
|
||||
* selected.
|
||||
*
|
||||
* The selected item can be unselected with function
|
||||
* elm_segment_control_item_selected_set().
|
||||
*
|
||||
* The selected item always will be highlighted on segment control.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Elm_Segment_Item *elm_segment_control_item_selected_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Set the selected state of an item.
|
||||
*
|
||||
* @param it The segment control item
|
||||
* @param select The selected state
|
||||
*
|
||||
* This sets the selected state of the given item @p it.
|
||||
* @c EINA_TRUE for selected, @c EINA_FALSE for not selected.
|
||||
*
|
||||
* If a new item is selected the previosly selected will be unselected.
|
||||
* Previoulsy selected item can be get with function
|
||||
* elm_segment_control_item_selected_get().
|
||||
*
|
||||
* The selected item always will be highlighted on segment control.
|
||||
*
|
||||
* @see elm_segment_control_item_selected_get()
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void elm_segment_control_item_selected_set(Elm_Segment_Item *it, Eina_Bool select) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
EAPI Evas_Object *elm_grid_add(Evas_Object *parent);
|
||||
EAPI void elm_grid_size_set(Evas_Object *obj, int w, int h);
|
||||
EAPI void elm_grid_size_get(Evas_Object *obj, int *w, int *h);
|
||||
|
|
|
@ -1,23 +1,6 @@
|
|||
#include <Elementary.h>
|
||||
#include "elm_priv.h"
|
||||
|
||||
/**
|
||||
* @defgroup SegmentControl SegmentControl
|
||||
*
|
||||
* SegmentControl 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 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.
|
||||
*
|
||||
* Signals that you can add callbacks for are:
|
||||
*
|
||||
* "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 index.
|
||||
*/
|
||||
typedef struct _Widget_Data Widget_Data;
|
||||
|
||||
struct _Widget_Data
|
||||
|
@ -491,13 +474,6 @@ _item_new(Evas_Object *obj, Evas_Object *icon, const char *label)
|
|||
return it;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create new SegmentControl.
|
||||
* @param [in] parent The parent object
|
||||
* @return The new object or NULL if it cannot be created
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Evas_Object *
|
||||
elm_segment_control_add(Evas_Object *parent)
|
||||
{
|
||||
|
@ -538,16 +514,6 @@ elm_segment_control_add(Evas_Object *parent)
|
|||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add new segment item to SegmentControl.
|
||||
* @param [in] obj The SegmentControl object
|
||||
* @param [in] icon Any Objects like icon, Label, layout etc
|
||||
* @param [in] label The label for added segment item.
|
||||
* Note that, NULL is different from empty string "".
|
||||
* @return The new segment item or NULL if it cannot be created
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Elm_Segment_Item *
|
||||
elm_segment_control_item_add(Evas_Object *obj, Evas_Object *icon,
|
||||
const char *label)
|
||||
|
@ -568,18 +534,6 @@ elm_segment_control_item_add(Evas_Object *obj, Evas_Object *icon,
|
|||
return it;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert a new segment item to SegmentControl.
|
||||
* @param [in] obj The SegmentControl object
|
||||
* @param [in] icon Any Objects like icon, Label, layout etc
|
||||
* @param [in] label The label for added segment item.
|
||||
* Note that, NULL is different from empty string "".
|
||||
* @param [in] index Segment item location. Value should be between 0 and
|
||||
* Existing total item count( @see elm_segment_control_item_count_get() )
|
||||
* @return The new segment item or NULL if it cannot be created
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Elm_Segment_Item *
|
||||
elm_segment_control_item_insert_at(Evas_Object *obj, Evas_Object *icon,
|
||||
const char *label, int idx)
|
||||
|
@ -605,13 +559,6 @@ elm_segment_control_item_insert_at(Evas_Object *obj, Evas_Object *icon,
|
|||
return it;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a segment item from SegmentControl
|
||||
* @param [in] obj The SegmentControl object
|
||||
* @param [in] it The segment item to be deleted
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void
|
||||
elm_segment_control_item_del(Elm_Segment_Item *it)
|
||||
{
|
||||
|
@ -625,13 +572,6 @@ elm_segment_control_item_del(Elm_Segment_Item *it)
|
|||
_update_list(wd);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a segment item of given index from SegmentControl
|
||||
* @param [in] obj The SegmentControl object
|
||||
* @param [in] index The position at which segment item to be deleted.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void
|
||||
elm_segment_control_item_del_at(Evas_Object *obj, int idx)
|
||||
{
|
||||
|
@ -648,14 +588,6 @@ elm_segment_control_item_del_at(Evas_Object *obj, int idx)
|
|||
_update_list(wd);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the label of a segment item.
|
||||
* @param [in] obj The SegmentControl object
|
||||
* @param [in] index The index of the segment item
|
||||
* @return The label of the segment item
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI const char*
|
||||
elm_segment_control_item_label_get(const Evas_Object *obj, int idx)
|
||||
{
|
||||
|
@ -668,13 +600,6 @@ elm_segment_control_item_label_get(const Evas_Object *obj, int idx)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the label of a segment item.
|
||||
* @param [in] it The SegmentControl Item
|
||||
* @param [in] label New label text.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void
|
||||
elm_segment_control_item_label_set(Elm_Segment_Item* it, const char* label)
|
||||
{
|
||||
|
@ -694,14 +619,6 @@ elm_segment_control_item_label_set(Elm_Segment_Item* it, const char* label)
|
|||
edje_object_part_text_set(it->base.view, "elm.text", it->label);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the icon of a segment item of SegmentControl
|
||||
* @param [in] obj The SegmentControl object
|
||||
* @param [in] index The index of the segment item
|
||||
* @return The icon object.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Evas_Object *
|
||||
elm_segment_control_item_icon_get(const Evas_Object *obj, int idx)
|
||||
{
|
||||
|
@ -714,13 +631,6 @@ elm_segment_control_item_icon_get(const Evas_Object *obj, int idx)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the Icon to the segment item
|
||||
* @param [in] it The SegmentControl Item
|
||||
* @param [in] icon Objects like Layout, Icon, Label etc...
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void
|
||||
elm_segment_control_item_icon_set(Elm_Segment_Item *it, Evas_Object *icon)
|
||||
{
|
||||
|
@ -745,13 +655,6 @@ elm_segment_control_item_icon_set(Elm_Segment_Item *it, Evas_Object *icon)
|
|||
edje_object_signal_emit(it->base.view, "elm,state,icon,hidden", "elm");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Segment items count from SegmentControl
|
||||
* @param [in] obj The SegmentControl object
|
||||
* @return Segment items count.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI int
|
||||
elm_segment_control_item_count_get(const Evas_Object *obj)
|
||||
{
|
||||
|
@ -764,13 +667,6 @@ elm_segment_control_item_count_get(const Evas_Object *obj)
|
|||
return eina_list_count(wd->seg_items);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the base object of segment item.
|
||||
* @param [in] it The Segment item
|
||||
* @return obj The base object of the segment item.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Evas_Object*
|
||||
elm_segment_control_item_object_get(const Elm_Segment_Item *it)
|
||||
{
|
||||
|
@ -779,13 +675,6 @@ elm_segment_control_item_object_get(const Elm_Segment_Item *it)
|
|||
return it->base.view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the selected segment item in the SegmentControl
|
||||
* @param [in] obj The SegmentControl object
|
||||
* @return Selected Segment Item. NULL if none of segment item is selected.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Elm_Segment_Item*
|
||||
elm_segment_control_item_selected_get(const Evas_Object *obj)
|
||||
{
|
||||
|
@ -798,14 +687,6 @@ elm_segment_control_item_selected_get(const Evas_Object *obj)
|
|||
return wd->selected_item;
|
||||
}
|
||||
|
||||
/**
|
||||
* Select/unselect a particular segment item of SegmentControl
|
||||
* @param [in] it The Segment item that is to be selected or unselected.
|
||||
* @param [in] select Passing EINA_TRUE will select the segment item and
|
||||
* EINA_FALSE will unselect.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI void
|
||||
elm_segment_control_item_selected_set(Elm_Segment_Item *it, Eina_Bool selected)
|
||||
{
|
||||
|
@ -829,14 +710,6 @@ elm_segment_control_item_selected_set(Elm_Segment_Item *it, Eina_Bool selected)
|
|||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Segment Item from the specified Index.
|
||||
* @param [in] obj The Segment Control object.
|
||||
* @param [in] index The index of the segment item.
|
||||
* @return The Segment item.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI Elm_Segment_Item *
|
||||
elm_segment_control_item_get(const Evas_Object *obj, int idx)
|
||||
{
|
||||
|
@ -848,13 +721,6 @@ elm_segment_control_item_get(const Evas_Object *obj, int idx)
|
|||
return it;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the index of a Segment item in the SegmentControl
|
||||
* @param [in] it The Segment Item.
|
||||
* @return Segment Item index.
|
||||
*
|
||||
* @ingroup SegmentControl
|
||||
*/
|
||||
EAPI int
|
||||
elm_segment_control_item_index_get(const Elm_Segment_Item *it)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue