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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs