Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/esmart

Dir     : e17/libs/esmart/src/lib/esmart_text_entry


Modified Files:
        Esmart_Text_Entry.h esmart_text_entry.c 


Log Message:


clean up esmart. dont advertise publicly structs that SHOULd be private. fix
sort to pass objects, not container structs. fix text entry to do focus the
RIGHT way :)

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/esmart/src/lib/esmart_text_entry/Esmart_Text_Entry.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -3 -r1.1.1.1 -r1.2
--- Esmart_Text_Entry.h 5 May 2004 05:57:01 -0000       1.1.1.1
+++ Esmart_Text_Entry.h 10 Nov 2004 15:22:39 -0000      1.2
@@ -10,37 +10,11 @@
 extern "C" {
 #endif
 
-struct _Esmart_Text_Entry
-{
-  Evas_Object *clip;
-  Evas_Object *base;
-  struct
-  {
-    int size;
-    char *text;
-    int index;
-  } buf;
-  struct
-  {
-    Evas_Object *o;
-    char *part;
-  } edje;
-  struct
-  {
-    void (*func) (void *data, const char *str);
-    void *arg;
-  } return_key;
-  int passwd;
-};
-typedef struct _Esmart_Text_Entry Esmart_Text_Entry;
-
 /* create a new text entry */
 Evas_Object *esmart_text_entry_new (Evas * e);
 
 void esmart_text_entry_text_set (Evas_Object * o, const char *str);
 void esmart_text_entry_is_password_set (Evas_Object * o, int val);
-void esmart_text_entry_focus_set (Evas_Object * o, int val);
-int esmart_text_entry_is_focused (Evas_Object * o);
 void esmart_text_entry_max_chars_set (Evas_Object * o, int max);
 void esmart_text_entry_edje_part_set (Evas_Object * o, Evas_Object * edje,
                                      const char *part);
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/esmart/src/lib/esmart_text_entry/esmart_text_entry.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- esmart_text_entry.c 8 May 2004 11:24:51 -0000       1.4
+++ esmart_text_entry.c 10 Nov 2004 15:22:39 -0000      1.5
@@ -9,6 +9,30 @@
 #include <stdlib.h>
 #include "Esmart_Text_Entry.h"
 
+struct _Esmart_Text_Entry
+{
+  Evas_Object *clip;
+  Evas_Object *base;
+  struct
+  {
+    int size;
+    char *text;
+    int index;
+  } buf;
+  struct
+  {
+    Evas_Object *o;
+    char *part;
+  } edje;
+  struct
+  {
+    void (*func) (void *data, const char *str);
+    void *arg;
+  } return_key;
+  int passwd;
+};
+typedef struct _Esmart_Text_Entry Esmart_Text_Entry;
+
 #define DEBUG 0
 static Evas_Smart *esmart_text_entry_smart_get (void);
 static void esmart_text_entry_text_fix (Evas_Object * o);
@@ -22,28 +46,19 @@
   return (o);
 }
 
+#if 0 /* come on guys! use the basic focus stuff! :) */
 int
 esmart_text_entry_is_focused (Evas_Object * o)
 {
-  Esmart_Text_Entry *e = NULL;
-
-  if ((e = evas_object_smart_data_get (o)))
-    {
-      return (evas_object_focus_get (e->base));
-    }
-  return (0);
+   return (evas_object_focus_get (o));
 }
 
 void
 esmart_text_entry_focus_set (Evas_Object * o, int val)
 {
-  Esmart_Text_Entry *e = NULL;
-
-  if ((e = evas_object_smart_data_get (o)))
-    {
-      evas_object_focus_set (e->base, val);
-    }
+  evas_object_focus_set(o, val);
 }
+#endif
 
 char *
 esmart_text_entry_string_get (Evas_Object * o)
@@ -204,78 +219,78 @@
 
   /* handle modifiers */
   if ((!strcmp (evx->keyname, "Control_L"))
-             || (!strcmp (evx->keyname, "Control_R"))
-             || (!strcmp (evx->keyname, "Shift_R"))
-             || (!strcmp (evx->keyname, "Shift_L"))
-             || (!strcmp (evx->keyname, "Alt_R"))
-             || (!strcmp (evx->keyname, "Alt_L")))
-           {
-             evas_key_modifier_on (e, evx->keyname);
-           }
-
+      || (!strcmp (evx->keyname, "Control_R"))
+      || (!strcmp (evx->keyname, "Shift_R"))
+      || (!strcmp (evx->keyname, "Shift_L"))
+      || (!strcmp (evx->keyname, "Alt_R"))
+      || (!strcmp (evx->keyname, "Alt_L")))
+     {
+       evas_key_modifier_on (e, evx->keyname);
+     }
+   
   if (evas_key_modifier_is_set_get (down->modifiers, evx->keyname))
      evas_key_modifier_off (e, evx->keyname);
