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


			
			
				devs/devilhorns/wayland_egl
			
			
		
Carsten Haitzler 15 years ago
parent 73b6cc9ff8
commit 368f148fef
  1. 6
      legacy/edje/src/lib/edje_calc.c
  2. 26
      legacy/edje/src/lib/edje_callbacks.c
  3. 4
      legacy/edje/src/lib/edje_util.c

@ -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)

@ -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);

@ -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)))

Loading…
Cancel
Save