2019-03-05 14:00:37 -08:00
|
|
|
#ifndef _ELM_SEGMENT_CONTROL_ITEM_EO_H_
|
|
|
|
#define _ELM_SEGMENT_CONTROL_ITEM_EO_H_
|
|
|
|
|
|
|
|
#ifndef _ELM_SEGMENT_CONTROL_ITEM_EO_CLASS_TYPE
|
|
|
|
#define _ELM_SEGMENT_CONTROL_ITEM_EO_CLASS_TYPE
|
|
|
|
|
|
|
|
typedef Eo Elm_Segment_Control_Item;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef _ELM_SEGMENT_CONTROL_ITEM_EO_TYPES
|
|
|
|
#define _ELM_SEGMENT_CONTROL_ITEM_EO_TYPES
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
/** Elementary segment control item class
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Segment_Control_Item
|
|
|
|
*/
|
|
|
|
#define ELM_SEGMENT_CONTROL_ITEM_CLASS elm_segment_control_item_class_get()
|
|
|
|
|
efl: make all _class_get() functions const
please note, not the return type, but the function.
When appending __attribute__((const)) to a function, the compiler is
told that its enough to call this function once in a function.
This is quite often happening when we are efl_data_scope_get and
efl_super in a function that is different from a implemented function.
The compiler now starts to remove the calls that aggressivly that we
need to ensure that these calls are not removed, which means, the static
function calls, and the eo init are now checking the return value of
these functions, to ensure that they are called.
Please note that you now have to be carefull when your app calls
eo_shutdown, if it does so, you *must* call it at the end of a function,
or never call class_get after that anymore.
Overall this improves elm test runs 0.1s which is fair i guess, the main
thing that is faster is textrendering, where is also the point where
this is the most beneficial.
Please note, this replaces 42 occurences of double _class_get() ... THAT
is a sign!
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D12057
2020-07-16 03:39:23 -07:00
|
|
|
EWAPI const Efl_Class *elm_segment_control_item_class_get(void) EINA_CONST;
|
2019-03-05 14:00:37 -08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Get the index of an item.
|
|
|
|
*
|
|
|
|
* Index is the position of an item in segment control widget. Its range is
|
|
|
|
* from 0 to (count - 1). Count is the number of items, that can be get with
|
|
|
|
* elm_segment_control_item_count_get()
|
|
|
|
*
|
|
|
|
* @param[in] obj The object.
|
|
|
|
*
|
|
|
|
* @return The position of item in segment control widget.
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Segment_Control_Item
|
|
|
|
*/
|
|
|
|
EOAPI int elm_obj_segment_control_item_index_get(const Eo *obj);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Get the real Evas(Edje) object created to implement the view of a
|
|
|
|
* given segment_control item.
|
|
|
|
*
|
|
|
|
* Base object is the @ref Efl_Canvas_Object that represents that item.
|
|
|
|
*
|
|
|
|
* @param[in] obj The object.
|
|
|
|
*
|
|
|
|
* @return The base Edje object associated with @c it
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Segment_Control_Item
|
|
|
|
*/
|
|
|
|
EOAPI Efl_Canvas_Object *elm_obj_segment_control_item_object_get(const Eo *obj);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Set the selected state of an item.
|
|
|
|
*
|
|
|
|
* This sets the selected state of the given item @c it. @c true for selected,
|
|
|
|
* @c false for not selected.
|
|
|
|
*
|
|
|
|
* If a new item is selected the previously selected will be unselected.
|
|
|
|
* Selected item can be got with function
|
|
|
|
* elm_segment_control_item_selected_get().
|
|
|
|
*
|
|
|
|
* The selected item always will be highlighted on segment control.
|
|
|
|
*
|
|
|
|
* @param[in] obj The object.
|
|
|
|
* @param[in] selected The selected state.
|
|
|
|
*
|
|
|
|
* @ingroup Elm_Segment_Control_Item
|
|
|
|
*/
|
|
|
|
EOAPI void elm_obj_segment_control_item_selected_set(Eo *obj, Eina_Bool selected);
|
|
|
|
|
|
|
|
#endif
|