Enlightenment CVS committal
Author : rbdpngn
Project : e17
Module : libs/ewl
Dir : e17/libs/ewl/src
Modified Files:
ewl_box.c ewl_cell.c ewl_container.c ewl_embed.c ewl_entry.c
ewl_enums.h ewl_grid.c ewl_image.c ewl_misc.c ewl_misc.h
ewl_notebook.c ewl_object.c ewl_row.c ewl_scrollpane.c
ewl_seeker.c ewl_selectionbar.c ewl_spinner.c ewl_textarea.c
ewl_tree.c ewl_widget.c ewl_widget.h
Log Message:
Moved widget realization to a queue, prevent big nasty stacks. Backed out an
earlier sizing policy change on how parents request their children's size.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_box.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -3 -r1.51 -r1.52
--- ewl_box.c 3 Jun 2003 04:00:38 -0000 1.51
+++ ewl_box.c 25 Aug 2003 19:40:42 -0000 1.52
@@ -647,13 +647,13 @@
*/
if (EWL_BOX(c)->orientation == EWL_ORIENTATION_HORIZONTAL) {
ewl_object_set_preferred_w(EWL_OBJECT(c), PREFERRED_W(c) +
- ewl_object_get_minimum_w(EWL_OBJECT(w)) +
+ ewl_object_get_preferred_w(EWL_OBJECT(w)) +
space);
ewl_container_prefer_largest(c, EWL_ORIENTATION_VERTICAL);
}
else {
ewl_object_set_preferred_h(EWL_OBJECT(c), PREFERRED_H(c) +
- ewl_object_get_minimum_h(EWL_OBJECT(w)) +
+ ewl_object_get_preferred_h(EWL_OBJECT(w)) +
space);
ewl_container_prefer_largest(c, EWL_ORIENTATION_HORIZONTAL);
}
@@ -676,7 +676,7 @@
if (b->orientation == EWL_ORIENTATION_HORIZONTAL) {
ewl_object_set_preferred_w(EWL_OBJECT(c),
PREFERRED_W(c) -
- ewl_object_get_minimum_w(EWL_OBJECT(w)) -
+ ewl_object_get_preferred_w(EWL_OBJECT(w)) -
space);
ewl_container_prefer_largest(c, EWL_ORIENTATION_VERTICAL);
@@ -684,7 +684,7 @@
else {
ewl_object_set_preferred_h(EWL_OBJECT(c),
PREFERRED_H(c) -
- ewl_object_get_minimum_w(EWL_OBJECT(w)) -
+ ewl_object_get_preferred_h(EWL_OBJECT(w)) -
space);
ewl_container_prefer_largest(c, EWL_ORIENTATION_HORIZONTAL);
}
@@ -704,6 +704,9 @@
Box_Orientation *info;
DENTER_FUNCTION(DLEVEL_STABLE);
+
+ if (o == EWL_ORIENTATION_VERTICAL)
+ printf("Resizing:\t%p\t%d\n", w, size);
/*
* Get the appropriate dimension setting functions based on the
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_cell.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- ewl_cell.c 3 Jun 2003 04:00:39 -0000 1.6
+++ ewl_cell.c 25 Aug 2003 19:40:42 -0000 1.7
@@ -92,8 +92,8 @@
}
ewl_object_set_preferred_size(EWL_OBJECT(c),
- ewl_object_get_minimum_w(EWL_OBJECT(w)),
- ewl_object_get_minimum_h(EWL_OBJECT(w)));
+ ewl_object_get_preferred_w(EWL_OBJECT(w)),
+ ewl_object_get_preferred_h(EWL_OBJECT(w)));
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
@@ -105,8 +105,8 @@
DENTER_FUNCTION(DLEVEL_STABLE);
ewl_object_set_preferred_size(EWL_OBJECT(c),
- ewl_object_get_minimum_w(EWL_OBJECT(w)),
- ewl_object_get_minimum_h(EWL_OBJECT(w)));
+ ewl_object_get_preferred_w(EWL_OBJECT(w)),
+ ewl_object_get_preferred_h(EWL_OBJECT(w)));
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_container.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- ewl_container.c 15 Jul 2003 22:00:16 -0000 1.38
+++ ewl_container.c 25 Aug 2003 19:40:42 -0000 1.39
@@ -290,6 +290,9 @@
DCHECK_PARAM_PTR("w", w);
+ if (!size)
+ DRETURN(DLEVEL_STABLE);
+
/*
* If there is no parent to this widget, or it hasn't really changed
* size just exit. Also exit if it has no function to be notified for
@@ -518,11 +521,11 @@
DCHECK_PARAM_PTR("c", c);
if (o == EWL_ORIENTATION_HORIZONTAL) {
- get_size = ewl_object_get_minimum_w;
+ get_size = ewl_object_get_preferred_w;
set_size = ewl_object_set_preferred_w;
}
else {
- get_size = ewl_object_get_minimum_h;
+ get_size = ewl_object_get_preferred_h;
set_size = ewl_object_set_preferred_h;
}
@@ -611,7 +614,7 @@
while ((child = ewd_list_goto_index(c->children, i))) {
ewl_widget_reparent(child);
if (VISIBLE(child))
- ewl_widget_realize(child);
+ ewl_realize_request(child);
i++;
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_embed.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ewl_embed.c 13 Jul 2003 05:52:49 -0000 1.1
+++ ewl_embed.c 25 Aug 2003 19:40:42 -0000 1.2
@@ -154,7 +154,8 @@
w = EWL_WIDGET(emb);
- ewl_widget_realize(w);
+ if (VISIBLE(w))
+ ewl_realize_request(w);
if (w->fx_clip_box) {
evas_object_clip_set(emb->smart, w->fx_clip_box);
@@ -364,7 +365,7 @@
ewl_object_request_y(child, CURRENT_Y(emb));
cs = ewl_object_get_current_x(child) +
- ewl_object_get_minimum_w(child);
+ ewl_object_get_preferred_w(child);
/*
* Check the width and x position vs. embed width.
@@ -373,7 +374,7 @@
maxw = cs;
cs = ewl_object_get_current_y(child) +
- ewl_object_get_minimum_h(child);
+ ewl_object_get_preferred_h(child);
/*
* Check the height and y position vs. embed height.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_entry.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -3 -r1.63 -r1.64
--- ewl_entry.c 12 Aug 2003 17:16:15 -0000 1.63
+++ ewl_entry.c 25 Aug 2003 19:40:42 -0000 1.64
@@ -606,8 +606,8 @@
if (e->text == w) {
ewl_object_set_preferred_size(EWL_OBJECT(c),
- ewl_object_get_minimum_w(EWL_OBJECT(w)),
- ewl_object_get_minimum_h(EWL_OBJECT(w)));
+ ewl_object_get_preferred_w(EWL_OBJECT(w)),
+ ewl_object_get_preferred_h(EWL_OBJECT(w)));
}
DLEAVE_FUNCTION(DLEVEL_STABLE);
@@ -628,10 +628,10 @@
if (o == EWL_ORIENTATION_HORIZONTAL)
ewl_object_set_preferred_w(EWL_OBJECT(entry),
- ewl_object_get_minimum_w(text));
+ ewl_object_get_preferred_w(text));
else
ewl_object_set_preferred_h(EWL_OBJECT(entry),
- ewl_object_get_minimum_h(text));
+ ewl_object_get_preferred_h(text));
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_enums.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -3 -r1.33 -r1.34
--- ewl_enums.h 3 Jun 2003 04:00:41 -0000 1.33
+++ ewl_enums.h 25 Aug 2003 19:40:42 -0000 1.34
@@ -138,6 +138,7 @@
EWL_FLAGS_OBSCURED = 0x4,
EWL_FLAGS_RECURSIVE = 0x8,
EWL_FLAGS_CSCHEDULED = 0x10,
+ EWL_FLAGS_RSCHEDULED = 0x20,
};
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_grid.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- ewl_grid.c 3 Jun 2003 04:00:42 -0000 1.9
+++ ewl_grid.c 25 Aug 2003 19:40:42 -0000 1.10
@@ -531,7 +531,7 @@
* Calculate the amount of space the widget would need in this
* column.
*/
- temp = ewl_object_get_minimum_w(EWL_OBJECT(c)) /
+ temp = ewl_object_get_preferred_w(EWL_OBJECT(c)) /
(cdata->end_col - cdata->start_col + 1);
/*
@@ -563,7 +563,7 @@
* Calculate the amount of space the widget would need in this
* row.
*/
- temp = ewl_object_get_minimum_h(EWL_OBJECT(c)) /
+ temp = ewl_object_get_preferred_h(EWL_OBJECT(c)) /
(cdata->end_row - cdata->start_row + 1);
/*
@@ -610,12 +610,12 @@
info = g->col_size;
start_off = cdata->start_col;
end_off = cdata->end_col;
- widget_size = ewl_object_get_minimum_w;
+ widget_size = ewl_object_get_preferred_w;
} else {
info = g->row_size;
start_off = cdata->start_row;
end_off = cdata->end_row;
- widget_size = ewl_object_get_minimum_h;
+ widget_size = ewl_object_get_preferred_h;
}
/*
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_image.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- ewl_image.c 13 Jul 2003 05:52:49 -0000 1.26
+++ ewl_image.c 25 Aug 2003 19:40:42 -0000 1.27
@@ -278,9 +278,9 @@
else
ewl_object_set_preferred_h(EWL_OBJECT(i), i->oh);
- if (ewl_object_get_minimum_w(EWL_OBJECT(i)))
- ewl_image_scale_to(i, ewl_object_get_minimum_w(EWL_OBJECT(i)),
- ewl_object_get_minimum_h(EWL_OBJECT(i)));
+ if (ewl_object_get_preferred_w(EWL_OBJECT(i)))
+ ewl_image_scale_to(i, ewl_object_get_preferred_w(EWL_OBJECT(i)),
+ ewl_object_get_preferred_h(EWL_OBJECT(i)));
else
ewl_image_scale(i, i->sw, i->sh);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_misc.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -3 -r1.33 -r1.34
--- ewl_misc.c 5 Aug 2003 20:24:06 -0000 1.33
+++ ewl_misc.c 25 Aug 2003 19:40:42 -0000 1.34
@@ -6,6 +6,7 @@
char *xdisplay = NULL;
extern Ewd_List *ewl_embed_list;
static Ewd_List *configure_list = NULL;
+static Ewd_List *realize_list = NULL;
void __ewl_init_parse_options(int argc, char **argv);
void __ewl_parse_option_array(int argc, char **argv);
@@ -39,6 +40,7 @@
DENTER_FUNCTION(DLEVEL_STABLE);
configure_list = ewd_list_new();
+ realize_list = ewd_list_new();
__ewl_init_parse_options(argc, argv);
ecore_init();
@@ -116,6 +118,18 @@
DRETURN_INT(TRUE, DLEVEL_STABLE);
/*
+ * First realize any widgets that require it, this looping should
+ * avoid deep recursion.
+ */
+ ewd_list_goto_first(realize_list);
+ while ((w = ewd_list_remove_first(realize_list))) {
+ if (VISIBLE(w) && !REALIZED(w)) {
+ w->flags &= ~EWL_FLAGS_RSCHEDULED;
+ ewl_widget_realize(EWL_WIDGET(w));
+ }
+ }
+
+ /*
* Configure any widgets that need it.
*/
while ((w = ewd_list_remove_first(configure_list))) {
@@ -128,21 +142,10 @@
}
/*
- * Rerender each embed and realize them as necessary. Done after
- * configuration to avoid multiple passes of the embed list when no
- * new embeds have been created.
+ * Allow each embed to render itself.
*/
ewd_list_goto_first(ewl_embed_list);
while ((emb = ewd_list_next(ewl_embed_list)) != NULL) {
- /*
- * If we have any unrealized embeds at this point, we want to
- * realize and configure them to layout the children correct.
- */
- if (VISIBLE(emb) && !REALIZED(emb)) {
- ewl_widget_realize(EWL_WIDGET(emb));
- ewl_widget_configure(EWL_WIDGET(emb));
- }
-
if (emb->evas)
evas_render(emb->evas);
}
@@ -388,4 +391,41 @@
ewd_list_remove(configure_list);
DLEAVE_FUNCTION(DLEVEL_TESTING);
+}
+
+/**
+ * ewl_realize_request - schedule a widget to be realized at idle time
+ * @w: widget to schedule for realization
+ *
+ * Returns no value. Places a widget on the queue to be realized at a later
+ * time.
+ */
+void ewl_realize_request(Ewl_Widget *w)
+{
+ Ewl_Widget *search;
+
+ if (w->flags & EWL_FLAGS_RSCHEDULED)
+ return;
+
+ w->flags |= EWL_FLAGS_RSCHEDULED;
+
+ /*
+ * Search the list for a child widget of this widget.
+ */
+ ewd_list_goto_first(realize_list);
+ while ((search = ewd_list_current(realize_list))) {
+ Ewl_Widget *parent;
+
+ parent = search;
+ while ((parent = parent->parent)) {
+ if (parent == w) {
+ ewd_list_insert(realize_list, w);
+ return;
+ }
+ }
+
+ ewd_list_next(realize_list);
+ }
+
+ ewd_list_append(realize_list, w);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_misc.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- ewl_misc.h 7 Apr 2003 18:02:25 -0000 1.13
+++ ewl_misc.h 25 Aug 2003 19:40:42 -0000 1.14
@@ -13,5 +13,6 @@
void ewl_main_quit(void);
void ewl_configure_request(Ewl_Widget * w);
void ewl_configure_cancel_request(Ewl_Widget *w);
+void ewl_realize_request(Ewl_Widget *w);
#endif /* __EWL_MISC_H__ */
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_notebook.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- ewl_notebook.c 28 Jun 2003 06:50:32 -0000 1.28
+++ ewl_notebook.c 25 Aug 2003 19:40:42 -0000 1.29
@@ -605,7 +605,7 @@
if (VISIBLE(n->tab_box))
ewl_object_set_preferred_w(EWL_OBJECT(c),
PREFERRED_W(c) +
- ewl_object_get_minimum_w(
+ ewl_object_get_preferred_w(
EWL_OBJECT(n->tab_box)));
}
else {
@@ -619,7 +619,7 @@
if (VISIBLE(n->tab_box))
ewl_object_set_preferred_h(EWL_OBJECT(c),
PREFERRED_H(c) +
- ewl_object_get_minimum_h(
+ ewl_object_get_preferred_w(
EWL_OBJECT(n->tab_box)));
}
@@ -650,7 +650,7 @@
if (VISIBLE(n->tab_box))
ewl_object_set_preferred_w(EWL_OBJECT(c),
PREFERRED_W(c) +
- ewl_object_get_minimum_w(
+ ewl_object_get_preferred_w(
EWL_OBJECT(n->tab_box)));
}
else {
@@ -664,7 +664,7 @@
if (VISIBLE(n->tab_box))
ewl_object_set_preferred_h(EWL_OBJECT(c),
PREFERRED_H(c) +
- ewl_object_get_minimum_h(
+ ewl_object_get_preferred_w(
EWL_OBJECT(n->tab_box)));
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_object.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- ewl_object.c 24 Jun 2003 05:09:58 -0000 1.38
+++ ewl_object.c 25 Aug 2003 19:40:42 -0000 1.39
@@ -191,8 +191,7 @@
/*
* Now update the widgets parent of the change in size.
*/
- if (!(o->flags & EWL_FILL_POLICY_HSHRINK))
- ewl_container_resize_child(EWL_WIDGET(o), new_size - old_size,
+ ewl_container_resize_child(EWL_WIDGET(o), new_size - old_size,
EWL_ORIENTATION_HORIZONTAL);
DLEAVE_FUNCTION(DLEVEL_STABLE);
@@ -230,8 +229,7 @@
/*
* Notify the parent widgets of the change in size.
*/
- if (!(o->flags & EWL_FILL_POLICY_VSHRINK))
- ewl_container_resize_child(EWL_WIDGET(o), new_size - old_size,
+ ewl_container_resize_child(EWL_WIDGET(o), new_size - old_size,
EWL_ORIENTATION_VERTICAL);
DLEAVE_FUNCTION(DLEVEL_STABLE);
@@ -826,17 +824,26 @@
*/
void ewl_object_set_padding(Ewl_Object * o, int l, int r, int t, int b)
{
+ int dh, dv;
+
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR("o", o);
+ dh = (l - o->pad.l) + (r - o->pad.r);
+ dv = (t - o->pad.t) + (b - o->pad.t);
+
o->pad.l = l;
o->pad.r = r;
o->pad.t = t;
o->pad.b = b;
- ewl_object_set_minimum_size(o, MINIMUM_W(o), MINIMUM_H(o));
- ewl_object_set_maximum_size(o, MAXIMUM_W(o), MAXIMUM_H(o));
- ewl_object_set_preferred_size(o, PREFERRED_W(o), PREFERRED_H(o));
+ /*
+ * Now update the widgets parent of the change in size.
+ */
+ ewl_container_resize_child(EWL_WIDGET(o), dh,
+ EWL_ORIENTATION_HORIZONTAL);
+ ewl_container_resize_child(EWL_WIDGET(o), dv,
+ EWL_ORIENTATION_VERTICAL);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_row.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- ewl_row.c 16 Jul 2003 20:31:20 -0000 1.12
+++ ewl_row.c 25 Aug 2003 19:40:42 -0000 1.13
@@ -192,14 +192,14 @@
/*
* Adjust the preferred height to the largest widget added.
*/
- size = ewl_object_get_minimum_w(EWL_OBJECT(w));
- if (!row->max || ewl_object_get_minimum_h(row->max) > size) {
+ size = ewl_object_get_preferred_w(EWL_OBJECT(w));
+ if (!row->max || ewl_object_get_preferred_w(row->max) > size) {
row->max = EWL_OBJECT(w);
ewl_object_set_preferred_h(EWL_OBJECT(c), size);
}
ewl_object_set_preferred_w(EWL_OBJECT(c), PREFERRED_W(c) +
- ewl_object_get_minimum_w(EWL_OBJECT(w)));
+ ewl_object_get_preferred_w(EWL_OBJECT(w)));
}
static void
@@ -222,7 +222,7 @@
*/
ewd_list_goto_first(c->children);
while ((child = ewd_list_next(c->children))) {
- h = ewl_object_get_minimum_h(child);
+ h = ewl_object_get_preferred_h(child);
if (h > max_h) {
max_h = h;
row->max = child;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_scrollpane.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- ewl_scrollpane.c 24 Jun 2003 20:19:31 -0000 1.19
+++ ewl_scrollpane.c 25 Aug 2003 19:40:42 -0000 1.20
@@ -194,8 +194,8 @@
/*
* Get the space needed by the scrolbars.
*/
- vs_width = ewl_object_get_minimum_w(EWL_OBJECT(s->vscrollbar));
- hs_height = ewl_object_get_minimum_h(EWL_OBJECT(s->hscrollbar));
+ vs_width = ewl_object_get_preferred_w(EWL_OBJECT(s->vscrollbar));
+ hs_height = ewl_object_get_preferred_w(EWL_OBJECT(s->hscrollbar));
/*
* Determine the space used by the contents.
@@ -331,13 +331,13 @@
*/
if (o == EWL_ORIENTATION_HORIZONTAL) {
ewl_object_set_preferred_w(EWL_OBJECT(parent),
- ewl_object_get_minimum_w(EWL_OBJECT(s->box)) +
- ewl_object_get_minimum_w(EWL_OBJECT(s->vscrollbar)));
+ ewl_object_get_preferred_w(EWL_OBJECT(s->box)) +
+ ewl_object_get_preferred_h(EWL_OBJECT(s->vscrollbar)));
}
else
ewl_object_set_preferred_h(EWL_OBJECT(parent),
- ewl_object_get_minimum_h(EWL_OBJECT(s->box)) +
- ewl_object_get_minimum_h(EWL_OBJECT(s->hscrollbar)));
+ ewl_object_get_preferred_w(EWL_OBJECT(s->box)) +
+ ewl_object_get_preferred_h(EWL_OBJECT(s->hscrollbar)));
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_seeker.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -3 -r1.40 -r1.41
--- ewl_seeker.c 28 Jun 2003 06:50:32 -0000 1.40
+++ ewl_seeker.c 25 Aug 2003 19:40:42 -0000 1.41
@@ -1,7 +1,5 @@
#include <Ewl.h>
-void __ewl_seeker_realize(Ewl_Widget * w, void *ev_data,
- void *user_data);
void __ewl_seeker_configure(Ewl_Widget * w, void *ev_data,
void *user_data);
void __ewl_seeker_theme_update(Ewl_Widget * w, void *ev_data,
@@ -91,6 +89,7 @@
s->dragbar = ewl_button_new(NULL);
ewl_container_append_child(EWL_CONTAINER(s), s->dragbar);
ewl_widget_set_appearance(EWL_WIDGET(s->dragbar), "dragbar");
+ ewl_widget_show(s->dragbar);
/*
* Set the starting orientation, range and values
@@ -103,8 +102,6 @@
/*
* Add necessary configuration callbacks
*/
- ewl_callback_append(w, EWL_CALLBACK_REALIZE, __ewl_seeker_realize,
- NULL);
ewl_callback_append(w, EWL_CALLBACK_CONFIGURE, __ewl_seeker_configure,
NULL);
ewl_callback_append(w, EWL_CALLBACK_MOUSE_DOWN, __ewl_seeker_mouse_down,
@@ -311,22 +308,6 @@
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
-
-
-
-/*
- * Draw the representation of the seeker
- */
-void __ewl_seeker_realize(Ewl_Widget * w, void *ev_data, void *user_data)
-{
- DENTER_FUNCTION(DLEVEL_STABLE);
- DCHECK_PARAM_PTR("w", w);
-
- ewl_widget_realize(EWL_SEEKER(w)->dragbar);
-
- DLEAVE_FUNCTION(DLEVEL_STABLE);
-}
-
/*
* On a configure event we need to adjust the seeker to fit into it's new
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_selectionbar.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- ewl_selectionbar.c 13 Jul 2003 05:52:49 -0000 1.10
+++ ewl_selectionbar.c 25 Aug 2003 19:40:42 -0000 1.11
@@ -479,9 +479,9 @@
if (CURRENT_W(EWL_OBJECT(child)) < 2 ||
CURRENT_H(EWL_OBJECT(child)) < 2) {
ewl_object_request_size(EWL_OBJECT(child),
- ewl_object_get_minimum_w
+ ewl_object_get_preferred_w
(EWL_OBJECT(child)),
- ewl_object_get_minimum_h
+ ewl_object_get_preferred_h
(EWL_OBJECT(child)));
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_spinner.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- ewl_spinner.c 28 Jun 2003 06:50:32 -0000 1.38
+++ ewl_spinner.c 25 Aug 2003 19:40:43 -0000 1.39
@@ -224,24 +224,23 @@
if (w == s->entry) {
ewl_object_set_preferred_w(EWL_OBJECT(c), PREFERRED_W(c) +
- ewl_object_get_minimum_w(EWL_OBJECT(w)));
+ ewl_object_get_preferred_w(EWL_OBJECT(w)));
}
else if (s->button_increase && s->button_decrease) {
ewl_object_set_preferred_w(EWL_OBJECT(c), PREFERRED_W(c) +
- MAX(ewl_object_get_minimum_w(EWL_OBJECT(
+ MAX(ewl_object_get_preferred_w(EWL_OBJECT(
s->button_increase)),
- ewl_object_get_minimum_w(EWL_OBJECT(
+ ewl_object_get_preferred_h(EWL_OBJECT(
s->button_decrease))));
}
if (s->entry && s->button_increase && s->button_decrease) {
int size;
- size = ewl_object_get_minimum_h(EWL_OBJECT(s->button_increase))
- + ewl_object_get_minimum_h(EWL_OBJECT(
- s->button_decrease));
+ size = ewl_object_get_preferred_w(EWL_OBJECT(s->button_increase))
+ + ewl_object_get_preferred_h(EWL_OBJECT(s->button_decrease));
ewl_object_set_minimum_h(EWL_OBJECT(c),
- MAX(ewl_object_get_minimum_h(EWL_OBJECT(s->entry)),
+ MAX(ewl_object_get_preferred_h(EWL_OBJECT(s->entry)),
size));
}
@@ -262,19 +261,19 @@
PREFERRED_W(c) + size);
else if (s->button_increase && s->button_decrease) {
ewl_object_set_preferred_w(EWL_OBJECT(c),
- MAX(ewl_object_get_minimum_w(EWL_OBJECT(
+ MAX(ewl_object_get_preferred_w(EWL_OBJECT(
s->button_increase)),
- ewl_object_get_minimum_w(EWL_OBJECT(
+ ewl_object_get_preferred_w(EWL_OBJECT(
s->button_decrease))));
}
}
else if (s->entry && s->button_increase && s->button_decrease) {
- size = ewl_object_get_minimum_h(EWL_OBJECT(
+ size = ewl_object_get_preferred_h(EWL_OBJECT(
s->button_increase)) +
- ewl_object_get_minimum_h(EWL_OBJECT(
+ ewl_object_get_preferred_h(EWL_OBJECT(
s->button_decrease));
ewl_object_set_preferred_h(EWL_OBJECT(c),
- MAX(ewl_object_get_minimum_h(EWL_OBJECT(s->entry)),
+ MAX(ewl_object_get_preferred_h(EWL_OBJECT(s->entry)),
size));
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_textarea.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- ewl_textarea.c 6 Aug 2003 03:14:23 -0000 1.12
+++ ewl_textarea.c 25 Aug 2003 19:40:43 -0000 1.13
@@ -206,13 +206,13 @@
/*
* Set the default style
*/
- etox_context_set_style(ta->etox, style);
+ etox_context_set_style(etox_get_context(ta->etox), style);
IF_FREE(style);
/*
* Set the default color for the text.
*/
- etox_context_set_color(ta->etox, r, g, b, a);
+ etox_context_set_color(etox_get_context(ta->etox), r, g, b, a);
}
/*
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_tree.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- ewl_tree.c 5 Aug 2003 20:24:06 -0000 1.16
+++ ewl_tree.c 25 Aug 2003 19:40:43 -0000 1.17
@@ -477,12 +477,12 @@
{
int cw;
- cw = ewl_object_get_minimum_w(EWL_OBJECT(w));
+ cw = ewl_object_get_preferred_w(EWL_OBJECT(w));
if (cw > PREFERRED_W(c))
ewl_object_set_preferred_w(EWL_OBJECT(c), cw);
ewl_object_set_preferred_h(EWL_OBJECT(c), PREFERRED_H(c) +
- ewl_object_get_minimum_h(EWL_OBJECT(w)));
+ ewl_object_get_preferred_h(EWL_OBJECT(w)));
}
static void
@@ -490,7 +490,7 @@
Ewl_Orientation o)
{
if (o == EWL_ORIENTATION_HORIZONTAL) {
- if (ewl_object_get_minimum_w(EWL_OBJECT(w)) > PREFERRED_W(c))
+ if (ewl_object_get_preferred_w(EWL_OBJECT(w)) > PREFERRED_W(c))
ewl_object_set_preferred_w(EWL_OBJECT(c),
PREFERRED_W(c) + size);
/* FIXME: Should we only grow this in order to reduce list
@@ -525,7 +525,7 @@
y = CURRENT_Y(w);
ewd_list_goto_first(c->children);
while ((child = ewd_list_next(c->children))) {
- h = ewl_object_get_minimum_h(child);
+ h = ewl_object_get_preferred_h(child);
ewl_object_request_geometry(child, CURRENT_X(w), y,
CURRENT_W(w), h);
y += h;
@@ -558,7 +558,7 @@
* are lower nodes and rows.
*/
ewl_object_request_geometry(child, CURRENT_X(w), CURRENT_Y(w),
- CURRENT_W(w), ewl_object_get_minimum_h(child));
+ CURRENT_W(w), ewl_object_get_preferred_h(child));
y = CURRENT_Y(w) + ewl_object_get_current_h(child);
width = CURRENT_W(w) - CURRENT_X(w) + CURRENT_X(w);
@@ -568,7 +568,7 @@
*/
while ((child = ewd_list_next(c->children))) {
ewl_object_request_geometry(child, CURRENT_X(w), y, width,
- ewl_object_get_minimum_h(child));
+ ewl_object_get_preferred_h(child));
y += ewl_object_get_current_h(child);
}
@@ -627,10 +627,10 @@
if (node->expanded || w == node->row) {
ewl_object_set_preferred_h(EWL_OBJECT(c),
PREFERRED_H(c) +
- ewl_object_get_minimum_h(EWL_OBJECT(w)));
+ ewl_object_get_preferred_h(EWL_OBJECT(w)));
}
- width = ewl_object_get_minimum_w(EWL_OBJECT(w));
+ width = ewl_object_get_preferred_w(EWL_OBJECT(w));
if (PREFERRED_W(c) < width)
ewl_object_set_minimum_w(EWL_OBJECT(c), width);
@@ -650,10 +650,10 @@
if (node->expanded || w == node->row) {
ewl_object_set_preferred_h(EWL_OBJECT(c),
PREFERRED_H(c) -
- ewl_object_get_minimum_h(EWL_OBJECT(w)));
+ ewl_object_get_preferred_h(EWL_OBJECT(w)));
}
- width = ewl_object_get_minimum_w(EWL_OBJECT(w));
+ width = ewl_object_get_preferred_w(EWL_OBJECT(w));
if (PREFERRED_W(c) >= width)
ewl_container_prefer_largest(c, EWL_ORIENTATION_HORIZONTAL);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_widget.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -3 -r1.66 -r1.67
--- ewl_widget.c 6 Aug 2003 19:37:32 -0000 1.66
+++ ewl_widget.c 25 Aug 2003 19:40:43 -0000 1.67
@@ -172,19 +172,22 @@
*/
void ewl_widget_show(Ewl_Widget * w)
{
+ Ewl_Container *pc;
+
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR("w", w);
- if (HIDDEN(w) && w->parent && EWL_CONTAINER(w->parent)->child_add)
- EWL_CONTAINER(w->parent)->child_add(EWL_CONTAINER(w->parent),
- w);
+ pc = EWL_CONTAINER(w->parent);
+ if (HIDDEN(w) && pc && pc->child_add)
+ pc->child_add(EWL_CONTAINER(w->parent), w);
w->flags |= EWL_FLAGS_SHOWN;
- if (w->parent && (REALIZED(w->parent) && !REALIZED(w)))
- ewl_widget_realize(w);
- ewl_callback_call(w, EWL_CALLBACK_SHOW);
+ if (REALIZED(w))
+ ewl_callback_call(w, EWL_CALLBACK_SHOW);
+ else
+ ewl_realize_request(w);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
@@ -199,12 +202,17 @@
*/
void ewl_widget_hide(Ewl_Widget * w)
{
+ Ewl_Container *pc;
+
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR("w", w);
- if (VISIBLE(w) && w->parent && EWL_CONTAINER(w->parent)->child_remove)
- EWL_CONTAINER(w->parent)->child_remove(EWL_CONTAINER(w->parent),
- w);
+ if (HIDDEN(w))
+ DRETURN(DLEVEL_STABLE);
+
+ pc = EWL_CONTAINER(w->parent);
+ if (pc && pc->child_remove)
+ pc->child_remove(EWL_CONTAINER(w->parent), w);
w->flags &= ~EWL_FLAGS_SHOWN;
@@ -891,7 +899,7 @@
}
if (REALIZED(pc) && VISIBLE(w) && !REALIZED(w))
- ewl_widget_realize(w);
+ ewl_realize_request(w);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_widget.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- ewl_widget.h 16 Jul 2003 20:31:20 -0000 1.29
+++ ewl_widget.h 25 Aug 2003 19:40:43 -0000 1.30
@@ -1,10 +1,18 @@
#ifndef __EWL_WIDGET_H__
#define __EWL_WIDGET_H__
+/**
+ * @file ewl_widget.h
+ * Defines the widget class and it's accessor/modifier functions.
+ */
+
typedef struct _ewl_widget Ewl_Widget;
#define EWL_WIDGET(widget) ((Ewl_Widget *) widget)
+/**
+ * @struct Ewl_Widget
+ */
struct _ewl_widget
{
/*
@@ -26,7 +34,7 @@
char *appearance;
int layer;
- /*
+ /**
* And these are for keeping track of the appearance, behavior
* states of the widget and the data attached to the widget.
*/
@@ -34,7 +42,7 @@
Ewd_Hash *theme;
Ewd_Hash *data;
- /*
+ /**
* Flags for determining the current visibility of the widget as well
* as if it has been realized
*/
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs