Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : libs/etk

Dir     : e17/libs/etk/src/lib


Modified Files:
        etk_iconbox.c etk_iconbox.h 


Log Message:
 Add 2 functions to etk_iconbox:
Etk_Iconbox_Icon *etk_iconbox_icon_get_by_label(Etk_Iconbox *iconbox, const 
char *label)
and
Etk_Iconbox_Icon *etk_iconbox_icon_get_by_data(Etk_Iconbox *iconbox, void *data)

You can use this function to get an icon from his label or his attached data.

===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_iconbox.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- etk_iconbox.c       23 Jun 2008 00:45:52 -0000      1.34
+++ etk_iconbox.c       24 Jun 2008 18:03:54 -0000      1.35
@@ -600,6 +600,48 @@
 }
 
 /**
+ * @brief Get the first icon with the given label. If more than one icon has 
the
+ * same label only the first is returned.
+ * @param iconbox an iconbox
+ * @param label the label to search for
+ * @return Return the icon with the given label, or NULL if the string is not 
found.
+ */
+Etk_Iconbox_Icon *etk_iconbox_icon_get_by_label(Etk_Iconbox *iconbox, const 
char *label)
+{
+   Etk_Iconbox_Icon *icon;
+
+   if (!iconbox || !label)
+      return NULL;
+
+   for (icon = iconbox->first_icon; icon; icon = icon->next)
+      if (!strcmp(icon->label, label))
+         return icon;
+
+   return NULL;
+}
+
+/**
+ * @brief Get the first icon with the given data attached. If more than one 
icon has the
+ * same data only the first is returned.
+ * @param iconbox an iconbox
+ * @param data the data to search for
+ * @return Return the icon with the given data attached, or NULL if the data 
is not found.
+ */
+Etk_Iconbox_Icon *etk_iconbox_icon_get_by_data(Etk_Iconbox *iconbox, void 
*data)
+{
+   Etk_Iconbox_Icon *icon;
+
+   if (!iconbox || !data)
+      return NULL;
+
+   for (icon = iconbox->first_icon; icon; icon = icon->next)
+      if (icon->data == data)
+         return icon;
+
+   return NULL;
+}
+
+/**
  * @brief Sets the file path of the icon's image
  * @param icon an icon
  * @param filename the filename of the icon's image
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_iconbox.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- etk_iconbox.h       28 Sep 2007 19:47:51 -0000      1.14
+++ etk_iconbox.h       24 Jun 2008 18:03:55 -0000      1.15
@@ -146,6 +146,8 @@
 void               etk_iconbox_icon_del(Etk_Iconbox_Icon *icon);
 void               etk_iconbox_clear(Etk_Iconbox *iconbox);
 Etk_Iconbox_Icon  *etk_iconbox_icon_get_at_xy(Etk_Iconbox *iconbox, int x, int 
y, Etk_Bool over_cell, Etk_Bool over_icon, Etk_Bool over_label);
+Etk_Iconbox_Icon  *etk_iconbox_icon_get_by_label(Etk_Iconbox *iconbox, const 
char *label);
+Etk_Iconbox_Icon  *etk_iconbox_icon_get_by_data(Etk_Iconbox *iconbox, void 
*data);
 
 void               etk_iconbox_icon_file_set(Etk_Iconbox_Icon *icon, const 
char *filename, const char *edje_group);
 void               etk_iconbox_icon_file_get(Etk_Iconbox_Icon *icon, const 
char **filename, const char **edje_group);



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to