Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/lib


Modified Files:
        etk_toolbar.c etk_toolbar.h 


Log Message:
add functions to get / set orientation. add insets. add some separators for 
show.

===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_toolbar.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- etk_toolbar.c       15 Aug 2006 15:59:01 -0000      1.2
+++ etk_toolbar.c       15 Aug 2006 17:43:29 -0000      1.3
@@ -85,6 +85,55 @@
    etk_box_prepend(ETK_BOX(toolbar->box), widget, ETK_BOX_START, ETK_BOX_NONE, 
0);
 }
 
+/**
+ * @brief Sets the toolbar's orientation (horizontal or vertical)
+ * @param toolbar the toolbar
+ * @param orientation the orientation
+ */
+void etk_toolbar_orientation_set(Etk_Toolbar *toolbar, int orientation)
+{
+   Evas_List *children;
+   Evas_List *l;
+   
+   if (!toolbar || toolbar->orientation == orientation ||
+       (orientation != ETK_TOOLBAR_ORIENTATION_HORIZONTAL &&
+       orientation != ETK_TOOLBAR_ORIENTATION_VERTICAL))
+      return;
+   
+   children = etk_container_children_get(ETK_CONTAINER(toolbar->box));
+      
+   for (l = children; l; l = l->next)
+      etk_container_remove(ETK_CONTAINER(toolbar->box), ETK_WIDGET(l->data));
+   
+   etk_object_destroy(ETK_OBJECT(toolbar->box));
+   
+   toolbar->orientation = orientation;
+   if (toolbar->orientation == ETK_TOOLBAR_ORIENTATION_VERTICAL)
+      toolbar->box = etk_vbox_new(ETK_FALSE, 0);
+   else
+      toolbar->box = etk_hbox_new(ETK_FALSE, 0);           
+   
+   etk_widget_parent_set(toolbar->box, ETK_WIDGET(toolbar));
+   etk_widget_visibility_locked_set(ETK_WIDGET(toolbar->box), ETK_TRUE);
+   etk_widget_show(toolbar->box);
+   
+   for (l = children; l; l = l->next)
+      etk_box_append(ETK_BOX(toolbar->box), ETK_WIDGET(l->data), 
ETK_BOX_START, ETK_BOX_NONE, 0);
+}
+
+/**
+ * @brief Gets the toolbar's orientation (horizontal or vertical)
+ * @param toolbar the toolbar
+ * @return the orientation
+ */
+int etk_toolbar_orientation_get(Etk_Toolbar *toolbar)
+{
+   if (!toolbar)
+      return ETK_FALSE;
+   
+   return toolbar->orientation;
+}
+
 /**************************
  *
  * Etk specific functions
@@ -131,7 +180,7 @@
    switch (property_id)
    {
       case ETK_TOOLBAR_ORIENTATION_PROPERTY:
-         //etk_window_title_set(window, etk_property_value_string_get(value));
+         etk_toolbar_orientation_set(toolbar, 
etk_property_value_int_get(value));
          break;
       default:
          break;      
@@ -149,7 +198,7 @@
    switch (property_id)
    {
       case ETK_TOOLBAR_ORIENTATION_PROPERTY:
-         //etk_property_value_string_set(value, etk_window_title_get(window));
+         etk_property_value_int_set(value, toolbar->orientation);
          break;
       default:
          break;
@@ -171,10 +220,14 @@
 static void _etk_toolbar_size_allocate(Etk_Widget *widget, Etk_Geometry 
geometry)
 {
    Etk_Toolbar *toolbar;
+   Etk_Size size;
    
    if (!(toolbar = ETK_TOOLBAR(widget)))
       return;   
-      
+   
+   etk_widget_size_request(toolbar->box, &size);
+   geometry.w = ETK_MAX(geometry.w, size.w);
+   geometry.h = ETK_MAX(geometry.h, size.h);
    etk_widget_size_allocate(ETK_WIDGET(toolbar->box), geometry);
 }
 
===================================================================
RCS file: /cvs/e/e17/proto/etk/src/lib/etk_toolbar.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- etk_toolbar.h       13 Aug 2006 15:33:17 -0000      1.1
+++ etk_toolbar.h       15 Aug 2006 17:43:29 -0000      1.2
@@ -5,6 +5,7 @@
 #include "etk_widget.h"
 #include "etk_box.h"
 #include "etk_types.h"
+#include "etk_utils.h"
 
 /**
  * @defgroup Etk_Toolbar Etk_Toolbar
@@ -50,6 +51,9 @@
 
 void etk_toolbar_append(Etk_Toolbar *toolbar, Etk_Widget *widget);
 void etk_toolbar_prepend(Etk_Toolbar *toolbar, Etk_Widget *widget);
+
+void etk_toolbar_orientation_set(Etk_Toolbar *toolbar, int orientation);
+int etk_toolbar_orientation_get(Etk_Toolbar *toolbar);  
 
 /** @} */
 



-------------------------------------------------------------------------
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