Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_attach.h ewl_notebook2.c 


Log Message:
- use attach data to keep pointers to the tab and the page 
  this is a lot lighter then using widget_data

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_attach.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ewl_attach.h        31 Jan 2006 05:11:59 -0000      1.4
+++ ewl_attach.h        3 Feb 2006 18:14:30 -0000       1.5
@@ -74,6 +74,20 @@
 #define ewl_attach_name_get(w) \
        ewl_attach_get(w, EWL_ATTACH_TYPE_NAME)
 
+/**
+ * @def ewl_attach_notebook_data_set(w, data)
+ * Convience method to attach data to a notebook item
+ */
+#define ewl_attach_notebook_data_set(w, data) \
+       ewl_attach_other_set(w, EWL_ATTACH_TYPE_NOTEBOOK_DATA, data)
+
+/**
+ * @def ewl_attach_notebook_data_get(w)
+ * Convience method to get the data attached to a notebook item
+ */
+#define ewl_attach_notebook_data_get(w) \
+       ewl_attach_get(w, EWL_ATTACH_TYPE_NOTEBOOK_DATA)
+
 void ewl_attach_text_set(Ewl_Widget *w, Ewl_Attach_Type t, const char *data);
 void ewl_attach_widget_set(Ewl_Widget *w, Ewl_Attach_Type t, Ewl_Widget *data);
 void ewl_attach_other_set(Ewl_Widget *w, Ewl_Attach_Type t, void *data);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_notebook2.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ewl_notebook2.c     3 Feb 2006 16:21:24 -0000       1.4
+++ ewl_notebook2.c     3 Feb 2006 18:14:30 -0000       1.5
@@ -3,9 +3,6 @@
 #include "ewl_macros.h"
 #include "ewl_private.h"
 
-#define EWL_NOTEBOOK2_TAB "ewl_notebook2_tab"
-#define EWL_NOTEBOOK2_PAGE "ewl_notebook2_page"
-
 /**
  * @brief Create a new notebook widget
  * @return Returns a newly allocated notebook on success. NULL on failure
@@ -237,12 +234,11 @@
        if (page == n->cur_page)
                DRETURN(DLEVEL_STABLE);
 
-       /* XXX make these and attach */
        if (n->cur_page)
        {
                Ewl_Widget *w;
 
-               t = ewl_widget_data_get(n->cur_page, EWL_NOTEBOOK2_TAB);
+               t = ewl_attach_notebook_data_get(n->cur_page);
                if (t) ewl_widget_state_set(t, "default");
 
                /* make sure we set n->cur_page null first or the hide
@@ -255,7 +251,7 @@
        n->cur_page = page;
        ewl_widget_show(n->cur_page);
 
-       t = ewl_widget_data_get(n->cur_page, EWL_NOTEBOOK2_TAB);
+       t = ewl_attach_notebook_data_get(n->cur_page);
        if (t) ewl_widget_state_set(t, "selected");
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
@@ -351,14 +347,13 @@
                ewl_widget_show(tab);
        }
 
-       /* XXX make this attach data */
-       t = ewl_widget_data_get(page, EWL_NOTEBOOK2_TAB);
+       t = ewl_attach_notebook_data_get(page);
        if (!t)
        {
                t = ewl_hbox_new();
                ewl_widget_appearance_set(t, "tab");
-               ewl_widget_data_set(page, EWL_NOTEBOOK2_TAB, t);
-               ewl_widget_data_set(t, EWL_NOTEBOOK2_PAGE, page);
+               ewl_attach_notebook_data_set(page, t);
+               ewl_attach_notebook_data_set(t, page);
                ewl_widget_show(t);
 
                ewl_callback_append(t, EWL_CALLBACK_CLICKED,
@@ -394,7 +389,7 @@
        DCHECK_TYPE_RET("n", n, EWL_NOTEBOOK2_TYPE, NULL);
        DCHECK_TYPE_RET("page", page, EWL_WIDGET_TYPE, NULL);
 
-       t = ewl_widget_data_get(page, EWL_NOTEBOOK2_TAB);
+       t = ewl_attach_notebook_data_get(page);
        if (!t)
        {
                DWARNING("We have a notebook page with no tab, bad, very 
bad.\n");
@@ -491,9 +486,8 @@
        DCHECK_TYPE("c", c, EWL_CONTAINER_TYPE);
        DCHECK_TYPE("w", w, EWL_WIDGET_TYPE);
 
-       /* XXX nasty data_get */
        n = EWL_NOTEBOOK2(EWL_WIDGET(c)->parent);
-       t = ewl_widget_data_get(w, EWL_NOTEBOOK2_TAB);
+       t = ewl_attach_notebook_data_get(w);
        if (t) ewl_container_child_remove(EWL_CONTAINER(n->body.tabbar), t);
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
@@ -509,8 +503,7 @@
 
        n = data;
 
-       /* XXX nast data_get */
-       page = ewl_widget_data_get(w, EWL_NOTEBOOK2_PAGE);
+       page = ewl_attach_notebook_data_get(w);
        ewl_notebook2_visible_page_set(n, page);
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to