forked from enlightenment/efl
Revert "elementary/layout: attach edje object API with eo compositing"
This reverts commit 8a988717e1
.
It seems we can't actually inherit from class more than once and neither eo
nor eolian will complain about it. You will just get random weird behavior.
This patch should come back once we have made an interface of edje.
This commit is contained in:
parent
a3ad7553c5
commit
a7bb1662e2
|
@ -2630,7 +2630,7 @@ _text_append_idler(void *data)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_text_edje_object_signal_emit(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd, const char *emission, const char *source)
|
||||
_efl_ui_text_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd, const char *emission, const char *source)
|
||||
{
|
||||
/* always pass to both edje objs */
|
||||
edje_object_signal_emit(sd->entry_edje, emission, source);
|
||||
|
@ -2644,7 +2644,7 @@ _efl_ui_text_edje_object_signal_emit(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd,
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_text_edje_object_signal_callback_add(Eo *obj, Efl_Ui_Text_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
_efl_ui_text_elm_layout_signal_callback_add (Eo *obj, Efl_Ui_Text_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
{
|
||||
Evas_Object *ro;
|
||||
|
||||
|
@ -2654,25 +2654,25 @@ _efl_ui_text_edje_object_signal_callback_add(Eo *obj, Efl_Ui_Text_Data *sd, cons
|
|||
|
||||
wd->resize_obj = sd->entry_edje;
|
||||
|
||||
edje_obj_signal_callback_add
|
||||
elm_obj_layout_signal_callback_add
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
|
||||
if (sd->scr_edje)
|
||||
{
|
||||
wd->resize_obj = sd->scr_edje;
|
||||
|
||||
edje_obj_signal_callback_add
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
elm_obj_layout_signal_callback_add
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
}
|
||||
|
||||
wd->resize_obj = ro;
|
||||
}
|
||||
|
||||
EOLIAN static void *
|
||||
_efl_ui_text_edje_object_signal_callback_del(Eo *obj, Efl_Ui_Text_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
_efl_ui_text_elm_layout_signal_callback_del(Eo *obj, Efl_Ui_Text_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb)
|
||||
{
|
||||
Evas_Object *ro;
|
||||
void *data_ptr;
|
||||
void *data = NULL;
|
||||
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
|
||||
|
||||
|
@ -2680,19 +2680,19 @@ _efl_ui_text_edje_object_signal_callback_del(Eo *obj, Efl_Ui_Text_Data *sd, cons
|
|||
|
||||
wd->resize_obj = sd->entry_edje;
|
||||
|
||||
data_ptr = edje_obj_signal_callback_del
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
data = elm_obj_layout_signal_callback_del
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb);
|
||||
|
||||
if (sd->scr_edje)
|
||||
{
|
||||
wd->resize_obj = sd->scr_edje;
|
||||
|
||||
data_ptr = edje_obj_signal_callback_del
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
data = elm_obj_layout_signal_callback_del
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb);
|
||||
}
|
||||
|
||||
wd->resize_obj = ro;
|
||||
return data_ptr;
|
||||
return data;
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
|
|
@ -4,8 +4,7 @@ import elm_entry;
|
|||
|
||||
class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
||||
Elm.Interface.Atspi.Text, Elm.Interface.Atspi.Text.Editable, Efl.File,
|
||||
Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Ui.Text.Interactive,
|
||||
Edje.Object)
|
||||
Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Ui.Text.Interactive)
|
||||
{
|
||||
methods {
|
||||
@property scrollable {
|
||||
|
@ -378,9 +377,6 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Edje.Object.signal_callback_add;
|
||||
Edje.Object.signal_callback_del;
|
||||
Edje.Object.signal_emit;
|
||||
Elm.Widget.activate;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
|
@ -392,6 +388,9 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
Elm.Layout.theme_enable;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Layout.text.get;
|
||||
Elm.Layout.signal_callback_add;
|
||||
Elm.Layout.signal_callback_del;
|
||||
Elm.Layout.signal_emit;
|
||||
Elm.Layout.text.set;
|
||||
Elm.Layout.content_aliases.get;
|
||||
Elm.Interface_Scrollable.policy.set;
|
||||
|
|
|
@ -1005,7 +1005,7 @@ _back_btn_new(Evas_Object *obj, const char *title_label)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_naviframe_edje_object_signal_emit(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, const char *emission, const char *source)
|
||||
_elm_naviframe_elm_layout_signal_emit(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, const char *emission, const char *source)
|
||||
{
|
||||
Elm_Object_Item *eo_top_it;
|
||||
|
||||
|
@ -1013,7 +1013,7 @@ _elm_naviframe_edje_object_signal_emit(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUS
|
|||
if (!eo_top_it) return;
|
||||
ELM_NAVIFRAME_ITEM_DATA_GET(eo_top_it, top_it);
|
||||
|
||||
edje_obj_signal_emit(VIEW(top_it), emission, source);
|
||||
elm_obj_layout_signal_emit(VIEW(top_it), emission, source);
|
||||
}
|
||||
|
||||
/* content/text smart functions proxying things to the top item, which
|
||||
|
|
|
@ -490,9 +490,9 @@ _elm_popup_elm_layout_sizing_eval(Eo *obj, Elm_Popup_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_popup_edje_object_signal_emit(Eo *obj EINA_UNUSED, Elm_Popup_Data *sd, const char *emission, const char *source)
|
||||
_elm_popup_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Elm_Popup_Data *sd, const char *emission, const char *source)
|
||||
{
|
||||
edje_obj_signal_emit(sd->main_layout, emission, source);
|
||||
elm_layout_signal_emit(sd->main_layout, emission, source);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
|
|
|
@ -3018,7 +3018,7 @@ _chars_add_till_limit(Evas_Object *obj,
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_entry_edje_object_signal_emit(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd, const char *emission, const char *source)
|
||||
_elm_entry_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd, const char *emission, const char *source)
|
||||
{
|
||||
/* always pass to both edje objs */
|
||||
edje_object_signal_emit(sd->entry_edje, emission, source);
|
||||
|
@ -3032,7 +3032,7 @@ _elm_entry_edje_object_signal_emit(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd, cons
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_entry_edje_object_signal_callback_add(Eo *obj, Elm_Entry_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
_elm_entry_elm_layout_signal_callback_add (Eo *obj, Elm_Entry_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
{
|
||||
Evas_Object *ro;
|
||||
|
||||
|
@ -3042,25 +3042,25 @@ _elm_entry_edje_object_signal_callback_add(Eo *obj, Elm_Entry_Data *sd, const ch
|
|||
|
||||
wd->resize_obj = sd->entry_edje;
|
||||
|
||||
edje_obj_signal_callback_add
|
||||
elm_obj_layout_signal_callback_add
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
|
||||
if (sd->scr_edje)
|
||||
{
|
||||
wd->resize_obj = sd->scr_edje;
|
||||
|
||||
edje_obj_signal_callback_add
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
elm_obj_layout_signal_callback_add
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
}
|
||||
|
||||
wd->resize_obj = ro;
|
||||
}
|
||||
|
||||
EOLIAN static void *
|
||||
_elm_entry_edje_object_signal_callback_del(Eo *obj, Elm_Entry_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
_elm_entry_elm_layout_signal_callback_del(Eo *obj, Elm_Entry_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb)
|
||||
{
|
||||
Evas_Object *ro;
|
||||
void *data_ptr;
|
||||
void *data = NULL;
|
||||
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
|
||||
|
||||
|
@ -3068,19 +3068,19 @@ _elm_entry_edje_object_signal_callback_del(Eo *obj, Elm_Entry_Data *sd, const ch
|
|||
|
||||
wd->resize_obj = sd->entry_edje;
|
||||
|
||||
data_ptr = edje_obj_signal_callback_del
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
data = elm_obj_layout_signal_callback_del
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb);
|
||||
|
||||
if (sd->scr_edje)
|
||||
{
|
||||
wd->resize_obj = sd->scr_edje;
|
||||
|
||||
data_ptr = edje_obj_signal_callback_del
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb, data);
|
||||
data = elm_obj_layout_signal_callback_del
|
||||
(eo_super(obj, MY_CLASS), emission, source, func_cb);
|
||||
}
|
||||
|
||||
wd->resize_obj = ro;
|
||||
return data_ptr;
|
||||
return data;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
|
|
|
@ -116,7 +116,7 @@ enum Elm.Cnp_Mode
|
|||
|
||||
class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
||||
Elm.Interface.Atspi.Text, Elm.Interface.Atspi.Text.Editable, Efl.File,
|
||||
Efl.Ui.Selectable, Efl.Ui.Scrollable, Edje.Object)
|
||||
Efl.Ui.Selectable, Efl.Ui.Scrollable)
|
||||
{
|
||||
legacy_prefix: elm_entry;
|
||||
eo_prefix: elm_obj_entry;
|
||||
|
@ -942,9 +942,6 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Edje.Object.signal_callback_add;
|
||||
Edje.Object.signal_callback_del;
|
||||
Edje.Object.signal_emit;
|
||||
Elm.Widget.activate;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
|
@ -956,6 +953,9 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
Elm.Layout.theme_enable;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Layout.text.get;
|
||||
Elm.Layout.signal_callback_add;
|
||||
Elm.Layout.signal_callback_del;
|
||||
Elm.Layout.signal_emit;
|
||||
Elm.Layout.text.set;
|
||||
Elm.Layout.content_aliases.get;
|
||||
Elm.Interface_Scrollable.policy.set;
|
||||
|
|
|
@ -772,7 +772,6 @@ _elm_layout_efl_canvas_group_group_add(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_
|
|||
|
||||
/* has to be there *before* parent's smart_add() */
|
||||
edje = edje_object_add(evas_object_evas_get(obj));
|
||||
eo_composite_attach(obj, edje);
|
||||
elm_widget_resize_object_set(obj, edje, EINA_TRUE);
|
||||
|
||||
efl_canvas_group_add(eo_super(obj, MY_CLASS));
|
||||
|
@ -919,22 +918,16 @@ _elm_layout_theme_set(Eo *obj, Elm_Layout_Smart_Data *sd, const char *klass, con
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_layout_signal_emit(Evas_Object *obj, const char *emission, const char *source)
|
||||
EOLIAN static void
|
||||
_elm_layout_signal_emit(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED, const char *emission, const char *source)
|
||||
{
|
||||
edje_obj_signal_emit(obj, emission, source);
|
||||
}
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
|
||||
EAPI void
|
||||
elm_layout_signal_callback_add(Evas_Object *obj,
|
||||
const char *emission, const char *source,
|
||||
Edje_Signal_Cb func_cb, void *data)
|
||||
{
|
||||
edje_obj_signal_callback_add(obj, emission, source, func_cb, data);
|
||||
edje_object_signal_emit(wd->resize_obj, emission, source);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_layout_edje_object_signal_callback_add(Eo *obj, Elm_Layout_Smart_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
_elm_layout_signal_callback_add(Eo *obj, Elm_Layout_Smart_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
|
||||
{
|
||||
Edje_Signal_Data *esd;
|
||||
|
||||
|
@ -951,23 +944,16 @@ _elm_layout_edje_object_signal_callback_add(Eo *obj, Elm_Layout_Smart_Data *sd,
|
|||
sd->edje_signals = eina_list_append(sd->edje_signals, esd);
|
||||
|
||||
edje_object_signal_callback_add
|
||||
(wd->resize_obj, emission, source, _edje_signal_callback, esd);
|
||||
(wd->resize_obj, emission, source,
|
||||
_edje_signal_callback, esd);
|
||||
}
|
||||
|
||||
EAPI void *
|
||||
elm_layout_signal_callback_del(Evas_Object *obj,
|
||||
const char *emission, const char *source,
|
||||
Edje_Signal_Cb func_cb)
|
||||
EOLIAN static void*
|
||||
_elm_layout_signal_callback_del(Eo *obj, Elm_Layout_Smart_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb)
|
||||
{
|
||||
return edje_obj_signal_callback_del(obj, emission, source, func_cb, NULL);
|
||||
}
|
||||
|
||||
EOLIAN static void *
|
||||
_elm_layout_edje_object_signal_callback_del(Eo *obj, Elm_Layout_Smart_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data EINA_UNUSED)
|
||||
{
|
||||
Edje_Signal_Data *esd;
|
||||
Edje_Signal_Data *esd = NULL;
|
||||
void *data = NULL;
|
||||
Eina_List *l;
|
||||
void *data_ptr;
|
||||
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
|
||||
|
||||
|
@ -979,13 +965,16 @@ _elm_layout_edje_object_signal_callback_del(Eo *obj, Elm_Layout_Smart_Data *sd,
|
|||
sd->edje_signals = eina_list_remove_list(sd->edje_signals, l);
|
||||
eina_stringshare_del(esd->emission);
|
||||
eina_stringshare_del(esd->source);
|
||||
data_ptr = esd->data;
|
||||
data = esd->data;
|
||||
|
||||
edje_object_signal_callback_del_full
|
||||
(wd->resize_obj, emission, source,
|
||||
_edje_signal_callback, esd);
|
||||
|
||||
edje_obj_signal_callback_del
|
||||
(wd->resize_obj, emission, source, _edje_signal_callback, esd);
|
||||
free(esd);
|
||||
|
||||
return data_ptr; /* stop at 1st match */
|
||||
return data; /* stop at 1st match */
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1667,10 +1656,12 @@ _elm_layout_edje_get(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED)
|
|||
return wd->resize_obj;
|
||||
}
|
||||
|
||||
EAPI const char *
|
||||
elm_layout_data_get(const Evas_Object *obj, const char *key)
|
||||
EOLIAN static const char*
|
||||
_elm_layout_data_get(const Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED, const char *key)
|
||||
{
|
||||
return edje_obj_data_get(obj, key);
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
|
||||
|
||||
return edje_object_data_get(wd->resize_obj, key);
|
||||
}
|
||||
|
||||
/* layout's sizing evaluation is deferred. evaluation requests are
|
||||
|
@ -1696,36 +1687,30 @@ _elm_layout_sizing_restricted_eval(Eo *obj, Elm_Layout_Smart_Data *sd, Eina_Bool
|
|||
evas_object_smart_changed(obj);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
elm_layout_freeze(Evas_Object *obj)
|
||||
{
|
||||
return edje_obj_freeze(obj);
|
||||
}
|
||||
|
||||
EOLIAN static int
|
||||
_elm_layout_edje_object_freeze(Eo *obj, Elm_Layout_Smart_Data *sd)
|
||||
_elm_layout_freeze(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 1);
|
||||
ELM_LAYOUT_DATA_GET(obj, sd);
|
||||
|
||||
if ((sd->frozen)++ != 0) return sd->frozen;
|
||||
|
||||
edje_obj_freeze(eo_super(obj, MY_CLASS));
|
||||
edje_object_freeze(wd->resize_obj);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
elm_layout_thaw(Evas_Object *obj)
|
||||
{
|
||||
return edje_obj_thaw(obj);
|
||||
}
|
||||
|
||||
EOLIAN static int
|
||||
_elm_layout_edje_object_thaw(Eo *obj, Elm_Layout_Smart_Data *sd)
|
||||
_elm_layout_thaw(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 0);
|
||||
ELM_LAYOUT_DATA_GET(obj, sd);
|
||||
|
||||
if (--(sd->frozen) != 0) return sd->frozen;
|
||||
|
||||
edje_obj_thaw(eo_super(obj, MY_CLASS));
|
||||
edje_object_thaw(wd->resize_obj);
|
||||
|
||||
_elm_layout_sizing_eval(obj, sd);
|
||||
elm_obj_layout_sizing_eval(obj);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ struct Elm.Layout_Part_Alias_Description
|
|||
real_part: string; [[Target part name for the alias set on Elm.Layout_Part_Proxies_Description::real_part. An example of usage would be "default" on that field, with "elm.content.swallow" on this one]]
|
||||
}
|
||||
|
||||
class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object)
|
||||
class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File)
|
||||
{
|
||||
legacy_prefix: elm_layout;
|
||||
eo_prefix: elm_obj_layout;
|
||||
|
@ -123,6 +123,16 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object)
|
|||
@in part_name: string; [[A part from loaded edje group.]]
|
||||
}
|
||||
}
|
||||
freeze {
|
||||
[[Freezes the Elementary layout object.
|
||||
|
||||
This function puts all changes on hold. Successive freezes will
|
||||
nest, requiring an equal number of thaws.
|
||||
|
||||
See also @.thaw.
|
||||
]]
|
||||
return: int; [[The frozen state or 0 on error.]]
|
||||
}
|
||||
theme_enable {
|
||||
legacy: null;
|
||||
return: bool;
|
||||
|
@ -196,6 +206,23 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object)
|
|||
text: string @nullable; [[The text to set.]]
|
||||
}
|
||||
}
|
||||
signal_callback_add {
|
||||
[[Add a callback for a (Edje) signal emitted by a layout widget's
|
||||
underlying Edje object.
|
||||
|
||||
This function connects a callback function to a signal emitted by
|
||||
the underlying Edje object of $obj. Globs are accepted in either
|
||||
the emission or source strings.
|
||||
]]
|
||||
params {
|
||||
@in emission: string; [[The signal's name string.]]
|
||||
@in source: string; [[The signal's source string.]]
|
||||
@in func: Edje.Signal_Cb; [[The callback function to be executed
|
||||
when the signal is emitted.]]
|
||||
@in data: void_ptr @optional; [[A pointer to data to pass in to the
|
||||
callback function.]]
|
||||
}
|
||||
}
|
||||
part_cursor_set {
|
||||
[[Sets a specific cursor for an edje part.]]
|
||||
return: bool; [[$true on success or $false on failure, that may be
|
||||
|
@ -216,6 +243,78 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object)
|
|||
legacy: null;
|
||||
return: bool;
|
||||
}
|
||||
data_get @const {
|
||||
[[Get the edje data from the given layout.
|
||||
|
||||
This function fetches data specified inside the edje theme of
|
||||
this layout. This function return NULL if data is not found.
|
||||
|
||||
In EDC this comes from a data block within the group block that
|
||||
$obj was loaded from.
|
||||
]]
|
||||
/* FIXME-doc
|
||||
@code
|
||||
collections {
|
||||
group {
|
||||
name: "a_group";
|
||||
data {
|
||||
item: "key1" "value1";
|
||||
item: "key2" "value2";
|
||||
}
|
||||
}
|
||||
}
|
||||
@endcode
|
||||
*/
|
||||
return: string; [[The edje data string.]]
|
||||
params {
|
||||
@in key: string; [[The data key.]]
|
||||
}
|
||||
}
|
||||
signal_callback_del {
|
||||
[[Remove a signal-triggered callback from a given layout widget.
|
||||
|
||||
This function removes the last callback attached to a signal
|
||||
emitted by the undelying Edje object of $obj, with parameters
|
||||
$emission, $source and $func matching exactly those passed to a
|
||||
previous call to @.signal_callback_add. The data pointer that
|
||||
was passed to this call will be returned.
|
||||
]]
|
||||
return: void_ptr; [[The data pointer of the signal callback (passed on
|
||||
@.signal_callback_add) or $null on errors.]]
|
||||
params {
|
||||
@in emission: string; [[The signal's name string.]]
|
||||
@in source: string; [[The signal's source string.]]
|
||||
@in func: Edje.Signal_Cb; [[The callback function being executed
|
||||
when the signal was emitted.]]
|
||||
}
|
||||
}
|
||||
thaw {
|
||||
[[Thaws the Elementary object.
|
||||
|
||||
This function thaws the given Edje object and the Elementary
|
||||
sizing calc.
|
||||
|
||||
Note: If sucessives freezes were done, an equal number of
|
||||
thaws will be required.
|
||||
|
||||
See also @.freeze.
|
||||
]]
|
||||
return: int; [[The frozen state or 0 if the object is not frozen or on error.]]
|
||||
}
|
||||
signal_emit {
|
||||
[[Send a (Edje) signal to a given layout widget's underlying Edje
|
||||
object.
|
||||
|
||||
This function sends a signal to the underlying Edje object of
|
||||
$obj. An Edje program on that Edje object's definition can
|
||||
respond to a signal by specifying matching 'signal' and
|
||||
'source' fields.
|
||||
]]
|
||||
params {
|
||||
@in emission: string; [[The signal's name string.]]
|
||||
@in source: string; [[The signal's source string.]]
|
||||
}
|
||||
}
|
||||
part_cursor_unset {
|
||||
[[Unsets a cursor previously set with @.part_cursor_set.]]
|
||||
return: bool;
|
||||
|
@ -252,10 +351,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object)
|
|||
Efl.Container.content.get;
|
||||
Efl.Container.content_unset;
|
||||
Efl.Part.part;
|
||||
Edje.Object.freeze;
|
||||
Edje.Object.thaw;
|
||||
Edje.Object.signal_callback_add;
|
||||
Edje.Object.signal_callback_del;
|
||||
}
|
||||
events {
|
||||
theme,changed;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object)
|
||||
class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
|
||||
{
|
||||
legacy_prefix: elm_naviframe;
|
||||
eo_prefix: elm_obj_naviframe;
|
||||
|
@ -145,7 +145,6 @@ class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object)
|
|||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Edje.Object.signal_emit;
|
||||
Elm.Widget.focus_direction;
|
||||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
|
@ -156,6 +155,7 @@ class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object)
|
|||
Elm.Widget.event;
|
||||
Elm.Layout.text.set;
|
||||
Elm.Layout.text.get;
|
||||
Elm.Layout.signal_emit;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions.get;
|
||||
Efl.Part.part;
|
||||
|
|
|
@ -23,7 +23,7 @@ enum Elm.Popup.Orient
|
|||
}
|
||||
|
||||
|
||||
class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object)
|
||||
class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
|
||||
{
|
||||
legacy_prefix: elm_popup;
|
||||
eo_prefix: elm_obj_popup;
|
||||
|
@ -169,7 +169,6 @@ class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object)
|
|||
Eo.Base.constructor;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Edje.Object.signal_emit;
|
||||
Elm.Widget.focus_direction;
|
||||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
|
@ -183,6 +182,7 @@ class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object)
|
|||
Elm.Layout.text.set;
|
||||
Elm.Layout.text.get;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Layout.signal_emit;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions.get;
|
||||
Elm.Interface.Atspi_Accessible.state_set.get;
|
||||
Efl.Part.part;
|
||||
|
|
|
@ -57,39 +57,8 @@ START_TEST(elm_layout_swallows)
|
|||
}
|
||||
END_TEST
|
||||
|
||||
START_TEST(elm_layout_edje_attach)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
Evas_Object *win, *layout;
|
||||
const Evas_Object *part;
|
||||
int r, g, b, a;
|
||||
|
||||
elm_init(1, NULL);
|
||||
win = elm_win_add(NULL, "layout", ELM_WIN_BASIC);
|
||||
|
||||
layout = eo_add(ELM_LAYOUT_CLASS, win);
|
||||
snprintf(buf, sizeof(buf), "%s/objects/test.edj", ELM_TEST_DATA_DIR);
|
||||
edje_object_file_set(layout, buf, "layout_edje");
|
||||
evas_object_show(layout);
|
||||
|
||||
edje_object_color_class_set(layout, "red", 255, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
part = edje_object_part_object_get(layout, "red");
|
||||
evas_object_color_get(part, &r, &g, &b, &a);
|
||||
fail_if((r != 255) || (g != 0) || (b != 0) || (a != 255));
|
||||
|
||||
edje_object_signal_emit(layout, "change", "test");
|
||||
edje_object_message_signal_process(layout);
|
||||
part = edje_object_part_object_get(layout, "blue");
|
||||
evas_object_color_get(part, &r, &g, &b, &a);
|
||||
fail_if((r != 0) || (g != 0) || (b != 255) || (a != 255));
|
||||
|
||||
elm_shutdown();
|
||||
}
|
||||
END_TEST
|
||||
|
||||
void elm_test_layout(TCase *tc)
|
||||
{
|
||||
tcase_add_test(tc, elm_atspi_role_get);
|
||||
tcase_add_test(tc, elm_layout_swallows);
|
||||
tcase_add_test(tc, elm_layout_edje_attach);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue