/usr/include/elementary-1/elm_object.h is in libelementary-dev 1.8.5-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | /**
* Set a text of an object
*
* @param obj The Elementary object
* @param part The text part name to set (NULL for the default part)
* @param text The new text of the part
*
* @note Elementary objects may have many text parts (e.g. Action Slider)
*
* @ingroup General
*/
EAPI void elm_object_part_text_set(Evas_Object *obj, const char *part, const char *text);
#define elm_object_text_set(obj, text) elm_object_part_text_set((obj), NULL, (text))
/**
* Get a text of an object
*
* @param obj The Elementary object
* @param part The text part name to get (NULL for the default part)
* @return text of the part or NULL for any error
*
* @note Elementary objects may have many text parts (e.g. Action Slider)
*
* @ingroup General
*/
EAPI const char *elm_object_part_text_get(const Evas_Object *obj, const char *part);
#define elm_object_text_get(obj) elm_object_part_text_get((obj), NULL)
/**
* Set the text for an object's part, marking it as translatable.
*
* The string to set as @p text must be the original one. Do not pass the
* return of @c gettext() here. Elementary will translate the string
* internally and set it on the object using elm_object_part_text_set(),
* also storing the original string so that it can be automatically
* translated when the language is changed with elm_language_set().
*
* The @p domain will be stored along to find the translation in the
* correct catalog. It can be NULL, in which case it will use whatever
* domain was set by the application with @c textdomain(). This is useful
* in case you are building a library on top of Elementary that will have
* its own translatable strings, that should not be mixed with those of
* programs using the library.
*
* @param obj The object containing the text part
* @param part The name of the part to set
* @param domain The translation domain to use
* @param text The original, non-translated text to set
*
* @since 1.8
*
* @ingroup General
*/
EAPI void elm_object_domain_translatable_part_text_set(Evas_Object *obj, const char *part, const char *domain, const char *text);
#define elm_object_domain_translatable_text_set(obj, domain, text) elm_object_domain_translatable_part_text_set((obj), NULL, (domain), (text))
#define elm_object_translatable_text_set(obj, text) elm_object_domain_translatable_part_text_set((obj), NULL, NULL, (text))
#define elm_object_translatable_part_text_set(obj, part, text) elm_object_domain_translatable_part_text_set((obj), (part), NULL, (text))
/**
* Get the original string set as translatable for an object
*
* When setting translated strings, the function elm_object_part_text_get()
* will return the translation returned by @c gettext(). To get the
* original string use this function.
*
* @param obj The object
* @param part The name of the part that was set
*
* @return The original, untranslated string
*
* @see elm_object_translatable_part_text_set()
*
* @since 1.8
*
* @ingroup General
*/
EAPI const char *elm_object_translatable_part_text_get(const Evas_Object *obj, const char *part);
#define elm_object_translatable_text_get(obj) elm_object_translatable_part_text_get((obj), NULL)
/**
* Mark the part text to be translatable or not.
*
* Once you mark the part text to be translatable, the text will be translated
* internally regardless of elm_object_part_text_set() and
* elm_object_domain_translatable_part_text_set(). In other case, if you set the
* Elementary policy that all text will be translatable in default, you can set
* the part text to not be translated by calling this API.
*
* @param obj The object containing the text part
* @param part The part name of the translatable text
* @param domain The translation domain to use
* @param translatable @c EINA_TRUE, the part text will be translated
* internally. @c EINA_FALSE, otherwise.
*
* @see elm_object_domain_translatable_part_text_set()
* @see elm_object_part_text_set()
* @see elm_policy()
*
* @since 1.8
*
* @ingroup General
*/
EAPI void elm_object_domain_part_text_translatable_set(Evas_Object *obj, const char *part, const char *domain, Eina_Bool translatable);
#define elm_object_part_text_translatable_set(obj, part, translatable) elm_object_domain_part_text_translatable_set((obj), (part), NULL, (translatable))
#define elm_object_domain_text_translatable_set(obj, domain, translatable) elm_object_domain_part_text_translatable_set((obj), NULL, (domain), (translatable))
/**
* Set the content on part of a given container widget
*
* @param obj The Elementary container widget
* @param part The container's part name to set (some might accept
* @c NULL for the default part)
* @param content The new content for that part
*
* All widgets deriving from the @ref elm-container-class may hold
* child objects as content at given parts. This sets new content to
* a given part. If any object was already set as a content object in
* the same part, the previous object will be deleted automatically
* with this call. If the @content is NULL, this call will just delete the
* previous object. If the If you wish to preserve it, issue
* elm_object_part_content_unset() on it first.
*
* @see elm_object_part_content_get()
*
* @ingroup General
*/
EAPI void elm_object_part_content_set(Evas_Object *obj, const char *part, Evas_Object *content);
#define elm_object_content_set(obj, content) elm_object_part_content_set((obj), NULL, (content))
/**
* Get the content on a part of a given container widget
*
* @param obj The Elementary container widget
* @param part The container's part name to get (some might accept
* @c NULL for the default part)
* @return content of the object at the given part or @c NULL, on
* errors
*
* @see elm_object_part_content_set() for more details
*
* @ingroup General
*/
EAPI Evas_Object *elm_object_part_content_get(const Evas_Object *obj, const char *part);
#define elm_object_content_get(obj) elm_object_part_content_get((obj), NULL)
/**
* Unset the content on a part of a given container widget
*
* @param obj The Elementary container widget
* @param part The container's part name to unset (some might accept
* @c NULL for the default part)
* @return content of the object at the given part or @c NULL, on
* errors
*
* @see elm_object_part_content_set() for more details
*
* @ingroup General
*/
EAPI Evas_Object *elm_object_part_content_unset(Evas_Object *obj, const char *part);
#define elm_object_content_unset(obj) elm_object_part_content_unset((obj), NULL)
/**
* Set the text to read out when in accessibility mode
*
* @param obj The object which is to be described
* @param txt The text that describes the widget to people with poor or no vision
*
* @ingroup General
*/
EAPI void elm_object_access_info_set(Evas_Object *obj, const char *txt);
/**
* Get a named object from the children
*
* @param obj The parent object whose children to look at
* @param name The name of the child to find
* @param recurse Set to the maximum number of levels to recurse (0 == none, 1 is only look at 1 level of children etc.)
* @return The found object of that name, or NULL if none is found
*
* This function searches the children (or recursively children of
* children and so on) of the given @p obj object looking for a child with
* the name of @p name. If the child is found the object is returned, or
* NULL is returned. You can set the name of an object with
* evas_object_name_set(). If the name is not unique within the child
* objects (or the tree is @p recurse is greater than 0) then it is
* undefined as to which child of that name is returned, so ensure the name
* is unique amongst children. If recurse is set to -1 it will recurse
* without limit.
*
* @ingroup General
*/
EAPI Evas_Object *elm_object_name_find(const Evas_Object *obj, const char *name, int recurse);
/**
* @defgroup Styles Styles
*
* Widgets can have different styles of look. These generic API's
* set styles of widgets, if they support them (and if the theme(s)
* do).
*
* @ref general_functions_example_page "This" example contemplates
* some of these functions.
*/
/**
* Set the style to used by a given widget
*
* @param obj The Elementary widget to style
* @param style The name of the style to use on it
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
*
* This sets the style (by name) that will define the appearance of a
* widget. Styles vary from widget to widget and may also be defined
* by other themes by means of extensions and overlays.
*
* @see elm_theme_extension_add()
* @see elm_theme_extension_del()
* @see elm_theme_overlay_add()
* @see elm_theme_overlay_del()
*
* @ingroup Styles
*/
EAPI Eina_Bool elm_object_style_set(Evas_Object *obj, const char *style);
/**
* Get the style used by the widget
*
* This gets the style being used for that widget. Note that the string
* pointer is only valid as long as the object is valid and the style doesn't
* change.
*
* @param obj The Elementary widget to query for its style
* @return The style name used
*
* @see elm_object_style_set()
*
* @ingroup Styles
*/
EAPI const char *elm_object_style_get(const Evas_Object *obj);
/**
* Set the disabled state of an Elementary object.
*
* @param obj The Elementary object to operate on
* @param disabled The state to put in in: @c EINA_TRUE for
* disabled, @c EINA_FALSE for enabled
*
* Elementary objects can be @b disabled, in which state they won't
* receive input and, in general, will be themed differently from
* their normal state, usually greyed out. Useful for contexts
* where you don't want your users to interact with some of the
* parts of you interface.
*
* This sets the state for the widget, either disabling it or
* enabling it back.
*
* @ingroup General
*/
EAPI void elm_object_disabled_set(Evas_Object *obj, Eina_Bool disabled);
/**
* Get the disabled state of an Elementary object.
*
* @param obj The Elementary object to operate on
* @return @c EINA_TRUE, if the widget is disabled, @c EINA_FALSE
* if it's enabled (or on errors)
*
* This gets the state of the widget, which might be enabled or disabled.
*
* @ingroup General
*/
EAPI Eina_Bool elm_object_disabled_get(const Evas_Object *obj);
/**
* @defgroup WidgetNavigation Widget Tree Navigation
*
* These functions provide checks for if a Evas_Object is an Elementary widget,
* the possibility of getting a widget's parent, top level parent and getting a
* string representation of a widget's type.
*/
/**
* Check if the given Evas Object is an Elementary widget.
*
* @param obj the object to query.
* @return @c EINA_TRUE if it is an elementary widget variant,
* @c EINA_FALSE otherwise
* @ingroup WidgetNavigation
*/
EAPI Eina_Bool elm_object_widget_check(const Evas_Object *obj);
/**
* Get the first parent of the given object that is an Elementary
* widget.
*
* @param obj the Elementary object to query parent from.
* @return the parent object that is an Elementary widget, or @c
* NULL, if it was not found.
*
* Use this to query for an object's parent widget.
*
* @note Most of Elementary users wouldn't be mixing non-Elementary
* smart objects in the objects tree of an application, as this is
* an advanced usage of Elementary with Evas. So, except for the
* application's window, which is the root of that tree, all other
* objects would have valid Elementary widget parents.
*
* @ingroup WidgetNavigation
*/
EAPI Evas_Object *elm_object_parent_widget_get(const Evas_Object *obj);
/**
* Get the top level parent of an Elementary widget.
*
* @param obj The object to query.
* @return The top level Elementary widget, or @c NULL if parent cannot be
* found.
* @ingroup WidgetNavigation
*/
EAPI Evas_Object *elm_object_top_widget_get(const Evas_Object *obj);
/**
* Get the string that represents this Elementary widget.
*
* @note Elementary is weird and exposes itself as a single
* Evas_Object_Smart_Class of type "elm_widget", so
* evas_object_type_get() always return that, making debug and
* language bindings hard. This function tries to mitigate this
* problem, but the solution is to change Elementary to use
* proper inheritance.
*
* @param obj the object to query.
* @return Elementary widget name, or @c NULL if not a valid widget.
* @ingroup WidgetNavigation
*/
EAPI const char *elm_object_widget_type_get(const Evas_Object *obj);
/**
* Send a signal to the widget edje object.
*
* This function sends a signal to the edje object of the obj. An
* edje program can respond to a signal by specifying matching
* 'signal' and 'source' fields.
*
* @param obj The object
* @param emission The signal's name.
* @param source The signal's source.
* @ingroup General
*/
EAPI void elm_object_signal_emit(Evas_Object *obj, const char *emission, const char *source);
/**
* Add a callback for a signal emitted by widget edje object.
*
* This function connects a callback function to a signal emitted by the
* edje object of the obj.
* Globs can occur in either the emission or source name.
*
* @param obj The object
* @param emission The signal's name.
* @param source The signal's source.
* @param func The callback function to be executed when the signal is
* emitted.
* @param data A pointer to data to pass to the callback function.
* @ingroup General
*/
EAPI void elm_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data);
/**
* Remove a signal-triggered callback from a widget edje object.
*
* @param obj The object handle
* @param emission The signal's name.
* @param source The signal's source.
* @param func The callback function to be executed when the signal is
* emitted.
* @return The data pointer of the signal callback or @c NULL, on
* errors.
*
* This function removes the @b last callback, previously attached to
* a signal emitted by an underlying Edje object of @a obj, whose
* parameters @a emission, @a source and @c func match exactly with
* those passed to a previous call to
* elm_object_signal_callback_add(). The data pointer that was passed
* to this call will be returned.
*
* @ingroup General
*/
EAPI void *elm_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func);
/**
* Add a callback for input events (key up, key down, mouse wheel)
* on a given Elementary widget
*
* @param obj The widget to add an event callback on
* @param func The callback function to be executed when the event
* happens
* @param data Data to pass in to @p func
*
* Every widget in an Elementary interface set to receive focus,
* with elm_object_focus_allow_set(), will propagate @b all of its
* key up, key down and mouse wheel input events up to its parent
* object, and so on. All of the focusable ones in this chain which
* had an event callback set, with this call, will be able to treat
* those events. There are two ways of making the propagation of
* these event upwards in the tree of widgets to @b cease:
* - Just return @c EINA_TRUE on @p func. @c EINA_FALSE will mean
* the event was @b not processed, so the propagation will go on.
* - The @c event_info pointer passed to @p func will contain the
* event's structure and, if you OR its @c event_flags inner
* value to @c EVAS_EVENT_FLAG_ON_HOLD, you're telling Elementary
* one has already handled it, thus killing the event's
* propagation, too.
*
* @note Your event callback will be issued on those events taking
* place only if no other child widget of @p obj has consumed the
* event already.
*
* @note Not to be confused with @c
* evas_object_event_callback_add(), which will add event callbacks
* per type on general Evas objects (no event propagation
* infrastructure taken in account).
*
* @note Not to be confused with @c
* elm_object_signal_callback_add(), which will add callbacks to @b
* signals coming from a widget's theme, not input events.
*
* @note Not to be confused with @c
* edje_object_signal_callback_add(), which does the same as
* elm_object_signal_callback_add(), but directly on an Edje
* object.
*
* @note Not to be confused with @c
* evas_object_smart_callback_add(), which adds callbacks to smart
* objects' <b>smart events</b>, and not input events.
*
* @see elm_object_event_callback_del()
*
* @ingroup General
*/
EAPI void elm_object_event_callback_add(Evas_Object *obj, Elm_Event_Cb func, const void *data);
/**
* Remove an event callback from a widget.
*
* This function removes a callback, previously attached to event emission
* by the @p obj.
* The parameters func and data must match exactly those passed to
* a previous call to elm_object_event_callback_add(). The data pointer that
* was passed to this call will be returned.
*
* @param obj The object
* @param func The callback function to be executed when the event is
* emitted.
* @param data Data to pass in to the callback function.
* @return The data pointer
* @ingroup General
*/
EAPI void *elm_object_event_callback_del(Evas_Object *obj, Elm_Event_Cb func, const void *data);
/**
* Disable the orientation mode of a given widget.
*
* Orientation Mode is used for widgets to change it's styles or to send signals
* whenever it's window degree is changed. If the orientation mode is enabled
* and the widget has different looks and styles for the window degree(0, 90,
* 180, 270), it will apply a style that is readied for the current degree,
* otherwise, it will send signals to it's own edje to change it's states if
* the style doesn't be readied.
*
* @param obj The Elementary object to operate on orientation mode.
* @param disabled The state to put in in: @c EINA_TRUE for disabled,
* @c EINA_FALSE for enabled.
*
* @since 1.8
*
* @ingroup General
*/
EAPI void elm_object_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled);
/**
* Get the orientation mode of a given widget.
*
* @param obj The Elementary widget to query for its orientation mode.
* @return @c EINA_TRUE, if the orientation mode is disabled, @c EINA_FALSE
* if the orientation mode is enabled (or on errors)
* @see elm_object_orientation_mode_disabled_set()
*
* @since 1.8
*
* @ingroup General
*/
EAPI Eina_Bool elm_object_orientation_mode_disabled_get(const Evas_Object *obj);
|