use hold event and emit hold,on and hold,off

SVN revision: 34161
This commit is contained in:
Carsten Haitzler 2008-03-31 21:38:51 +00:00
parent 73b6cc9ff8
commit 368f148fef
3 changed files with 34 additions and 2 deletions

View File

@ -549,12 +549,14 @@ _edje_part_recalc_single(Edje *ed,
if (chosen_desc->text.id_source >= 0)
{
ep->text.source = ed->table_parts[chosen_desc->text.id_source % ed->table_parts_size];
style = ep->text.source->chosen_description->text.style;
if (ep->text.source->chosen_description->text.style)
style = ep->text.source->chosen_description->text.style;
}
else
{
ep->text.source = NULL;
style = chosen_desc->text.style;
if (chosen_desc->text.style)
style = chosen_desc->text.style;
}
if (chosen_desc->text.id_text_source >= 0)

View File

@ -5,6 +5,25 @@
#include "Edje.h"
#include "edje_private.h"
void
_edje_hold_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
{
Evas_Event_Hold *ev;
Edje *ed;
Edje_Real_Part *rp;
ev = event_info;
ed = data;
rp = evas_object_data_get(obj, "real_part");
if (!rp) return;
if (ev->hold)
_edje_emit(ed, "hold,on", rp->part->name);
else
_edje_emit(ed, "hold,off", rp->part->name);
return;
e = NULL;
}
void
_edje_mouse_in_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
{
@ -368,6 +387,10 @@ _edje_pending_timer_cb(void *data)
void
_edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
{
evas_object_event_callback_add(obj,
EVAS_CALLBACK_HOLD,
_edje_hold_cb,
ed);
evas_object_event_callback_add(obj,
EVAS_CALLBACK_MOUSE_IN,
_edje_mouse_in_cb,
@ -398,6 +421,9 @@ _edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
void
_edje_callbacks_del(Evas_Object *obj)
{
evas_object_event_callback_del(obj,
EVAS_CALLBACK_HOLD,
_edje_hold_cb);
evas_object_event_callback_del(obj,
EVAS_CALLBACK_MOUSE_IN,
_edje_mouse_in_cb);

View File

@ -1201,6 +1201,10 @@ edje_object_size_min_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh)
pep = ep;
didw = 1;
}
if ((ep->part->type == EDJE_PART_TYPE_TEXTBLOCK))
{
/* FIXME: do something */
}
}
if (!((ep->chosen_description) &&
(ep->chosen_description->fixed.h)))