From: Youngbok Shin Date: Thu, 23 Nov 2017 07:14:08 +0000 (+0900) Subject: edje: Import missing eo descriptions for ellipsize feature X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~908 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=43b5ef89e691dc1331c90e64a0e3360d3d9b9923;p=platform%2Fupstream%2Fefl.git edje: Import missing eo descriptions for ellipsize feature @tizen_fix Change-Id: I7f46d4aebd0f431faeae59095b8a719885df2489 --- diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo new file mode 100644 index 0000000..479f850 --- /dev/null +++ b/src/lib/edje/edje_object.eo @@ -0,0 +1,549 @@ +import edje_types; + +// FIXME: This EO doc needs a direct link to the "edcref" doc + +class Edje.Object (Efl.Canvas.Group, Efl.File, Efl.Container, Efl.Part, + Efl.Observer, Efl.Ui.Base, Efl.Canvas.Layout_Calc, + Efl.Canvas.Layout_Signal, Efl.Canvas.Layout_Group, + Efl.Player) +{ + [[Edje object class]] + legacy_prefix: edje_object; + eo_prefix: edje_obj; + event_prefix: edje_object; + data: Edje; + methods { + @property animation { + [[Whether this object is animating or not. + + This property indicates whether animations are stopped or not. + Animations here refer to transitions between states. + + If animations are disabled, transitions between states (as + defined in EDC) are then instantaneous. This is conceptually similar + to setting the @Efl.Player.play_speed to an infinitely high + value. + ]] + get { + [[Get the current state of animation, $true by default.]] + } + set { + [[Start or stop animating this object.]] + } + values { + on: bool; [[The animation state, $true by default.]] + } + } + @property perspective { + set { + [[Sets the given perspective object on this Edje object. + + Make the given perspective object be the default perspective for this Edje + object. + + There can be only one perspective object per Edje object, and if a + previous one was set, it will be removed and the new perspective object + will be used. + + An Edje perspective will only affect a part if it doesn't point to another + part to be used as perspective. + + \@ref edje_object_perspective_new() + See also @.perspective.get() + \@ref edje_perspective_set()]] + values { + ps: ptr(Edje.Perspective); [[The perspective object that will be used.]] + } + } + get { + [[Gets the current perspective used on this Edje object. + + See also @.perspective.set()]] + values { + ps: ptr(const(Edje.Perspective)); [[The perspective object that will be used.]] + } + } + } + + // TODO: Legacy only. EO may rely on futures. + preload { + [[Preloads the images on the Edje Object in the background. + + This function requests the preload of all data images (on the given + object) in the background. The work is queued before being processed + (because there might be other pending requests of this type). + It emits a signal "preload,done" when finished. + + Note: Use $true on scenarios where you don't need + the image data preloaded anymore.]] + + return: bool; [[$false if obj was not a valid Edje object + otherwise $true]] + params { + @in cancel: bool; [[$false will add it the preloading work queue, + $true will remove it (if it was issued before).]] + } + } + @property load_error { + get { + [[Gets the (last) file loading error for a given Edje object + + This function is meant to be used after an Edje EDJ file + loading, what takes place with the $file_set() function. If that + function does not return $true, one should check for the reason + of failure with this one. + ]] + legacy: null; + } + values { + error: Efl.Image.Load.Error(Efl.Image.Load.Error.generic); + [[The load error code.]] + } + } + + /* CLASS APIS BEGIN -------------------------------------------------- */ + @property global_color_class @class { + set { + [[Sets Edje color class. + + This function sets the color values for a process level color + class. This will cause all edje parts in the current process that + have the specified color class to have their colors multiplied by + these values. (Object level color classes set by + edje_object_color_class_set() will override the values set by this + function). + + Setting color emits a signal "color_class,set" with source being + the given color class in all objects. + + Note: unlike Evas, Edje colors are not pre-multiplied. That is, + half-transparent white is 255 255 255 128.]] + legacy: null; + return: bool; [[$true on success, $false otherwise]] + } + get { + [[Gets Edje color class. + + This function gets the color values for a process level color + class. This value is the globally set and not per-object, that is, + the value that would be used by objects if they did not override with + @.color_class.set(). + + See also, @.global_color_class.set() + + Note: unlike Evas, Edje colors are not pre-multiplied. That is, + half-transparent white is 255 255 255 128.]] + legacy: null; + return: bool; [[$true if found or $false if not found and all values + are zeored.]] + } + keys { + color_class: string; [[The name of color class]] + mode: Edje.Color_Class.Mode; [[Edje color class mode]] + } + values { + r: int; [[Object Red value]] + g: int; [[Object Green value]] + b: int; [[Object Blue value]] + a: int; [[Object Alpha value]] + } + } + @property color_class { + set { + [[Sets the object color class. + + This function sets the color values for an object level color + class. This will cause all edje parts in the specified object that + have the specified color class to have their colors multiplied by + these values. + + The first color is the object, the second is the text outline, and + the third is the text shadow. (Note that the second two only apply + to text parts). + + Setting color emits a signal "color_class,set" with source being + the given color. + + Note: unlike Evas, Edje colors are not pre-multiplied. That is, + half-transparent white is 255 255 255 128.]] + legacy: null; + return: bool; [[$true on success, $false otherwise]] + } + get { + [[Gets the object color class. + + This function gets the color values for an object level color + class. If no explicit object color is set, then global values will + be used. + + The first color is the object, the second is the text outline, and + the third is the text shadow. (Note that the second two only apply + to text parts). + + Note: unlike Evas, Edje colors are not pre-multiplied. That is, + half-transparent white is 255 255 255 128.]] + legacy: null; + return: bool; [[$true if found or $false if not found and all + values are zeroed.]] + } + keys { + color_class: string; [[The name of color class]] + mode: Edje.Color_Class.Mode; [[Edje color class mode]] + } + values { + r: int; [[Object Red value]] + g: int; [[Object Green value]] + b: int; [[Object Blue value]] + a: int; [[Object Alpha value]] + } + } + @property color_class_description { + get { + [[Gets the description of an object color class. + + This function gets the description of a color class in use by an object.]] + return: string; [[The description of the target color class or $null if not found]] + } + keys { + color_class: string; [[Color class description]] + } + } + color_class_clear @const { + [[Clears object color classes. + + @since 1.17.0]] + return: bool; [[$true on success, or $false on error]] + } + color_class_del { + [[Deletes the object color class. + + This function deletes any values at the object level for the + specified object and color class. + + Deleting the color class will revert it to the values + defined by edje_color_class_set() or the color class + defined in the theme file. + + Deleting the color class will emit the signal "color_class,del" + for the given Edje object.]] + params { + @in color_class: string; [[The color class to be deleted.]] + } + } + @property text_class { + set { + [[Sets Edje text class. + + This function sets the text class for the Edje.]] + return: bool; [[$true on success, or $false on error]] + } + get { + [[Gets font and font size from edje text class. + + This function gets the font and the font size from the object + text class. The font string will only be valid until the text + class is changed or the edje object is deleted.]] + return: bool; [[$true on success, or $false on error]] + } + keys { + text_class: string; [[The text class name]] + } + values { + font: string; [[Font name]] + size: int; [[Font Size]] + } + } + text_class_del { + [[Deletes the object text class. + + This function deletes any values at the object level for the + specified object and text class. + + Deleting the text class will revert it to the values + defined by edje_text_class_set() or the text class + defined in the theme file. + + @since 1.17]] + params { + @in text_class: string; [[The color class to be deleted.]] + } + } + @property size_class { + set { + [[Sets the object size class. + + This function sets the min and max values for an object level size + class. This will make all edje parts in the specified object that + have the specified size class update their min and max size with given values. + + @since 1.17]] + return: bool; [[$true on success, or $false on error]] + } + get { + [[Gets the object size class. + + This function gets the min and max values for an object level size + class. These values will only be valid until the size class is changed + or the edje object is deleted. + + @since 1.17]] + return: bool; [[$true on success, or $false on error]] + } + keys { + size_class: string; [[The size class name]] + } + values { + minw: int; [[The min width]] + minh: int; [[The min height]] + maxw: int; [[The max width]] + maxh: int; [[The max height]] + } + } + size_class_del { + [[Deletes the object size class. + + This function deletes any values at the object level for the + specified object and size class. + + Deleting the size class will revert it to the values + defined by edje_size_class_set() or the color class + defined in the theme file. + + @since 1.17]] + params { + @in size_class: string; [[Size class name]] + } + } + /* CLASS APIS END ---------------------------------------------------- */ + + access_part_iterate { + [[Iterates over all accessibility-enabled part names.]] + legacy: null; + return: iterator @owned; [[Part name iterator]] + } + + /* TEXT PART APIS BEGIN ---------------------------------------------- */ + @property text_change_cb { + set { + [[Sets the object text callback. + + This function sets the callback to be called when the text changes.]] + } + values { + func: Edje.Text.Change_Cb; [[The callback function to handle the text change]] + data: void_ptr; [[The data associated to the callback function.]] + } + } + @property item_provider { + set { + [[Sets the function that provides item objects for named items in an edje entry text + + Item objects may be deleted any time by Edje, and will be deleted when the + Edje object is deleted (or file is set to a new file).]] + } + values { + func: Edje.Item_Provider_Cb; [[The function to call (or $null to disable) to get item objects]] + data: void_ptr; [[The data pointer to pass to the func callback]] + } + } + /* TEXT PART APIS END ------------------------------------------------ */ + + @property seat { + get { + [[Returns the seat device given its Edje's name. + + Edje references seats by a name that differs from Evas. + Edje naming follows a incrementional convention: first + registered name is "seat1", second is "seat2", differently + from Evas. + + @since 1.19]] + + return: Efl.Input.Device; [[The seat device or $null if not found.]] + } + keys { + name: stringshare; [[The name's character string.]] + } + } + @property seat_name { + get { + [[Gets the name given to a set by Edje. + + Edje references seats by a name that differs from Evas. + Edje naming follows a incrementional convention: first + registered name is "seat1", second is "seat2", differently + from Evas. + + @since 1.19]] + + return: stringshare; [[The name's character string or $null if not found.]] + } + keys { + device: Efl.Input.Device; [[The seat device]] + } + } + /*********************************************************************************** + * TIZEN_ONLY_FEATURE: API for handling text properties of Edje * + ***********************************************************************************/ + @property part_text_min_policy { + set { + [[Sets the object text min calculation policy. + + Do not use this API without understanding whats going on. + It is made for internal usage. + + \@if MOBILE \@since_tizen 3.0 + \@elseif WEARABLE \@since_tizen 3.0 + \@endif + \@internal + ]] + return: bool; [[$true on success, or $false on error]] + } + get { + [[Gets the object text min calculation policy. + + Do not use this API without understanding whats going on. + It is made for internal usage. + + \@if MOBILE \@since_tizen 3.0 + \@elseif WEARABLE \@since_tizen 3.0 + \@endif + \@internal + ]] + return: bool; [[$true on success, or $false on error]] + } + keys { + part: string; [[The part name]] + state_name: string; [[The state name]] + } + values { + min_x: bool; [[The min width policy]] + min_y: bool; [[The min height policy]] + } + } + @property part_text_valign { + set { + [[Sets the valign for text. + + Do not use this API without understanding whats going on. + It is made for internal usage. + \@internal + ]] + return: bool; [[$true, on success or $false, on error]] + } + get { + [[Gets the valign for text. + + Do not use this API without understanding whats going on. + It is made for internal usage. + \@internal + ]] + } + keys { + part: string; [[The part name]] + } + values { + valign: double; [[The valign 0.0~1.0. -1.0 for respect EDC's align value.]] + } + } + /******* + * END * + *******/ + /*********************************************************************************** + * TIZEN_ONLY_FEATURE: ellipsize.marquee, ellipsize.fade for TEXTBLOCK, TEXT part. * + ***********************************************************************************/ + @property part_text_marquee_duration { + set { + [[Sets the duration for text's marquee. + + Do not use this API without understanding whats going on. + It is made for internal usage. + \@internal + ]] + return: bool; [[$true, on success or $false, on error]] + } + get { + [[Gets the duration for text's marquee. + + Do not use this API without understanding whats going on. + It is made for internal usage. + \@internal + ]] + } + keys { + part: string; [[The part name]] + } + values { + duration: double; [[The duration. 0.0 for respect EDC's duration value.]] + } + } + @property part_text_marquee_speed { + set { + [[Sets the speed for text's marquee. + + Do not use this API without understanding whats going on. + It is made for internal usage. + \@internal + ]] + return: bool; [[$true, on success or $false, on error]] + } + get { + [[Gets the speed for text's marquee. + + Do not use this API without understanding whats going on. + It is made for internal usage. + \@internal + ]] + } + keys { + part: string; [[The part name]] + } + values { + speed: double; [[The speed. 0.0 for respect EDC's speed value.]] + } + } + /******* + * END * + *******/ + } + implements { + Efl.Gfx.visible { set; } + Efl.Gfx.position { set; } + Efl.Gfx.size { set; } + Efl.Object.constructor; + Efl.Object.destructor; + Efl.Object.debug_name_override; + Efl.Canvas.Object.no_render { set; } + Efl.Canvas.Object.paragraph_direction { set; } + Efl.Canvas.Group.group_calculate; + Efl.Canvas.Layout_Calc.calc_auto_update_hints { get; set; } + Efl.Canvas.Layout_Calc.calc_size_min; + Efl.Canvas.Layout_Calc.calc_parts_extends; + Efl.Canvas.Layout_Calc.calc_freeze; + Efl.Canvas.Layout_Calc.calc_thaw; + Efl.Canvas.Layout_Calc.calc_force; + Efl.Canvas.Layout_Group.group_size_min { get; } + Efl.Canvas.Layout_Group.group_size_max { get; } + Efl.Canvas.Layout_Group.group_data { get; } + Efl.Canvas.Layout_Signal.message_send; + Efl.Canvas.Layout_Signal.signal_callback_add; + Efl.Canvas.Layout_Signal.signal_callback_del; + Efl.Canvas.Layout_Signal.signal_emit; + Efl.Canvas.Layout_Signal.signal_process; + Efl.Ui.Base.mirrored { set; get; } + Efl.Ui.Base.language { set; get; } + Efl.Ui.Base.scale { set; get; } + Efl.Ui.Base.base_scale { get; } + Efl.File.file { get; set; } + Efl.File.mmap { get; set; } + Efl.Container.content_remove; + Efl.Part.part; [[Returns @Efl.Canvas.Layout.Part.]] + Efl.Observer.update; + Efl.Player.playable { get; } + Efl.Player.play { get; set; } + Efl.Player.play_speed { get; set; } + } + events { + recalc; [[Edje re-calculated the object.]] + } +}