-  else if (evas_key_modifier_is_set_get (down->modifiers, "Control_L")
-           || evas_key_modifier_is_set_get (down->modifiers, "Control_R"))
-  {
-     switch ((int) evx->keyname[0])
+   else if (evas_key_modifier_is_set_get (down->modifiers, "Control_L")
+           || evas_key_modifier_is_set_get (down->modifiers, "Control_R"))
      {
-       case 117:
-          esmart_text_entry_text_set (data, "");
-          break;
-       default:
+       switch ((int) evx->keyname[0])
+         {
+          case 117:
+            esmart_text_entry_text_set (data, "");
+            break;
+          default:
 #if DEBUG
-          fprintf (stderr, "(%d) is the key value\n",
-                (int) evx->keyname[0]);
+            fprintf (stderr, "(%d) is the key value\n",
+                     (int) evx->keyname[0]);
 #endif
-          break;
-     }
-
-  }
-  else if ((strlen (evx->keyname) > 1)
-       && (!evx->key_compose || (strlen (evx->key_compose) > 1)))
-  {
-     if (!strcmp (evx->keyname, "BackSpace"))
-     {
-       esmart_text_entry_buffer_backspace (data);
+            break;
+         }
+       
      }
-     else
+   else if ((strlen (evx->keyname) > 1)
+           && (!evx->key_compose || (strlen (evx->key_compose) > 1)))
      {
-       fprintf (stderr, "Unknown string %s\n", evx->keyname);
+       if (!strcmp (evx->keyname, "BackSpace"))
+         {
+            esmart_text_entry_buffer_backspace (data);
+         }
+       else
+         {
+            fprintf (stderr, "Unknown string %s\n", evx->keyname);
+         }
      }
-  }
-  else
-  {
-     switch ((int) evx->key_compose[0])
+   else
      {
-       case 127: /* Delete */
-       case 9:   /* \t */
-          break;
-       case 8:   /* Backspace */
-          esmart_text_entry_buffer_backspace (data);
-          break;
-       case 13:  /* \r */
-          if (entry->return_key.func)
-          {
-             entry->return_key.func (entry->return_key.arg,
-                   entry->buf.text);
+       switch ((int) evx->key_compose[0])
+         {
+          case 127: /* Delete */
+          case 9:        /* \t */
+            break;
+          case 8:        /* Backspace */
+            esmart_text_entry_buffer_backspace (data);
+            break;
+          case 13:  /* \r */
+            if (entry->return_key.func)
+              {
+                 entry->return_key.func (entry->return_key.arg,
+                                         entry->buf.text);
 #if DEBUG
-             fprintf (stderr, "Buffer Length %d\n",
-                   strlen (entry->buf.text));
+                 fprintf (stderr, "Buffer Length %d\n",
+                          strlen (entry->buf.text));
 #endif
-          }
-          break;
-       default:
-          esmart_text_entry_buffer_char_append (data,
-                evx->key_compose[0]);
+              }
+            break;
+          default:
+            esmart_text_entry_buffer_char_append (data,
+                                                  evx->key_compose[0]);
 #if DEBUG
-          fprintf (stderr, "(%d) is the key_compose value\n",
-                (int) evx->key_compose[0]);
+            fprintf (stderr, "(%d) is the key_compose value\n",
+                     (int) evx->key_compose[0]);
 #endif
-          break;
+            break;
+         }
      }
-  }
-  esmart_text_entry_text_fix (data);
+   esmart_text_entry_text_fix (data);
 }
 
 static void
@@ -303,7 +318,7 @@
   evas_object_layer_set (entry->base, 0);
   evas_object_color_set (entry->base, 255, 255, 255, 0);
   evas_object_clip_set (entry->base, entry->clip);
-  evas_object_event_callback_add (entry->base, EVAS_CALLBACK_KEY_DOWN,
+  evas_object_event_callback_add (o, EVAS_CALLBACK_KEY_DOWN,
                                  _key_down_cb, o);
 
   evas_object_show (entry->base);




-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to