diff options
Diffstat (limited to 'src/lib/elementary/elm_spinner_eo.legacy.h')
-rw-r--r-- | src/lib/elementary/elm_spinner_eo.legacy.h | 295 |
1 files changed, 295 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_spinner_eo.legacy.h b/src/lib/elementary/elm_spinner_eo.legacy.h new file mode 100644 index 0000000000..798ec39d37 --- /dev/null +++ b/src/lib/elementary/elm_spinner_eo.legacy.h @@ -0,0 +1,295 @@ +#ifndef _ELM_SPINNER_EO_LEGACY_H_ +#define _ELM_SPINNER_EO_LEGACY_H_ + +#ifndef _ELM_SPINNER_EO_CLASS_TYPE +#define _ELM_SPINNER_EO_CLASS_TYPE + +typedef Eo Elm_Spinner; + +#endif + +#ifndef _ELM_SPINNER_EO_TYPES +#define _ELM_SPINNER_EO_TYPES + + +#endif + +/** + * @brief Control whether the spinner should wrap when it reaches its minimum + * or maximum value. + * + * Disabled by default. If disabled, when the user tries to increment the + * value, but displayed value plus step value is bigger than maximum value, the + * new value will be the maximum value. The same happens when the user tries to + * decrement it, but the value less step is less than minimum value. In this + * case, the new displayed value will be the minimum value. + * + * When wrap is enabled, when the user tries to increment the value, but + * displayed value plus step value is bigger than maximum value, the new value + * will be the minimum value. When the the user tries to decrement it, but the + * value less step is less than minimum value, the new displayed value will be + * the maximum value. + * + * E.g.: @c min = 10 @c max = 50 @c step = 20 @c displayed = 20 + * + * When the user decrement value (using left or bottom arrow), it will displays + * $50. + * + * @param[in] obj The object. + * @param[in] wrap @c true to enable wrap or @c false to disable it. + * + * @ingroup Elm_Spinner_Group + */ +EAPI void elm_spinner_wrap_set(Elm_Spinner *obj, Eina_Bool wrap); + +/** + * @brief Control whether the spinner should wrap when it reaches its minimum + * or maximum value. + * + * Disabled by default. If disabled, when the user tries to increment the + * value, but displayed value plus step value is bigger than maximum value, the + * new value will be the maximum value. The same happens when the user tries to + * decrement it, but the value less step is less than minimum value. In this + * case, the new displayed value will be the minimum value. + * + * When wrap is enabled, when the user tries to increment the value, but + * displayed value plus step value is bigger than maximum value, the new value + * will be the minimum value. When the the user tries to decrement it, but the + * value less step is less than minimum value, the new displayed value will be + * the maximum value. + * + * E.g.: @c min = 10 @c max = 50 @c step = 20 @c displayed = 20 + * + * When the user decrement value (using left or bottom arrow), it will displays + * $50. + * + * @param[in] obj The object. + * + * @return @c true to enable wrap or @c false to disable it. + * + * @ingroup Elm_Spinner_Group + */ +EAPI Eina_Bool elm_spinner_wrap_get(const Elm_Spinner *obj); + +/** + * @brief Control the interval on time updates for an user mouse button hold on + * spinner widgets' arrows. + * + * This interval value is decreased while the user holds the mouse pointer + * either incrementing or decrementing spinner's value. + * + * This helps the user to get to a given value distant from the current one + * easier/faster, as it will start to change quicker and quicker on mouse + * button holds. + * + * The calculation for the next change interval value, starting from the one + * set with this call, is the previous interval divided by $1.05, so it + * decreases a little bit. + * + * The default starting interval value for automatic changes is $0.85 seconds. + * + * @param[in] obj The object. + * @param[in] interval The (first) interval value in seconds. + * + * @ingroup Elm_Spinner_Group + */ +EAPI void elm_spinner_interval_set(Elm_Spinner *obj, double interval); + +/** + * @brief Control the interval on time updates for an user mouse button hold on + * spinner widgets' arrows. + * + * This interval value is decreased while the user holds the mouse pointer + * either incrementing or decrementing spinner's value. + * + * This helps the user to get to a given value distant from the current one + * easier/faster, as it will start to change quicker and quicker on mouse + * button holds. + * + * The calculation for the next change interval value, starting from the one + * set with this call, is the previous interval divided by $1.05, so it + * decreases a little bit. + * + * The default starting interval value for automatic changes is $0.85 seconds. + * + * @param[in] obj The object. + * + * @return The (first) interval value in seconds. + * + * @ingroup Elm_Spinner_Group + */ +EAPI double elm_spinner_interval_get(const Elm_Spinner *obj); + +/** + * @brief Control the round value for rounding + * + * Sets the rounding value used for value rounding in the spinner. + * + * @param[in] obj The object. + * @param[in] rnd The rounding value + * + * @ingroup Elm_Spinner_Group + */ +EAPI void elm_spinner_round_set(Elm_Spinner *obj, int rnd); + +/** + * @brief Control the round value for rounding + * + * Sets the rounding value used for value rounding in the spinner. + * + * @param[in] obj The object. + * + * @return The rounding value + * + * @ingroup Elm_Spinner_Group + */ +EAPI int elm_spinner_round_get(const Elm_Spinner *obj); + +/** + * @brief Control whether the spinner can be directly edited by the user or + * not. + * + * Spinner objects can have edition disabled, in which state they will be + * changed only by arrows. Useful for contexts where you don't want your users + * to interact with it writing the value. Specially when using special values, + * the user can see real value instead of special label on edition. + * + * It's enabled by default. + * + * @param[in] obj The object. + * @param[in] editable @c true to allow users to edit it or @c false to don't + * allow users to edit it directly. + * + * @ingroup Elm_Spinner_Group + */ +EAPI void elm_spinner_editable_set(Elm_Spinner *obj, Eina_Bool editable); + +/** + * @brief Control whether the spinner can be directly edited by the user or + * not. + * + * Spinner objects can have edition disabled, in which state they will be + * changed only by arrows. Useful for contexts where you don't want your users + * to interact with it writing the value. Specially when using special values, + * the user can see real value instead of special label on edition. + * + * It's enabled by default. + * + * @param[in] obj The object. + * + * @return @c true to allow users to edit it or @c false to don't allow users + * to edit it directly. + * + * @ingroup Elm_Spinner_Group + */ +EAPI Eina_Bool elm_spinner_editable_get(const Elm_Spinner *obj); + +/** + * @brief Control the base for rounding + * + * Rounding works as follows: + * + * rounded_val = base + (double)(((value - base) / round) * round) + * + * Where rounded_val, value and base are doubles, and round is an integer. + * + * This means that things will be rounded to increments (or decrements) of + * "round" starting from value @c base. The default base for rounding is 0. + * + * Example: round = 3, base = 2 Values: ..., -2, 0, 2, 5, 8, 11, 14, ... + * + * Example: round = 2, base = 5.5 Values: ..., -0.5, 1.5, 3.5, 5.5, 7.5, 9.5, + * 11.5, ... + * + * @param[in] obj The object. + * @param[in] base The base value + * + * @ingroup Elm_Spinner_Group + */ +EAPI void elm_spinner_base_set(Elm_Spinner *obj, double base); + +/** + * @brief Control the base for rounding + * + * Rounding works as follows: + * + * rounded_val = base + (double)(((value - base) / round) * round) + * + * Where rounded_val, value and base are doubles, and round is an integer. + * + * This means that things will be rounded to increments (or decrements) of + * "round" starting from value @c base. The default base for rounding is 0. + * + * Example: round = 3, base = 2 Values: ..., -2, 0, 2, 5, 8, 11, 14, ... + * + * Example: round = 2, base = 5.5 Values: ..., -0.5, 1.5, 3.5, 5.5, 7.5, 9.5, + * 11.5, ... + * + * @param[in] obj The object. + * + * @return The base value + * + * @ingroup Elm_Spinner_Group + */ +EAPI double elm_spinner_base_get(const Elm_Spinner *obj); + +/** + * @brief Control the format string of the displayed label. + * + * If @c NULL, this sets the format to "%.0f". If not it sets the format string + * for the label text. The label text is provided a floating point value, so + * the label text can display up to 1 floating point value. Note that this is + * optional. + * + * Use a format string such as "%1.2f meters" for example, and it will display + * values like: "3.14 meters" for a value equal to 3.14159. + * + * Default is "%0.f". + * + * @param[in] obj The object. + * @param[in] fmt The format string for the label display. + * + * @ingroup Elm_Spinner_Group + */ +EAPI void elm_spinner_label_format_set(Elm_Spinner *obj, const char *fmt); + +/** + * @brief Control the format string of the displayed label. + * + * If @c NULL, this sets the format to "%.0f". If not it sets the format string + * for the label text. The label text is provided a floating point value, so + * the label text can display up to 1 floating point value. Note that this is + * optional. + * + * Use a format string such as "%1.2f meters" for example, and it will display + * values like: "3.14 meters" for a value equal to 3.14159. + * + * Default is "%0.f". + * + * @param[in] obj The object. + * + * @return The format string for the label display. + * + * @ingroup Elm_Spinner_Group + */ +EAPI const char *elm_spinner_label_format_get(const Elm_Spinner *obj); + +/** + * @brief Control special string to display in the place of the numerical + * value. + * + * It's useful for cases when a user should select an item that is better + * indicated by a label than a value. For example, weekdays or months. + * + * @note If another label was previously set to @c value, it will be replaced + * by the new label. + * + * @param[in] obj The object. + * @param[in] value The value to be replaced. + * @param[in] label The label to be used. + * + * @ingroup Elm_Spinner_Group + */ +EAPI void elm_spinner_special_value_add(Elm_Spinner *obj, double value, const char *label); + +#endif |