Enlightenment CVS committal

Author  : moom16
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/lib


Modified Files:
        etk_menu_item.c etk_menu_item.h etk_types.h 


Log Message:
* Add a menu separator


===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_menu_item.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- etk_menu_item.c     13 Nov 2005 12:04:05 -0000      1.2
+++ etk_menu_item.c     13 Nov 2005 12:20:33 -0000      1.3
@@ -47,6 +47,10 @@
  *
  **************************/
 
+/**************************
+ * Menu Item
+ **************************/
+
 /**
  * @brief Gets the type of an Etk_Menu_Item
  * @return Returns the type on an Etk_Menu_Item
@@ -263,6 +267,36 @@
 }
 
 /**************************
+ * Menu Separator
+ **************************/
+
+/**
+ * @brief Gets the type of an Etk_Menu_Separator
+ * @return Returns the type on an Etk_Menu_Separator
+ */
+Etk_Type *etk_menu_separator_type_get()
+{
+   static Etk_Type *menu_separator_type = NULL;
+
+   if (!menu_separator_type)
+   {
+      menu_separator_type = etk_type_new("Etk_Menu_Separator", 
ETK_MENU_ITEM_TYPE, sizeof(Etk_Menu_Separator), NULL, NULL);
+   }
+
+   return menu_separator_type;
+}
+
+/**
+ * @brief Creates a new menu separator
+ * @return Returns the new menu separator widget
+ * @note Unlike the other widgets, You don't need to call etk_widget_shown, 
the widget is automaticall shown at its creation
+ */
+Etk_Widget *etk_menu_separator_new()
+{
+   return etk_widget_new(ETK_MENU_SEPARATOR_TYPE, "theme_group", 
"menu_separator", "visible", TRUE, NULL);
+}
+
+/**************************
  *
  * Etk specific functions
  *
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_menu_item.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- etk_menu_item.h     13 Nov 2005 12:04:05 -0000      1.2
+++ etk_menu_item.h     13 Nov 2005 12:20:33 -0000      1.3
@@ -17,6 +17,13 @@
 /** @brief Checks if the object is an Etk_Menu_Item */
 #define ETK_IS_MENU_ITEM(obj)    (ETK_OBJECT_CHECK_TYPE((obj), 
ETK_MENU_ITEM_TYPE))
 
+/** @brief Gets the type of a menu separator */
+#define ETK_MENU_SEPARATOR_TYPE       (etk_menu_separator_type_get())
+/** @brief Casts the object to an Etk_Menu_Sepatator */
+#define ETK_MENU_SEPARATOR(obj)       (ETK_OBJECT_CAST((obj), 
ETK_MENU_SEPARATOR_TYPE, Etk_Menu_Separator))
+/** @brief Checks if the object is an Etk_Menu_Separator */
+#define ETK_IS_MENU_SEPARATOR(obj)    (ETK_OBJECT_CHECK_TYPE((obj), 
ETK_MENU_SEPARATOR_TYPE))
+
 /**
  * @struct Etk_Menu_Item
  * @brief An item of a menu or of a menu bar
@@ -45,6 +52,17 @@
    Etk_Bool right_widget_is_arrow;
 };
 
+/**
+ * @struct Etk_Menu_Separator
+ * @brief An horizontal separator for the menus
+ */
+struct _Etk_Menu_Separator
+{
+   /* private: */
+   /* Inherit from Etk_Menu_Item */
+   Etk_Menu_Item menu_item;
+};
+
 Etk_Type *etk_menu_item_type_get();
 Etk_Widget *etk_menu_item_new();
 Etk_Widget *etk_menu_item_new_with_label(const char *label);
@@ -62,6 +80,10 @@
 void etk_menu_item_image_show(Etk_Menu_Item *menu_item, Etk_Bool show);
 void etk_menu_item_right_swallow_show(Etk_Menu_Item *menu_item, Etk_Bool show);
 
+
+Etk_Type *etk_menu_separator_type_get();
+Etk_Widget *etk_menu_separator_new();
+
 /** @} */
 
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/etk/src/lib/etk_types.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- etk_types.h 13 Nov 2005 12:04:05 -0000      1.13
+++ etk_types.h 13 Nov 2005 12:20:33 -0000      1.14
@@ -98,6 +98,7 @@
 typedef struct _Etk_Menu_Shell Etk_Menu_Shell;
 typedef struct _Etk_Menu Etk_Menu;
 typedef struct _Etk_Menu_Item Etk_Menu_Item;
+typedef struct _Etk_Menu_Separator Etk_Menu_Separator;
 
 /**
  * @enum Etk_Fill_Policy_Flags




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to