*/
static const char _evas_object_box_type[] = "Evas_Object_Box";
+static const char SIG_CHILD_ADDED[] = "child,added";
+static const char SIG_CHILD_REMOVED[] = "child,removed";
+static const Evas_Smart_Cb_Description _signals[] = {
+ {SIG_CHILD_ADDED, ""},
+ {SIG_CHILD_REMOVED, ""},
+ {NULL, NULL}
+};
static void _sizing_eval(Evas_Object *obj);
return NULL;
priv->children = eina_list_append(priv->children, opt);
+ priv->children_changed = EINA_TRUE;
+ evas_object_smart_callback_call(o, SIG_CHILD_ADDED, opt);
return opt;
}
return NULL;
priv->children = eina_list_prepend(priv->children, opt);
+ priv->children_changed = EINA_TRUE;
+ evas_object_smart_callback_call(o, SIG_CHILD_ADDED, opt);
return opt;
}
priv->children = eina_list_prepend_relative
(priv->children, new_opt, opt);
+ priv->children_changed = EINA_TRUE;
+ evas_object_smart_callback_call(o, SIG_CHILD_ADDED, new_opt);
return new_opt;
}
}
priv->children = eina_list_append_relative
(priv->children, new_opt, opt);
+ priv->children_changed = EINA_TRUE;
+ evas_object_smart_callback_call(o, SIG_CHILD_ADDED, new_opt);
return new_opt;
}
}
return NULL;
priv->children = eina_list_prepend(priv->children, new_opt);
+ priv->children_changed = EINA_TRUE;
+ evas_object_smart_callback_call(o, SIG_CHILD_ADDED, new_opt);
return new_opt;
}
priv->children = eina_list_prepend_relative
(priv->children, new_opt, opt);
+ priv->children_changed = EINA_TRUE;
+ evas_object_smart_callback_call(o, SIG_CHILD_ADDED, new_opt);
return new_opt;
}
}
{
priv->children = eina_list_remove(priv->children, opt);
api->option_free(o, priv, opt);
+ priv->children_changed = EINA_TRUE;
+ evas_object_smart_callback_call(o, SIG_CHILD_REMOVED, obj);
return obj;
}
priv->children = eina_list_remove_list(priv->children, node);
api->option_free(o, priv, opt);
+ priv->children_changed = EINA_TRUE;
+ evas_object_smart_callback_call(o, SIG_CHILD_REMOVED, obj);
return obj;
}
priv->layouting = 1;
priv->layout.cb(o, priv, priv->layout.data);
priv->layouting = 0;
+ priv->children_changed = EINA_FALSE;
}
else
ERR("No layout function set for %p box.", o);
api->base.del = _evas_object_box_smart_del;
api->base.resize = _evas_object_box_smart_resize;
api->base.calculate = _evas_object_box_smart_calculate;
+ api->base.callbacks = _signals;
api->append = _evas_object_box_append_default;
api->prepend = _evas_object_box_prepend_default;