2015-05-29 03:31:05 -07:00
|
|
|
import eina_types;
|
|
|
|
|
2015-05-29 02:32:48 -07:00
|
|
|
struct Eo.Event_Description {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[This struct holds the description of a specific event.]]
|
|
|
|
name: const(char) *; [[name of the event.]]
|
|
|
|
unfreezable: bool; [[Eina_True if the event cannot be frozen.]]
|
2015-10-16 03:42:37 -07:00
|
|
|
legacy_is: bool; [[Internal use: if is a legacy event.]]
|
2015-05-29 02:32:48 -07:00
|
|
|
}
|
|
|
|
|
2016-03-14 10:19:58 -07:00
|
|
|
struct Eo.Event {
|
|
|
|
[[Parameter passed in event callbacks holding extra event parameters]]
|
|
|
|
obj: Eo.Base *; [[The object the event was called on.]]
|
|
|
|
desc: const(Eo.Event_Description) *; [[The event description.]]
|
2016-04-12 07:23:55 -07:00
|
|
|
info: void *; [[Extra event information passed by the event caller.]]
|
2016-03-14 10:19:58 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
type Eo.Event_Cb: __builtin_event_cb; [[An event callback prototype.
|
|
|
|
return $EO_CALLBACK_STOP to stop calling additional callbacks for the event, $EO_CALLBACK_CONTINUE to continue.]]
|
|
|
|
|
|
|
|
|
2015-05-29 02:32:48 -07:00
|
|
|
struct Eo.Callback_Array_Item {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[An item in an array of callback desc/func.
|
|
|
|
|
2015-07-08 07:12:32 -07:00
|
|
|
See also \@ref eo_event_callback_array_add.
|
2015-06-05 09:03:36 -07:00
|
|
|
]]
|
|
|
|
desc: const(Eo.Event_Description) *; [[The event description.]]
|
|
|
|
func: Eo.Event_Cb; [[The callback function.]]
|
2015-05-29 02:32:48 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
struct Eo.Dbg_Info {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[The structure for the debug info used by Eo.]]
|
|
|
|
name: Eina.Stringshare *; [[The name of the part (stringshare).]]
|
|
|
|
value: generic_value; [[The value.]]
|
2015-05-29 02:32:48 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2015-06-05 09:03:36 -07:00
|
|
|
type Eo.Callback_Priority: short; [[Callback priority value. Range is -32k - 32k.
|
|
|
|
The lower the number, the higher the priority.
|
|
|
|
|
2015-07-08 07:12:32 -07:00
|
|
|
See \@ref EO_CALLBACK_PRIORITY_AFTER,
|
|
|
|
\@ref EO_CALLBACK_PRIORITY_BEFORE
|
|
|
|
\@ref EO_CALLBACK_PRIORITY_DEFAULT
|
2015-06-05 09:03:36 -07:00
|
|
|
]]
|
2015-05-29 02:32:48 -07:00
|
|
|
|
2014-06-20 03:14:59 -07:00
|
|
|
abstract Eo.Base ()
|
2014-03-09 00:31:28 -08:00
|
|
|
{
|
2014-04-02 03:41:25 -07:00
|
|
|
eo_prefix: eo;
|
2014-06-03 03:23:53 -07:00
|
|
|
legacy_prefix: null;
|
2014-04-02 03:41:25 -07:00
|
|
|
|
2015-05-07 08:36:45 -07:00
|
|
|
methods {
|
|
|
|
@property parent {
|
2016-04-14 10:32:45 -07:00
|
|
|
[[The parent of an object.
|
|
|
|
|
|
|
|
Parents keep references to their children so in order to
|
|
|
|
delete objects that have parents you need to set parent to
|
|
|
|
NULL or use eo_del() that does that for you (and also unrefs
|
|
|
|
the object).
|
|
|
|
|
|
|
|
The Eo parent is conceptually user set. That means that a parent
|
|
|
|
should not be changed behind the scenes in a surprising manner.
|
2015-06-05 09:03:36 -07:00
|
|
|
|
2016-04-14 10:32:45 -07:00
|
|
|
For example:
|
|
|
|
if you have a widget that has a box internally, and
|
|
|
|
when you swallow into that widget the object you swallow ends up in
|
|
|
|
the box, the parent should be the widget, and not the box.
|
|
|
|
]]
|
|
|
|
|
|
|
|
set {
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
get {
|
|
|
|
}
|
|
|
|
values {
|
2016-04-11 09:29:15 -07:00
|
|
|
parent: Eo.Base * @nullable; [[the new parent]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2016-04-19 00:34:53 -07:00
|
|
|
@property id {
|
|
|
|
[[ The id/name of the object.
|
|
|
|
|
|
|
|
Every object can have a string name. Names may not contain
|
2016-04-20 02:26:35 -07:00
|
|
|
the following charactors:
|
|
|
|
/ ? * [ ] ! \ :
|
|
|
|
They are illegal. Using it in a name will result in undefined
|
|
|
|
behavior later on. An empty string is considered the same as a
|
|
|
|
NULL string or no string for the name/id at all.
|
2016-04-19 00:34:53 -07:00
|
|
|
]]
|
|
|
|
set {
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
}
|
|
|
|
values {
|
|
|
|
id: const(char)* @nullable; [[the id/name]]
|
|
|
|
}
|
|
|
|
}
|
2016-04-19 01:21:21 -07:00
|
|
|
@property comment {
|
|
|
|
[[ A human readable comment for the object
|
|
|
|
|
|
|
|
Every object can have a string comment intended for developers
|
|
|
|
and debugging. An empty string is considered the same as a NULL
|
|
|
|
string or no string for the comment at all.
|
|
|
|
]]
|
|
|
|
set {
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
}
|
|
|
|
values {
|
|
|
|
comment: const(char)* @nullable; [[the comment]]
|
|
|
|
}
|
|
|
|
}
|
2015-05-07 08:36:45 -07:00
|
|
|
@property event_global_freeze_count @class {
|
2014-03-09 00:31:28 -08:00
|
|
|
get {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Return freeze events of object.
|
|
|
|
|
|
|
|
Return event freeze count.
|
|
|
|
]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
values {
|
2015-06-05 09:03:36 -07:00
|
|
|
fcount: int; [[The event freeze count of the object]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 08:36:45 -07:00
|
|
|
@property event_freeze_count {
|
2014-03-09 00:31:28 -08:00
|
|
|
get {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Return freeze events of object.
|
|
|
|
|
|
|
|
Return event freeze count.
|
|
|
|
]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
values {
|
2015-06-05 09:03:36 -07:00
|
|
|
fcount: int; [[The event freeze count of the object]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 08:36:45 -07:00
|
|
|
@property finalized {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[True if the object is already finalized, false otherwise.]]
|
2014-08-29 01:55:02 -07:00
|
|
|
get {
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:13:08 -07:00
|
|
|
finalized: bool;
|
2014-08-29 01:55:02 -07:00
|
|
|
}
|
|
|
|
}
|
2014-09-01 07:53:35 -07:00
|
|
|
constructor {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Call the object's constructor.
|
|
|
|
|
|
|
|
Should not be used with #eo_do. Only use it with #eo_do_super.
|
|
|
|
]]
|
|
|
|
return: Eo.Base *; [[The new object created, can be NULL if aborting]]
|
2014-08-27 07:01:09 -07:00
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
destructor {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Call the object's destructor.
|
|
|
|
|
|
|
|
Should not be used with #eo_do. Only use it with #eo_do_super.
|
|
|
|
]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
finalize {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Called at the end of #eo_add. Should not be called, just overridden.]]
|
|
|
|
return: Eo.Base *; [[The new object created, can be NULL if aborting]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
2016-04-20 02:26:35 -07:00
|
|
|
id_find {
|
|
|
|
[[Find a child object with the given name/id and return it.
|
|
|
|
The search string can be a glob (shell style). It can also
|
|
|
|
specify class name in the format of "class:name" where ":"
|
|
|
|
separates class and name. Both class and name can be globs.
|
|
|
|
If class is specified, and name is empty like "class:" then
|
|
|
|
the search will match any object of that class.
|
|
|
|
]]
|
|
|
|
params {
|
|
|
|
@in search: const(char)*; [[the name/id search string]]
|
|
|
|
}
|
|
|
|
return: Eo.Base *; [[the first object found]]
|
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
wref_add {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Add a new weak reference to obj.
|
|
|
|
|
|
|
|
This function registers the object handle pointed by wref to
|
|
|
|
obj so when obj is deleted it'll be updated to NULL. This
|
|
|
|
functions should be used when you want to keep track of an
|
|
|
|
object in a safe way, but you don't want to prevent it from
|
|
|
|
being freed.
|
|
|
|
]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-05-28 09:03:49 -07:00
|
|
|
@out wref: Eo.Base *;
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
wref_del {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Delete the weak reference passed.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-05-28 09:03:49 -07:00
|
|
|
@in wref: Eo.Base **;
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2014-04-02 03:41:25 -07:00
|
|
|
key_data_set {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Set generic data to object.
|
|
|
|
|
|
|
|
The user is in change to free the data.
|
|
|
|
]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in key: const(char)*; [[the key associated with the data]]
|
|
|
|
@in data: const(void)*; [[the data to set]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2016-03-04 03:48:56 -08:00
|
|
|
key_data_get @const {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Get generic data from object.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in key: const(char)*; [[the key associated with the data]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
2015-06-05 09:03:36 -07:00
|
|
|
return: void *; [[the data for the key]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
key_data_del {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Del generic data from object.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in key: const(char)*; [[the key associated with the data]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2016-04-12 09:04:11 -07:00
|
|
|
key_obj_set {
|
|
|
|
[[Set generic object reference to object.
|
|
|
|
|
|
|
|
The object will be automatically ref'd when set and unref'd
|
|
|
|
when replaced or deleted or referring object is deleted. If
|
|
|
|
the referenced object is deleted then the key is deleted
|
|
|
|
automatically.
|
|
|
|
|
|
|
|
This is the same key store used by key_data_set etc. so keys
|
|
|
|
are shared and can store only one thing
|
|
|
|
]]
|
|
|
|
params {
|
|
|
|
@in key: const(char)*; [[the key associated with the object ref]]
|
2016-04-19 07:33:05 -07:00
|
|
|
@in objdata: Eo.Base *; [[the object to set]]
|
2016-04-12 09:04:11 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
key_obj_get @const {
|
|
|
|
[[Get generic object reference from object.]]
|
|
|
|
params {
|
|
|
|
@in key: const(char)*; [[the key associated with the object ref]]
|
|
|
|
}
|
2016-04-19 07:33:05 -07:00
|
|
|
return: Eo.Base *; [[the object reference for the key]]
|
2016-04-12 09:04:11 -07:00
|
|
|
}
|
|
|
|
key_obj_del {
|
|
|
|
[[Del generic objecrt reference from object.]]
|
|
|
|
params {
|
|
|
|
@in key: const(char)*; [[the key associated with the object ref]]
|
|
|
|
}
|
|
|
|
}
|
2016-04-19 02:25:15 -07:00
|
|
|
key_value_set {
|
|
|
|
[[Set value on the object.
|
|
|
|
|
|
|
|
This stores the value with the given string key on the object
|
|
|
|
and it will be freed when replaced or deleted or the referring
|
|
|
|
object is deleted.
|
|
|
|
|
|
|
|
This is the same key store used by key_data_set and key_obj_set
|
|
|
|
etc. so keys are shared and can store only one thing
|
|
|
|
]]
|
|
|
|
params {
|
|
|
|
@in key: const(char)*; [[the key associated with the value]]
|
2016-04-19 11:28:36 -07:00
|
|
|
@in value: Eina.Value *; [[the value to set]]
|
2016-04-19 02:25:15 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
key_value_get @const {
|
|
|
|
[[Get generic value from object.]]
|
|
|
|
params {
|
|
|
|
@in key: const(char)*; [[the key associated with the value]]
|
|
|
|
}
|
2016-04-19 11:28:36 -07:00
|
|
|
return: Eina.Value *; [[the value for the key]]
|
2016-04-19 02:25:15 -07:00
|
|
|
}
|
|
|
|
key_value_del {
|
|
|
|
[[Del generic value from object.]]
|
|
|
|
params {
|
|
|
|
@in key: const(char)*; [[the key associated with the value]]
|
|
|
|
}
|
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
event_thaw {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[thaw events of object.
|
|
|
|
|
|
|
|
Lets event callbacks be called for the object.
|
|
|
|
]]
|
2015-05-01 07:59:57 -07:00
|
|
|
}
|
|
|
|
event_freeze {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[freeze events of object.
|
|
|
|
|
|
|
|
Prevents event callbacks from being called for the object.
|
|
|
|
]]
|
2015-05-01 07:59:57 -07:00
|
|
|
}
|
2014-07-24 06:41:23 -07:00
|
|
|
event_global_thaw @class {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[thaw events of object.
|
|
|
|
|
|
|
|
Lets event callbacks be called for the object.
|
|
|
|
]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
event_global_freeze @class {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[freeze events of object.
|
|
|
|
|
|
|
|
Prevents event callbacks from being called for the object.
|
|
|
|
]]
|
2015-05-01 07:59:57 -07:00
|
|
|
}
|
|
|
|
event_callback_priority_add {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Add a callback for an event with a specific priority.
|
|
|
|
|
|
|
|
callbacks of the same priority are called in reverse order of
|
|
|
|
creation.
|
|
|
|
]]
|
2016-04-02 04:18:29 -07:00
|
|
|
return: bool; [[Return true when the callback has been successfully added.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in desc: const(Eo.Event_Description)*; [[The description of the event to listen to]]
|
|
|
|
@in priority: Eo.Callback_Priority; [[The priority of the callback]]
|
|
|
|
@in cb: Eo.Event_Cb; [[the callback to call]]
|
|
|
|
@in data: const(void)*; [[additional data to pass to the callback]]
|
2015-05-01 07:59:57 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
event_callback_del {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Del a callback with a specific data associated to it for an event.]]
|
2016-04-02 04:18:29 -07:00
|
|
|
return: bool; [[Return true when the callback has been successfully removed.]]
|
2015-05-01 07:59:57 -07:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in desc: const(Eo.Event_Description)*; [[The description of the event to listen to]]
|
|
|
|
@in func: Eo.Event_Cb; [[the callback to delete]]
|
|
|
|
@in user_data: const(void)*; [[The data to compare]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
event_callback_array_priority_add {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Add a callback array for an event with a specific priority.
|
|
|
|
|
|
|
|
callbacks of the same priority are called in reverse order of
|
|
|
|
creation.
|
|
|
|
]]
|
2016-04-02 04:18:29 -07:00
|
|
|
return: bool; [[Return true when the callback has been successfully added.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in array: const(Eo.Callback_Array_Item)*; [[an #Eo_Callback_Array_Item of events to listen to]]
|
|
|
|
@in priority: Eo.Callback_Priority; [[The priority of the callback]]
|
|
|
|
@in data: const(void)*; [[additional data to pass to the callback]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
event_callback_array_del {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Del a callback array with a specific data associated to it for an
|
|
|
|
event.
|
|
|
|
]]
|
2016-04-02 04:18:29 -07:00
|
|
|
return: bool; [[Return true when the callback has been successfully removed.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in array: const(Eo.Callback_Array_Item)*; [[an #Eo_Callback_Array_Item of events to listen to]]
|
|
|
|
@in user_data: const(void)*; [[The data to compare]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
event_callback_call {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Call the callbacks for an event of an object.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in desc: const(Eo.Event_Description)*; [[The description of the event to call]]
|
|
|
|
@in event_info: void *; [[Extra event info to pass to the callbacks]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
2015-07-08 07:12:32 -07:00
|
|
|
return: bool; [[$true if one of the callbacks aborted the call,
|
|
|
|
$false otherwise
|
2015-06-05 09:03:36 -07:00
|
|
|
]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
event_callback_forwarder_add {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Add an event callback forwarder for an event and an object.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in desc: const(Eo.Event_Description)*; [[The description of the event to listen to]]
|
|
|
|
@in new_obj: Eo.Base *; [[The object to emit events from]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
event_callback_forwarder_del {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Remove an event callback forwarder for an event and an object.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in desc: const(Eo.Event_Description)*; [[The description of the event to listen to]]
|
|
|
|
@in new_obj: Eo.Base *; [[The object to emit events from]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
2015-05-01 07:59:57 -07:00
|
|
|
dbg_info_get {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Get dbg information from the object.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in root_node: Eo.Dbg_Info*; [[node of the tree]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
children_iterator_new {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Get an iterator on all childrens]]
|
2015-05-28 09:03:49 -07:00
|
|
|
return: free(own(iterator<Eo.Base *> *), eina_iterator_free) @warn_unused;
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
2015-05-08 06:21:23 -07:00
|
|
|
composite_attach @beta {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Make an object a composite object of another.
|
|
|
|
|
|
|
|
The class of comp_obj must be part of the extensions of the class of the parent.
|
|
|
|
It is not possible to attach more then 1 composite of the same class.
|
|
|
|
This functions also sets the parent of comp_obj to parent.
|
|
|
|
|
2015-07-08 07:12:32 -07:00
|
|
|
See @.composite_detach, @.composite_part_is.
|
2015-06-05 09:03:36 -07:00
|
|
|
]]
|
2014-10-21 04:37:00 -07:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in comp_obj: Eo.Base *; [[the object that will be used to composite the parent.]]
|
2014-10-21 04:37:00 -07:00
|
|
|
}
|
2015-09-18 20:54:58 -07:00
|
|
|
return: bool; [[$true if successful. $false otherwise.]]
|
2014-10-21 04:37:00 -07:00
|
|
|
}
|
2015-05-08 06:21:23 -07:00
|
|
|
composite_detach @beta {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Detach a composite object from another object.
|
|
|
|
|
2015-07-08 07:12:32 -07:00
|
|
|
This functions also sets the parent of comp_obj to $null.
|
2015-06-05 09:03:36 -07:00
|
|
|
|
2015-07-08 07:12:32 -07:00
|
|
|
See @.composite_attach, @.composite_part_is.
|
2015-06-05 09:03:36 -07:00
|
|
|
]]
|
2014-10-21 04:37:00 -07:00
|
|
|
params {
|
2015-06-05 09:03:36 -07:00
|
|
|
@in comp_obj: Eo.Base *; [[the object that will be removed from the parent.]]
|
2014-10-21 04:37:00 -07:00
|
|
|
}
|
2015-09-18 20:54:58 -07:00
|
|
|
return: bool; [[$true if successful. $false otherwise.]]
|
2014-10-21 04:37:00 -07:00
|
|
|
}
|
2015-05-08 06:21:23 -07:00
|
|
|
composite_part_is @beta {
|
2015-06-05 09:03:36 -07:00
|
|
|
[[Check if an object is part of a composite object.
|
|
|
|
|
2015-07-08 07:12:32 -07:00
|
|
|
See @.composite_attach, @.composite_part_is.
|
2015-06-05 09:03:36 -07:00
|
|
|
]]
|
2015-07-08 07:12:32 -07:00
|
|
|
return: bool; [[$true if it is. $false otherwise.]]
|
2014-10-21 04:37:00 -07:00
|
|
|
}
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
2014-06-03 03:23:53 -07:00
|
|
|
implements {
|
2014-06-20 02:45:55 -07:00
|
|
|
class.constructor;
|
|
|
|
class.destructor;
|
2014-06-03 03:23:53 -07:00
|
|
|
}
|
2014-03-09 00:31:28 -08:00
|
|
|
events {
|
2016-02-02 10:28:28 -08:00
|
|
|
callback,add @hot; [[A callback was added.]]
|
|
|
|
callback,del @hot; [[A callback was deleted.]]
|
2016-02-03 01:15:04 -08:00
|
|
|
del @hot; [[Obj is being deleted.]]
|
2014-03-09 00:31:28 -08:00
|
|
|
}
|
|
|
|
}
|