Enlightenment CVS committal

Author  : rbdpngn
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src


Modified Files:
        ewl_scrollpane.c 


Log Message:
Wheeeeelie mouse

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_scrollpane.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- ewl_scrollpane.c    9 Jun 2004 04:50:29 -0000       1.39
+++ ewl_scrollpane.c    7 Jul 2004 20:51:42 -0000       1.40
@@ -14,7 +14,10 @@
        if (!s)
                DRETURN_PTR(NULL, DLEVEL_UNSTABLE);
 
-       ewl_scrollpane_init(s);
+       if (!ewl_scrollpane_init(s)) {
+               FREE(s);
+               s = NULL;
+       }
 
        DRETURN_PTR(EWL_WIDGET(s), DLEVEL_UNSTABLE);
 }
@@ -96,7 +99,10 @@
        ewl_callback_append(s->vscrollbar, EWL_CALLBACK_VALUE_CHANGED,
                            ewl_scrollpane_vscroll_cb, s);
 
-       DRETURN_INT(FALSE, DLEVEL_STABLE);
+       ewl_callback_append(w, EWL_CALLBACK_MOUSE_WHEEL,
+                           ewl_scrollpane_wheel_scroll_cb, NULL);
+
+       DRETURN_INT(TRUE, DLEVEL_STABLE);
 }
 
 /**
@@ -364,10 +370,8 @@
 void ewl_scrollpane_hscroll_cb(Ewl_Widget * w, void *ev_data, void *user_data)
 {
        DENTER_FUNCTION(DLEVEL_STABLE);
-       DCHECK_PARAM_PTR("w", w);
-       DCHECK_PARAM_PTR("user_data", user_data);
 
-       ewl_callback_call(user_data, EWL_CALLBACK_VALUE_CHANGED);
+       ewl_callback_call(w, EWL_CALLBACK_VALUE_CHANGED);
        ewl_widget_configure(user_data);
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
@@ -389,6 +393,20 @@
        DLEAVE_FUNCTION(DLEVEL_STABLE);
 }
 
+void
+ewl_scrollpane_wheel_scroll_cb(Ewl_Widget *cb, void *ev_data, void *user_data)
+{
+       Ewl_ScrollPane *s = EWL_SCROLLPANE(cb);
+       Ewl_Event_Mouse_Wheel *ev = ev_data;
+
+       DENTER_FUNCTION(DLEVEL_STABLE);
+
+       ewl_scrollpane_set_vscrollbar_value(s,
+                       ewl_scrollpane_get_vscrollbar_value(s) +
+                       ev->z * ewl_scrollpane_get_vscrollbar_step(s));
+
+       DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
 /*
  * This handles all of the various size affecting callbacks.
  */




-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to