Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        Makefile.am e_includes.h e_table.c e_test.c 
        e_widget_framelist.c e_widget_frametable.c e_widget_table.c 
Added Files:
        e_widget_scrollframe.c e_widget_scrollframe.h 


Log Message:


fix long-standing table box - doesnt expand. not smart - but works. add
scrollframe widget. more fm work

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/Makefile.am,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -3 -r1.127 -r1.128
--- Makefile.am 13 Jul 2006 16:35:45 -0000      1.127
+++ Makefile.am 21 Jul 2006 20:16:46 -0000      1.128
@@ -163,7 +163,8 @@
 e_confirm_dialog.h \
 e_int_border_prop.h \
 e_entry_dialog.h \
-e_fm.h
+e_fm.h \
+e_widget_scrollframe.h
 
 enlightenment_src = \
 e_user.c \
@@ -303,6 +304,7 @@
 e_int_border_prop.c \
 e_entry_dialog.c \
 e_fm.c \
+e_widget_scrollframe.c \
 $(ENLIGHTENMENTHEADERS)
 
 enlightenment_SOURCES = \
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_includes.h,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -3 -r1.105 -r1.106
--- e_includes.h        9 Jul 2006 18:35:56 -0000       1.105
+++ e_includes.h        21 Jul 2006 20:16:46 -0000      1.106
@@ -139,3 +139,4 @@
 #include "e_int_border_prop.h"
 #include "e_entry_dialog.h"
 #include "e_fm.h"
+#include "e_widget_scrollframe.h"
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_table.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_table.c   7 Jan 2006 10:39:45 -0000       1.11
+++ e_table.c   21 Jul 2006 20:16:46 -0000      1.12
@@ -518,6 +518,69 @@
                         }
                    }
               }
+            
+            ex = 0;
+            for (i = 0; i < sd->size.cols; i++) { if (colsx[i]) ex++; }
+            tot = 0;
+            for (i = 0; i < sd->size.cols; i++) tot += cols[i];
+            dif = w - tot;
+            if ((ex > 0) && (dif > 0))
+              {
+                 int exl;
+                 
+                 left = dif;
+                 exl = ex;
+                 for (i = 0; i < sd->size.cols; i++)
+                   {
+                      if (colsx[i])
+                        {
+                           if (exl == 1)
+                             {
+                                cols[i] += left;
+                                exl--;
+                                left = 0;
+                             }
+                           else
+                             {                  
+                                cols[i] += dif / ex;
+                                exl--;
+                                left -= dif / ex;
+                             }
+                        }
+                   }
+              }
+            
+            ex = 0;
+            for (i = 0; i < sd->size.rows; i++) { if (rowsx[i]) ex++; }
+            tot = 0;
+            for (i = 0; i < sd->size.rows; i++) tot += rows[i];
+            dif = h - tot;
+            if ((ex > 0) && (dif > 0))
+              {
+                 int exl;
+                 
+                 left = dif;
+                 exl = ex;
+                 for (i = 0; i < sd->size.rows; i++)
+                   {
+                      if (rowsx[i])
+                        {
+                           if (exl == 1)
+                             {
+                                rows[i] += left;
+                                exl--;
+                                left = 0;
+                             }
+                           else
+                             {                  
+                                rows[i] += dif / ex;
+                                exl--;
+                                left -= dif / ex;
+                             }
+                        }
+                   }
+              }
+            
             for (l = sd->items; l; l = l->next)
               {
                  E_Table_Item *ti;
@@ -537,10 +600,10 @@
                  for (i = ti->row; i < (ti->row + ti->rowspan); i++) hh += 
rows[i];
 
                  ow = ti->min.w;
-                 if (ti->expand_w) ow = ww;
+                 if (ti->fill_w) ow = ww;
                  if ((ti->max.w >= 0) && (ti->max.w < ow)) ow = ti->max.w;
                  oh = ti->min.h;
-                 if (ti->expand_h) oh = hh;
+                 if (ti->fill_h) oh = hh;
                  if ((ti->max.h >= 0) && (ti->max.h < oh)) oh = ti->max.h;
                  evas_object_move(obj, 
                                   xx + (Evas_Coord)(((double)(ww - ow)) * 
ti->align.x),
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_test.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -3 -r1.54 -r1.55
--- e_test.c    20 Jul 2006 19:58:22 -0000      1.54
+++ e_test.c    21 Jul 2006 20:16:46 -0000      1.55
@@ -599,6 +599,12 @@
 }
     
 static void
+_e_test_cb_favorites_selected(void *data, Evas_Object *obj, void *event_info)
+{
+   printf("FAV CHANGED\n");
+}
+    
+static void
 _e_test_cb_selected(void *data, Evas_Object *obj, void *event_info)
 {
    printf("SELECTED!\n");
@@ -608,42 +614,61 @@
 _e_test_internal(E_Container *con)
 {
    E_Dialog *dia;
-   Evas_Object *o, *o2, *o3;
+   Evas_Object *ofm, *ofm2, *of, *ob, *ot;
+   Evas_Coord mw, mh;
+   E_Fm2_Config fmc;
    
    dia = e_dialog_new(con);
    e_dialog_title_set(dia, "A Test Dialog");
 
-   o = e_fm2_add(dia->win->evas);
-//   e_fm2_path_set(o, "~/", "/pix/bg");
-   e_fm2_path_set(o, "~/", "/.e/e/fileman/favorites");
-   
-   o3 = e_widget_list_add(dia->win->evas, 0, 0);
-
-   o2 = e_widget_button_add(dia->win->evas, "Up a directory", NULL,
-                          _e_test_cb_button, o, NULL);
-   evas_object_show(o2);
-   e_widget_list_object_append(o3, o2, 1, 0, 0.5);
+   /* a table for layout */
+   ot = e_widget_table_add(dia->win->evas, 0);
 
-   evas_object_smart_callback_add(o, "changed", _e_test_cb_changed, o2);
-   evas_object_smart_callback_add(o, "selected", _e_test_cb_selected, NULL);
+   /* actual files */
+   ofm = e_fm2_add(dia->win->evas);
+   /* FIXME: set config */
+   e_fm2_path_set(ofm, "~/", "/pix/bg");
+   ob = e_widget_button_add(dia->win->evas, "Up a directory", NULL,
+                          _e_test_cb_button, ofm, NULL);
+   e_widget_table_object_append(ot, ob, 1, 0, 1, 1, 0, 0, 1, 0);
+   evas_object_show(ob);
+   evas_object_smart_callback_add(ofm, "changed", _e_test_cb_changed, ob);
+   evas_object_smart_callback_add(ofm, "selected", _e_test_cb_selected, NULL);
+   of = e_widget_scrollframe_pan_add(dia->win->evas, ofm,
+                                    e_fm2_pan_set, e_fm2_pan_get,
+                                    e_fm2_pan_max_get, 
e_fm2_pan_child_size_get);
+   e_widget_min_size_set(of, 128, 128);
+   e_widget_table_object_append(ot, of, 1, 1, 1, 1, 1, 1, 1, 1);
+   evas_object_show(ofm);
+   evas_object_show(of);
    
-   evas_object_show(o);
-   o2 = e_scrollframe_add(dia->win->evas);
-   evas_object_show(o2);
-   e_scrollframe_extern_pan_set(o2, o, 
-                               e_fm2_pan_set, e_fm2_pan_get,
-                               e_fm2_pan_max_get, e_fm2_pan_child_size_get);
-   e_widget_list_object_append(o3, o2, 1, 1, 0.5);
+   ofm2 = ofm;
 
-   e_dialog_content_set(dia, o3, 128, 128);
+   /* shortcut list */
+   ofm = e_fm2_add(dia->win->evas);
+   /* FIXME: set config */
+   e_fm2_path_set(ofm, "~/", "/.e/e/fileman/favorites");
+   evas_object_smart_callback_add(ofm, "selected", 
_e_test_cb_favorites_selected, ofm2);
+   of = e_widget_scrollframe_pan_add(dia->win->evas, ofm,
+                                    e_fm2_pan_set, e_fm2_pan_get,
+                                    e_fm2_pan_max_get, 
e_fm2_pan_child_size_get);
+   e_widget_min_size_set(of, 128, 128);
+   e_widget_table_object_append(ot, of, 0, 1, 1, 1, 0, 1, 0, 1);
+   evas_object_show(ofm);
+   evas_object_show(of);
+   
+   /* show and pack table */
+   evas_object_show(ot);
+   e_widget_min_size_get(ot, &mw, &mh);
+   e_dialog_content_set(dia, ot, mw, mh);
    
+   /* buttons at the bottom */
    e_dialog_button_add(dia, "OK", NULL, NULL, NULL);
    e_dialog_resizable_set(dia, 1);
    e_win_centered_set(dia->win, 1);
    e_dialog_show(dia);
    e_win_resize(dia->win, 400, 300); 
    
-   evas_object_focus_set(o, 1);
 }
 #else
 static void
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_framelist.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_widget_framelist.c        7 Jan 2006 10:39:45 -0000       1.5
+++ e_widget_framelist.c        21 Jul 2006 20:16:46 -0000      1.6
@@ -19,7 +19,7 @@
 {
    Evas_Object *obj, *o;
    E_Widget_Data *wd;
-   Evas_Coord mw, mh;
+   Evas_Coord mw = 0, mh = 0;
    
    obj = e_widget_add(evas);
    
@@ -54,7 +54,7 @@
 e_widget_framelist_object_append(Evas_Object *obj, Evas_Object *sobj)
 {
    E_Widget_Data *wd;
-   Evas_Coord mw, mh;
+   Evas_Coord mw = 0, mh = 0;
    
    wd = e_widget_data_get(obj);
    
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_frametable.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_widget_frametable.c       7 Jan 2006 10:39:45 -0000       1.2
+++ e_widget_frametable.c       21 Jul 2006 20:16:46 -0000      1.3
@@ -53,7 +53,7 @@
 e_widget_frametable_object_append(Evas_Object *obj, Evas_Object *sobj, int 
col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, 
int expand_h)
 {
    E_Widget_Data *wd;
-   Evas_Coord mw, mh;
+   Evas_Coord mw = 0, mh = 0;
    
    wd = e_widget_data_get(obj);
    
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_table.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_widget_table.c    7 Jan 2006 10:39:45 -0000       1.4
+++ e_widget_table.c    21 Jul 2006 20:16:46 -0000      1.5
@@ -40,7 +40,7 @@
 e_widget_table_object_append(Evas_Object *obj, Evas_Object *sobj, int col, int 
row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int 
expand_h)
 {
    E_Widget_Data *wd;
-   Evas_Coord mw, mh;
+   Evas_Coord mw = 0, mh = 0;
    
    wd = e_widget_data_get(obj);
    



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to