Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/bin/tests Modified Files: ewl_tree2.c Log Message: - convert tree2 to use a view system similar to the filedialog - there are currently two views available plain and scrolled, scrolled is default - you can write your own view if you desire to get a custom tree row handling if needed (something like a spreadsheet to display row numbers or something) - NOTE: when moving the headers inside the scrolled view there is a missing configure. you need to force a configure (resize or move window) in order for the row sizes to correct. this works correctly in the normal case. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/ewl_tree2.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- ewl_tree2.c 22 Aug 2006 05:42:10 -0000 1.11 +++ ewl_tree2.c 22 Aug 2006 21:41:44 -0000 1.12 @@ -33,8 +33,8 @@ static int tree2_test_data_count_get(void *data); static void ewl_tree2_cb_scroll_headers(Ewl_Widget *w, void *ev, void *data); -static void ewl_tree2_cb_scroll_visible(Ewl_Widget *w, void *ev, void *data); -static void tree2_cb_set_rows_clicked(Ewl_Widget *w, void *ev, void *data); +static void ewl_tree2_cb_plain_view(Ewl_Widget *w, void *ev, void *data); +static void ewl_tree2_cb_set_rows_clicked(Ewl_Widget *w, void *ev, void *data); void test_info(Ewl_Test *test) @@ -113,11 +113,10 @@ ewl_widget_show(o); o = ewl_checkbutton_new(); - ewl_button_label_set(EWL_BUTTON(o), "Scroll visible"); + ewl_button_label_set(EWL_BUTTON(o), "Plain view"); ewl_container_child_append(EWL_CONTAINER(o2), o); - ewl_checkbutton_checked_set(EWL_CHECKBUTTON(o), TRUE); ewl_callback_append(o, EWL_CALLBACK_CLICKED, - ewl_tree2_cb_scroll_visible, tree); + ewl_tree2_cb_plain_view, tree); ewl_widget_show(o); o = ewl_spinner_new(); @@ -133,7 +132,8 @@ o = ewl_button_new(); ewl_button_label_set(EWL_BUTTON(o), "Set number of rows"); ewl_container_child_append(EWL_CONTAINER(o2), o); - ewl_callback_append(o, EWL_CALLBACK_CLICKED, tree2_cb_set_rows_clicked, NULL); + ewl_callback_append(o, EWL_CALLBACK_CLICKED, + ewl_tree2_cb_set_rows_clicked, NULL); ewl_widget_show(o); return 1; @@ -310,24 +310,33 @@ ewl_tree2_cb_scroll_headers(Ewl_Widget *w, void *ev __UNUSED__, void *data) { Ewl_Tree2 *tree; + Ewl_Widget *view; tree = data; - ewl_tree2_scroll_headers_set(tree, + view = ewl_tree2_view_widget_get(tree); + + if (ewl_widget_type_is(view, EWL_TREE2_VIEW_SCROLLED_TYPE)) + ewl_tree2_view_scrolled_scroll_headers_set(EWL_TREE2_VIEW(view), ewl_checkbutton_is_checked(EWL_CHECKBUTTON(w))); } static void -ewl_tree2_cb_scroll_visible(Ewl_Widget *w, void *ev __UNUSED__, void *data) +ewl_tree2_cb_plain_view(Ewl_Widget *w, void *ev __UNUSED__, void *data) { Ewl_Tree2 *tree; + Ewl_View *view; tree = data; - ewl_tree2_scroll_visible_set(tree, - ewl_checkbutton_is_checked(EWL_CHECKBUTTON(w))); + if (ewl_checkbutton_is_checked(EWL_CHECKBUTTON(w))) + view = ewl_tree2_view_plain_get(); + else + view = ewl_tree2_view_scrolled_get(); + + ewl_tree2_view_set(tree, view); } static void -tree2_cb_set_rows_clicked(Ewl_Widget *w, void *ev, void *data) +ewl_tree2_cb_set_rows_clicked(Ewl_Widget *w, void *ev, void *data) { Ewl_Widget *spinner, *tree; Tree2_Test_Data *d; ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs