Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_configure.c e_configure.h e_ilist.c e_ilist.h e_test.c 
        e_widget_ilist.c e_widget_ilist.h 


Log Message:


add ilist headers - much easier to organise things now

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_configure.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -3 -r1.40 -r1.41
--- e_configure.c       27 Feb 2006 18:39:20 -0000      1.40
+++ e_configure.c       27 Mar 2006 14:46:26 -0000      1.41
@@ -63,24 +63,35 @@
    edje_object_part_text_set(eco->edje, "title", _("Configuration Panel"));
 
    /* add items here */
+   e_configure_header_item_add(eco, "enlightenment/appearance", 
_("Appearance"));
    e_configure_standard_item_add(eco, "enlightenment/desktops", _("Background 
Settings"), e_int_config_background);
    e_configure_standard_item_add(eco, "enlightenment/themes", _("Theme 
Selector"), e_int_config_theme);   
-   e_configure_standard_item_add(eco, "enlightenment/modules", _("Module 
Settings"), e_int_config_modules);
-   e_configure_standard_item_add(eco, "enlightenment/configuration", _("Config 
Dialog Settings"), e_int_config_cfgdialogs);
+   e_configure_standard_item_add(eco, "enlightenment/e", _("Font Display 
Hinting"), e_int_config_hinting);
    e_configure_standard_item_add(eco, "enlightenment/mouse", _("Cursor 
Settings"), e_int_config_cursor);
+   e_configure_standard_item_add(eco, "enlightenment/windows", _("Window 
Display Settings"), e_int_config_window_display);
+   
+   e_configure_header_item_add(eco, "enlightenment/extensions", 
_("Extensions"));
+   e_configure_standard_item_add(eco, "enlightenment/modules", _("Module 
Settings"), e_int_config_modules);
+   
+   e_configure_header_item_add(eco, "enlightenment/screen_setup", _("Screen"));
    e_configure_standard_item_add(eco, "enlightenment/desktops", _("Desktop 
Settings"), e_int_config_desks);
-   e_configure_standard_item_add(eco, "enlightenment/desktops", _("Desktop 
Lock Settings"), e_int_config_desklock);
    e_configure_standard_item_add(eco, "enlightenment/desktops", _("Display 
Settings"), e_int_config_display);
+   e_configure_standard_item_add(eco, "enlightenment/desktops", _("Desktop 
Lock Settings"), e_int_config_desklock);
+   
+   e_configure_header_item_add(eco, "enlightenment/behavior", _("Behavior"));
    e_configure_standard_item_add(eco, "enlightenment/e", _("Focus Settings"), 
e_int_config_focus);
-   e_configure_standard_item_add(eco, "enlightenment/e", _("Font Display 
Hinting"), e_int_config_hinting);
    e_configure_standard_item_add(eco, "enlightenment/e", _("Key Binding 
Settings"), e_int_config_keybindings);
    e_configure_standard_item_add(eco, "enlightenment/favorites", _("Menu 
Settings"), e_int_config_menus);
+   
+   e_configure_header_item_add(eco, "enlightenment/misc", _("Miscellaneous"));
    e_configure_standard_item_add(eco, "enlightenment/configuration", 
_("Performance Settings"), e_int_config_performance);
-   e_configure_standard_item_add(eco, "enlightenment/run", _("Run Command 
Settings"), e_int_config_exebuf);
+   e_configure_standard_item_add(eco, "enlightenment/configuration", _("Config 
Dialog Settings"), e_int_config_cfgdialogs);
+   
+   e_configure_header_item_add(eco, "enlightenment/advanced", _("Advanced"));
    e_configure_standard_item_add(eco, "enlightenment/run", _("Startup 
Settings"), e_int_config_startup);
    e_configure_standard_item_add(eco, "enlightenment/windows", _("Window List 
Settings"), e_int_config_winlist);
-   e_configure_standard_item_add(eco, "enlightenment/windows", _("Window 
Display Settings"), e_int_config_window_display);
    e_configure_standard_item_add(eco, "enlightenment/windows", _("Window 
Manipulation Settings"), e_int_config_window_manipulation);
+   e_configure_standard_item_add(eco, "enlightenment/run", _("Run Command 
Settings"), e_int_config_exebuf);
    
    /* FIXME: we should have a way for modules to hook in here and add their
     * own entries
@@ -120,6 +131,16 @@
    ecocb->func = func;
    eco->cblist = evas_list_append(eco->cblist, ecocb);
    e_widget_ilist_append(eco->ilist, o, label, _e_configure_cb_standard, 
ecocb, NULL);
+}
+
+EAPI void
+e_configure_header_item_add(E_Configure *eco, char *icon, char *label)
+{
+   Evas_Object *o;
+   
+   o = edje_object_add(eco->evas);
+   e_util_edje_icon_set(o, icon);
+   e_widget_ilist_header_append(eco->ilist, o, label);
 }
 
 /* local subsystem functions */
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_configure.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_configure.h       21 Dec 2005 06:38:50 -0000      1.5
+++ e_configure.h       27 Mar 2006 14:46:26 -0000      1.6
@@ -24,6 +24,7 @@
 
 EAPI E_Configure *e_configure_show(E_Container *con);
 EAPI void         e_configure_standard_item_add(E_Configure *eco, char *icon, 
char *label, E_Config_Dialog *(*func) (E_Container *con));
+EAPI void         e_configure_header_item_add(E_Configure *eco, char *icon, 
char *label);
     
 #endif
 #endif
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_ilist.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_ilist.c   3 Mar 2006 10:04:59 -0000       1.15
+++ e_ilist.c   27 Mar 2006 14:46:26 -0000      1.16
@@ -30,6 +30,7 @@
    void         (*func_hilight) (void *data, void *data2);
    void          *data;
    void          *data2;
+   unsigned char  header : 1;
 };
 
 /* local subsystem functions */
@@ -92,7 +93,7 @@
 }
 
 EAPI void
-e_ilist_append(Evas_Object *obj, Evas_Object *icon, char *label, void (*func) 
(void *data, void *data2), void (*func_hilight) (void *data, void *data2), void 
*data, void *data2)
+e_ilist_append(Evas_Object *obj, Evas_Object *icon, char *label, int header, 
void (*func) (void *data, void *data2), void (*func_hilight) (void *data, void 
*data2), void *data, void *data2)
 {
    E_Smart_Item *si;
    Evas_Coord mw = 0, mh = 0;
@@ -101,12 +102,15 @@
    si = E_NEW(E_Smart_Item, 1);
    si->sd = sd;
    si->base_obj = edje_object_add(evas_object_evas_get(sd->smart_obj));
-
-   if (evas_list_count(sd->items) & 0x1)
-      e_theme_edje_object_set(si->base_obj, "base/theme/widgets",
+   
+   if (header)
+     e_theme_edje_object_set(si->base_obj, "base/theme/widgets",
+                            "widgets/ilist_header");
+   else if (evas_list_count(sd->items) & 0x1)
+     e_theme_edje_object_set(si->base_obj, "base/theme/widgets",
                             "widgets/ilist_odd");
    else
-      e_theme_edje_object_set(si->base_obj, "base/theme/widgets",
+     e_theme_edje_object_set(si->base_obj, "base/theme/widgets",
                             "widgets/ilist");
    edje_object_part_text_set(si->base_obj, "label", label);
    si->icon_obj = icon;
@@ -120,6 +124,7 @@
    si->func_hilight = func_hilight;
    si->data = data;
    si->data2 = data2;
+   si->header = header;
    sd->items = evas_list_append(sd->items, si);
    edje_object_size_min_calc(si->base_obj, &mw, &mh);
    e_box_pack_end(sd->box_obj, si->base_obj);
@@ -364,17 +369,41 @@
    ev = event_info;
    if (!strcmp(ev->keyname, "Up"))
      {
-       int n;
-       
-       n = e_ilist_selected_get(sd->smart_obj);
-       e_ilist_selected_set(sd->smart_obj, n - 1);
+       int n, ns;
+       E_Smart_Item *si;
+          
+       ns = e_ilist_selected_get(sd->smart_obj);
+       do
+         {
+            n = e_ilist_selected_get(sd->smart_obj);
+            if (n == 0)
+              {
+                 e_ilist_selected_set(sd->smart_obj, ns);
+                 break;
+              }
+            e_ilist_selected_set(sd->smart_obj, n - 1);
+            si = evas_list_nth(sd->items, sd->selected);
+         }
+       while ((si) && (si->header));
      }
    else if (!strcmp(ev->keyname, "Down"))
      {
-       int n;
+       int n, ns;
+        E_Smart_Item *si;
        
-       n = e_ilist_selected_get(sd->smart_obj);
-       e_ilist_selected_set(sd->smart_obj, n + 1);
+       ns = e_ilist_selected_get(sd->smart_obj);
+       do
+         {
+            n = e_ilist_selected_get(sd->smart_obj);
+            if (n == (evas_list_count(sd->items) - 1))
+              {
+                 e_ilist_selected_set(sd->smart_obj, ns);
+                 break;
+              }
+            e_ilist_selected_set(sd->smart_obj, n + 1);
+            si = evas_list_nth(sd->items, sd->selected);
+         }
+       while ((si) && (si->header));
      }
    else if ((!strcmp(ev->keyname, "Return")) ||
            (!strcmp(ev->keyname, "space")))
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_ilist.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- e_ilist.h   25 Jan 2006 04:06:51 -0000      1.8
+++ e_ilist.h   27 Mar 2006 14:46:26 -0000      1.9
@@ -8,7 +8,7 @@
 
 EAPI Evas_Object *e_ilist_add                   (Evas *evas);
 EAPI void         e_ilist_icon_size_set         (Evas_Object *obj, Evas_Coord 
w, Evas_Coord h);
-EAPI void         e_ilist_append                (Evas_Object *obj, Evas_Object 
*icon, char *label, void (*func) (void *data, void *data2), void 
(*func_hilight) (void *data, void *data2), void *data, void *data2);
+EAPI void         e_ilist_append                (Evas_Object *obj, Evas_Object 
*icon, char *label, int header, void (*func) (void *data, void *data2), void 
(*func_hilight) (void *data, void *data2), void *data, void *data2);
 EAPI void         e_ilist_selected_set          (Evas_Object *obj, int n);
 EAPI int          e_ilist_selected_get          (Evas_Object *obj);
 EAPI const char  *e_ilist_selected_label_get    (Evas_Object *obj);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_test.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -3 -r1.46 -r1.47
--- e_test.c    25 Jan 2006 10:20:02 -0000      1.46
+++ e_test.c    27 Mar 2006 14:46:26 -0000      1.47
@@ -443,39 +443,43 @@
    e_theme_edje_object_set(o4, "base/theme/borders",
                           "widgets/border/default/border");
    e_livethumb_thumb_set(o3, o4);
-   e_ilist_append(o, o3, "Item 1", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "Item 1", 0, _e_test_sel, NULL, NULL, NULL);
    
    o3 = e_icon_add(dia->win->evas);
    e_icon_file_set(o3, "/home/raster/C/stuff/icons/palette.png");
-   e_ilist_append(o, o3, "Item 2 (Some really long text goes here for 
testing)", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "Item 2 (Some really long text goes here for 
testing)", 0, _e_test_sel, NULL, NULL, NULL);
    
    o3 = e_icon_add(dia->win->evas);
    e_icon_file_set(o3, "/home/raster/C/stuff/icons/mozilla.png");
-   e_ilist_append(o, o3, "Item 3 (Medium length)", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "Item 3 (Medium length)", 0, _e_test_sel, NULL, NULL, 
NULL);
    
    o3 = e_icon_add(dia->win->evas);
    e_icon_file_set(o3, "/home/raster/C/stuff/icons/trash_open.png");
-   e_ilist_append(o, o3, "Item POOP", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "Item POOP", 0, _e_test_sel, NULL, NULL, NULL);
 
    o3 = e_icon_add(dia->win->evas);
    e_icon_file_set(o3, "/home/raster/C/stuff/icons/watch.png");
-   e_ilist_append(o, o3, "Item BLING BLING", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "Item BLING BLING", 0, _e_test_sel, NULL, NULL, NULL);
 
    o3 = e_icon_add(dia->win->evas);
    e_icon_file_set(o3, "/home/raster/C/stuff/icons/quake3.png");
-   e_ilist_append(o, o3, "Sukebelinth", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "Sukebelinth", 0, _e_test_sel, NULL, NULL, NULL);
 
    o3 = e_icon_add(dia->win->evas);
    e_icon_file_set(o3, "/home/raster/C/stuff/icons/opera6.png");
-   e_ilist_append(o, o3, "Panties", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "A header", 1, NULL, NULL, NULL, NULL);
+   
+   o3 = e_icon_add(dia->win->evas);
+   e_icon_file_set(o3, "/home/raster/C/stuff/icons/opera6.png");
+   e_ilist_append(o, o3, "Panties", 0, _e_test_sel, NULL, NULL, NULL);
 
    o3 = e_icon_add(dia->win->evas);
    e_icon_file_set(o3, "/home/raster/C/stuff/icons/drawer_open.png");
-   e_ilist_append(o, o3, "Flimbert the cagey", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "Flimbert the cagey", 0, _e_test_sel, NULL, NULL, 
NULL);
 
    o3 = e_icon_add(dia->win->evas);
    e_icon_file_set(o3, "/home/raster/C/stuff/icons/cd.png");
-   e_ilist_append(o, o3, "Norbert", _e_test_sel, NULL, NULL);
+   e_ilist_append(o, o3, "Norbert", 0, _e_test_sel, NULL, NULL, NULL);
    
    e_ilist_min_size_get(o, &mw, &mh);
    evas_object_resize(o, mw, mh);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_ilist.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_widget_ilist.c    18 Mar 2006 17:00:27 -0000      1.12
+++ e_widget_ilist.c    27 Mar 2006 14:46:26 -0000      1.13
@@ -73,7 +73,17 @@
    wcb->data = data;
    if (val) wcb->value = strdup(val);
    wd->callbacks = evas_list_append(wd->callbacks, wcb);
-   e_ilist_append(wd->o_ilist, icon, label, _e_wid_cb_item_sel, 
_e_wid_cb_item_hilight, wd, wcb);
+   e_ilist_append(wd->o_ilist, icon, label, 0, _e_wid_cb_item_sel, 
_e_wid_cb_item_hilight, wd, wcb);
+   if (icon) evas_object_show(icon);
+}
+
+EAPI void
+e_widget_ilist_header_append(Evas_Object *obj, Evas_Object *icon, char *label)
+{
+   E_Widget_Data *wd;
+   
+   wd = e_widget_data_get(obj);
+   e_ilist_append(wd->o_ilist, icon, label, 1, NULL, NULL, NULL, NULL);
    if (icon) evas_object_show(icon);
 }
 
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_ilist.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_widget_ilist.h    25 Jan 2006 04:06:51 -0000      1.6
+++ e_widget_ilist.h    27 Mar 2006 14:46:26 -0000      1.7
@@ -8,6 +8,7 @@
 
 EAPI Evas_Object *e_widget_ilist_add(Evas *evas, int icon_w, int icon_h, char 
**value);
 EAPI void e_widget_ilist_append(Evas_Object *obj, Evas_Object *icon, char 
*label, void (*func) (void *data), void *data, char *val);
+EAPI void e_widget_ilist_header_append(Evas_Object *obj, Evas_Object *icon, 
char *label);
 EAPI void e_widget_ilist_selected_set(Evas_Object *obj, int n);
 EAPI void e_widget_ilist_selector_set(Evas_Object *obj, int selector);
 EAPI void e_widget_ilist_go(Evas_Object *obj);




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to