Enlightenment CVS committal Author : jethomas Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: Ewl.h Makefile.am ewl_filelist.c Removed Files: ewl_tree_view_freebox.c ewl_tree_view_freebox.h Log Message: Remove the freebox view for tree, and change the filelist to use freebox_mvc. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/Ewl.h,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- Ewl.h 19 May 2008 22:11:09 -0000 1.41 +++ Ewl.h 20 May 2008 23:47:00 -0000 1.42 @@ -83,7 +83,6 @@ #include <ewl_tree.h> #include <ewl_tree_view.h> -#include <ewl_tree_view_freebox.h> #include <ewl_tree_view_plain.h> #include <ewl_tree_view_scrolled.h> #include <ewl_list.h> =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/Makefile.am,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- Makefile.am 19 May 2008 22:11:09 -0000 1.64 +++ Makefile.am 20 May 2008 23:47:00 -0000 1.65 @@ -92,7 +92,6 @@ ewl_table.h \ ewl_tree.h \ ewl_tree_view.h \ - ewl_tree_view_freebox.h \ ewl_tree_view_plain.h \ ewl_tree_view_scrolled.h \ ewl_theme.h \ @@ -176,7 +175,6 @@ ewl_theme.c \ ewl_tree.c \ ewl_tree_view.c \ - ewl_tree_view_freebox.c \ ewl_tree_view_plain.c \ ewl_tree_view_scrolled.c \ ewl_toolbar.c \ =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_filelist.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- ewl_filelist.c 7 May 2008 13:38:23 -0000 1.60 +++ ewl_filelist.c 20 May 2008 23:47:00 -0000 1.61 @@ -4,14 +4,14 @@ #include "ewl_filelist_model.h" #include "ewl_filelist_view.h" #include "ewl_tree.h" -#include "ewl_tree_view_freebox.h" -#include "ewl_tree_view_scrolled.h" +#include "ewl_freebox_mvc.h" #include "ewl_mvc.h" #include "ewl_icon_theme.h" #include "ewl_io_manager.h" #include "ewl_macros.h" #include "ewl_private.h" #include "ewl_debug.h" +#include "ewl_scrollpane.h" #include <sys/types.h> #if HAVE_PWD_H # include <pwd.h> @@ -73,7 +73,6 @@ ewl_callback_prepend(EWL_WIDGET(fl), EWL_CALLBACK_DESTROY, ewl_filelist_cb_destroy, NULL); - fl->view_flag = EWL_FILELIST_VIEW_ICON; fl->multiselect = FALSE; fl->show_dot = FALSE; @@ -114,24 +113,8 @@ ewl_model_data_unref_set(fl->model, ewl_filelist_model_data_unref); - /* For now just create a tree and set different views */ - fl->controller = ewl_tree_new(); - ewl_mvc_view_set(EWL_MVC(fl->controller), fl->view); - ewl_mvc_model_set(EWL_MVC(fl->controller), fl->model); - ewl_tree_selection_type_set(EWL_TREE(fl->controller), - EWL_TREE_SELECTION_TYPE_ROW); - ewl_container_child_append(EWL_CONTAINER(fl), fl->controller); - ewl_callback_append(EWL_WIDGET(fl->controller), - EWL_CALLBACK_CLICKED, ewl_filelist_cb_clicked, fl); - ewl_widget_show(fl->controller); - - if (fl->multiselect) - ewl_mvc_selection_mode_set(EWL_MVC(fl->controller), - EWL_SELECTION_MODE_MULTI); - else - ewl_mvc_selection_mode_set(EWL_MVC(fl->controller), - EWL_SELECTION_MODE_SINGLE); - + /* Set default flag */ + fl->view_flag = EWL_FILELIST_VIEW_ICON; ewl_filelist_view_setup(fl); DLEAVE_FUNCTION(DLEVEL_STABLE); @@ -143,67 +126,87 @@ static void ewl_filelist_view_setup(Ewl_Filelist *fl) { - const Ewl_View *view; + void *data = NULL; + Ewl_Widget *p; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(fl); DCHECK_TYPE(fl, EWL_FILELIST_TYPE); + if (fl->controller) + { + /* We have to check for the scrollpane used for the freebox */ + p = fl->controller; + while (p->parent != EWL_WIDGET(fl)) + p = p->parent; + + /* If there is a scrollpane, destroy it */ + if (p != fl->controller) + ewl_widget_destroy(p); + data = ewl_mvc_data_get(EWL_MVC(fl->controller)); + ewl_mvc_data_set(EWL_MVC(fl->controller), NULL); + ewl_widget_destroy(fl->controller); + } + /* Set expansions callbacks to NULL right off the bat */ ewl_model_expansion_data_fetch_set(fl->model, NULL); ewl_model_data_expandable_set(fl->model, NULL); if (fl->view_flag == EWL_FILELIST_VIEW_TREE) { + fl->controller = ewl_tree_new(); + ewl_tree_selection_type_set(EWL_TREE(fl->controller), + EWL_TREE_SELECTION_TYPE_ROW); ewl_tree_column_count_set(EWL_TREE(fl->controller), 2); - ewl_tree_headers_visible_set(EWL_TREE(fl->controller), - TRUE); - ewl_tree_alternate_row_colors_set - (EWL_TREE(fl->controller), TRUE); ewl_model_expansion_data_fetch_set(fl->model, ewl_filelist_model_data_expansion_data_fetch); ewl_model_data_expandable_set(fl->model, ewl_filelist_model_data_expandable_get); - view = ewl_tree_view_scrolled_get(); + ewl_container_child_append(EWL_CONTAINER(fl), fl->controller); } else if (fl->view_flag == EWL_FILELIST_VIEW_LIST) { + fl->controller = ewl_tree_new(); + ewl_tree_selection_type_set(EWL_TREE(fl->controller), + EWL_TREE_SELECTION_TYPE_ROW); ewl_tree_column_count_set(EWL_TREE(fl->controller), 6); - ewl_tree_headers_visible_set(EWL_TREE(fl->controller), - TRUE); - ewl_tree_alternate_row_colors_set - (EWL_TREE(fl->controller), TRUE); - view = ewl_tree_view_scrolled_get(); + ewl_container_child_append(EWL_CONTAINER(fl), fl->controller); } /* Until column view is written just default and throw a warning */ else if (fl->view_flag == EWL_FILELIST_VIEW_COLUMN) { - ewl_tree_column_count_set(EWL_TREE(fl->controller), 1); - ewl_tree_headers_visible_set(EWL_TREE(fl->controller), - FALSE); - ewl_tree_alternate_row_colors_set - (EWL_TREE(fl->controller), FALSE); - view = ewl_tree_view_freebox_get(); + p = ewl_scrollpane_new(); + ewl_container_child_append(EWL_CONTAINER(fl), p); + ewl_widget_show(p); + + fl->controller = ewl_vfreebox_mvc_new(); + ewl_container_child_append(EWL_CONTAINER(p), fl->controller); DWARNING("Column view not implemented"); } /* Make icon view default */ else { - ewl_tree_column_count_set(EWL_TREE(fl->controller), 1); - /* XXX dirty hack, please remove it after we have a - * freebox mvc implementation */ - ewl_container_reset(EWL_CONTAINER(EWL_TREE(fl->controller)->header)); - ewl_tree_headers_visible_set(EWL_TREE(fl->controller), - FALSE); - ewl_tree_alternate_row_colors_set - (EWL_TREE(fl->controller), FALSE); - view = ewl_tree_view_freebox_get(); - fl->view_flag = EWL_FILELIST_VIEW_ICON; - } - - /* Set the view and redraw the tree */ - ewl_tree_content_view_set(EWL_TREE(fl->controller), view); - ewl_mvc_dirty_set(EWL_MVC(fl->controller), TRUE); + p = ewl_scrollpane_new(); + ewl_container_child_append(EWL_CONTAINER(fl), p); + ewl_widget_show(p); + + fl->controller = ewl_vfreebox_mvc_new(); + ewl_container_child_append(EWL_CONTAINER(p), fl->controller); + } + + /* Once we have mvc created, set specifics into */ + if (fl->multiselect) + ewl_mvc_selection_mode_set(EWL_MVC(fl->controller), + EWL_SELECTION_MODE_MULTI); + else + ewl_mvc_selection_mode_set(EWL_MVC(fl->controller), + EWL_SELECTION_MODE_SINGLE); + ewl_mvc_view_set(EWL_MVC(fl->controller), fl->view); + ewl_mvc_model_set(EWL_MVC(fl->controller), fl->model); + ewl_mvc_data_set(EWL_MVC(fl->controller), data); + ewl_callback_append(EWL_WIDGET(fl->controller), + EWL_CALLBACK_CLICKED, ewl_filelist_cb_clicked, fl); + ewl_widget_show(fl->controller); DLEAVE_FUNCTION(DLEVEL_STABLE); } ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs