Enlightenment CVS committal
Author : essiene
Project : e17
Module : proto
Dir : e17/proto/entrance_edit_gui/src/widgets
Modified Files:
Entrance_Widgets.h Makefile.am ew_dialog.c ew_dialog.h
ew_group.c ew_group.h ew_notice.c ew_notice.h
Added Files:
ew_label.c ew_label.h ew_messagebox.c ew_messagebox.h
Log Message:
- Modified patch sent in from Rhapsodhy for review. This patch does:
- Provides ew_notice (did this by adding to ew_dialog)
- due to changes, afftected how ew_dialog worked.
_ used ew_notice to build ew_notice_ok() dialog.
- Added an ew_box subsystem with ew_hbox_new and ew_vbox_new.
_ Modified the part names of the edjes in the icons.edj
- My modifications to his patch are as follows:
- Revert ew_dialog back to being as simple as it was.
- rather than add to ew_dialog, make ew_notice inherit from ew_dialog
and add the new requirements in ew_notice.
- Based on ew_notice, build an ew_messagebox dialog, currently has
ew_messagebox_ok() alone.
- Modified ew_group to support vertical and horizontal directions.
- Modified ew_group to support being named and unamed (which will add
or remove the frame borders respectively)
- due to above, remove ew_box.
- Added new widget ew_label. Now we have a complete ew_messagebox
framework, we just need more messageboxes
- Use the new ew_messagebox_ok() in gui/layout.c to show what it looks
like.
- Rename all the ENTRANCE_* constants to EW_*
- Update TODO file
With these, out api is closer to complete. We can do some more complex
layouts, etc.
Next, we need just a few more key widgets to be abstracted... entry,
radio-button and check-box then we'll have to fix that crappy preview window to
load entrance itself instead of images/edje parts.
Again the rationale is, this thin api shouldn't expose too much of etk,
or we'll have a hard time getting it to ewl. Also, if we begin to get really
complex, what's the point? :)
===================================================================
RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/Entrance_Widgets.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- Entrance_Widgets.h 13 Aug 2006 17:00:15 -0000 1.3
+++ Entrance_Widgets.h 14 Aug 2006 17:08:55 -0000 1.4
@@ -11,6 +11,8 @@
#include "ew_edjelist.h"
#include "ew_image.h"
#include "ew_notice.h"
+#include "ew_messagebox.h"
+#include "ew_label.h"
===================================================================
RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/Makefile.am,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- Makefile.am 13 Aug 2006 17:00:15 -0000 1.4
+++ Makefile.am 14 Aug 2006 17:08:55 -0000 1.5
@@ -5,13 +5,20 @@
libentrance_widgets_la_HEADERS = \
Entrance_Widgets.h \
ew.h \
+ \
ew_dialog.h \
+ ew_notice.h \
+ \
ew_group.h \
+ \
_ew_list.h \
ew_textlist.h \
ew_edjelist.h \
+ \
+ ew_messagebox.h \
+ \
ew_image.h \
- ew_notice.h
+ ew_label.h
libentrance_widgets_ladir = $(prefix)/include
@@ -25,6 +32,8 @@
ew_edjelist.c \
ew_image.c \
ew_notice.c \
+ ew_messagebox.c \
+ ew_label.c
$(libentrance_widgets_la_HEADERS)
libentrance_widgets_la_LIBADD = @etk_libs@
===================================================================
RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/ew_dialog.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- ew_dialog.c 13 Aug 2006 00:54:58 -0000 1.3
+++ ew_dialog.c 14 Aug 2006 17:08:55 -0000 1.4
@@ -58,9 +58,9 @@
}*/
Entrance_Widget
-ew_dialog_group_add(Entrance_Dialog d, const char *title)
+ew_dialog_group_add(Entrance_Dialog d, const char *title, int direction)
{
- Entrance_Widget ew = ew_group_new(title);
+ Entrance_Widget ew = ew_group_new(title, direction);
if(!ew)
{
return;
===================================================================
RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/ew_dialog.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ew_dialog.h 13 Aug 2006 00:54:58 -0000 1.2
+++ ew_dialog.h 14 Aug 2006 17:08:55 -0000 1.3
@@ -35,6 +35,6 @@
void ew_dialog_close_button_add(Entrance_Dialog ew, void (*func)(void *,
void*), void *);
void ew_dialog_apply_button_add(Entrance_Dialog ew, void (*func)(void *,
void*), void *);
void ew_dialog_ok_button_add(Entrance_Dialog ew, void (*func)(void *, void*),
void *);
-Entrance_Widget ew_dialog_group_add(Entrance_Dialog, const char *);
+Entrance_Widget ew_dialog_group_add(Entrance_Dialog, const char *, int);
#endif
===================================================================
RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/ew_group.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ew_group.c 12 Aug 2006 15:23:53 -0000 1.2
+++ ew_group.c 14 Aug 2006 17:08:55 -0000 1.3
@@ -2,7 +2,7 @@
#include "Entrance_Widgets.h"
Entrance_Widget
-ew_group_new(const char *title)
+ew_group_new(const char *title, int direction)
{
Entrance_Widget ew = ew_new();
if(!ew)
@@ -10,9 +10,16 @@
return NULL;
}
- ew->owner = etk_frame_new(title);
+ if(title)
+ ew->owner = etk_frame_new(title);
+ else
+ ew->owner = etk_vbox_new(ETK_FALSE, 0);
+
+ if(direction) /*HORIZONTAL*/
+ ew->box = etk_hbox_new(ETK_FALSE, 0);
+ else
+ ew->box = etk_vbox_new(ETK_FALSE, 0);
- ew->box = etk_vbox_new(ETK_FALSE, 0);
etk_container_add(ETK_CONTAINER(ew->owner), ew->box);
return ew;
===================================================================
RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/ew_group.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ew_group.h 12 Aug 2006 09:42:13 -0000 1.1
+++ ew_group.h 14 Aug 2006 17:08:55 -0000 1.2
@@ -1,7 +1,10 @@
#ifndef _EW_GROUP_H
#define _EW_GROUP_H
-Entrance_Widget ew_group_new(const char *);
+#define EW_GROUP_VERTICAL 0
+#define EW_GROUP_HORIZONTAL 1
+
+Entrance_Widget ew_group_new(const char *, int);
void ew_group_add(Entrance_Widget, void *);
===================================================================
RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/ew_notice.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ew_notice.c 13 Aug 2006 17:00:15 -0000 1.1
+++ ew_notice.c 14 Aug 2006 17:08:55 -0000 1.2
@@ -1,84 +1,99 @@
#include <Etk.h>
#include "Entrance_Widgets.h"
-#include <string.h>
-Entrance_Notice
-_ew_notice_new() {
- Entrance_Notice ew = calloc(1, sizeof(*ew));
- if(ew) {
- ew->owner = NULL;
- ew->box = NULL;
+static void _ew_cb_destroy(void *);
+static void _ew_cb_emit_response(Etk_Object *, void *data);
+
+Entrance_Dialog
+ew_notice_new(const char *title)
+{
+ Entrance_Dialog ew = ew_dialog_new(title, EW_FALSE);
+ if(!ew)
+ {
+ return NULL;
}
+ etk_signal_connect("destroyed", ETK_OBJECT(ew->owner),
ETK_CALLBACK(_ew_cb_emit_response), NULL);
return ew;
}
-Entrance_Notice
-ew_notice_new(const char *type, const char *title, const char *message,
void (*delete_event)(Etk_Window *window)) {
- Entrance_Notice ew = _ew_notice_new();
- char image[100] = "status/dialog-";
- Etk_Widget *_hbox;
-
- if(!ew) {
- return NULL;
+void
+ew_notice_show(Entrance_Dialog ew)
+{
+ ew_dialog_show(ew);
+}
+
+/*void
+ew_dialog_add(Entrance_Dialog d, Entrance_Widget ew)
+{
+ if(d && ew)
+ etk_box_pack_start(ETK_BOX(d->box), ew->box, ETK_TRUE,
ETK_TRUE, 0);
+}*/
+
+Entrance_Widget
+ew_notice_group_add(Entrance_Dialog d, const char *title, int direction)
+{
+ Entrance_Widget ew = ew_group_new(title, direction);
+ if(!ew)
+ {
+ return;
}
- strcat(image, type);
-
- ew->owner = etk_dialog_new();
- etk_window_title_set(ETK_WINDOW(ew->owner), title);
- etk_window_wmclass_set(ETK_WINDOW(ew->owner), title, title); /* TODO:
should use the wmclass and wmname of the main window/dialog instead */
-
- etk_container_border_width_set(ETK_CONTAINER(ew->owner), 5);
- etk_dialog_has_separator_set(ETK_DIALOG(ew->owner), ETK_TRUE);
- if(delete_event)
- etk_signal_connect("delete_event", ETK_OBJECT(ew->owner),
ETK_CALLBACK(delete_event), NULL);
-
- ew->box = etk_hbox_new(ETK_FALSE, 10);
-
- _hbox = etk_hbox_new(ETK_FALSE, 10);
- etk_box_pack_start(ETK_BOX(_hbox),
etk_image_new_from_edje(etk_theme_icon_theme_get(), image), ETK_TRUE, ETK_TRUE,
0);
- etk_box_pack_end(ETK_BOX(_hbox), etk_label_new(message), ETK_TRUE,
ETK_TRUE, 0);
- etk_dialog_pack_in_main_area(ETK_DIALOG(ew->owner), _hbox, ETK_TRUE,
ETK_TRUE, 0, ETK_FALSE);
+ etk_box_pack_start(ETK_BOX(d->box), ew->owner, ETK_TRUE, ETK_TRUE, 0);
return ew;
}
-int
-ew_notice_show(Entrance_Notice ew) {
- etk_widget_show_all(ew->owner);
+void
+ew_notice_button_add(Entrance_Dialog ew, const char *name, int response_id,
void (*response_event)(void *, int, void *), void *data)
+{
+ Etk_Widget *btn = etk_dialog_button_add(ETK_DIALOG(ew->owner), name,
response_id);
+ if(response_event)
+ etk_signal_connect("response", ETK_OBJECT(ew->owner),
ETK_CALLBACK(response_event), data);
+ etk_box_pack_start(ETK_BOX(ew->hbox), btn, ETK_TRUE, ETK_TRUE, 0);
}
-void
-ew_notice_destroy(Entrance_Notice ew) {
- etk_object_destroy(ETK_OBJECT(ew->owner));
+void
+ew_notice_close_button_add(Entrance_Dialog ew, void (*response_event)(void *,
int, void *), void *data)
+{
+ ew_notice_button_add(ew, _("Close"), EW_NOTICE_CLOSE_BUTTON,
response_event, data);
+}
+
+void
+ew_notice_apply_button_add(Entrance_Dialog ew, void (*response_event)(void *,
int, void *), void *data)
+{
+ ew_notice_button_add(ew, _("Apply"), EW_NOTICE_APPLY_BUTTON,
response_event, data);
+}
+
+void
+ew_notice_ok_button_add(Entrance_Dialog ew, void (*response_event)(void *,
int, void *), void *data)
+{
+ ew_notice_button_add(ew, _("Ok"), EW_NOTICE_OK_BUTTON, response_event,
data);
}
void
-ew_notice_yes_button_add(Entrance_Notice ew, void (*response_event)(Etk_Dialog
*, int, void *)) {
- Etk_Widget *btn = etk_dialog_button_add(ETK_DIALOG(ew->owner), _("OK"),
ENTRANCE_NOTICE_YES_BUTTON);
- if(response_event)
- etk_signal_connect("response", ETK_OBJECT(ew->owner),
ETK_CALLBACK(response_event), NULL);
+ew_notice_yes_button_add(Entrance_Dialog ew, void (*response_event)(void *,
int, void *), void *data) {
+ ew_notice_button_add(ew, _("Yes"), EW_NOTICE_YES_BUTTON,
response_event, data);
}
void
-ew_notice_no_button_add(Entrance_Notice ew, void (*response_event)(Etk_Dialog
*, int, void *)) {
- Etk_Widget *btn = etk_dialog_button_add(ETK_DIALOG(ew->owner), _("OK"),
ENTRANCE_NOTICE_NO_BUTTON);
- if(response_event)
- etk_signal_connect("response", ETK_OBJECT(ew->owner),
ETK_CALLBACK(response_event), NULL);
+ew_notice_no_button_add(Entrance_Dialog ew, void (*response_event)(void *,
int, void *), void *data) {
+ ew_notice_button_add(ew, _("No"), EW_NOTICE_NO_BUTTON, response_event,
data);
}
void
-ew_notice_cancel_button_add(Entrance_Notice ew, void
(*response_event)(Etk_Dialog *, int, void *)) {
- Etk_Widget *btn = etk_dialog_button_add(ETK_DIALOG(ew->owner), _("OK"),
ENTRANCE_NOTICE_CANCEL_BUTTON);
- if(response_event)
- etk_signal_connect("response", ETK_OBJECT(ew->owner),
ETK_CALLBACK(response_event), NULL);
+ew_notice_cancel_button_add(Entrance_Dialog ew, void (*response_event)(void *,
int, void *), void *data) {
+ ew_notice_button_add(ew, _("Cancel"), EW_NOTICE_CANCEL_BUTTON,
response_event, data);
}
void
-ew_notice_ok_button_add(Entrance_Notice ew, void (*response_event)(Etk_Dialog
*, int, void *)) {
- Etk_Widget *btn = etk_dialog_button_add(ETK_DIALOG(ew->owner), _("OK"),
ENTRANCE_NOTICE_OK_BUTTON);
- if(response_event)
- etk_signal_connect("response", ETK_OBJECT(ew->owner),
ETK_CALLBACK(response_event), NULL);
+ew_notice_destroy(Entrance_Dialog ew)
+{
+ ew_dialog_destroy(ew);
}
+/*privates*/
+static void
+_ew_cb_emit_response(Etk_Object *win, void *data) {
+ etk_signal_emit_by_name("response", ETK_OBJECT(win), NULL,
ETK_DIALOG(win), EW_NOTICE_CLOSE_BUTTON, NULL);
+}
===================================================================
RCS file: /cvs/e/e17/proto/entrance_edit_gui/src/widgets/ew_notice.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ew_notice.h 13 Aug 2006 17:00:15 -0000 1.1
+++ ew_notice.h 14 Aug 2006 17:08:55 -0000 1.2
@@ -1,46 +1,25 @@
#ifndef _EW_NOTICE_H
#define _EW_NOTICE_H
-#define ICON_SIZE "48"
-#define ENTRANCE_NOTICE_QUESTION_DIALOG ("question_" ICON_SIZE)
-#define ENTRANCE_NOTICE_MESSAGE_DIALOG ("information_" ICON_SIZE)
-#define ENTRANCE_NOTICE_WARNING_DIALOG ("warning_" ICON_SIZE)
-#define ENTRANCE_NOTICE_ERROR_DIALOG ("error_" ICON_SIZE)
-#define ENTRANCE_NOTICE_OK_BUTTON -5
-#define ENTRANCE_NOTICE_CANCEL_BUTTON -6
-#define ENTRANCE_NOTICE_YES_BUTTON -8
-#define ENTRANCE_NOTICE_NO_BUTTON -9
-
-#define _EW_NOTICE_FREE(ew) if(1) \
-{ \
- if(ew) \
- { \
- if(ew->owner) \
- { \
- free(ew->owner); \
- } \
- if(ew->box) \
- { \
- free(ew->box); \
- } \
- free(ew); \
- } \
-}
-
-typedef struct _Entrance_Notice {
- Etk_Widget *owner;
- Etk_Widget *box;
-} *Entrance_Notice;
-
-Entrance_Notice ew_notice_new(const char *type, const char *title, const char
*message, void (*)(Etk_Window *window));
-
-void ew_notice_ok_button_add(Entrance_Notice ew, void (*)(Etk_Dialog *, int,
void *));
-void ew_notice_yes_button_add(Entrance_Notice ew, void (*)(Etk_Dialog *, int,
void *));
-void ew_notice_no_button_add(Entrance_Notice ew, void (*)(Etk_Dialog *, int,
void *));
-void ew_notice_cancel_button_add(Entrance_Notice ew, void (*)(Etk_Dialog *,
int, void *));
-
-int ew_notice_show(Entrance_Notice ew);
-void ew_notice_destroy(Entrance_Notice ew);
+#define EW_NOTICE_OK_BUTTON -5
+#define EW_NOTICE_CANCEL_BUTTON -6
+#define EW_NOTICE_CLOSE_BUTTON -7
+#define EW_NOTICE_YES_BUTTON -8
+#define EW_NOTICE_NO_BUTTON -9
+#define EW_NOTICE_APPLY_BUTTON -10
+
+Entrance_Dialog ew_notice_new(const char *);
+void ew_notice_show(Entrance_Dialog);
+Entrance_Widget ew_notice_group_add(Entrance_Dialog, const char *, int);
+void ew_notice_destroy(Entrance_Dialog);
+
+void ew_notice_button_add(Entrance_Dialog, const char*, int, void (*)(void *,
int, void *), void *);
+void ew_notice_close_button_add(Entrance_Dialog, void (*)(void *, int, void
*), void *);
+void ew_notice_apply_button_add(Entrance_Dialog, void (*)(void *, int, void
*), void *);
+void ew_notice_ok_button_add(Entrance_Dialog, void (*)(void *, int, void *),
void *);
+void ew_notice_yes_button_add(Entrance_Dialog, void (*)(void *, int, void *),
void *);
+void ew_notice_no_button_add(Entrance_Dialog, void (*)(void *, int, void *),
void *);
+void ew_notice_cancel_button_add(Entrance_Dialog, void (*)(void *, int, void
*), void *);
#endif
-------------------------------------------------------------------------
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