Enlightenment CVS committal
Author : rbdpngn
Project : e17
Module : libs/ewl
Dir : e17/libs/ewl/src
Modified Files:
ewl_box.c ewl_container.c ewl_container.h ewl_filedialog.h
ewl_fileselector.c ewl_fileselector.h ewl_floater.c
ewl_floater.h ewl_grid.h ewl_imenu.c ewl_menu_base.c
ewl_notebook.c ewl_notebook.h ewl_row.h ewl_selectionbar.h
ewl_selectionbook.h ewl_spectrum.h ewl_table.h ewl_text.h
ewl_textarea.h ewl_theme.c ewl_tooltip.h ewl_tree.c ewl_tree.h
ewl_widget.c ewl_window.h
Log Message:
A variety of documentation, possible segv, and miscellaneous flailing fixes.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_box.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -3 -r1.60 -r1.61
--- ewl_box.c 3 Jan 2004 21:23:11 -0000 1.60
+++ ewl_box.c 14 Jan 2004 20:42:54 -0000 1.61
@@ -717,9 +717,6 @@
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
* orientation.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_container.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -3 -r1.57 -r1.58
--- ewl_container.c 3 Jan 2004 21:23:11 -0000 1.57
+++ ewl_container.c 14 Jan 2004 20:42:54 -0000 1.58
@@ -257,8 +257,11 @@
* If the child isn't found, then this isn't it's parent.
*/
if (!temp) {
+ /* FIXME: Test to see if this is correct. It doesn't seem that
+ * it should be.
if (pc->clip_box)
evas_object_hide(pc->clip_box);
+ */
DRETURN(DLEVEL_STABLE);
}
@@ -271,6 +274,8 @@
if (ewd_list_is_empty(pc->children) && pc->clip_box)
evas_object_hide(pc->clip_box);
+ ewl_widget_configure(EWL_WIDGET(pc));
+
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
@@ -285,18 +290,21 @@
{
int old_w, old_h;
int new_w, new_h;
+ Ewl_Container *c;
DCHECK_PARAM_PTR("w", w);
if (!size || ewl_in_realize_phase() || !REALIZED(w))
DRETURN(DLEVEL_STABLE);
+ c = EWL_CONTAINER(w->parent);
+
/*
* 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
* child resizes.
*/
- if (HIDDEN(w) || !w->parent || !EWL_CONTAINER(w->parent)->child_resize)
+ if (HIDDEN(w) || !c || !c->child_resize)
DRETURN(DLEVEL_STABLE);
/*
@@ -309,8 +317,7 @@
* Run the parents child resize function to allow it to update it's
* preferred size.
*/
- EWL_CONTAINER(w->parent)->child_resize(EWL_CONTAINER(w->parent),
- w, size, o);
+ c->child_resize(c, w, size, o);
/*
* Get the new preferred size of the parent to see if it changed.
@@ -322,10 +329,10 @@
* The parent will only end up on the configure queue if it didn't
* change size (ie. it's parent isn't on the configure queue).
*/
- if (w->parent->parent)
- ewl_widget_configure(w->parent->parent);
+ if (EWL_WIDGET(c)->parent)
+ ewl_widget_configure(EWL_WIDGET(c)->parent);
else
- ewl_widget_configure(w->parent);
+ ewl_widget_configure(EWL_WIDGET(c));
}
/**
@@ -606,6 +613,8 @@
if (c->child_add && VISIBLE(w) && REALIZED(w))
c->child_add(c, w);
+ ewl_widget_configure(EWL_WIDGET(c));
+
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_container.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- ewl_container.h 3 Jan 2004 21:23:11 -0000 1.29
+++ ewl_container.h 14 Jan 2004 20:42:54 -0000 1.30
@@ -52,6 +52,7 @@
{
Ewl_Widget widget; /**< Inherit the basics of the widget. */
Ewd_List *children; /**< List of children that are contained. */
+ Ewd_List *hidden; /**< Invisible children that are contained. */
Evas_Object *clip_box; /**< Clip box to bound widgets inside. */
Ewl_Child_Add child_add; /**< Function called on child add */
Ewl_Child_Add child_remove; /**< Function called on child remove */
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_filedialog.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- ewl_filedialog.h 3 Jan 2004 21:23:11 -0000 1.8
+++ ewl_filedialog.h 14 Jan 2004 20:42:54 -0000 1.9
@@ -7,6 +7,11 @@
*/
/**
+ * @themekey /filedialog/file
+ * @themekey /filedialog/group
+ */
+
+/**
* The Ewl_Filedialog provides a filedialog
*/
typedef struct Ewl_Filedialog Ewl_Filedialog;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_fileselector.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- ewl_fileselector.c 7 Jan 2004 17:04:58 -0000 1.30
+++ ewl_fileselector.c 14 Jan 2004 20:42:54 -0000 1.31
@@ -92,6 +92,7 @@
w = EWL_WIDGET(fs);
ewl_box_init(EWL_BOX(w), EWL_ORIENTATION_HORIZONTAL);
+ ewl_widget_set_appearance(w, "fileselector");
ewl_box_set_homogeneous(EWL_BOX(w), TRUE);
ewl_object_set_fill_policy(EWL_OBJECT(w), EWL_FLAG_FILL_SHRINK |
EWL_FLAG_FILL_FILL);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_fileselector.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- ewl_fileselector.h 16 Dec 2003 00:22:59 -0000 1.13
+++ ewl_fileselector.h 14 Jan 2004 20:42:54 -0000 1.14
@@ -7,6 +7,11 @@
*/
/**
+ * @themekey /fileselector/file
+ * @themekey /fileselector/group
+ */
+
+/**
* The Ewl_Fileselector_Row provides data for a single row
*/
typedef struct _ewl_fileselector_row Ewl_Fileselector_Row;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_floater.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- ewl_floater.c 19 Nov 2003 20:18:34 -0000 1.15
+++ ewl_floater.c 14 Jan 2004 20:42:54 -0000 1.16
@@ -21,7 +21,6 @@
ewl_floater_init(EWL_FLOATER(f), parent);
-
DRETURN_PTR(EWL_WIDGET(f), DLEVEL_STABLE);
}
@@ -60,6 +59,8 @@
*/
ewl_callback_append(EWL_WIDGET(f->follows), EWL_CALLBACK_CONFIGURE,
ewl_floater_parent_configure_cb, w);
+ ewl_callback_append(EWL_WIDGET(f), EWL_CALLBACK_DESTROY,
+ ewl_floater_parent_destroy_cb, w);
f->x = CURRENT_X(EWL_OBJECT(parent));
f->y = CURRENT_Y(EWL_OBJECT(parent));
@@ -117,8 +118,9 @@
* Remove the callback attached to the configure event for the
* followed widget.
*/
- ewl_callback_del(f->follows, EWL_CALLBACK_CONFIGURE,
- ewl_floater_parent_configure_cb);
+ if (f->follows)
+ ewl_callback_del(f->follows, EWL_CALLBACK_CONFIGURE,
+ ewl_floater_parent_configure_cb);
/*
* Set the widget that the floater follows.
@@ -189,3 +191,13 @@
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
+
+void
+ewl_floater_parent_destroy_cb(Ewl_Widget * w, void *ev_data, void *user_data)
+{
+ DENTER_FUNCTION(DLEVEL_STABLE);
+
+ EWL_FLOATER(w)->follows = NULL;
+
+ DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_floater.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- ewl_floater.h 19 Nov 2003 20:18:34 -0000 1.8
+++ ewl_floater.h 14 Jan 2004 20:42:54 -0000 1.9
@@ -50,6 +50,8 @@
*/
void ewl_floater_parent_configure_cb(Ewl_Widget * w, void *ev_data,
void *user_data);
+void ewl_floater_parent_destroy_cb(Ewl_Widget * w, void *ev_data,
+ void *user_data);
void ewl_floater_reparent_cb(Ewl_Widget * parent, void *ev_data,
void *user_data);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_grid.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- ewl_grid.h 3 Jan 2004 21:23:11 -0000 1.5
+++ ewl_grid.h 14 Jan 2004 20:42:54 -0000 1.6
@@ -1,6 +1,11 @@
#ifndef __EWL_GRID_H__
#define __EWL_GRID_H__
+/*
+ * @themekey /grid/file
+ * @themekey /grid/group
+ */
+
typedef struct Ewl_Grid_Info Ewl_Grid_Info;
struct Ewl_Grid_Info
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_imenu.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- ewl_imenu.c 19 Nov 2003 20:18:34 -0000 1.14
+++ ewl_imenu.c 14 Jan 2004 20:42:54 -0000 1.15
@@ -44,6 +44,18 @@
ewl_callback_prepend(EWL_WIDGET(menu), EWL_CALLBACK_SELECT,
ewl_imenu_expand_cb, NULL);
+ /*
+ * Create the popup menu portion of the widget.
+ */
+ menu->base.popup = ewl_floater_new(EWL_WIDGET(menu));
+ ewl_widget_set_appearance(EWL_WIDGET(menu->base.popup), "imenu");
+ ewl_box_set_orientation(EWL_BOX(menu->base.popup),
+ EWL_ORIENTATION_VERTICAL);
+ ewl_object_set_fill_policy(EWL_OBJECT(menu->base.popup),
+ EWL_FLAG_FILL_NONE);
+ ewl_object_set_alignment(EWL_OBJECT(menu->base.popup),
+ EWL_FLAG_ALIGN_LEFT | EWL_FLAG_ALIGN_TOP);
+
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
@@ -57,51 +69,25 @@
menu = EWL_IMENU(w);
- /*
- * Create the popup menu portion of the menu. Do this prior to
- * initializing the rest of the fields to avoid the add callback being
- * called.
- */
- menu->base.popup = ewl_floater_new(EWL_WIDGET(menu));
- ewl_callback_append(menu->base.popup, EWL_CALLBACK_DESTROY,
- ewl_imenu_floater_destroy_cb, menu);
- ewl_widget_set_appearance(EWL_WIDGET(menu->base.popup), "imenu");
- ewl_box_set_orientation(EWL_BOX(menu->base.popup),
- EWL_ORIENTATION_VERTICAL);
- ewl_object_set_fill_policy(EWL_OBJECT(menu->base.popup),
- EWL_FLAG_FILL_NONE);
- ewl_object_set_alignment(EWL_OBJECT(menu->base.popup),
- EWL_FLAG_ALIGN_LEFT | EWL_FLAG_ALIGN_TOP);
-
- emb = ewl_embed_find_by_widget(w);
- ewl_container_append_child(EWL_CONTAINER(emb), menu->base.popup);
+ if (!REALIZED(menu->base.popup)) {
+ emb = ewl_embed_find_by_widget(w);
+ ewl_container_append_child(EWL_CONTAINER(emb),
+ menu->base.popup);
+ }
/*
* Position the popup menu relative to the menu.
*/
- if (EWL_MENU_ITEM(w)->submenu)
+ if (EWL_MENU_ITEM(w)->submenu) {
ewl_floater_set_position(EWL_FLOATER(menu->base.popup),
CURRENT_W(w), 0);
+ }
else {
ewl_floater_set_position(EWL_FLOATER(menu->base.popup), 0,
CURRENT_H(w));
- ewl_object_set_minimum_w(EWL_OBJECT(menu->base.popup),
- CURRENT_W(menu));
}
- ewl_callback_del(w, EWL_CALLBACK_SELECT, ewl_imenu_expand_cb);
-
- DLEAVE_FUNCTION(DLEVEL_STABLE);
-}
-
-void ewl_imenu_floater_destroy_cb(Ewl_Widget * w, void *ev_data, void *user_data)
-{
- Ewl_IMenu *menu = user_data;
-
- DENTER_FUNCTION(DLEVEL_STABLE);
-
- if (menu->base.popup == w)
- menu->base.popup = NULL;
+ ewl_widget_show(menu->base.popup);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_menu_base.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- ewl_menu_base.c 3 Jan 2004 21:23:11 -0000 1.22
+++ ewl_menu_base.c 14 Jan 2004 20:42:54 -0000 1.23
@@ -266,6 +266,10 @@
ewl_container_append_child(EWL_CONTAINER(menu->popup), menu->popbox);
ewl_widget_show(menu->popup);
+ if (EWL_MENU_ITEM(w)->submenu)
+ ewl_object_set_minimum_w(EWL_OBJECT(menu->popup),
+ CURRENT_W(menu));
+
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
@@ -292,7 +296,8 @@
menu = EWL_MENU_BASE(w);
- ewl_widget_destroy(menu->popup);
+ if (menu->popup)
+ ewl_widget_destroy(menu->popup);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_notebook.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -3 -r1.42 -r1.43
--- ewl_notebook.c 3 Jan 2004 21:23:11 -0000 1.42
+++ ewl_notebook.c 14 Jan 2004 20:42:54 -0000 1.43
@@ -577,7 +577,9 @@
i = 0;
ewd_list_goto_first(c->children);
while ((child = ewd_list_next(c->children))) {
- if (child != n->tab_box) {
+ if (child != n->tab_box &&
+ ewl_object_get_flags(EWL_OBJECT(child),
+ EWL_FLAG_QUEUED_DSCHEDULED)) {
if (i == t)
break;
i++;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_notebook.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- ewl_notebook.h 3 Jan 2004 21:23:11 -0000 1.18
+++ ewl_notebook.h 14 Jan 2004 20:42:54 -0000 1.19
@@ -1,6 +1,11 @@
#ifndef __EWL_NOTEBOOK_H__
#define __EWL_NOTEBOOK_H__
+/*
+ * @themekey /notebook/file
+ * @themekey /notebook/group
+ */
+
typedef struct Ewl_Notebook Ewl_Notebook;
#define EWL_NOTEBOOK(notebook) ((Ewl_Notebook *) notebook)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_row.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- ewl_row.h 9 Dec 2003 21:24:03 -0000 1.13
+++ ewl_row.h 14 Jan 2004 20:42:54 -0000 1.14
@@ -5,6 +5,11 @@
#define EWL_ROW(t) ((Ewl_Row *)t)
/*
+ * @themekey /row/file
+ * @themekey /row/group
+ */
+
+/*
* Tree rows layout cells in a left to right fashion.
*/
struct _ewl_row
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_selectionbar.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- ewl_selectionbar.h 19 Nov 2003 20:18:35 -0000 1.5
+++ ewl_selectionbar.h 14 Jan 2004 20:42:54 -0000 1.6
@@ -2,6 +2,11 @@
#ifndef __EWL_SELECTIONBAR_H__
#define __EWL_SELECTIONBAR_H__
+/*
+ * @themekey /selectionbar/file
+ * @themekey /selectionbar/group
+ */
+
typedef struct _ewl_selectionbar Ewl_Selectionbar;
#define EWL_SELECTIONBAR(selectionbar) ((Ewl_Selectionbar *) selectionbar)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_selectionbook.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ewl_selectionbook.h 25 Nov 2003 07:47:29 -0000 1.4
+++ ewl_selectionbook.h 14 Jan 2004 20:42:54 -0000 1.5
@@ -3,6 +3,11 @@
#define __EWL_SELECTIONBOOK_H__
+/*
+ * @themekey /selectionbook/file
+ * @themekey /selectionbook/group
+ */
+
typedef struct _ewl_sbook_page Ewl_SbookPage;
#define EWL_SBOOKPAGE(sbook_page) ((Ewl_SbookPage *) sbook_page)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_spectrum.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- ewl_spectrum.h 25 Nov 2003 07:47:29 -0000 1.3
+++ ewl_spectrum.h 14 Jan 2004 20:42:54 -0000 1.4
@@ -1,6 +1,11 @@
#ifndef _EWL_SPECTRUM_H
#define _EWL_SPECTRUM_H
+/*
+ * @themekey /spectrum/file
+ * @themekey /spectrum/group
+ */
+
enum {
PICK_MODE_RGB_RED,
PICK_MODE_RGB_GREEN,
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_table.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- ewl_table.h 19 Nov 2003 20:18:36 -0000 1.16
+++ ewl_table.h 14 Jan 2004 20:42:54 -0000 1.17
@@ -2,6 +2,11 @@
#ifndef __EWL_TABLE_H__
#define __EWL_TABLE_H__
+/*
+ * @themekey /table/file
+ * @themekey /table/group
+ */
+
typedef struct Ewl_Table Ewl_Table;
#define EWL_TABLE(table) ((Ewl_Table *)table)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_text.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- ewl_text.h 19 Nov 2003 20:18:36 -0000 1.27
+++ ewl_text.h 14 Jan 2004 20:42:54 -0000 1.28
@@ -10,6 +10,11 @@
*/
/**
+ * @themekey /text/file
+ * @themekey /text/group
+ */
+
+/**
* Inherits from the Ewl_Widget and provides single line text display.
*/
typedef struct Ewl_Text Ewl_Text;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_textarea.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- ewl_textarea.h 19 Nov 2003 20:18:36 -0000 1.9
+++ ewl_textarea.h 14 Jan 2004 20:42:54 -0000 1.10
@@ -10,6 +10,11 @@
*/
/**
+ * @themekey /textarea/file
+ * @themekey /textarea/group
+ */
+
+/**
* Provides for layout of text across multiple lines, as well as formatting
* portions of the text in different ways, and wrapping around obstacles.
*/
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_theme.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -3 -r1.50 -r1.51
--- ewl_theme.c 3 Jan 2004 21:23:11 -0000 1.50
+++ ewl_theme.c 14 Jan 2004 20:42:54 -0000 1.51
@@ -58,7 +58,7 @@
snprintf(theme_path, PATH_MAX, "%s/.e/ewl/themes/%s", home, theme_name);
- if (((stat(theme_path, &st)) == 0) || S_ISDIR(st.st_mode)) {
+ if (((stat(theme_path, &st)) == 0) && S_ISDIR(st.st_mode)) {
snprintf(theme_db_path, PATH_MAX, "%s/theme.db", theme_path);
theme_db = e_db_open_read(theme_db_path);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_tooltip.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ewl_tooltip.h 30 Dec 2003 18:05:22 -0000 1.4
+++ ewl_tooltip.h 14 Jan 2004 20:42:54 -0000 1.5
@@ -1,6 +1,11 @@
#ifndef __EWL_TOOLTIP_H__
#define __EWL_TOOLTIP_H__
+/*
+ * @themekey /tooltip/file
+ * @themekey /tooltip/group
+ */
+
typedef struct _ewl_tooltip Ewl_Tooltip;
#define EWL_TOOLTIP(tt) ((Ewl_Tooltip *) tt)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_tree.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- ewl_tree.c 10 Dec 2003 01:24:07 -0000 1.31
+++ ewl_tree.c 14 Jan 2004 20:42:54 -0000 1.32
@@ -1,18 +1,5 @@
#include "Ewl.h"
-void ewl_tree_node_configure_cb(Ewl_Widget * w, void *ev_data,
- void *user_data);
-void ewl_tree_node_clicked_cb(Ewl_Widget * w, void *ev_data,
- void *user_data);
-
-void ewl_tree_node_add_cb(Ewl_Container *c, Ewl_Widget *w);
-void ewl_tree_node_remove_cb(Ewl_Container *c, Ewl_Widget *w);
-void ewl_tree_node_resize_cb(Ewl_Container *c, Ewl_Widget *w, int size,
- Ewl_Orientation o);
-
-
-void ewl_tree_row_select_cb(Ewl_Widget *w, void *ev_data, void *user_data);
-
/**
* @param columns: the number of columns to display
* @return Returns NULL on failure, a new tree widget on success.
@@ -171,6 +158,7 @@
ewl_widget_show(row);
EWL_TREE_NODE(node)->tree = tree;
+ EWL_TREE_NODE(node)->row = row;
ewl_container_append_child(EWL_CONTAINER(node), row);
/*
@@ -436,10 +424,9 @@
DRETURN(DLEVEL_STABLE);
ewd_list_goto_first(EWL_CONTAINER(node)->children);
- ewd_list_next(EWL_CONTAINER(node)->children);
-
while ((w = ewd_list_next(EWL_CONTAINER(node)->children))) {
- ewl_widget_hide(w);
+ if (w != node->row)
+ ewl_widget_hide(w);
}
node->expanded = EWL_TREE_NODE_COLLAPSED;
@@ -470,10 +457,10 @@
DRETURN(DLEVEL_STABLE);
ewd_list_goto_first(EWL_CONTAINER(node)->children);
- ewd_list_next(EWL_CONTAINER(node)->children);
-
- while ((w = ewd_list_next(EWL_CONTAINER(node)->children)))
- ewl_widget_show(w);
+ while ((w = ewd_list_next(EWL_CONTAINER(node)->children))) {
+ if (w != node->row)
+ ewl_widget_show(w);
+ }
ewl_widget_set_state(EWL_WIDGET(node), "expanded");
@@ -580,11 +567,8 @@
node = EWL_TREE_NODE(c);
- if (node->expanded || w == node->row) {
- ewl_object_set_preferred_h(EWL_OBJECT(c),
- PREFERRED_H(c) -
+ ewl_object_set_preferred_h(EWL_OBJECT(c), PREFERRED_H(c) -
ewl_object_get_preferred_h(EWL_OBJECT(w)));
- }
width = ewl_object_get_preferred_w(EWL_OBJECT(w));
if (PREFERRED_W(c) >= width)
@@ -603,14 +587,12 @@
node = EWL_TREE_NODE(c);
- if (node->expanded || (w == ewd_list_goto_first(c->children))) {
- if (o == EWL_ORIENTATION_HORIZONTAL)
- ewl_object_set_preferred_w(EWL_OBJECT(c),
- PREFERRED_W(c) + size);
- else
- ewl_object_set_preferred_h(EWL_OBJECT(c),
- PREFERRED_H(c) + size);
- }
+ if (o == EWL_ORIENTATION_HORIZONTAL)
+ ewl_object_set_preferred_w(EWL_OBJECT(c),
+ PREFERRED_W(c) + size);
+ else
+ ewl_object_set_preferred_h(EWL_OBJECT(c),
+ PREFERRED_H(c) + size);
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_tree.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- ewl_tree.h 25 Nov 2003 07:47:29 -0000 1.16
+++ ewl_tree.h 14 Jan 2004 20:42:54 -0000 1.17
@@ -9,6 +9,11 @@
* @{
*/
+/**
+ * @themekey /tree/file
+ * @themekey /tree/group
+ */
+
typedef struct Ewl_Tree Ewl_Tree;
/**
@@ -84,6 +89,22 @@
void ewl_tree_set_row_expand(Ewl_Row *row, Ewl_Tree_Node_Flags expanded);
Ewl_Row *ewl_tree_find_row(Ewl_Tree *tree, int row);
+/*
+ * Internally used callbacks, override at your own risk.
+ */
+void ewl_tree_node_configure_cb(Ewl_Widget * w, void *ev_data,
+ void *user_data);
+void ewl_tree_node_clicked_cb(Ewl_Widget * w, void *ev_data,
+ void *user_data);
+
+void ewl_tree_node_add_cb(Ewl_Container *c, Ewl_Widget *w);
+void ewl_tree_node_remove_cb(Ewl_Container *c, Ewl_Widget *w);
+void ewl_tree_node_resize_cb(Ewl_Container *c, Ewl_Widget *w, int size,
+ Ewl_Orientation o);
+
+
+void ewl_tree_row_select_cb(Ewl_Widget *w, void *ev_data, void *user_data);
+
/**
* @}
*/
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_widget.c,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -3 -r1.95 -r1.96
--- ewl_widget.c 3 Jan 2004 21:23:11 -0000 1.95
+++ ewl_widget.c 14 Jan 2004 20:42:54 -0000 1.96
@@ -525,10 +525,9 @@
ewl_realize_request(w);
}
}
- }
- if (p)
ewl_widget_configure(p);
+ }
DLEAVE_FUNCTION(DLEVEL_STABLE);
}
@@ -1102,7 +1101,6 @@
* First find it's parent embed so we can destroy the evas objects.
*/
emb = ewl_embed_find_by_widget(w);
- ewl_embed_remove_tab_order(emb, w);
/*
* Destroy the clip box used for fx.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_window.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- ewl_window.h 30 Dec 2003 18:05:22 -0000 1.26
+++ ewl_window.h 14 Jan 2004 20:42:54 -0000 1.27
@@ -11,6 +11,11 @@
*/
/**
+ * @themekey /window/file
+ * @themekey /window/group
+ */
+
+/**
* The window structure is mostly a container for holding widgets and a
* wrapper around the xlib window.
*/
-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs