From: <enl...@li...> - 2003-12-06 17:25:15
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: Makefile.am gui.c gui.h main.c Log Message: updating equate a little, now uses ecore_config in a basic manner to show how it can be done =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 2 Dec 2003 00:07:37 -0000 1.4 +++ Makefile.am 6 Dec 2003 17:25:13 -0000 1.5 @@ -4,7 +4,8 @@ -I../lib \ -I/usr/local/include \ -I$(top_srcdir)/lib \ -@ewl_cflags@ +@ewl_cflags@ \ +@ecore_cflags@ bin_PROGRAMS = equate @@ -13,7 +14,5 @@ calc.tab.c \ main.c -equate_LDADD = @ewl_libs@ - -equate_CFLAGS = @ewl_cflags@ +equate_LDADD = @ewl_libs@ @ecore_libs@ =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- gui.c 6 Dec 2003 11:39:02 -0000 1.14 +++ gui.c 6 Dec 2003 17:25:14 -0000 1.15 @@ -90,12 +90,13 @@ calc_append(Ewl_Widget * w, void *ev_data, void *user_data) { char *key; - int len,slen; + int len, slen; + key = (char *) user_data; slen = strlen(key); - + equate_append(key); - + len = strlen(disp); memcpy(&disp[len], key, slen); disp[len + slen] = '\0'; @@ -132,12 +133,13 @@ key_press(Ewl_Widget * w, void *ev_data, void *user_data) { Ecore_X_Event_Key_Down *ev; + ev = ev_data; if (!strcmp(ev->key_compose, "q")) - equate_quit(); + equate_quit(); else - do_key(ev_data, EWL_CALLBACK_MOUSE_DOWN); + do_key(ev_data, EWL_CALLBACK_MOUSE_DOWN); } void @@ -182,8 +184,9 @@ } void -init_gui(Equate equate) { - draw_ewl(equate.conf.mode); +init_gui(Equate * equate) +{ + draw_ewl(equate->conf.mode); } void =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- gui.h 4 Dec 2003 23:33:34 -0000 1.5 +++ gui.h 6 Dec 2003 17:25:14 -0000 1.6 @@ -1,6 +1,7 @@ #ifndef _EQUATE_GUI_H #define _EQUATE_GUI_H typedef enum { + DEFAULT, BASIC, SCI } Mode; =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/main.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- main.c 6 Dec 2003 11:39:02 -0000 1.8 +++ main.c 6 Dec 2003 17:25:14 -0000 1.9 @@ -1,5 +1,9 @@ #include "Equate.h" +#include <Ecore_Config.h> + +Ecore_Config_Bundle *props; + void print_usage(void) { @@ -38,6 +42,9 @@ equate_quit(void) { ewl_main_quit(); + if (props) + ecore_config_save(props); + ecore_config_exit(); } int @@ -46,6 +53,9 @@ Equate equate; int nextarg = 1; char *arg; + Ecore_Config_Server *conf_srv; + + equate.conf.mode = DEFAULT; while (nextarg < argc) { arg = argv[nextarg]; @@ -66,6 +76,20 @@ } nextarg++; } + + if (conf_srv = ecore_config_init("equate")) { + props = ecore_config_bundle_new(conf_srv, "settings"); + + + + + ecore_config_load(props); + + if (equate.conf.mode == DEFAULT) + equate.conf.mode = ecore_config_get_int(props, "/settings/mode"); + } + if (equate.conf.mode == DEFAULT) + equate.conf.mode = BASIC; equate_init(&equate); |
From: <enl...@li...> - 2003-12-08 10:37:50
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: Equate.h gui.c gui.h main.c Log Message: Fix segv created in ewl by edje additions, and add options for edje on command line, and seperate layout from display method =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/Equate.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- Equate.h 7 Dec 2003 23:51:25 -0000 1.6 +++ Equate.h 8 Dec 2003 10:37:47 -0000 1.7 @@ -33,6 +33,7 @@ typedef struct { Mode mode; + UI type; char path[PATH_MAX]; } Conf; =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- gui.c 7 Dec 2003 23:51:25 -0000 1.16 +++ gui.c 8 Dec 2003 10:37:47 -0000 1.17 @@ -187,7 +187,7 @@ init_gui(Equate * equate, int argc, char **argv) { if (equate) { - switch (equate->conf.mode) { + switch (equate->conf.type) { case EDJE: //fprintf(stderr, "%s\n", equate->conf.path); if (ecore_init()) { @@ -197,9 +197,8 @@ } break; /* - * case DEFAULT: - * case BASIC: - * case SCI: + * case DEF: + * case EWL: */ default: ewl_init(&argc, argv); =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- gui.h 7 Dec 2003 23:51:25 -0000 1.7 +++ gui.h 8 Dec 2003 10:37:47 -0000 1.8 @@ -3,9 +3,14 @@ typedef enum { DEFAULT, BASIC, - SCI, - EDJE + SCI } Mode; + +typedef enum { + DEF, + EWL, + EDJE +} UI; // needed 'cos generated h files suck double yyresult(void); =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/main.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- main.c 7 Dec 2003 23:51:25 -0000 1.10 +++ main.c 8 Dec 2003 10:37:47 -0000 1.11 @@ -8,14 +8,19 @@ print_usage(void) { printf("Equate - a calculator for Enlightenment\n"); - printf("Version 0.0.1 (Dec 3 2003)\n"); + printf("Version 0.0.4 (Dec 8 2003)\n"); printf("(c)2003 by HandyAndE.\n"); printf("Usage: equate [options]\n\n"); printf("Supported Options:\n"); - printf("-h, --help Print this help text\n"); - printf("-e, --exec <str> Execute an equation and exit\n"); - printf("-b, --basic Use Equate in basic mode (default)\n"); - printf("-s, --scientific Use Equate in scientific mode\n"); + printf(" -h, --help Print this help text\n"); + printf(" -e, --exec <str> Execute an equation and exit\n"); + printf("Display modes:\n"); + printf(" -b, --basic Use Equate in basic mode (default)\n"); + printf(" -s, --scientific Use Equate in scientific mode\n"); + printf(" (currently ignored if using --edje)\n"); + printf("Interface types:\n"); + printf(" -G, --edje Use Edje (themable) interface (default)\n"); + printf(" -g, --ewl Use Ewl (E look) interface\n"); exit(0); } @@ -56,6 +61,7 @@ Ecore_Config_Server *conf_srv; equate.conf.mode = DEFAULT; + equate.conf.type = DEF; while (nextarg < argc) { arg = argv[nextarg]; @@ -63,9 +69,13 @@ equate.conf.mode = SCI; else if (!strcmp(arg, "--basic") || !strcmp(arg, "-b")) equate.conf.mode = BASIC; - else if (!strcmp(arg, "--exec") || !strcmp(arg, "-e")) { + else if (!strcmp(arg, "--edje") || !strcmp(arg, "-G")) + equate.conf.type = EDJE; + else if (!strcmp(arg, "--ewl") || !strcmp(arg, "-g")) + equate.conf.type = EWL; + else if (!strcmp(arg, "--exec") || !strcmp(arg, "-e")) exec(argv[++nextarg]); - } + else if (!strcmp(arg, "--help") || !strcmp(arg, "-h")) @@ -87,13 +97,17 @@ if (equate.conf.mode == DEFAULT) equate.conf.mode = ecore_config_get_int(props, "/settings/mode"); + if (equate.conf.type == DEF) + equate.conf.type = ecore_config_get_int(props, "/settings/type"); } if (equate.conf.mode == DEFAULT) equate.conf.mode = BASIC; + if (equate.conf.type == DEF) + equate.conf.type = EWL; equate_init(&equate); - init_gui(&equate); + init_gui(&equate, argc, argv); return 0; } |
From: <enl...@li...> - 2003-12-08 11:40:55
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/data Log Message: Directory /cvsroot/enlightenment/misc/equate/data added to the repository |
From: <enl...@li...> - 2003-12-08 11:40:55
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/data/images Log Message: Directory /cvsroot/enlightenment/misc/equate/data/images added to the repository |
From: <enl...@li...> - 2003-12-08 11:42:14
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/data Added Files: Makefile.am equate.edc Log Message: Added theme, fixed autogen etc and fixed edje a ut - looks for theme in installed dir and looks for fonts in /usr/local - the default prefix for edje |
From: <enl...@li...> - 2003-12-08 11:42:16
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/data/images Added Files: Makefile.am bg.png brushed_texture.png entry_disabled.png entry_light_overlay.png metalsphere.png shading.png Log Message: Added theme, fixed autogen etc and fixed edje a ut - looks for theme in installed dir and looks for fonts in /usr/local - the default prefix for edje |
From: <enl...@li...> - 2003-12-08 11:42:16
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: edje.c Log Message: Added theme, fixed autogen etc and fixed edje a ut - looks for theme in installed dir and looks for fonts in /usr/local - the default prefix for edje =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/edje.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje.c 8 Dec 2003 00:35:01 -0000 1.2 +++ edje.c 8 Dec 2003 11:42:13 -0000 1.3 @@ -37,7 +37,7 @@ #define NUM_9 29 #define NUM_PI 30 -#define FONTS "/usr/share/edje/data/test/fonts" +#define FONTS "/usr/local/share/edje/data/test/fonts" /** * defined in calc.tab.c @@ -374,7 +374,7 @@ o = edje_object_add(evas); evas_object_move(o, 0, 0); - if (edje_object_file_set(o, "default.eet", "Main")) { + if (edje_object_file_set(o, PACKAGE_DATA_DIR "/themes/equate.eet", "Main")) { evas_object_name_set(o, "edje"); edje_object_size_min_get(o, &mw, &mh); ecore_evas_size_min_set(eq->gui.ee, (int) mw, (int) mh); @@ -387,7 +387,7 @@ edje_callback_define(o); evas_object_show(o); } else { - fprintf(stderr, "Unable to open %s for edje theme", "default.eet"); + fprintf(stderr, "Unable to open %s for edje theme", PACKAGE_DATA_DIR "/themes/equate.eet"); ecore_evas_shutdown(); return; } |
From: <enl...@li...> - 2003-12-08 11:42:45
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate Modified Files: AUTHORS INSTALL Makefile.am NEWS TODO configure.in Log Message: Added theme, fixed autogen etc and fixed edje a ut - looks for theme in installed dir and looks for fonts in /usr/local - the default prefix for edje =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/AUTHORS,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- AUTHORS 23 Nov 2003 23:59:48 -0000 1.1 +++ AUTHORS 8 Dec 2003 11:42:13 -0000 1.2 @@ -1,4 +1,7 @@ HandyAndE (Andrew Elcock) <an...@el...> +much code and theming from +digitalfallout and atmos + Many thanks to the e developers for all their help! =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/INSTALL,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- INSTALL 23 Nov 2003 23:59:48 -0000 1.1 +++ INSTALL 8 Dec 2003 11:42:13 -0000 1.2 @@ -11,3 +11,4 @@ To install (run this as root, or the user who handles installs): make install +Node: edje mode will not work untile make install is performed. =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 23 Nov 2003 23:59:48 -0000 1.1 +++ Makefile.am 8 Dec 2003 11:42:13 -0000 1.2 @@ -1,11 +1,11 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = src +SUBDIRS = src data MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \ config.h.in config.sub configure install-sh \ ltconfig ltmain.sh missing mkinstalldirs \ - stamp-h.in examine_docs.tar examine_docs.tar.gz examine.c + stamp-h.in install-data-local: @$(NORMAL_INSTALL) @@ -26,4 +26,4 @@ fi -EXTRA_DIST = README AUTHORS COPYING COPYING-PLAIN examine.spec examine.c.in gendoc Doxyfile examine_docs.tar.gz +EXTRA_DIST = README AUTHORS COPYING COPYING-PLAIN =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/NEWS,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- NEWS 28 Nov 2003 16:46:42 -0000 1.2 +++ NEWS 8 Dec 2003 11:42:13 -0000 1.3 @@ -1,2 +1,7 @@ +08/12/03 aje: + Added the first theme for new edje support, man are things looking good ;) +03/12/03 aje: + Moved backend to bison\flex generated code, not much faster, but easier for + what is to come! 28/11/03 aje: Backend shifted from bc pipes to native tree based computation =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/TODO,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- TODO 28 Nov 2003 16:46:42 -0000 1.2 +++ TODO 8 Dec 2003 11:42:13 -0000 1.3 @@ -1,5 +1,5 @@ make <enter> perform = -add brackets to new backend -add % ^ root etc -add function capability +add % root etc +fix */ , *2= etc +fix .5 != 0.5 =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/configure.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- configure.in 7 Dec 2003 23:55:22 -0000 1.3 +++ configure.in 8 Dec 2003 11:42:13 -0000 1.4 @@ -4,7 +4,7 @@ rm -f config.cache AC_INIT(configure.in) -AM_INIT_AUTOMAKE(examine, 0.0.1) +AM_INIT_AUTOMAKE(equate, 0.0.4) AM_CONFIG_HEADER(config.h) AC_ISC_POSIX @@ -96,5 +96,7 @@ AC_OUTPUT([ Makefile src/Makefile +data/Makefile +data/images/Makefile ],[ ]) |
From: <enl...@li...> - 2003-12-10 14:36:44
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: gui.c Log Message: Added dual display for scientific mode and fixed up right align for simple mode display =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- gui.c 8 Dec 2003 19:53:55 -0000 1.18 +++ gui.c 10 Dec 2003 14:36:42 -0000 1.19 @@ -3,6 +3,8 @@ Ewl_Widget *main_win; Ewl_Widget *main_box; Ewl_Widget *display; +Ewl_Widget *eqn_disp; +Mode calc_mode; char disp[BUFLEN]; @@ -87,6 +89,12 @@ } void +update_eqn_display(char *text) +{ + ewl_text_set_text((Ewl_Text *) eqn_disp, text); +} + +void calc_append(Ewl_Widget * w, void *ev_data, void *user_data) { char *key; @@ -100,7 +108,10 @@ len = strlen(disp); memcpy(&disp[len], key, slen); disp[len + slen] = '\0'; - update_display(disp); + if (calc_mode == SCI) + update_eqn_display(disp); + else + update_display(disp); } void @@ -118,6 +129,8 @@ { equate_clear(); update_display("0"); + if (calc_mode == SCI) + update_eqn_display(""); disp[0] = '\0'; } @@ -187,6 +200,7 @@ init_gui(Equate * equate, int argc, char **argv) { if (equate) { + calc_mode = equate->conf.mode; switch (equate->conf.type) { case EDJE: //fprintf(stderr, "%s\n", equate->conf.path); @@ -253,7 +267,7 @@ ewl_object_set_padding(EWL_OBJECT(main_box), 3, 3, 3, 3); - + /* main display element - needed for both modes */ ewl_object_set_fill_policy(EWL_OBJECT(main_box), EWL_FLAG_FILL_FILL); ewl_container_append_child(EWL_CONTAINER(main_win), main_box); @@ -261,19 +275,53 @@ ewl_container_append_child(EWL_CONTAINER(main_box), table); ewl_widget_show(table); - int bc = count; - equate_button *but = buttons; - displaycell = ewl_cell_new(); display = ewl_text_new("0"); - ewl_object_set_alignment(EWL_OBJECT(display), EWL_FLAG_ALIGN_LEFT); + ewl_object_set_alignment(EWL_OBJECT(display), EWL_FLAG_ALIGN_RIGHT); + + /* layout the display area, the table helps align the display even when in + * basic mode */ + Ewl_Widget *disp_table; + Ewl_Widget *disp_cell[2]; - ewl_container_append_child(EWL_CONTAINER(displaycell), display); - ewl_grid_add(EWL_GRID(table), displaycell, 1, 1, 1, 1); - /* kinda thought the end col should be 4, but 1 works better... */ + if (calc_mode == SCI) + disp_table = ewl_grid_new(1, 2); + else + disp_table = ewl_grid_new(1, 1); + disp_cell[1] = ewl_cell_new(); + eqn_disp = ewl_text_new("0"); + + if (calc_mode == SCI) { + ewl_object_set_alignment(EWL_OBJECT(eqn_disp), EWL_FLAG_ALIGN_LEFT); + + ewl_container_append_child(EWL_CONTAINER(disp_cell[1]), eqn_disp); + disp_cell[2] = ewl_cell_new(); + ewl_container_append_child(EWL_CONTAINER(disp_cell[2]), display); + ewl_widget_show(eqn_disp); + } else + ewl_container_append_child(EWL_CONTAINER(disp_cell[1]), display); ewl_widget_show(display); + + ewl_container_append_child(EWL_CONTAINER(displaycell), disp_table); + + ewl_widget_show(disp_cell[1]); + ewl_grid_add(EWL_GRID(disp_table), disp_cell[1], 1, 1, 1, 1); + if (calc_mode == SCI) { + ewl_widget_show(disp_cell[2]); + ewl_grid_add(EWL_GRID(disp_table), disp_cell[2], 1, 1, 2, 1); + } + ewl_widget_configure(disp_table); + ewl_widget_show(disp_table); + /* end display layout */ + + + ewl_grid_add(EWL_GRID(table), displaycell, 1, 4, 1, 1); + ewl_widget_show(displaycell); + + int bc = count; + equate_button *but = buttons; while (bc-- > 0) { cell[bc] = ewl_cell_new(); |
From: <enl...@li...> - 2003-12-10 14:39:56
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: gui.c Log Message: Added dual display for scientific mode and fixed up right align for simple mode display =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- gui.c 10 Dec 2003 14:36:42 -0000 1.19 +++ gui.c 10 Dec 2003 14:39:55 -0000 1.20 @@ -290,7 +290,7 @@ else disp_table = ewl_grid_new(1, 1); disp_cell[1] = ewl_cell_new(); - eqn_disp = ewl_text_new("0"); + eqn_disp = ewl_text_new(""); if (calc_mode == SCI) { ewl_object_set_alignment(EWL_OBJECT(eqn_disp), EWL_FLAG_ALIGN_LEFT); |
From: <enl...@li...> - 2003-12-10 14:45:51
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: gui.c Log Message: nicity for dual display =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- gui.c 10 Dec 2003 14:39:55 -0000 1.20 +++ gui.c 10 Dec 2003 14:45:47 -0000 1.21 @@ -119,6 +119,15 @@ { char res[BUFLEN]; + if (calc_mode == SCI) { + int displen = strlen(disp); + if (displen > 0) { + disp[displen] = '='; + disp[displen + 1] = '\0'; + update_eqn_display(disp); + } + } + snprintf(res, BUFLEN, "%.10g", equate_eval()); update_display(res); disp[0] = '\0'; |
From: <enl...@li...> - 2003-12-18 17:17:52
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: gui.h gui.c Log Message: More cleaning for ansi =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- gui.h 8 Dec 2003 10:37:47 -0000 1.8 +++ gui.h 18 Dec 2003 17:17:51 -0000 1.9 @@ -12,7 +12,7 @@ EDJE } UI; -// needed 'cos generated h files suck +/* needed 'cos generated h files suck */ double yyresult(void); void update_display(char *text); =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- gui.c 10 Dec 2003 14:45:47 -0000 1.21 +++ gui.c 18 Dec 2003 17:17:51 -0000 1.22 @@ -45,7 +45,7 @@ {5, 2, 1, 1, "2", "2", (void *) calc_append, NULL}, {5, 3, 1, 1, "3", "3", (void *) calc_append, NULL}, {5, 4, 2, 1, "=", "=", (void *) calc_exec, NULL}, -// {6, 1, 1, 1, "c", "c", (void *) calc_clear, NULL}, +/* {6, 1, 1, 1, "c", "c", (void *) calc_clear, NULL},*/ {6, 1, 1, 2, "0", "0", (void *) calc_append, NULL}, {6, 3, 1, 1, ".", ".", (void *) calc_append, NULL}, }; @@ -212,7 +212,6 @@ calc_mode = equate->conf.mode; switch (equate->conf.type) { case EDJE: - //fprintf(stderr, "%s\n", equate->conf.path); if (ecore_init()) { ecore_app_args_set(argc, (const char **) argv); equate_edje_init(equate); |
From: <enl...@li...> - 2003-12-30 20:27:13
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: gui.c Log Message: yay - a windowclass attribute =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- gui.c 18 Dec 2003 17:17:51 -0000 1.22 +++ gui.c 30 Dec 2003 20:27:12 -0000 1.23 @@ -263,6 +263,8 @@ main_win = ewl_window_new(); ewl_window_set_title(EWL_WINDOW(main_win), "Equate"); + ewl_window_set_name(EWL_WINDOW(main_win), "Equate"); + ewl_window_set_class(EWL_WINDOW(main_win), "Equate"); ewl_object_set_minimum_size(EWL_OBJECT(main_win), width, height); ewl_callback_append(main_win, EWL_CALLBACK_DELETE_WINDOW, destroy_main_window, NULL); |
From: <enl...@li...> - 2003-12-30 21:06:23
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: calc.l calc.y lex.yy.c Log Message: Fix floating point numbers with no leading zero - i.e. .25*.1 =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/calc.l,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- calc.l 6 Dec 2003 11:39:02 -0000 1.3 +++ calc.l 30 Dec 2003 21:06:22 -0000 1.4 @@ -25,6 +25,12 @@ yylval.val= atof( yytext ); return NUM; } +{DIGIT}*"."{DIGIT}+ { + printf( "A float: %s (%g)\n", yytext, + atof( yytext ) ); + yylval.val= atof( yytext ); + return NUM; + } {ID} { symrec *s; =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/calc.y,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- calc.y 4 Dec 2003 23:33:34 -0000 1.5 +++ calc.y 30 Dec 2003 21:06:22 -0000 1.6 @@ -94,6 +94,7 @@ tmp[0] = '\0'; return yyresult(); } +const char * equate_string_get(void) { return(tmp); } struct init { char *fname; =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/lex.yy.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- lex.yy.c 6 Dec 2003 11:39:02 -0000 1.6 +++ lex.yy.c 30 Dec 2003 21:06:22 -0000 1.7 @@ -1,7 +1,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/enlightenment/misc/equate/src/lex.yy.c,v 1.6 2003/12/06 11:39:02 handyande Exp $ + * $Header: /cvsroot/enlightenment/misc/equate/src/lex.yy.c,v 1.7 2003/12/30 21:06:22 handyande Exp $ */ #define FLEX_SCANNER @@ -285,12 +285,12 @@ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 9 -#define YY_END_OF_BUFFER 10 -static yyconst short int yy_accept[18] = +#define YY_NUM_RULES 10 +#define YY_END_OF_BUFFER 11 +static yyconst short int yy_accept[20] = { 0, - 0, 0, 10, 8, 7, 7, 5, 6, 4, 1, - 3, 7, 2, 1, 3, 2, 0 + 0, 0, 11, 9, 8, 8, 6, 7, 5, 9, + 1, 4, 8, 3, 2, 1, 4, 2, 0 } ; static yyconst int yy_ec[256] = @@ -331,34 +331,34 @@ 1, 1, 1, 1 } ; -static yyconst short int yy_base[18] = +static yyconst short int yy_base[20] = { 0, - 0, 0, 31, 32, 13, 15, 32, 32, 32, 10, - 9, 22, 18, 17, 16, 11, 32 + 0, 0, 33, 34, 13, 15, 34, 34, 34, 21, + 10, 9, 22, 20, 18, 17, 16, 11, 34 } ; -static yyconst short int yy_def[18] = +static yyconst short int yy_def[20] = { 0, - 17, 1, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 0 + 19, 1, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 0 } ; -static yyconst short int yy_nxt[47] = +static yyconst short int yy_nxt[49] = { 0, - 4, 5, 6, 7, 8, 9, 9, 9, 4, 9, - 10, 9, 9, 11, 12, 12, 12, 12, 13, 15, - 14, 16, 15, 12, 12, 13, 15, 14, 16, 15, - 17, 3, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17 + 4, 5, 6, 7, 8, 9, 9, 9, 10, 9, + 11, 9, 9, 12, 13, 13, 13, 13, 15, 17, + 16, 18, 17, 13, 13, 15, 17, 16, 18, 17, + 14, 14, 19, 3, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19 } ; -static yyconst short int yy_chk[47] = +static yyconst short int yy_chk[49] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 5, 5, 6, 6, 10, 11, - 10, 16, 11, 12, 12, 14, 15, 14, 13, 15, - 3, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17 + 1, 1, 1, 1, 5, 5, 6, 6, 11, 12, + 11, 18, 12, 13, 13, 16, 17, 16, 15, 17, + 14, 10, 3, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19 } ; static yy_state_type yy_last_accepting_state; @@ -583,13 +583,13 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 18 ) + if ( yy_current_state >= 20 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 32 ); + while ( yy_base[yy_current_state] != 34 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -637,7 +637,17 @@ YY_BREAK case 3: YY_RULE_SETUP -#line 29 "calc.l" +#line 28 "calc.l" +{ + printf( "A float: %s (%g)\n", yytext, + atof( yytext ) ); + yylval.val= atof( yytext ); + return NUM; + } + YY_BREAK +case 4: +YY_RULE_SETUP +#line 35 "calc.l" { symrec *s; printf( "An identifier: %s\n", yytext ); @@ -648,38 +658,38 @@ return s->type; } YY_BREAK -case 4: +case 5: YY_RULE_SETUP -#line 39 "calc.l" +#line 45 "calc.l" {printf( "An operator: %s\n", yytext ); return (char) yytext[0];} YY_BREAK -case 5: +case 6: YY_RULE_SETUP -#line 42 "calc.l" +#line 48 "calc.l" return OBRAK; YY_BREAK -case 6: +case 7: YY_RULE_SETUP -#line 43 "calc.l" +#line 49 "calc.l" return CBRAK; YY_BREAK -case 7: +case 8: YY_RULE_SETUP -#line 45 "calc.l" +#line 51 "calc.l" /* eat up whitespace */ YY_BREAK -case 8: +case 9: YY_RULE_SETUP -#line 47 "calc.l" +#line 53 "calc.l" printf( "Unrecognized character: %s\n", yytext ); YY_BREAK -case 9: +case 10: YY_RULE_SETUP -#line 48 "calc.l" +#line 54 "calc.l" ECHO; YY_BREAK -#line 683 "lex.yy.c" +#line 693 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -971,7 +981,7 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 18 ) + if ( yy_current_state >= 20 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1006,11 +1016,11 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 18 ) + if ( yy_current_state >= 20 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 17); + yy_is_jam = (yy_current_state == 19); return yy_is_jam ? 0 : yy_current_state; } @@ -1560,6 +1570,6 @@ return 0; } #endif -#line 48 "calc.l" +#line 54 "calc.l" |
From: <enl...@li...> - 2003-12-31 13:45:53
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: gui.c Log Message: Fix bad display of sci result =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- gui.c 30 Dec 2003 20:27:12 -0000 1.23 +++ gui.c 31 Dec 2003 13:45:52 -0000 1.24 @@ -319,7 +319,7 @@ ewl_grid_add(EWL_GRID(disp_table), disp_cell[1], 1, 1, 1, 1); if (calc_mode == SCI) { ewl_widget_show(disp_cell[2]); - ewl_grid_add(EWL_GRID(disp_table), disp_cell[2], 1, 1, 2, 1); + ewl_grid_add(EWL_GRID(disp_table), disp_cell[2], 1, 1, 2, 2); } ewl_widget_configure(disp_table); ewl_widget_show(disp_table); |
From: <enl...@li...> - 2004-01-05 23:29:57
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: Equate.h edje.c gui.c gui.h main.c Log Message: removed the render mode thing - too complicated Added theme option to specify theme to use =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/Equate.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- Equate.h 8 Dec 2003 10:37:47 -0000 1.7 +++ Equate.h 5 Jan 2004 22:56:56 -0000 1.8 @@ -33,8 +33,7 @@ typedef struct { Mode mode; - UI type; - char path[PATH_MAX]; + char *theme; } Conf; typedef struct { =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/edje.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- edje.c 8 Dec 2003 11:42:13 -0000 1.3 +++ edje.c 5 Jan 2004 22:56:56 -0000 1.4 @@ -347,6 +347,7 @@ Evas *evas = NULL; Evas_Object *o = NULL; Evas_Coord mw, mh; + char theme[PATH_MAX]; eq->gui.ee = NULL; eq->gui.edje = NULL; @@ -374,7 +375,8 @@ o = edje_object_add(evas); evas_object_move(o, 0, 0); - if (edje_object_file_set(o, PACKAGE_DATA_DIR "/themes/equate.eet", "Main")) { + snprintf(theme, PATH_MAX, PACKAGE_DATA_DIR "/themes/%s.eet", eq->conf.theme); + if (edje_object_file_set(o, theme, "Main")) { evas_object_name_set(o, "edje"); edje_object_size_min_get(o, &mw, &mh); ecore_evas_size_min_set(eq->gui.ee, (int) mw, (int) mh); @@ -387,7 +389,7 @@ edje_callback_define(o); evas_object_show(o); } else { - fprintf(stderr, "Unable to open %s for edje theme", PACKAGE_DATA_DIR "/themes/equate.eet"); + fprintf(stderr, "Unable to open %s for edje theme", theme); ecore_evas_shutdown(); return; } =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- gui.c 31 Dec 2003 13:45:52 -0000 1.24 +++ gui.c 5 Jan 2004 22:56:56 -0000 1.25 @@ -210,7 +210,7 @@ { if (equate) { calc_mode = equate->conf.mode; - switch (equate->conf.type) { + switch (calc_mode) { case EDJE: if (ecore_init()) { ecore_app_args_set(argc, (const char **) argv); @@ -219,8 +219,9 @@ } break; /* - * case DEF: - * case EWL: + * case DEFAULT: + * case BASIC: + * case SCI: */ default: ewl_init(&argc, argv); =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- gui.h 18 Dec 2003 17:17:51 -0000 1.9 +++ gui.h 5 Jan 2004 22:56:56 -0000 1.10 @@ -3,14 +3,9 @@ typedef enum { DEFAULT, BASIC, - SCI -} Mode; - -typedef enum { - DEF, - EWL, + SCI, EDJE -} UI; +} Mode; /* needed 'cos generated h files suck */ double yyresult(void); =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/main.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- main.c 8 Dec 2003 10:37:47 -0000 1.11 +++ main.c 5 Jan 2004 22:56:56 -0000 1.12 @@ -17,10 +17,7 @@ printf("Display modes:\n"); printf(" -b, --basic Use Equate in basic mode (default)\n"); printf(" -s, --scientific Use Equate in scientific mode\n"); - printf(" (currently ignored if using --edje)\n"); - printf("Interface types:\n"); - printf(" -G, --edje Use Edje (themable) interface (default)\n"); - printf(" -g, --ewl Use Ewl (E look) interface\n"); + printf(" -t, --theme [str] Use themed (edje) mode and load specified theme\n"); exit(0); } @@ -61,7 +58,6 @@ Ecore_Config_Server *conf_srv; equate.conf.mode = DEFAULT; - equate.conf.type = DEF; while (nextarg < argc) { arg = argv[nextarg]; @@ -69,10 +65,10 @@ equate.conf.mode = SCI; else if (!strcmp(arg, "--basic") || !strcmp(arg, "-b")) equate.conf.mode = BASIC; - else if (!strcmp(arg, "--edje") || !strcmp(arg, "-G")) - equate.conf.type = EDJE; - else if (!strcmp(arg, "--ewl") || !strcmp(arg, "-g")) - equate.conf.type = EWL; + else if (!strcmp(arg, "--theme") || !strcmp(arg, "-t")) { + equate.conf.mode = EDJE; + equate.conf.theme = argv[++nextarg]; + } else if (!strcmp(arg, "--exec") || !strcmp(arg, "-e")) exec(argv[++nextarg]); @@ -97,13 +93,13 @@ if (equate.conf.mode == DEFAULT) equate.conf.mode = ecore_config_get_int(props, "/settings/mode"); - if (equate.conf.type == DEF) - equate.conf.type = ecore_config_get_int(props, "/settings/type"); + if ((equate.conf.mode == EDJE) && (!equate.conf.theme)) + equate.conf.theme = ecore_config_get_string(props, "/settings/theme"); } if (equate.conf.mode == DEFAULT) equate.conf.mode = BASIC; - if (equate.conf.type == DEF) - equate.conf.type = EWL; + if ((equate.conf.mode == EDJE) && (!equate.conf.theme)) + equate.conf.theme = "equate"; equate_init(&equate); |
From: <enl...@li...> - 2004-01-06 15:49:57
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: calc.h calc.l calc.tab.c calc.y edje.c gui.c lex.yy.c main.c Log Message: indent (again\!) tidy some parse code hide debug code by default =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/calc.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- calc.h 4 Dec 2003 16:11:10 -0000 1.2 +++ calc.h 6 Jan 2004 15:49:55 -0000 1.3 @@ -1,32 +1,31 @@ #ifndef _EQUATE_CALC_H #define _EQUATE_CALC_H + /* Functions the gui calls */ -void equate_clear(void); -void equate_append(char *str); -double equate_eval(void); +void equate_clear(void); +void equate_append(char *str); +double equate_eval(void); /* Fonctions type. */ -typedef double (*func_t) (double); +typedef double (*func_t) (double); /* Data type for links in the chain of symbols. */ -struct symrec -{ - char *name; /* name of symbol */ - int type; /* type of symbol: either VAR or FNCT */ - union - { - double var; /* value of a VAR */ - func_t fnctptr; /* value of a FNCT */ - } value; - struct symrec *next; /* link field */ +struct symrec { + char *name; /* name of symbol */ + int type; /* type of symbol: either VAR or FNCT */ + union { + double var; /* value of a VAR */ + func_t fnctptr; /* value of a FNCT */ + } value; + struct symrec *next; /* link field */ }; typedef struct symrec symrec; /* The symbol table: a chain of `struct symrec'. */ -extern symrec *sym_table; +extern symrec *sym_table; -symrec *putsym (const char *, int); -symrec *getsym (const char *); +symrec *putsym(const char *, int); +symrec *getsym(const char *); #endif =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/calc.l,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- calc.l 30 Dec 2003 21:06:22 -0000 1.4 +++ calc.l 6 Jan 2004 15:49:55 -0000 1.5 @@ -3,6 +3,7 @@ %{ /* need this for the call to atof() below */ #include <math.h> + %} DIGIT [0-9] @@ -13,28 +14,25 @@ %% {DIGIT}+ { - printf( "An integer: %s (%g)\n", yytext, - atof( yytext ) ); + E(2, "An integer: %s (%g)\n", yytext, atof( yytext ) ); yylval.val= atof( yytext ); return NUM; } {DIGIT}+"."{DIGIT}* { - printf( "A float: %s (%g)\n", yytext, - atof( yytext ) ); + E(2, "A float: %s (%g)\n", yytext, atof( yytext ) ); yylval.val= atof( yytext ); return NUM; } {DIGIT}*"."{DIGIT}+ { - printf( "A float: %s (%g)\n", yytext, - atof( yytext ) ); + E(2, "A float: %s (%g)\n", yytext, atof( yytext ) ); yylval.val= atof( yytext ); return NUM; } {ID} { symrec *s; - printf( "An identifier: %s\n", yytext ); + E(2, "An identifier: %s\n", yytext); s = getsym (yytext); if (s == 0) s = putsym (yytext, VAR); @@ -42,14 +40,21 @@ return s->type; } -"+"|"-"|"*"|"/"|"^"|"=" {printf( "An operator: %s\n", yytext ); +"+"|"-"|"*"|"/"|"^"|"=" { + E(2, "An operator: %s\n", yytext ); return (char) yytext[0];} -"(" return OBRAK; -")" return CBRAK; +"(" { + E(2, "(\n", NULL); + return OBRAK; + } +")" { + E(2, ")\n", NULL); + return CBRAK; + } [ \n\t]+ /* eat up whitespace */ -. printf( "Unrecognized character: %s\n", yytext ); +. fprintf(stderr, "Unrecognized character: %s\n", yytext ); %% =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/calc.tab.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- calc.tab.c 7 Dec 2003 23:53:06 -0000 1.6 +++ calc.tab.c 6 Jan 2004 15:49:55 -0000 1.7 @@ -886,7 +886,7 @@ case 2: #line 37 "calc.y" -{ printf ("result:\t%.10g\n", yyvsp[0].val); _result = yyvsp[0].val;; +{ E(2, "result:\t%.10g\n", yyvsp[0].val); _result = yyvsp[0].val;; break;} case 3: #line 40 "calc.y" =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/calc.y,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- calc.y 30 Dec 2003 21:06:22 -0000 1.6 +++ calc.y 6 Jan 2004 15:49:55 -0000 1.7 @@ -34,7 +34,7 @@ %% input: /* empty string */ - | exp { printf ("result:\t%.10g\n", $1); _result = $1;} + | exp { E(2, "result:\t%.10g\n", $1); _result = $1;} ; exp: NUM { $$ = $1; } =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/edje.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- edje.c 5 Jan 2004 22:56:56 -0000 1.4 +++ edje.c 6 Jan 2004 15:49:55 -0000 1.5 @@ -375,7 +375,8 @@ o = edje_object_add(evas); evas_object_move(o, 0, 0); - snprintf(theme, PATH_MAX, PACKAGE_DATA_DIR "/themes/%s.eet", eq->conf.theme); + snprintf(theme, PATH_MAX, PACKAGE_DATA_DIR "/themes/%s.eet", + eq->conf.theme); if (edje_object_file_set(o, theme, "Main")) { evas_object_name_set(o, "edje"); edje_object_size_min_get(o, &mw, &mh); =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- gui.c 5 Jan 2004 22:56:56 -0000 1.25 +++ gui.c 6 Jan 2004 15:49:55 -0000 1.26 @@ -45,6 +45,7 @@ {5, 2, 1, 1, "2", "2", (void *) calc_append, NULL}, {5, 3, 1, 1, "3", "3", (void *) calc_append, NULL}, {5, 4, 2, 1, "=", "=", (void *) calc_exec, NULL}, + /* {6, 1, 1, 1, "c", "c", (void *) calc_clear, NULL},*/ {6, 1, 1, 2, "0", "0", (void *) calc_append, NULL}, {6, 3, 1, 1, ".", ".", (void *) calc_append, NULL}, @@ -121,6 +122,7 @@ if (calc_mode == SCI) { int displen = strlen(disp); + if (displen > 0) { disp[displen] = '='; disp[displen + 1] = '\0'; =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/lex.yy.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- lex.yy.c 30 Dec 2003 21:06:22 -0000 1.7 +++ lex.yy.c 6 Jan 2004 15:49:55 -0000 1.8 @@ -1,7 +1,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/enlightenment/misc/equate/src/lex.yy.c,v 1.7 2003/12/30 21:06:22 handyande Exp $ + * $Header: /cvsroot/enlightenment/misc/equate/src/lex.yy.c,v 1.8 2004/01/06 15:49:55 handyande Exp $ */ #define FLEX_SCANNER @@ -378,7 +378,8 @@ #line 4 "calc.l" /* need this for the call to atof() below */ #include <math.h> -#line 382 "lex.yy.c" + +#line 383 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -529,10 +530,10 @@ register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 13 "calc.l" +#line 14 "calc.l" -#line 536 "lex.yy.c" +#line 537 "lex.yy.c" if ( yy_init ) { @@ -617,10 +618,9 @@ case 1: YY_RULE_SETUP -#line 15 "calc.l" +#line 16 "calc.l" { - printf( "An integer: %s (%g)\n", yytext, - atof( yytext ) ); + E(2, "An integer: %s (%g)\n", yytext, atof( yytext ) ); yylval.val= atof( yytext ); return NUM; } @@ -629,28 +629,26 @@ YY_RULE_SETUP #line 22 "calc.l" { - printf( "A float: %s (%g)\n", yytext, - atof( yytext ) ); + E(2, "A float: %s (%g)\n", yytext, atof( yytext ) ); yylval.val= atof( yytext ); return NUM; } YY_BREAK case 3: YY_RULE_SETUP -#line 28 "calc.l" +#line 27 "calc.l" { - printf( "A float: %s (%g)\n", yytext, - atof( yytext ) ); + E(2, "A float: %s (%g)\n", yytext, atof( yytext ) ); yylval.val= atof( yytext ); return NUM; } YY_BREAK case 4: YY_RULE_SETUP -#line 35 "calc.l" +#line 33 "calc.l" { symrec *s; - printf( "An identifier: %s\n", yytext ); + E(2, "An identifier: %s\n", yytext); s = getsym (yytext); if (s == 0) s = putsym (yytext, VAR); @@ -660,36 +658,43 @@ YY_BREAK case 5: YY_RULE_SETUP -#line 45 "calc.l" -{printf( "An operator: %s\n", yytext ); +#line 43 "calc.l" +{ + E(2, "An operator: %s\n", yytext ); return (char) yytext[0];} YY_BREAK case 6: YY_RULE_SETUP -#line 48 "calc.l" -return OBRAK; +#line 47 "calc.l" +{ + E(2, "(\n", NULL); + return OBRAK; + } YY_BREAK case 7: YY_RULE_SETUP -#line 49 "calc.l" -return CBRAK; +#line 51 "calc.l" +{ + E(2, ")\n", NULL); + return CBRAK; + } YY_BREAK case 8: YY_RULE_SETUP -#line 51 "calc.l" +#line 56 "calc.l" /* eat up whitespace */ YY_BREAK case 9: YY_RULE_SETUP -#line 53 "calc.l" -printf( "Unrecognized character: %s\n", yytext ); +#line 58 "calc.l" +fprintf(stderr, "Unrecognized character: %s\n", yytext ); YY_BREAK case 10: YY_RULE_SETUP -#line 54 "calc.l" +#line 59 "calc.l" ECHO; YY_BREAK -#line 693 "lex.yy.c" +#line 698 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1570,6 +1575,6 @@ return 0; } #endif -#line 54 "calc.l" +#line 59 "calc.l" =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/main.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- main.c 5 Jan 2004 22:56:56 -0000 1.12 +++ main.c 6 Jan 2004 15:49:55 -0000 1.13 @@ -17,7 +17,8 @@ printf("Display modes:\n"); printf(" -b, --basic Use Equate in basic mode (default)\n"); printf(" -s, --scientific Use Equate in scientific mode\n"); - printf(" -t, --theme [str] Use themed (edje) mode and load specified theme\n"); + printf + (" -t, --theme [str] Use themed (edje) mode and load specified theme\n"); exit(0); } @@ -68,10 +69,9 @@ else if (!strcmp(arg, "--theme") || !strcmp(arg, "-t")) { equate.conf.mode = EDJE; equate.conf.theme = argv[++nextarg]; - } - else if (!strcmp(arg, "--exec") || !strcmp(arg, "-e")) + } else if (!strcmp(arg, "--exec") || !strcmp(arg, "-e")) exec(argv[++nextarg]); - + else if (!strcmp(arg, "--help") || !strcmp(arg, "-h")) |
From: <enl...@li...> - 2004-01-06 21:13:14
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: gui.c Log Message: bound <esc> to c and <enter> and <return> to = cleaned up some source *now equate should be fit for anyone to use* (in basic mode at least...) =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- gui.c 6 Jan 2004 15:49:55 -0000 1.26 +++ gui.c 6 Jan 2004 21:13:13 -0000 1.27 @@ -20,16 +20,17 @@ } equate_button; void calc_append(Ewl_Widget * w, void *ev_data, void *user_data); -void calc_clear(Ewl_Widget * w, void *ev_data, void *user_data); +void calc_clear_cb(Ewl_Widget * w, void *ev_data, void *user_data); void calc_op(Ewl_Widget * w, void *ev_data, void *user_data); void calc_exec(void); +void calc_clear(void); static int basic_width = 98; static int basic_height = 138; static int basic_cols = 4; static int basic_rows = 6; static equate_button basic_buttons[] = { - {2, 1, 1, 1, "c", "c", (void *) calc_clear, NULL}, + {2, 1, 1, 1, "c", "c", (void *) calc_clear_cb, NULL}, {2, 2, 1, 1, "/", "/", (void *) calc_append, NULL}, {2, 3, 1, 1, "*", "*", (void *) calc_append, NULL}, {2, 4, 1, 1, "-", "-", (void *) calc_append, NULL}, @@ -46,7 +47,6 @@ {5, 3, 1, 1, "3", "3", (void *) calc_append, NULL}, {5, 4, 2, 1, "=", "=", (void *) calc_exec, NULL}, -/* {6, 1, 1, 1, "c", "c", (void *) calc_clear, NULL},*/ {6, 1, 1, 2, "0", "0", (void *) calc_append, NULL}, {6, 3, 1, 1, ".", ".", (void *) calc_append, NULL}, }; @@ -76,7 +76,7 @@ {6, 2, 1, 1, "2", "2", (void *) calc_append, NULL}, {6, 3, 1, 1, "3", "3", (void *) calc_append, NULL}, {6, 4, 2, 1, "=", "=", (void *) calc_exec, NULL}, - {7, 1, 1, 1, "c", "c", (void *) calc_clear, NULL}, + {7, 1, 1, 1, "c", "c", (void *) calc_clear_cb, NULL}, {7, 2, 1, 1, "0", "0", (void *) calc_append, NULL}, {7, 3, 1, 1, ".", ".", (void *) calc_append, NULL}, }; @@ -119,9 +119,10 @@ calc_exec(void) { char res[BUFLEN]; + int displen; if (calc_mode == SCI) { - int displen = strlen(disp); + displen = strlen(disp); if (displen > 0) { disp[displen] = '='; @@ -136,7 +137,13 @@ } void -calc_clear(Ewl_Widget * w, void *ev_data, void *user_data) +calc_clear_cb(Ewl_Widget * w, void *ev_data, void *user_data) +{ + calc_clear(); +} + +void +calc_clear(void) { equate_clear(); update_display("0"); @@ -163,44 +170,47 @@ if (ev->key_compose && !strcmp(ev->key_compose, "q")) equate_quit(); else - do_key(ev_data, EWL_CALLBACK_MOUSE_DOWN); + if ((!strcmp(ev->keyname, "Enter") || !strcmp(ev->keyname, "KP_Enter") || + !strcmp(ev->keyname, "Return") || !strcmp(ev->keyname, "KP_Return"))) + calc_exec(); + else if (!strcmp(ev->keyname, "Escape")) + calc_clear(); + else + do_key(ev->key_compose, EWL_CALLBACK_MOUSE_DOWN); } void key_un_press(Ewl_Widget * w, void *ev_data, void *user_data) { - do_key(ev_data, EWL_CALLBACK_MOUSE_UP); + Ecore_X_Event_Key_Up *ev; + + ev = ev_data; + do_key(ev->key_compose, EWL_CALLBACK_MOUSE_UP); } int -do_key(void *ev_data, int action) +do_key(char *data, int action) { - Ecore_X_Event_Key_Down *ev; - - ev = ev_data; - - if (ev->key_compose) - E(6, "Key pressed: %s\n", ev->key_compose); - int bc; + equate_button *but; + + if (!data) + return; + E(6, "Key pressed: %s\n", data); if (buttons == sci_buttons) bc = sizeof(sci_buttons); else bc = sizeof(basic_buttons); bc /= sizeof(equate_button); - - equate_button *but = buttons; + but = buttons; while (bc-- > 0) { - if (ev->key_compose) - if (!strcmp(ev->key_compose, but->cmd)) { - E(4, "Pressing button %s\n", but->text); - - ewl_callback_call(but->button, action); - - break; - } + if (!strcmp(data, but->cmd)) { + E(4, "Pressing button %s\n", but->text); + ewl_callback_call(but->button, action); + break; + } but++; } @@ -236,7 +246,7 @@ void draw_ewl(Mode draw_mode) { - int count; + int count, bc; int width, height, cols, rows; if (draw_mode == SCI) { @@ -256,14 +266,12 @@ } count /= sizeof(equate_button); - Ewl_Widget *table; Ewl_Widget *button[count]; Ewl_Widget *cell[count]; Ewl_Widget *displaycell; disp[0] = '\0'; - main_win = ewl_window_new(); ewl_window_set_title(EWL_WINDOW(main_win), "Equate"); ewl_window_set_name(EWL_WINDOW(main_win), "Equate"); @@ -271,43 +279,33 @@ ewl_object_set_minimum_size(EWL_OBJECT(main_win), width, height); ewl_callback_append(main_win, EWL_CALLBACK_DELETE_WINDOW, destroy_main_window, NULL); - ewl_callback_append(main_win, EWL_CALLBACK_KEY_DOWN, key_press, NULL); ewl_callback_append(main_win, EWL_CALLBACK_KEY_UP, key_un_press, NULL); - main_box = ewl_vbox_new(); ewl_container_append_child(EWL_CONTAINER(main_win), main_box); ewl_object_set_padding(EWL_OBJECT(main_box), 3, 3, 3, 3); - - /* main display element - needed for both modes */ ewl_object_set_fill_policy(EWL_OBJECT(main_box), EWL_FLAG_FILL_FILL); ewl_container_append_child(EWL_CONTAINER(main_win), main_box); - table = ewl_grid_new(cols, rows); ewl_container_append_child(EWL_CONTAINER(main_box), table); ewl_widget_show(table); - displaycell = ewl_cell_new(); display = ewl_text_new("0"); ewl_object_set_alignment(EWL_OBJECT(display), EWL_FLAG_ALIGN_RIGHT); - /* layout the display area, the table helps align the display even when in * basic mode */ Ewl_Widget *disp_table; Ewl_Widget *disp_cell[2]; - if (calc_mode == SCI) disp_table = ewl_grid_new(1, 2); else disp_table = ewl_grid_new(1, 1); disp_cell[1] = ewl_cell_new(); eqn_disp = ewl_text_new(""); - if (calc_mode == SCI) { ewl_object_set_alignment(EWL_OBJECT(eqn_disp), EWL_FLAG_ALIGN_LEFT); - ewl_container_append_child(EWL_CONTAINER(disp_cell[1]), eqn_disp); disp_cell[2] = ewl_cell_new(); ewl_container_append_child(EWL_CONTAINER(disp_cell[2]), display); @@ -315,9 +313,7 @@ } else ewl_container_append_child(EWL_CONTAINER(disp_cell[1]), display); ewl_widget_show(display); - ewl_container_append_child(EWL_CONTAINER(displaycell), disp_table); - ewl_widget_show(disp_cell[1]); ewl_grid_add(EWL_GRID(disp_table), disp_cell[1], 1, 1, 1, 1); if (calc_mode == SCI) { @@ -327,24 +323,17 @@ ewl_widget_configure(disp_table); ewl_widget_show(disp_table); /* end display layout */ - - ewl_grid_add(EWL_GRID(table), displaycell, 1, 4, 1, 1); - ewl_widget_show(displaycell); - - int bc = count; + bc = count; equate_button *but = buttons; while (bc-- > 0) { cell[bc] = ewl_cell_new(); button[bc] = ewl_button_new(but->text); but->button = button[bc]; - ewl_callback_append(button[bc], EWL_CALLBACK_MOUSE_DOWN, but->callback, but->cmd); - - ewl_container_append_child(EWL_CONTAINER(cell[bc]), button[bc]); ewl_box_set_homogeneous(EWL_BOX(button[bc]), TRUE); ewl_object_set_alignment(EWL_OBJECT @@ -355,17 +344,13 @@ but->row + but->width - 1); ewl_widget_show(button[bc]); ewl_widget_show(cell[bc]); - but++; } ewl_widget_configure(table); - ewl_widget_show(main_box); ewl_widget_show(main_win); - ewl_main(); - return; } |
From: <enl...@li...> - 2004-01-06 21:13:44
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate Modified Files: TODO Log Message: bound <esc> to c and <enter> and <return> to = cleaned up some source *now equate should be fit for anyone to use* (in basic mode at least...) =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/TODO,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- TODO 8 Dec 2003 11:42:13 -0000 1.3 +++ TODO 6 Jan 2004 21:13:13 -0000 1.4 @@ -1,5 +1,3 @@ -make <enter> perform = add % root etc fix */ , *2= etc -fix .5 != 0.5 |
From: <enl...@li...> - 2004-01-07 23:54:42
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/data/images Added Files: text_button.png text_display.png Log Message: Added a new black/white theme for smaller simple edje interface |
From: <enl...@li...> - 2004-01-07 23:55:12
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/data Modified Files: Makefile.am Added Files: text.edc Log Message: Added a new black/white theme for smaller simple edje interface =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/data/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 8 Dec 2003 11:42:13 -0000 1.1 +++ Makefile.am 7 Jan 2004 23:54:40 -0000 1.2 @@ -1,5 +1,5 @@ -EDCS = equate.edc +EDCS = equate.edc text.edc EETS = $(EDCS:%.edc=%.eet) SUFFIXES = .edc .eet |
From: <enl...@li...> - 2004-01-08 16:44:33
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: edje.c Log Message: Cheers digitalfallout - missing \n =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/edje.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- edje.c 6 Jan 2004 15:49:55 -0000 1.5 +++ edje.c 8 Jan 2004 16:44:32 -0000 1.6 @@ -390,7 +390,7 @@ edje_callback_define(o); evas_object_show(o); } else { - fprintf(stderr, "Unable to open %s for edje theme", theme); + fprintf(stderr, "Unable to open %s for edje theme\n", theme); ecore_evas_shutdown(); return; } |
From: <enl...@li...> - 2004-01-12 16:11:53
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: edje.c main.c Log Message: Updated to use ecore_config's default calls Indented df's code :-p =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/edje.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- edje.c 10 Jan 2004 19:45:11 -0000 1.7 +++ edje.c 12 Jan 2004 16:11:51 -0000 1.8 @@ -12,7 +12,7 @@ * Added theme path detection * */ - + #define EQ_EXIT 1 #define OP_CLR 2 #define OP_DIV 3 @@ -380,13 +380,13 @@ o = edje_object_add(evas); evas_object_move(o, 0, 0); - + if ((strstr(eq->conf.theme, "/"))) - snprintf(theme, PATH_MAX, eq->conf.theme); - else - snprintf(theme, PATH_MAX, PACKAGE_DATA_DIR "/themes/%s.eet", - eq->conf.theme); - + snprintf(theme, PATH_MAX, eq->conf.theme); + else + snprintf(theme, PATH_MAX, PACKAGE_DATA_DIR "/themes/%s.eet", + eq->conf.theme); + if (edje_object_file_set(o, theme, "Main")) { evas_object_name_set(o, "edje"); edje_object_size_min_get(o, &mw, &mh); =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/main.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- main.c 6 Jan 2004 15:49:55 -0000 1.13 +++ main.c 12 Jan 2004 16:11:51 -0000 1.14 @@ -85,6 +85,9 @@ if (conf_srv = ecore_config_init("equate")) { props = ecore_config_bundle_new(conf_srv, "settings"); + /* this controls our defaults */ + ecore_config_default_int(props, "/settings/mode", BASIC, 0, 3, 1); + ecore_config_default_string(props, "/settings/theme", "equate"); @@ -95,12 +98,13 @@ equate.conf.mode = ecore_config_get_int(props, "/settings/mode"); if ((equate.conf.mode == EDJE) && (!equate.conf.theme)) equate.conf.theme = ecore_config_get_string(props, "/settings/theme"); + } else { + /* in case ecore_config fails to init */ + if (equate.conf.mode == DEFAULT) + equate.conf.mode = BASIC; + if ((equate.conf.mode == EDJE) && (!equate.conf.theme)) + equate.conf.theme = "equate"; } - if (equate.conf.mode == DEFAULT) - equate.conf.mode = BASIC; - if ((equate.conf.mode == EDJE) && (!equate.conf.theme)) - equate.conf.theme = "equate"; - equate_init(&equate); init_gui(&equate, argc, argv); |
From: <enl...@li...> - 2004-01-13 21:18:06
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: main.c Log Message: slightly updated ecore_config api :( =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/main.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- main.c 12 Jan 2004 16:11:51 -0000 1.14 +++ main.c 13 Jan 2004 21:18:05 -0000 1.15 @@ -86,7 +86,7 @@ if (conf_srv = ecore_config_init("equate")) { props = ecore_config_bundle_new(conf_srv, "settings"); /* this controls our defaults */ - ecore_config_default_int(props, "/settings/mode", BASIC, 0, 3, 1); + ecore_config_default_int_bound(props, "/settings/mode", BASIC, 0, 3, 1); ecore_config_default_string(props, "/settings/theme", "equate"); |
From: <enl...@li...> - 2004-01-14 16:01:22
|
Enlightenment CVS committal Author : handyande Project : misc Module : equate Dir : misc/equate/src Modified Files: main.c Equate.h gui.c edje.c Log Message: More alteration of code cleaning init and quit Move towards a reloadable interface controlled by examine =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/main.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- main.c 13 Jan 2004 21:18:05 -0000 1.15 +++ main.c 14 Jan 2004 16:01:21 -0000 1.16 @@ -3,6 +3,7 @@ #include <Ecore_Config.h> Ecore_Config_Bundle *props; +Equate equate; void print_usage(void) @@ -44,31 +45,79 @@ void equate_quit(void) { - ewl_main_quit(); + equate_quit_gui(); if (props) ecore_config_save(props); ecore_config_exit(); + exit(0); } +/******************************** + * listeners * + ********************************/ +int +gui_listener(const char *key, const Ecore_Config_Type type, const int tag, + void *data, void *bundle) +{ + equate_quit_gui(); + switch (tag) { + case 0: + equate.conf.mode = ecore_config_get_int(bundle, key); + break; + case 1: + equate.conf.theme = ecore_config_get_string(bundle, key); + break; + } + equate_init_gui(&equate, 0, NULL); + return 0; +} + +/******************************** + * main * + ********************************/ + int main(int argc, char *argv[], char *env[]) { - Equate equate; int nextarg = 1; - char *arg; + char *arg, *tmp; Ecore_Config_Server *conf_srv; equate.conf.mode = DEFAULT; + if (conf_srv = ecore_config_init("equate")) { + props = ecore_config_bundle_new(conf_srv, "settings"); + /* this controls our defaults */ + ecore_config_default_int_bound(props, "/settings/mode", BASIC, 0, 3, 1); + ecore_config_default_string(props, "/settings/theme", "equate"); + + ecore_config_load(props); + equate.conf.mode = ecore_config_get_int(props, "/settings/mode"); + equate.conf.theme = ecore_config_get_string(props, "/settings/theme"); + + } else { + /* in case ecore_config fails to init */ + equate.conf.mode = BASIC; + equate.conf.theme = "equate"; + } + while (nextarg < argc) { arg = argv[nextarg]; - if (!strcmp(arg, "--scientific") || !strcmp(arg, "-s")) + if (!strcmp(arg, "--scientific") || !strcmp(arg, "-s")) { equate.conf.mode = SCI; - else if (!strcmp(arg, "--basic") || !strcmp(arg, "-b")) + ecore_config_set_int(props, "/settings/mode", SCI); + } else if (!strcmp(arg, "--basic") || !strcmp(arg, "-b")) { equate.conf.mode = BASIC; - else if (!strcmp(arg, "--theme") || !strcmp(arg, "-t")) { + ecore_config_set_int(props, "/settings/mode", BASIC); + } else if (!strcmp(arg, "--theme") || !strcmp(arg, "-t")) { equate.conf.mode = EDJE; - equate.conf.theme = argv[++nextarg]; + ecore_config_set_int(props, "/settings/mode", EDJE); + tmp = argv[++nextarg]; + if (tmp) { + equate.conf.theme = tmp; + ecore_config_set_string(props, "/settings/theme", + equate.conf.theme); + } } else if (!strcmp(arg, "--exec") || !strcmp(arg, "-e")) exec(argv[++nextarg]); @@ -83,31 +132,12 @@ nextarg++; } - if (conf_srv = ecore_config_init("equate")) { - props = ecore_config_bundle_new(conf_srv, "settings"); - /* this controls our defaults */ - ecore_config_default_int_bound(props, "/settings/mode", BASIC, 0, 3, 1); - ecore_config_default_string(props, "/settings/theme", "equate"); - - - - - ecore_config_load(props); - - if (equate.conf.mode == DEFAULT) - equate.conf.mode = ecore_config_get_int(props, "/settings/mode"); - if ((equate.conf.mode == EDJE) && (!equate.conf.theme)) - equate.conf.theme = ecore_config_get_string(props, "/settings/theme"); - } else { - /* in case ecore_config fails to init */ - if (equate.conf.mode == DEFAULT) - equate.conf.mode = BASIC; - if ((equate.conf.mode == EDJE) && (!equate.conf.theme)) - equate.conf.theme = "equate"; - } - equate_init(&equate); - - init_gui(&equate, argc, argv); + ecore_config_listen(props, "gui_mode", "/settings/mode", gui_listener, + 0, NULL); + ecore_config_listen(props, "gui_theme", "/settings/theme", gui_listener, + 1, NULL); +// equate_init(&equate); +// equate_init_gui(&equate, argc, argv); return 0; } =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/Equate.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- Equate.h 5 Jan 2004 22:56:56 -0000 1.8 +++ Equate.h 14 Jan 2004 16:01:21 -0000 1.9 @@ -43,3 +43,5 @@ void equate_init(Equate * equate); void equate_quit(); +void equate_init_gui(Equate * equate, int argc, char **argv); +void equate_quit_gui(); =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/gui.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -3 -r1.27 -r1.28 --- gui.c 6 Jan 2004 21:13:13 -0000 1.27 +++ gui.c 14 Jan 2004 16:01:21 -0000 1.28 @@ -1,5 +1,7 @@ #include "Equate.h" +int inited = 0; + Ewl_Widget *main_win; Ewl_Widget *main_box; Ewl_Widget *display; @@ -155,7 +157,6 @@ void destroy_main_window(Ewl_Widget * main_win, void *ev_data, void *user_data) { - ewl_widget_destroy(main_win); equate_quit(); return; } @@ -218,8 +219,10 @@ } void -init_gui(Equate * equate, int argc, char **argv) +equate_init_gui(Equate * equate, int argc, char **argv) { + if (inited == 1) + return; if (equate) { calc_mode = equate->conf.mode; switch (calc_mode) { @@ -227,7 +230,7 @@ if (ecore_init()) { ecore_app_args_set(argc, (const char **) argv); equate_edje_init(equate); - ecore_shutdown(); + inited = 1; } break; /* @@ -238,12 +241,38 @@ default: ewl_init(&argc, argv); draw_ewl(equate->conf.mode); + ewl_main(); + inited = 1; break; } } } void +equate_quit_gui() +{ + if (inited == 0) + return; + switch (calc_mode) { + case EDJE: + equate_edje_quit(); + inited = 0; + break; + /* + * case DEFAULT: + * case BASIC: + * case SCI: + */ + default: + ewl_main_quit(); + ewl_widget_destroy(main_win); + ewl_deinit(); + inited = 0; + break; + } +} + +void draw_ewl(Mode draw_mode) { int count, bc; @@ -351,6 +380,5 @@ ewl_widget_configure(table); ewl_widget_show(main_box); ewl_widget_show(main_win); - ewl_main(); return; } =================================================================== RCS file: /cvsroot/enlightenment/misc/equate/src/edje.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- edje.c 12 Jan 2004 16:11:51 -0000 1.8 +++ edje.c 14 Jan 2004 16:01:21 -0000 1.9 @@ -289,7 +289,7 @@ static void win_del_cb(Ecore_Evas * ee) { - ecore_main_loop_quit(); + equate_quit(); } /** @@ -335,7 +335,7 @@ static int exit_cb(void *ev, int ev_type, void *data) { - ecore_main_loop_quit(); + equate_quit(); return (0); } @@ -401,14 +401,17 @@ evas_object_show(o); } else { fprintf(stderr, "Unable to open %s for edje theme\n", theme); - ecore_evas_shutdown(); + equate_quit(); return; } ecore_evas_show(eq->gui.ee); ecore_main_loop_begin(); - ecore_evas_shutdown(); } - if (props) - ecore_config_save(props); - ecore_config_exit(); +} + +void +equate_edje_quit() +{ + ecore_main_loop_quit(); + ecore_evas_shutdown(); } |