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

Reply via email to