/// <summary>Binds the given factory to this part.</summary>
public Eina.Error BindFactory(Efl.Ui.IFactory factory)
{
- this.Binder.BindFactory(this.PartName, factory);
- return Eina.Error.NO_ERROR;
+ return this.Binder.BindFactory(this.PartName, factory);
}
}
key: string; [[Key string for bind model property data]]
factory: Efl.Ui.Factory; [[@Efl.Ui.Factory for create and bind model property data]]
}
+ return: Eina.Error; [[0 when it succeed, an error code otherwise.]]
}
}
}
return 0;
}
-EOLIAN static void
+EOLIAN static Eina_Error
_efl_ui_layout_base_efl_ui_factory_bind_factory_bind(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *pd,
const char *key, Efl_Ui_Factory *factory)
{
- EINA_SAFETY_ON_NULL_RETURN(key);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(key, EFL_PROPERTY_ERROR_INVALID_KEY);
Efl_Ui_Layout_Factory_Tracking *tracking;
Eina_Stringshare *ss_key;
if (!_elm_layout_part_aliasing_eval(obj, &key, EINA_TRUE))
- return;
+ return EFL_PROPERTY_ERROR_INVALID_KEY;
// Check if there is a model and register it
_efl_ui_layout_base_model_watch(obj, pd);
else
{
tracking = calloc(1, sizeof (Efl_Ui_Layout_Factory_Tracking));
- if (!tracking) return ;
+ if (!tracking) return ENOMEM;
tracking->key = ss_key;
tracking->factory = efl_ref(factory);
_efl_ui_layout_view_model_content_update(pd, tracking, ss_key);
+
+ return EINA_ERROR_NO_ERROR;
}
EOLIAN void
efl_destructor(efl_super(obj, MY_CLASS));
}
-EOLIAN static void
+EOLIAN static Eina_Error
_efl_ui_layout_factory_efl_ui_factory_bind_factory_bind(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Factory_Data *pd,
const char *key, Efl_Ui_Factory *factory)
{
if (factory == NULL)
{
eina_hash_del(pd->bind.factories, ss_key, NULL);
- return;
+ return EINA_ERROR_NO_ERROR;
}
f_old = eina_hash_set(pd->bind.factories, ss_key, efl_ref(factory));
efl_unref(f_old);
eina_stringshare_del(ss_key);
}
+
+ return EINA_ERROR_NO_ERROR;
}
EOLIAN static Eina_Error
if (!key)
{
eina_stringshare_replace(&pd->pd->default_property, property);
- return;
+ return 0;
}
if (!pd->pd->parts)
return 0;
}
+static Eina_Error
+_efl_ui_widget_factory_efl_ui_factory_bind_factory_bind(Eo *obj EINA_UNUSED,
+ Efl_Ui_Widget_Factory_Data *pd EINA_UNUSED,
+ const char *key EINA_UNUSED,
+ Efl_Ui_Factory *factory EINA_UNUSED)
+{
+ ERR("Efl.Ui.Widget_Factory doesn't support efl.ui.factory_bind.\n");
+ return EINA_ERROR_NOT_IMPLEMENTED;
+}
+
#include "efl_ui_property_bind_part.eo.c"
#include "efl_ui_widget_factory.eo.c"
Efl.Ui.Factory.create;
Efl.Ui.Factory.release;
Efl.Ui.Property_Bind.property_bind;
+ Efl.Ui.Factory_Bind.factory_bind;
Efl.Part.part_get;
Efl.Object.finalize;
}