E CVS: libs/ewl pfritz

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Author: Enlightenment CVS
Date:  
To: enlightenment-cvs
Subject: E CVS: libs/ewl pfritz
Enlightenment CVS committal

Author : pfritz
Project : e17
Module : libs/ewl

Dir : e17/libs/ewl/src/lib


Modified Files:
    ewl_text.c ewl_text_trigger.c


Log Message:
- attach the mouse pointer of the trigger to its areas
- forward the click event to the trigger
- only warn if trigger are really overlapping

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_text.c,v
retrieving revision 1.208
retrieving revision 1.209
diff -u -3 -r1.208 -r1.209
--- ewl_text.c    8 Aug 2008 00:37:34 -0000    1.208
+++ ewl_text.c    11 Aug 2008 13:22:32 -0000    1.209
@@ -4139,14 +4139,14 @@
{
if (trigger->char_pos < cur->char_pos)
{
- if ((trigger->char_pos + trigger->char_len) < cur->char_pos)
- break;
+ if ((trigger->char_pos + trigger->char_len) <= cur->char_pos)
+ continue;

DWARNING("Overlapping triggers are not allowed.");
DRETURN(DLEVEL_STABLE);
}

- if ((trigger->char_pos > (cur->char_pos + cur->char_len)))
+ if ((trigger->char_pos >= (cur->char_pos + cur->char_len)))
continue;

if ((trigger->char_pos >= cur->char_pos)
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_text_trigger.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- ewl_text_trigger.c    30 Jul 2008 21:43:54 -0000    1.15
+++ ewl_text_trigger.c    11 Aug 2008 13:22:32 -0000    1.16
@@ -53,6 +53,8 @@
void *data);
static void ewl_text_trigger_area_cb_mouse_down(Ewl_Widget *w, void *ev,
void *data);
+static void ewl_text_trigger_area_cb_clicked(Ewl_Widget *w, void *ev,
+ void *data);

/**
* @param type: The type of trigger to create
@@ -295,6 +297,8 @@
ewl_text_trigger_area_type_set(EWL_TEXT_TRIGGER_AREA(area), cur->type);
ewl_object_geometry_request(EWL_OBJECT(area), x, y, w, h);
EWL_TEXT_TRIGGER_AREA(area)->trigger = cur;
+ /* attach the pointer of the trigger to the area */
+ ewl_attach_mouse_cursor_set(area, ewl_attach_mouse_cursor_get(cur));

ewl_widget_show(area);

@@ -465,6 +469,8 @@
ewl_text_trigger_area_cb_mouse_down, NULL);
ewl_callback_append(w, EWL_CALLBACK_MOUSE_UP,
ewl_text_trigger_area_cb_mouse_up, NULL);
+ ewl_callback_append(w, EWL_CALLBACK_CLICKED,
+ ewl_text_trigger_area_cb_clicked, NULL);

DRETURN_INT(TRUE, DLEVEL_STABLE);
}
@@ -646,4 +652,31 @@

DLEAVE_FUNCTION(DLEVEL_STABLE);
}
+
+/**
+ * @internal
+ * @param w: the area
+ * @param ev: The event data
+ * @param data: UNUSED
+ * @return Returns no value
+ * @brief The trigger clicked callback
+ */
+void
+ewl_text_trigger_area_cb_clicked(Ewl_Widget *w, void *ev,
+ void *data __UNUSED__)
+{
+ Ewl_Text_Trigger_Area *a;
+
+ DENTER_FUNCTION(DLEVEL_STABLE);
+ DCHECK_PARAM_PTR(w);
+ DCHECK_TYPE(w, EWL_TEXT_TRIGGER_AREA_TYPE);
+
+ a = EWL_TEXT_TRIGGER_AREA(w);
+ if (a->trigger)
+ ewl_callback_call_with_event_data(EWL_WIDGET(a->trigger),
+ EWL_CALLBACK_CLICKED, ev);
+
+ DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@???
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs