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