Enlightenment CVS committal

Author  : rbdpngn
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_object.c ewl_spinner.c 


Log Message:
Slight tweak to object resize notification.
Cleanup spinner layout and test.

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_object.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- ewl_object.c        9 Oct 2005 05:18:39 -0000       1.7
+++ ewl_object.c        18 Oct 2005 06:41:58 -0000      1.8
@@ -208,7 +208,8 @@
  */
 void ewl_object_preferred_inner_w_set(Ewl_Object * o, int w)
 {
-       int             old_size, new_size, resize;
+       int old_size, new_size;
+       unsigned int resize, fill;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
 
@@ -227,19 +228,19 @@
        else
                new_size = w;
 
-       resize = ewl_object_fill_policy_get(EWL_OBJECT(o)) &
-               EWL_FLAG_FILL_HSHRINK;
+       if (CURRENT_W(o) < PREFERRED_W(o))
+               fill = EWL_FLAG_FILL_HSHRINK;
+       else if (CURRENT_W(o) > PREFERRED_W(o))
+               fill = EWL_FLAG_FILL_HFILL;
+       else
+               fill = 0;
+
+       resize = ewl_object_fill_policy_get(EWL_OBJECT(o));
 
        /*
-        * Now update the widgets parent of the change in size.
+        * Now update the widgets parent of the change in size if necessary.
         */
-       if (CURRENT_W(o) < PREFERRED_W(o) && resize) {
-               resize = 0;
-       }
-       else
-               resize = 1;
-
-       if (resize)
+       if (!(resize & fill))
                ewl_container_child_resize(EWL_WIDGET(o), new_size - old_size,
                                EWL_ORIENTATION_HORIZONTAL);
 
@@ -257,7 +258,8 @@
  */
 void ewl_object_preferred_inner_h_set(Ewl_Object * o, int h)
 {
-       int             old_size, new_size, resize;
+       int old_size, new_size;
+       unsigned int resize, fill;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
 
@@ -276,19 +278,19 @@
        else
                new_size = h;
 
-       resize = ewl_object_fill_policy_get(EWL_OBJECT(o)) &
-               EWL_FLAG_FILL_VSHRINK;
+       if (CURRENT_H(o) < PREFERRED_H(o))
+               fill = EWL_FLAG_FILL_VSHRINK;
+       else if (CURRENT_H(o) > PREFERRED_H(o))
+               fill = EWL_FLAG_FILL_VFILL;
+       else
+               fill = 0;
+
+       resize = ewl_object_fill_policy_get(EWL_OBJECT(o));
 
        /*
-        * Now update the widgets parent of the change in size.
+        * Now update the widgets parent of the change in size if necessary.
         */
-       if (CURRENT_H(o) < PREFERRED_H(o) && resize) {
-               resize = 0;
-       }
-       else
-               resize = 1;
-
-       if (resize)
+       if (!(resize & fill))
                ewl_container_child_resize(EWL_WIDGET(o), new_size - old_size,
                                EWL_ORIENTATION_VERTICAL);
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_spinner.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- ewl_spinner.c       18 Oct 2005 05:11:07 -0000      1.10
+++ ewl_spinner.c       18 Oct 2005 06:41:58 -0000      1.11
@@ -50,11 +50,13 @@
        {
                DRETURN_INT(FALSE, DLEVEL_STABLE);
        }
+
        ewl_box_orientation_set(EWL_BOX(w), EWL_ORIENTATION_HORIZONTAL);
        ewl_widget_appearance_set(w, "spinner");
        ewl_widget_inherit(w, "spinner");
 
-       ewl_object_fill_policy_set(EWL_OBJECT(w), EWL_FLAG_FILL_SHRINK);
+       ewl_object_fill_policy_set(EWL_OBJECT(w), EWL_FLAG_FILL_HSHRINK |
+                                  EWL_FLAG_FILL_HFILL);
 
        ewl_callback_append(w, EWL_CALLBACK_REALIZE, 
                                ewl_spinner_realize_cb, NULL);
@@ -64,7 +66,10 @@
        s->entry = ewl_entry_new();
        ewl_text_text_set(EWL_TEXT(s->entry), "0");
        ewl_container_child_append(EWL_CONTAINER(s), s->entry);
-       ewl_object_fill_policy_set(EWL_OBJECT(s->entry), EWL_FLAG_FILL_NONE);
+       ewl_object_fill_policy_set(EWL_OBJECT(s->entry), EWL_FLAG_FILL_HFILL |
+                                  EWL_FLAG_FILL_HSHRINK);
+       ewl_object_alignment_set(EWL_OBJECT(s->entry), EWL_FLAG_ALIGN_LEFT);
+
        ewl_widget_internal_set(EWL_WIDGET(s->entry), TRUE);
        ewl_callback_del(s->entry, EWL_CALLBACK_KEY_DOWN,
                            ewl_entry_cb_key_down);
@@ -89,7 +94,7 @@
                                        EWL_FLAG_ALIGN_CENTER);
        ewl_widget_appearance_set(s->increment, "increment");
        ewl_object_fill_policy_set(EWL_OBJECT(s->increment),
-                       EWL_FLAG_FILL_VFILL|EWL_FLAG_FILL_HSHRINK);
+                                  EWL_FLAG_FILL_NONE);
        ewl_widget_internal_set(s->increment, TRUE);
        ewl_callback_append(s->increment, EWL_CALLBACK_MOUSE_DOWN,
                            ewl_spinner_increase_value_cb, w);
@@ -105,7 +110,7 @@
                                        EWL_FLAG_ALIGN_CENTER);
        ewl_widget_appearance_set(s->decrement, "decrement");
        ewl_object_fill_policy_set(EWL_OBJECT(s->decrement),
-                       EWL_FLAG_FILL_VFILL|EWL_FLAG_FILL_HSHRINK);
+                                  EWL_FLAG_FILL_NONE);
        ewl_widget_internal_set(s->decrement, TRUE);
        ewl_callback_append(s->decrement, EWL_CALLBACK_MOUSE_DOWN,
                            ewl_spinner_decrease_value_cb, w);
@@ -440,6 +445,7 @@
 ewl_spinner_value_stop_cb(Ewl_Widget * w __UNUSED__,
                        void *ev_data __UNUSED__, void *user_data)
 {
+       double oval;
        Ewl_Spinner *s;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
@@ -454,6 +460,10 @@
                s->start_time = 0;
        }
 
+       oval = s->value;
+       ewl_callback_call_with_event_data(EWL_WIDGET(s),
+                                         EWL_CALLBACK_VALUE_CHANGED, &oval);
+
        DLEAVE_FUNCTION(DLEVEL_STABLE);
 }
 




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to