Enlightenment CVS committal Author : essiene Project : e17 Module : proto
Dir : e17/proto/entrance_edit_gui/src/widgets Modified Files: ew_entry.c ew_entry.h Log Message: - Make ew_entry a composite widget with its own label for easier use. - Update gui/* to use new ew_entry* arguments. =================================================================== RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/ew_entry.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ew_entry.c 15 Aug 2006 00:51:53 -0000 1.1 +++ ew_entry.c 15 Aug 2006 03:50:04 -0000 1.2 @@ -2,16 +2,32 @@ #include <Entrance_Widgets.h> -Entrance_Widget -ew_entry_new(const char *text, int ispassword) +Entrance_Entry +_ew_entry_new(void) { - Entrance_Widget ew = ew_new(); + Entrance_Entry ee = calloc(1, sizeof(*ee)); + if(ee) + { + ee->owner = NULL; + ee->box = NULL; + ee->label = NULL; + ee->control = NULL; + } + + return ee; +} + +Entrance_Entry +ew_entry_new(const char *label, const char *text, int ispassword) +{ + Entrance_Entry ew = _ew_entry_new(); if(!ew) { return NULL; } - ew->owner = etk_entry_new(); + ew->owner = etk_hbox_new(0, 10); + ew->control = etk_entry_new(); if(text) ew_entry_set(ew, text); @@ -19,32 +35,40 @@ if(ispassword) ew_entry_password_set(ew); + if(label) + { + ew->label = etk_label_new(label); + etk_box_pack_start(ETK_BOX(ew->owner), ew->label, ETK_TRUE, ETK_TRUE, 0); + } + + etk_box_pack_start(ETK_BOX(ew->owner), ew->control, ETK_TRUE, ETK_TRUE, 0); + return ew; } const char* -ew_entry_get(Entrance_Widget ew) +ew_entry_get(Entrance_Entry ew) { - return etk_entry_text_get(ETK_ENTRY(ew->owner)); + return etk_entry_text_get(ETK_ENTRY(ew->control)); } void -ew_entry_set(Entrance_Widget ew, const char *text) +ew_entry_set(Entrance_Entry ew, const char *text) { if(ew) - etk_entry_text_set(ETK_ENTRY(ew->owner), text); + etk_entry_text_set(ETK_ENTRY(ew->control), text); } void -ew_entry_password_set(Entrance_Widget ew) +ew_entry_password_set(Entrance_Entry ew) { if(ew) - etk_entry_password_set(ETK_ENTRY(ew->owner), ETK_TRUE); + etk_entry_password_set(ETK_ENTRY(ew->control), ETK_TRUE); } void -ew_entry_password_clear(Entrance_Widget ew) +ew_entry_password_clear(Entrance_Entry ew) { if(ew) - etk_entry_password_set(ETK_ENTRY(ew->owner), ETK_FALSE); + etk_entry_password_set(ETK_ENTRY(ew->control), ETK_FALSE); } =================================================================== RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/ew_entry.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ew_entry.h 15 Aug 2006 00:51:53 -0000 1.1 +++ ew_entry.h 15 Aug 2006 03:50:04 -0000 1.2 @@ -1,11 +1,43 @@ #ifndef _EW_ENTRY_H #define _EW_ENTRY_H -Entrance_Widget ew_entry_new(const char *, int); -const char* ew_entry_get(Entrance_Widget); -void ew_entry_set(Entrance_Widget ew, const char *text); -void ew_entry_password_set(Entrance_Widget ew); -void ew_entry_password_clear(Entrance_Widget ew); +typedef struct _Entrance_Entry { + Etk_Widget *owner; + Etk_Widget *box; + Etk_Widget *label; + Etk_Widget *control; +} *Entrance_Entry; + +#define EW_ENTRY_FREE(ew) if(1) \ +{ \ + if(ew) \ + { \ + if(ew->owner) \ + { \ + free(ew->owner); \ + } \ + if(ew->box) \ + { \ + free(ew->box); \ + } \ + if(ew->label) \ + { \ + free(ew->label); \ + } \ + if(ew->control) \ + { \ + free(ew->control); \ + } \ + free(ew); \ + } \ +} \ +else \ + +Entrance_Entry ew_entry_new(const char*, const char *, int); +const char* ew_entry_get(Entrance_Entry); +void ew_entry_set(Entrance_Entry ew, const char *text); +void ew_entry_password_set(Entrance_Entry ew); +void ew_entry_password_clear(Entrance_Entry ew); ------------------------------------------------------------------------- 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