Enlightenment CVS committal

Author  : lok
Project : e17
Module  : proto

Dir     : e17/proto/enhance/src/lib


Modified Files:
        enhance.c enhance_widget.c 


Log Message:
Toolbar and ToolButton supported.

===================================================================
RCS file: /cvs/e/e17/proto/enhance/src/lib/enhance.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- enhance.c   16 Aug 2006 13:35:33 -0000      1.23
+++ enhance.c   16 Aug 2006 17:35:55 -0000      1.24
@@ -600,7 +600,33 @@
        
        _en_stock_items_hash_init();      
        id = (Etk_Stock_Id)ecore_hash_get(_en_stock_items_hash, value);
-       etk_object_properties_set(ETK_OBJECT(wid->wid), "stock_id", 
(Etk_Stock_Id)id, NULL);
+       etk_object_properties_set(ETK_OBJECT(wid->wid), "stock_id", id, NULL);
+     }
+   
+   else if(!strcmp(name, "stock_id"))
+     {
+       Etk_Stock_Id id;
+       PROPERTY_STR;
+       
+       _en_stock_items_hash_init();      
+       id = (Etk_Stock_Id)ecore_hash_get(_en_stock_items_hash, value);
+
+       IF_PARENT_CLASS("GtkToolButton")
+         {
+           if (etk_button_label_get(ETK_BUTTON(wid->wid))
+               && strcmp(" ", etk_button_label_get(ETK_BUTTON(wid->wid))))
+             {
+               Etk_Widget *image;
+               image = etk_image_new_from_stock(id, ETK_STOCK_SMALL);
+               etk_button_image_set(ETK_BUTTON(wid->wid), ETK_IMAGE(image));
+               etk_widget_show(image);
+               etk_widget_visibility_locked_set(image, ETK_TRUE);
+             }
+           else
+             {
+               etk_button_set_from_stock(ETK_BUTTON(wid->wid), id);
+             }
+         }
      }
 
    else if(!strcmp(name, "icon_size"))
@@ -619,7 +645,26 @@
        
        _en_stock_items_hash_init();      
        id = (Etk_Stock_Id)ecore_hash_get(_en_stock_items_hash, value);
-       etk_object_properties_set(ETK_OBJECT(wid->wid), "stock_id", 
(Etk_Stock_Id)id, NULL);
+       IF_PARENT_CLASS("GtkImage")
+         {
+           etk_object_properties_set(ETK_OBJECT(wid->wid), "stock_id", id, 
NULL);
+         }
+       IF_PARENT_CLASS("GtkToolButton")
+         {
+           if (etk_button_label_get(ETK_BUTTON(wid->wid))
+               && strcmp(" ", etk_button_label_get(ETK_BUTTON(wid->wid))))
+             {
+               Etk_Widget *image;
+               image = etk_image_new_from_stock(id, ETK_STOCK_SMALL);
+               etk_button_image_set(ETK_BUTTON(wid->wid), ETK_IMAGE(image));
+               etk_widget_show(image);
+               etk_widget_visibility_locked_set(image, ETK_TRUE);
+             }
+           else
+             {
+               etk_button_set_from_stock(ETK_BUTTON(wid->wid), id);
+             }
+         }
      }
 
    else if(!strcmp(name, "use_stock"))
@@ -637,7 +682,7 @@
                  label = (char *)etk_button_label_get(ETK_BUTTON(wid->wid));
                  id = (Etk_Stock_Id)ecore_hash_get(_en_stock_items_hash, 
label);
                  if (id != ETK_STOCK_NO_STOCK)
-                   etk_button_set_from_stock(ETK_BUTTON(wid->wid), 
(Etk_Stock_Id)id);
+                   etk_button_set_from_stock(ETK_BUTTON(wid->wid), id);
               }
             IF_PARENT_CLASS("GtkImageMenuItem")
               {
@@ -646,7 +691,7 @@
                  label = (char 
*)etk_menu_item_label_get(ETK_MENU_ITEM(wid->wid));
                  id = (Etk_Stock_Id)ecore_hash_get(_en_stock_items_hash, 
label);
                  if (id != ETK_STOCK_NO_STOCK)
-                   etk_menu_item_set_from_stock(ETK_MENU_ITEM(wid->wid), 
(Etk_Stock_Id)id);
+                   etk_menu_item_set_from_stock(ETK_MENU_ITEM(wid->wid), id);
               }
          }
      }
===================================================================
RCS file: /cvs/e/e17/proto/enhance/src/lib/enhance_widget.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- enhance_widget.c    16 Aug 2006 14:36:52 -0000      1.19
+++ enhance_widget.c    16 Aug 2006 17:35:55 -0000      1.20
@@ -34,6 +34,8 @@
 static E_Widget *_e_widget_textview_handle(Enhance *en, EXML_Node *node);
 static E_Widget *_e_widget_filechooser_widget_handle(Enhance *en, EXML_Node 
*node);
 static E_Widget *_e_widget_iconview_handle(Enhance *en, EXML_Node *node);
+static E_Widget *_e_widget_toolbar_handle(Enhance *en, EXML_Node *node);
+static E_Widget *_e_widget_tool_button_handle(Enhance *en, EXML_Node *node);
 
 static EXML_Node *find_node(EXML_Node *node, char *key, char *value)
 {
@@ -693,11 +695,38 @@
    if(!id) return NULL;
 
    iconbox = _e_widget_new(en, node, etk_iconbox_new(), id);
-//   etk_iconbox_model_new(ETK_ICONBOX(iconbox));
 
    return iconbox;
 }
 
+static E_Widget *
+_e_widget_toolbar_handle(Enhance *en, EXML_Node *node)
+{
+   E_Widget *toolbar;
+   char     *id;
+
+   id = ecore_hash_get(node->attributes, "id");
+   if(!id) return NULL;
+
+   toolbar = _e_widget_new(en, node, etk_toolbar_new(), id);
+
+   return toolbar;
+}
+
+static E_Widget *
+_e_widget_tool_button_handle(Enhance *en, EXML_Node *node)
+{
+   E_Widget *tool_button;
+   char     *id;
+
+   id = ecore_hash_get(node->attributes, "id");
+   if(!id) return NULL;
+
+   tool_button = _e_widget_new(en, node, etk_tool_button_new(), id);
+
+   return tool_button;
+}
+
 E_Widget *
 _e_widget_handle(Enhance *en, EXML_Node *node)
 {
@@ -782,6 +811,10 @@
      return _e_widget_filechooser_widget_handle(en, node);
    else if(!strcmp(class, "GtkIconView"))
      return _e_widget_iconview_handle(en, node);
+   else if(!strcmp(class, "GtkToolbar"))
+     return _e_widget_toolbar_handle(en, node);
+   else if(!strcmp(class, "GtkToolButton"))
+     return _e_widget_tool_button_handle(en, node);
    return NULL;
 }
 
@@ -1074,4 +1107,8 @@
 
         etk_widget_pass_mouse_events_set(child->wid, ETK_TRUE);
      }
+   else if(!strcmp(parent_class, "GtkToolbar"))
+     {
+       etk_toolbar_append(ETK_TOOLBAR(parent->wid), child->wid);
+     } 
 }



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to