- add initial gui for internal eap editor

- add menu entry to test it (no functionality yet)
- todo: look at focus effects for e_widget_entry


SVN revision: 17898
This commit is contained in:
codewarrior 2005-10-24 23:08:20 +00:00 committed by codewarrior
parent 5103d613fc
commit b631118678
5 changed files with 185 additions and 1 deletions

View File

@ -102,7 +102,8 @@ e_int_config_focus.h \
e_icon_layout.h \
e_int_border_locks.h \
e_thumb.h \
e_int_border_remember.h
e_int_border_remember.h \
e_eap_editor.h
enlightenment_src = \
e_user.c \
@ -186,6 +187,7 @@ e_icon_layout.c \
e_int_border_locks.c \
e_thumb.c \
e_int_border_remember.c \
e_eap_editor.c \
$(ENLIGHTENMENTHEADERS)
enlightenment_SOURCES = \

140
src/bin/e_eap_editor.c Normal file
View File

@ -0,0 +1,140 @@
#include "e.h"
/* local subsystem functions */
static void _e_eap_edit_save_cb(void *data, E_Dialog *dia);
static void _e_eap_edit_cancel_cb(void *data, E_Dialog *dia);
static void _e_eap_edit_browse_cb(void *data, E_Dialog *dia);
static void _e_eap_edit_free(E_App_Edit *app);
/* externally accessible functions */
E_App_Edit *
e_eap_edit_show(E_Container *con, E_App *a)
{
E_Manager *man;
E_App_Edit *app;
Evas_Object *o, *ol;
app = E_OBJECT_ALLOC(E_App_Edit, E_EAP_EDIT_TYPE, _e_eap_edit_free);
if (!app) return NULL;
app->dia = e_dialog_new(con);
if (!app->dia)
{
free(app);
return NULL;
}
app->con = con;
e_dialog_title_set(app->dia, _("Eap Editor"));
app->evas = e_win_evas_get(app->dia->win);
app->eap = a;
ol = e_widget_list_add(app->evas, 0, 0);
o = e_widget_table_add(app->evas, _("Eap Info"), 0);
e_widget_table_object_append(o, e_widget_label_add(app->evas, "App name"),
0, 0, 1, 1,
1, 1, 1, 1);
{
Evas_Object *entry;
entry = e_widget_entry_add(app->evas, NULL);
e_widget_min_size_set(entry, 100, 1);
e_widget_table_object_append(o, entry,
1, 0, 1, 1,
1, 1, 1, 1);
}
e_widget_table_object_append(o, e_widget_label_add(app->evas, "Generic Info"),
0, 1, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL),
1, 1, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_label_add(app->evas, "Comments"),
0, 2, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL),
1, 2, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_label_add(app->evas, "Executable"),
0, 3, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL),
1, 3, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_label_add(app->evas, "Window Name"),
0, 4, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL),
1, 4, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_label_add(app->evas, "Window Class"),
0, 5, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL),
1, 5, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_label_add(app->evas, "Path"),
0, 6, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL),
1, 6, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_label_add(app->evas, "Startup notify"),
0, 7, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_check_add(app->evas, "", NULL),
1, 7, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_label_add(app->evas, "Wait exit"),
0, 8, 1, 1,
1, 1, 1, 1);
e_widget_table_object_append(o, e_widget_check_add(app->evas, "", NULL),
1, 8, 1, 1,
1, 1, 1, 1);
e_widget_list_object_append(ol, o, 1, 1, 0.5);
{
Evas_Coord minw, minh;
e_widget_min_size_get(ol, &minw, &minh);
e_dialog_content_set(app->dia, ol, minw, minh);
}
e_dialog_button_add(app->dia, _("Cancel"), NULL, _e_eap_edit_cancel_cb, app);
e_dialog_button_add(app->dia, _("Save"), NULL, _e_eap_edit_save_cb, app);
e_dialog_show(app->dia);
}
/* local subsystem functions */
static void
_e_eap_edit_save_cb(void *data, E_Dialog *dia)
{}
static void
_e_eap_edit_cancel_cb(void *data, E_Dialog *dia)
{
_e_eap_edit_free(data);
}
static void
_e_eap_edit_browse_cb(void *data, E_Dialog *dia)
{}
static void _e_eap_edit_free(E_App_Edit *app)
{
e_object_del(E_OBJECT(app->eap));
e_object_del(E_OBJECT(app->dia));
E_FREE(app);
}

26
src/bin/e_eap_editor.h Normal file
View File

@ -0,0 +1,26 @@
#ifdef E_TYPEDEFS
typedef struct _E_App_Edit E_App_Edit;
#else
#ifndef E_EAP_EDIT_H
#define E_EAP_EDIT_H
#define E_EAP_EDIT_TYPE 0xE0b01019
struct _E_App_Edit
{
E_Object e_obj_inherit;
E_Container *con;
E_Win *win;
Evas *evas;
E_Dialog *dia;
E_App *eap;
};
E_App_Edit *e_eap_edit_show(E_Container *con, E_App *a);
#endif
#endif

View File

@ -83,3 +83,4 @@
#include "e_int_border_locks.h"
#include "e_thumb.h"
#include "e_int_border_remember.h"
#include "e_eap_editor.h"

View File

@ -610,6 +610,17 @@ _e_int_menus_desktops_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
e_desk_show(desk);
}
static void
_e_int_menus_eapedit_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
/* This is temporarily put here so we can test the eap editor */
E_App_Edit *eap_edit;
E_App *a;
a = e_app_empty_new("/tmp/foo.eap");
eap_edit = e_eap_edit_show(m->zone->container, a);
}
static void
_e_int_menus_config_pre_cb(void *data, E_Menu *m)
{
@ -625,6 +636,10 @@ _e_int_menus_config_pre_cb(void *data, E_Menu *m)
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Focus Settings"));
e_menu_item_callback_set(mi, _e_int_menus_config_generic_cb, "focus");
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Eap Editor"));
e_menu_item_callback_set(mi, _e_int_menus_eapedit_item_cb, NULL);
l = evas_hash_find(_e_int_menus_augmentation, "config");
if (l)