antiright-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Antiright-devel] antiright gtkshell/about_dialog.c gtkshell/gtks...


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright gtkshell/about_dialog.c gtkshell/gtks...
Date: Sat, 28 Apr 2007 22:26:24 +0000

CVSROOT:        /sources/antiright
Module name:    antiright
Changes by:     Jeffrey Bedard <jefbed> 07/04/28 22:26:23

Modified files:
        gtkshell       : about_dialog.c gtkshell.c gtkshell.h 
                         guidl_dialog.c guidl_dictionary.c 
                         guidl_dictionary.h guidl_options.c guidl_util.c 
                         guidl_util.h guidl_widgets.c init.c menu.c 
                         options.c row.c terminal.c terminal.h text.c 
                         text.h 
        libantiright   : macros.h pipe.c pipe.h tuple.c tuple.h util.c 
                         util.h 

Log message:
        Major refactoring and splitting out functionality to static procedures.
        Started using class system extensively through dictionary code.
        Began modifying base structure classes to follow class conventions.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/about_dialog.c?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/gtkshell.c?cvsroot=antiright&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/gtkshell.h?cvsroot=antiright&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl_dialog.c?cvsroot=antiright&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl_dictionary.c?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl_dictionary.h?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl_options.c?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl_util.c?cvsroot=antiright&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl_util.h?cvsroot=antiright&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl_widgets.c?cvsroot=antiright&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/init.c?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/menu.c?cvsroot=antiright&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/options.c?cvsroot=antiright&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/row.c?cvsroot=antiright&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/terminal.c?cvsroot=antiright&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/terminal.h?cvsroot=antiright&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/text.c?cvsroot=antiright&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/text.h?cvsroot=antiright&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/macros.h?cvsroot=antiright&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/pipe.c?cvsroot=antiright&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/pipe.h?cvsroot=antiright&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/tuple.c?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/tuple.h?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/util.c?cvsroot=antiright&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/util.h?cvsroot=antiright&r1=1.7&r2=1.8

Patches:
Index: gtkshell/about_dialog.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/about_dialog.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gtkshell/about_dialog.c     2 Apr 2007 18:31:41 -0000       1.1
+++ gtkshell/about_dialog.c     28 Apr 2007 22:26:23 -0000      1.2
@@ -22,23 +22,46 @@
 
 #include "gtkshell.h"
 
-static void
-setup_about_license(GtkWidget * dialog)
+static gchar *
+get_license_filename()
 {
-       gchar * text;
        gchar * filename;
+
        ar_asprintf(&filename, "%s/%s/antiright/COPYING",
                        PREFIX, "share/doc");
+
+       return filename;
+}
+
+static gchar *
+get_license_text()
+{
+       gchar * filename;
+
+       filename=get_license_filename();
+       {
+               gchar * text;
+
        text=antiright_read_named_file(filename);
        g_free(filename);
+
+               return text;
+       }
+}
+
+static void
+setup_about_license(GtkWidget * dialog)
+{
+       gchar * text;
+
+       text=get_license_text();
        gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog),
                        text);
        g_free(text);
-
 }
 
 static void
-setup_about_fields(GtkWidget * dialog)
+setup_authors_field(GtkWidget * dialog)
 {
        const gchar *authors[] =
        {
@@ -46,6 +69,15 @@
                 NULL
        };
 
+       gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog),
+                                    authors);
+}
+
+static void
+setup_about_fields(GtkWidget * dialog)
+{
+       setup_authors_field(dialog);
+
        gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog),
                                     PACKAGE_STRING);
 
@@ -57,8 +89,6 @@
 
        setup_about_license(dialog);
        
-       gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog),
-                                    authors);
 
        gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog),
                                "The desktop scripting environment.");

Index: gtkshell/gtkshell.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/gtkshell.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- gtkshell/gtkshell.c 16 Apr 2007 01:19:51 -0000      1.25
+++ gtkshell/gtkshell.c 28 Apr 2007 22:26:23 -0000      1.26
@@ -49,14 +49,14 @@
        return (window);
 }
 static void
-gsh_GSH_Rows(struct GSH_Rows * rows)
+gsh_setup_GSH_Rows(struct GSH_Rows * rows)
 {
        rows->row = 1;
        /* Use an arbitrary, though reasonable, initial number of rows.  */
        rows->rows = 8;
 }
 static void
-gsh_GSH_Updater(struct GSH_Updater * update)
+gsh_setup_GSH_Updater(struct GSH_Updater * update)
 {
        update->period = 1000;
 
@@ -64,13 +64,13 @@
        update->list = (GSList *) NULL;
 }
 void
-gsh_GSH(struct GSH * gsh)
+gsh_setup_GSH(struct GSH * gsh)
 {
        gsh->geometry = (gchar *)NULL;
        gsh->bflags=0;
-       gsh_GSH_Rows(&(gsh->rows));
-       gsh_GSH_Updater(&(gsh->update));
-       gsh_GSH_Terminal(&(gsh->terminal));
+       gsh_setup_GSH_Rows(&(gsh->rows));
+       gsh_setup_GSH_Updater(&(gsh->update));
+       gsh_setup_GSH_Terminal(&(gsh->terminal));
 }
 
 struct GSH *
@@ -79,7 +79,7 @@
        struct GSH *gsh;
 
        gsh = (struct GSH *) xmalloc(sizeof(struct GSH));
-       gsh_GSH(gsh);
+       gsh_setup_GSH(gsh);
 
        return gsh;
 }

Index: gtkshell/gtkshell.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/gtkshell.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- gtkshell/gtkshell.h 16 Apr 2007 01:50:31 -0000      1.34
+++ gtkshell/gtkshell.h 28 Apr 2007 22:26:23 -0000      1.35
@@ -104,7 +104,7 @@
 gsh_create_main_window();
 
 void
-gsh_GSH(struct GSH * gsh);
+gsh_setup_GSH(struct GSH * gsh);
 
 struct GSH *
 gsh_new_GSH();

Index: gtkshell/guidl_dialog.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl_dialog.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- gtkshell/guidl_dialog.c     16 Apr 2007 01:19:51 -0000      1.4
+++ gtkshell/guidl_dialog.c     28 Apr 2007 22:26:23 -0000      1.5
@@ -44,8 +44,8 @@
 static void
 setup_dictionary()
 {
-       setup_definitions(gsh_guidl_env->dictionaries.dialogs
-                         =ar_new_ARTupleVector());
+       setup_definitions(gsh_guidl_env->dictionaries->dialogs
+                         = ARNEW(ar, ARTupleVector));
 }
 
 void
@@ -56,9 +56,8 @@
        {
                const gchar * result;
 
-               result=gsh_guidl_lookup(gsh_guidl_env->dictionaries.dialogs,
-                                       (gpointer)dialog_type);
-               if(result != NULL)
+               if((result=$(gsh_guidl_env->dictionaries->dialogs,
+                            find, dialog_type)) != NULL)
                        gsh_guidl_add(result, argument);
        }
 }

Index: gtkshell/guidl_dictionary.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl_dictionary.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gtkshell/guidl_dictionary.c 24 Apr 2007 00:17:01 -0000      1.1
+++ gtkshell/guidl_dictionary.c 28 Apr 2007 22:26:23 -0000      1.2
@@ -22,34 +22,16 @@
 
 #include "gtkshell.h"
 
-const gchar *
-gsh_guidl_lookup(struct ARTupleVector * dict, gchar * term)
-{
-#ifdef DEBUG
-       ARPASSERT(dict);
-       ARPASSERT(term);
-#endif /* DEBUG */
-
-       {
-               const gchar * result;
-
-               if((result = dict->find(dict, term)) == NULL)
-                       ARWARN("item not found in dictionary");
-               
-               return result;
-       }
-}
-
 #define GSH_DELETE_DICTIONARY(base, dict)\
 {\
        if(base->dict != NULL)\
        {\
-               ar_delete_ARTupleVector(base->dict);\
+               $(base->dict, delete);\
                base->dict=NULL;\
        }\
 }
 
-void
+static void
 gsh_delete_GDLDictionaries_contents(struct GDLDictionaries * dictionaries)
 {
        GSH_DELETE_DICTIONARY(dictionaries, widgets);
@@ -57,10 +39,30 @@
        GSH_DELETE_DICTIONARY(dictionaries, dialogs);
 }
 
-void
+static void
 gsh_delete_GDLDictionaries(struct GDLDictionaries * dictionaries)
 {
        gsh_delete_GDLDictionaries_contents(dictionaries);
        g_free(dictionaries);
 }
 
+static void
+gsh_setup_GDLDictionaries(struct GDLDictionaries * dictionaries)
+{
+       dictionaries->widgets=NULL;
+       dictionaries->options=NULL;
+       dictionaries->dialogs=NULL;
+       dictionaries->delete=&gsh_delete_GDLDictionaries;
+}
+
+struct GDLDictionaries *
+gsh_new_GDLDictionaries()
+{
+       struct GDLDictionaries * dictionaries;
+
+       dictionaries=g_malloc(sizeof(struct GDLDictionaries));
+       gsh_setup_GDLDictionaries(dictionaries);
+
+       return dictionaries;
+}
+

Index: gtkshell/guidl_dictionary.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl_dictionary.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gtkshell/guidl_dictionary.h 24 Apr 2007 00:17:02 -0000      1.1
+++ gtkshell/guidl_dictionary.h 28 Apr 2007 22:26:23 -0000      1.2
@@ -28,25 +28,17 @@
        struct ARTupleVector * widgets;
        struct ARTupleVector * dialogs;
        struct ARTupleVector * options;
+       void (*delete)(struct GDLDictionaries *);
 };
 
 #define GSH_GUIDL_CHECK_DICTIONARY(dict)\
 {\
-       if(gsh_guidl_env->dictionaries.dict==NULL)\
+       if(gsh_guidl_env->dictionaries->dict==NULL)\
                setup_dictionary();\
 }
 
 #define GSH_GUIDL_DEFINE(dict, a, b)\
-       dict->add(dict, (gchar *)a, (gchar *)b)
-
-const gchar *
-gsh_guidl_lookup(struct ARTupleVector * dict, gchar * term);
-
-void
-gsh_delete_GDLDictionaries_contents(struct GDLDictionaries * dictionaries);
-
-void
-gsh_delete_GDLDictionaries(struct GDLDictionaries * dictionaries);
+       $(dict, add, (gchar *)a, (gchar *)b)
 
 struct GDLDictionaries *
 gsh_new_GDLDictionaries();

Index: gtkshell/guidl_options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl_options.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gtkshell/guidl_options.c    24 Apr 2007 00:17:02 -0000      1.1
+++ gtkshell/guidl_options.c    28 Apr 2007 22:26:23 -0000      1.2
@@ -48,8 +48,8 @@
 static void
 setup_dictionary()
 {
-       gsh_guidl_env->dictionaries.options=ar_new_ARTupleVector();
-       setup_definitions(gsh_guidl_env->dictionaries.options);
+       setup_definitions(gsh_guidl_env->dictionaries->options
+                         =ARNEW(ar, ARTupleVector));
 }
 
 void
@@ -59,10 +59,9 @@
 
        GSH_GUIDL_CHECK_DICTIONARY(options);
 #ifdef DEBUG
-       ARPASSERT(gsh_guidl_env->dictionaries.options);
+       ARPASSERT(gsh_guidl_env->dictionaries->options);
 #endif /* DEBUG */
-       result=gsh_guidl_lookup(gsh_guidl_env->dictionaries.options,
-                               option);
+       result=$(gsh_guidl_env->dictionaries->options, find, option);
        g_free(option);
        if(result != NULL)
                gsh_guidl_add(result, argument);

Index: gtkshell/guidl_util.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl_util.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- gtkshell/guidl_util.c       27 Apr 2007 02:02:06 -0000      1.10
+++ gtkshell/guidl_util.c       28 Apr 2007 22:26:23 -0000      1.11
@@ -24,30 +24,22 @@
 
 struct GDLEnvironment * gsh_guidl_env=NULL;
 
-void
-gsh_setup_GDLEnvironment(struct GDLEnvironment * env)
-{
-       ar_setup_ARArguments(&(env->args));
-       gsh_setup_GDLDictionaries(&(env->dictionaries));
-}
-
-void
-gsh_setup_GDLDictionaries(struct GDLDictionaries * dictionaries)
+static void
+gsh_delete_GDLEnvironment(struct GDLEnvironment * env)
 {
-       dictionaries->widgets=NULL;
-       dictionaries->options=NULL;
-       dictionaries->dialogs=NULL;
+#ifdef DEBUG
+       ARPASSERT(env);
+#endif /* DEBUG */
+       $(env->dictionaries, delete);
+       ar_delete_ARArguments_contents(&(env->args));
 }
 
-struct GDLDictionaries *
-gsh_new_GDLDictionaries()
+static void
+gsh_setup_GDLEnvironment(struct GDLEnvironment * env)
 {
-       struct GDLDictionaries * dictionaries;
-
-       dictionaries=g_malloc(sizeof(struct GDLDictionaries));
-       gsh_setup_GDLDictionaries(dictionaries);
-
-       return dictionaries;
+       ar_setup_ARArguments(&(env->args));
+       env->dictionaries=ARNEW(gsh, GDLDictionaries);
+       env->delete=&gsh_delete_GDLEnvironment;
 }
 
 struct GDLEnvironment *
@@ -66,15 +58,6 @@
                gsh_guidl_env=gsh_new_GDLEnvironment();
 }
 
-
-void
-gsh_delete_GDLEnvironment(struct GDLEnvironment * env)
-{
-       ARPASSERT(env);
-       gsh_delete_GDLDictionaries_contents(&(env->dictionaries));
-       ar_delete_ARArguments_contents(&(env->args));
-}
-
 void
 gsh_append_arg(gchar * arg)
 {

Index: gtkshell/guidl_util.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl_util.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- gtkshell/guidl_util.h       27 Apr 2007 02:02:06 -0000      1.6
+++ gtkshell/guidl_util.h       28 Apr 2007 22:26:23 -0000      1.7
@@ -26,23 +26,14 @@
 
 struct GDLEnvironment
 {
-       struct GDLDictionaries dictionaries;
+       struct GDLDictionaries * dictionaries;
        struct ARArguments args;
+       void (*delete)(struct GDLEnvironment *);
 };
 
-void
-gsh_delete_GDLEnvironment(struct GDLEnvironment * env);
-
-
 struct GDLEnvironment *
 gsh_new_GDLEnvironment();
 
-void
-gsh_setup_GDLEnvironment(struct GDLEnvironment * env);
-
-void
-gsh_setup_GDLDictionaries(struct GDLDictionaries * dictionaries);
-
 int
 yylex();
 

Index: gtkshell/guidl_widgets.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl_widgets.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- gtkshell/guidl_widgets.c    27 Apr 2007 02:02:06 -0000      1.3
+++ gtkshell/guidl_widgets.c    28 Apr 2007 22:26:23 -0000      1.4
@@ -46,16 +46,15 @@
 static void
 setup_dictionary()
 {
-       setup_definitions(gsh_guidl_env->dictionaries.widgets
-                         =ar_new_ARTupleVector());
+       setup_definitions(gsh_guidl_env->dictionaries->widgets
+                         = ARNEW(ar, ARTupleVector));
 }
 
 void
 gsh_guidl_widget(gchar * widget, gchar * argument)
 {
        GSH_GUIDL_CHECK_DICTIONARY(widgets);
-       gsh_guidl_add(gsh_guidl_lookup(gsh_guidl_env->dictionaries.widgets, 
-                                      widget),
+       gsh_guidl_add($(gsh_guidl_env->dictionaries->widgets, find, widget),
                      argument);
        g_free(widget);         
 }

Index: gtkshell/init.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/init.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gtkshell/init.c     6 Apr 2007 15:32:22 -0000       1.1
+++ gtkshell/init.c     28 Apr 2007 22:26:23 -0000      1.2
@@ -39,7 +39,7 @@
 gsh_stack_init(struct GSH * gsh, int *argc, char ***argv)
 {
        gtk_init(argc, argv);
-       gsh_GSH(gsh);
+       gsh_setup_GSH(gsh);
        gsh->window = gsh_create_main_window();
 }
 

Index: gtkshell/menu.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/menu.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- gtkshell/menu.c     27 Apr 2007 21:33:27 -0000      1.4
+++ gtkshell/menu.c     28 Apr 2007 22:26:23 -0000      1.5
@@ -29,23 +29,18 @@
 menuitem_parse(struct GSH * gsh, gchar * string)
 {
        gchar **pair;
-       gchar * command;
 
        pair=g_strsplit(string, ",", 2);
 
-       command=g_strdup(pair[0]);
-
 #ifdef DEBUG
        ARPASSERT(command);
 #endif /* DEBUG */
 
        if(ARPBOOL(pair[0]) && ARPBOOL(pair[1]))
-               gsh_image_button(gsh, command, pair[1]);
+               gsh_image_button(gsh, pair[0], pair[1]);
        else
-               gsh_command_button(gsh, command);
+               gsh_command_button(gsh, pair[0]);
 
-       /* Command is duplicated in callback setup, so free here.  */
-       g_free(command);
        g_strfreev(pair);
 }
 
@@ -68,29 +63,44 @@
        gsh->rows.v=old_row;
 }
 
-void
-menubutton_parse(struct GSH * gsh, gchar **tokens)
+static GtkWidget *
+add_menu_bar(struct GSH * gsh)
 {
        GtkWidget * menu_bar;
-       GtkWidget * menu_item;
-       GtkWidget * menu;
        
        menu_bar = gtk_menu_bar_new();
        gtk_widget_show(menu_bar);
        gsh_manage(gsh, menu_bar);
-       {
+
+       return menu_bar;
+}
+
+static GtkWidget *
+add_menu_launcher(struct GSH * gsh, gchar * label)
+{
                GtkWidget * old_row; 
 
                old_row=gsh->rows.v;
-               gsh->rows.v=menu_bar;
+       gsh->rows.v=add_menu_bar(gsh);
                GSH_SET(GSH_MENU_BUTTON);
-               menu_item=gsh_add_button(gsh, tokens[0]);
+       {
+               GtkWidget * menu_item;
+
+               gtk_widget_show(menu_item=gsh_add_button(gsh, label));
                gsh->rows.v=old_row;
+
+               return menu_item;
        }
-       menu=gtk_menu_new();
-       gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), menu);
-       gtk_widget_show(menu_item);
-       gtk_widget_show(menu);
+}
+
+void
+menubutton_parse(struct GSH * gsh, gchar **tokens)
+{
+       GtkWidget * menu;
+
+       gtk_widget_show(menu=gtk_menu_new());
+       gtk_menu_item_set_submenu(GTK_MENU_ITEM(add_menu_launcher(gsh, 
+                                 tokens[0])), menu);
        add_menu_items(gsh, menu, tokens);
 }
 

Index: gtkshell/options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/options.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- gtkshell/options.c  21 Apr 2007 22:21:57 -0000      1.16
+++ gtkshell/options.c  28 Apr 2007 22:26:23 -0000      1.17
@@ -50,7 +50,7 @@
 common_guidl_handler(struct GSH * gsh)
 {
        if(gsh_guidl_env == NULL)
-               gsh_guidl_env=gsh_new_GDLEnvironment();
+               gsh_guidl_env=ARNEW(gsh, GDLEnvironment);
 
        /* Determine whether or not to include an initial
           dummy argument.  Needed as argv[0] is skipped
@@ -64,7 +64,7 @@
 #endif /* DEBUG */
        gsh_parse_arguments(gsh, gsh_guidl_env->args.argc, 
                            gsh_guidl_env->args.argv);
-       gsh_delete_GDLEnvironment(gsh_guidl_env);
+       $(gsh_guidl_env, delete);
        gsh_guidl_env=NULL;
 }
 
@@ -97,6 +97,8 @@
        case 'o':
                gsh_handle_option_arguments(gsh, argc, argv, counter);
                break;
+       case 't': /* test area.  */
+               break;
        default:
                g_warning("%s:  %s undefined\n", argv[0], argv[(*counter)]);
        }

Index: gtkshell/row.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/row.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- gtkshell/row.c      27 Apr 2007 20:51:42 -0000      1.16
+++ gtkshell/row.c      28 Apr 2007 22:26:23 -0000      1.17
@@ -29,40 +29,70 @@
        gsh->rows.row++;
 
 }
-void
-gsh_manage(struct GSH * gsh, GtkWidget *widget)
+
+static void
+manage_menu_item(GtkWidget * container, GtkWidget * widget)
+{
+       gtk_menu_shell_append(GTK_MENU_SHELL(container), widget);
+}
+
+static gboolean
+test_manage_menu_item(GtkWidget * container, GtkWidget * widget)
 {
-       if(GTK_IS_MENU(gsh->rows.v) || GTK_IS_MENU_BAR(gsh->rows.v)
-               || GTK_IS_MENU_ITEM(gsh->rows.v))
-       {
-               gtk_menu_shell_append(GTK_MENU_SHELL(gsh->rows.v), widget);
-       }
+       if(GTK_IS_MENU(container) || GTK_IS_MENU_BAR(container)
+          || GTK_IS_MENU_ITEM(container))
+               manage_menu_item(container, widget);
        else
-       {
+               return FALSE;
+
+       return TRUE;
+}
+
+static void
+manage_normal(struct GSH * gsh, GtkWidget * widget)
+{
                gsh_check_row(gsh);
                gtk_container_add(GTK_CONTAINER(gsh->rows.v), widget);
                gsh_manage_generic(gsh, widget);
-       }
 }
 
 void
-gsh_manage_unexpanded(struct GSH * gsh, GtkWidget *widget)
+gsh_manage(struct GSH * gsh, GtkWidget *widget)
 {
+       if(!test_manage_menu_item(gsh->rows.v, widget))
+               manage_normal(gsh, widget);
+}
+
+static gboolean
+test_manage_unexpanded(struct GSH * gsh)
+{
+       /* Alias to reduce dereferences.  */
+       GtkWidget * container = gsh->rows.v;
 
        /*
         * Checking for a 1 row counter allows the ACE Deskbar to
         * maintain a decent appearance.
         */
-       if ((gsh->rows.rows != 1) 
-           && !GTK_IS_MENU(gsh->rows.v)
-           && !GTK_IS_MENU_BAR(gsh->rows.v)
-           && !GTK_IS_MENU_ITEM(gsh->rows.v))
-       {
+
+       return ((gsh->rows.rows != 1) && !GTK_IS_MENU(container)
+               && !GTK_IS_MENU_BAR(container) 
+               && !GTK_IS_MENU_ITEM(container));
+}
+
+static void
+manage_unexpanded(struct GSH * gsh, GtkWidget * widget)
+{
                gsh_check_row(gsh);
                gtk_box_pack_start(GTK_BOX(gsh->rows.v), widget,
                                   FALSE, FALSE, 0);
                gsh_manage_generic(gsh, widget);
-       }
+}
+
+void
+gsh_manage_unexpanded(struct GSH * gsh, GtkWidget *widget)
+{
+       if(test_manage_unexpanded(gsh))
+               manage_unexpanded(gsh, widget);
        else
                gsh_manage(gsh, widget);
 }
@@ -70,9 +100,9 @@
 void
 gsh_new_row(struct GSH * gsh)
 {
-       gsh->rows.v = gtk_vbox_new(FALSE, 2);
-       gtk_container_add(GTK_CONTAINER(gsh->rows.h), gsh->rows.v);
-       gtk_widget_show(gsh->rows.v);
+       GtkWidget * column = gsh->rows.v = gtk_vbox_new(FALSE, 2);
+       gtk_container_add(GTK_CONTAINER(gsh->rows.h), column);
+       gtk_widget_show(column);
        gsh->rows.row = 1;
 }
 

Index: gtkshell/terminal.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/terminal.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- gtkshell/terminal.c 16 Apr 2007 01:19:51 -0000      1.7
+++ gtkshell/terminal.c 28 Apr 2007 22:26:23 -0000      1.8
@@ -79,8 +79,10 @@
        /* Open temporary file, store file descriptor in FD and file name in
         * NAME.  NAME is modified in calling function.  */
        fd = g_file_open_tmp("gshterm.XXXXXX", name, NULL);
+#ifdef DEBUG
        /* Check for success.  */
        ARASSERT(fd != -1);
+#endif /* DEBUG */
 
        return fd;
 }
@@ -119,9 +121,11 @@
        if(fsync(fd) == -1)
                ARERR("cannot write script file");
        
-       ARASSERT(fprintf(script, "#!/bin/sh\nexport LINES=%d\n"
+       if(fprintf(script, "#!/bin/sh\nexport LINES=%d\n"
                 "export COLUMNS=%d\n%s\n", 
-                gsh->terminal.height, gsh->terminal.width, command) != -1);
+                  gsh->terminal.height, gsh->terminal.width, command) 
+          == -1)
+               ARERR("cannot write to script file");
        fclose(script); /* Close and flush buffers.  */
 
 #ifdef DEBUG
@@ -149,7 +153,7 @@
 }
 
 void
-gsh_GSH_Terminal(struct GSH_Terminal * term)
+gsh_setup_GSH_Terminal(struct GSH_Terminal * term)
 {
        term->widget=NULL;
        term->font=NULL;

Index: gtkshell/terminal.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/terminal.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- gtkshell/terminal.h 19 Mar 2007 07:09:30 -0000      1.2
+++ gtkshell/terminal.h 28 Apr 2007 22:26:23 -0000      1.3
@@ -24,6 +24,9 @@
 #define GSH_TERMINAL_H
 
 void
+gsh_setup_GSH_Terminal(struct GSH_Terminal * term);
+
+void
 gsh_setup_terminal(struct GSH * gsh, const gchar * command);
 
 #endif

Index: gtkshell/text.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/text.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- gtkshell/text.c     24 Apr 2007 21:54:21 -0000      1.20
+++ gtkshell/text.c     28 Apr 2007 22:26:23 -0000      1.21
@@ -34,22 +34,40 @@
        gtk_combo_box_prepend_text(widget, "ACE");
 }
 
-GtkWidget *
-gsh_setup_command_entry(struct GSH * gsh, char *command)
+static void
+setup_entry_cb(struct GSH * gsh, GtkWidget * entry, const gchar * command)
 {
-       GtkWidget *entry;
-       struct GSH_CBData *cb;
+       struct GSH_CBData * cb;
 
+#ifdef DEBUG
+       /* Validate parameters.  */
        ARPASSERT(gsh);
+       ARPASSERT(entry);
+       ARPASSERT(command);
+#endif /* DEBUG */
+
        cb=gsh_new_GSH_CBData(gsh, (gpointer)((command != NULL) 
                              ? command : "echo"));
-       /* Create widget.  */
-       entry = gtk_combo_box_entry_new_text();
-       append_sample_entries(GTK_COMBO_BOX(entry));
+
        (void) g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(entry))), 
                                "activate",
                                G_CALLBACK(gsh_entry_cb), 
                                (gpointer) cb);
+}
+
+GtkWidget *
+gsh_setup_command_entry(struct GSH * gsh, const gchar *command)
+{
+       GtkWidget *entry;
+
+#ifdef DEBUG
+       ARPASSERT(gsh);
+#endif /* DEBUG */
+
+       /* Create widget.  */
+       entry = gtk_combo_box_entry_new_text();
+       setup_entry_cb(gsh, entry, command);
+       append_sample_entries(GTK_COMBO_BOX(entry));
        /* Do not fill remaining container area.  */
        gsh_manage_unexpanded(gsh, entry);
 
@@ -72,24 +90,26 @@
 void
 gsh_text_area_set_text(GtkWidget * widget, const gchar * text)
 {
-       GtkTextBuffer * buffer;
-
-       buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget));
-       gtk_text_buffer_set_text(buffer, text,
+       gtk_text_buffer_set_text(
+               gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget)), text,
                        strlen(text));
 }
 
 /* This is currently just a text file viewer.  */
 void
-gsh_text_editor(struct GSH * gsh, char *filename)
+gsh_text_editor(struct GSH * gsh, const gchar *filename)
 {
-       char * text;
-
+#ifdef DEBUG
        ARPASSERT(gsh);
        ARPASSERT(filename);
+#endif /* DEBUG */
+       {
+               gchar * text;
+
        text=antiright_read_named_file(filename);
        gsh_text_area_set_text(gsh_text_area(gsh), text);
        g_free(text);
+       }
        ARIFNP(gsh->geometry)
-               asprintf(&gsh->geometry, "775x700");
+               gsh->geometry=g_strdup("775x700");
 }

Index: gtkshell/text.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/text.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- gtkshell/text.h     5 Mar 2007 01:05:42 -0000       1.6
+++ gtkshell/text.h     28 Apr 2007 22:26:23 -0000      1.7
@@ -24,10 +24,10 @@
 #define GSH_TEXT_H
 
 GtkWidget *
-gsh_setup_command_entry(struct GSH * gsh, char *command);
+gsh_setup_command_entry(struct GSH * gsh, const gchar *command);
 
 void
-gsh_setup_prompt_command_entry(struct GSH * gsh, char *command);
+gsh_setup_prompt_command_entry(struct GSH * gsh, const gchar *command);
 
 GtkWidget *
 gsh_text_area(struct GSH * gsh);
@@ -36,6 +36,6 @@
 gsh_text_area_set_text(GtkWidget * widget, const gchar * text);
 
 void
-gsh_text_editor(struct GSH * gsh, char *filename);
+gsh_text_editor(struct GSH * gsh, const gchar *filename);
 
 #endif

Index: libantiright/macros.h
===================================================================
RCS file: /sources/antiright/antiright/libantiright/macros.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- libantiright/macros.h       27 Apr 2007 21:46:06 -0000      1.3
+++ libantiright/macros.h       28 Apr 2007 22:26:23 -0000      1.4
@@ -44,11 +44,16 @@
 #define ARASSERT /* undefined */
 #endif /* DEBUG */
 
+#ifdef DEBUG
 #define ARBASSERT(x) \
        ARASSERT(ARBBOOL(x))
 
 #define ARPASSERT(x) \
        ARASSERT(ARPBOOL(x))
+#else /* not DEBUG */
+#define ARBASSERT(x) /* undefined */
+#define ARPASSERT(x) /* undefined */
+#endif /* DEBUG */
 
 #define ARIFB(x) \
        if(ARBBOOL(x))
@@ -68,9 +73,12 @@
        else
 
 #define ARMETHOD(class, method, ...)\
-       class->method(class, __VA_ARGS__)
+       class->method(class, ##__VA_ARGS__)
 
 #define $ ARMETHOD
 
+#define ARNEW(package, class, ...)\
+       package##_new_##class(##__VA_ARGS__)
+
 #endif /* not LIBAR_MACROS_H */
 

Index: libantiright/pipe.c
===================================================================
RCS file: /sources/antiright/antiright/libantiright/pipe.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- libantiright/pipe.c 27 Apr 2007 02:02:06 -0000      1.9
+++ libantiright/pipe.c 28 Apr 2007 22:26:23 -0000      1.10
@@ -46,7 +46,7 @@
 }
 
 gchar *
-antiright_read_named_file(gchar * filename)
+antiright_read_named_file(const gchar * filename)
 {
        FILE * file;
        gchar * contents;
@@ -84,9 +84,6 @@
        return (text);
 }
 
-
-
-
 /* void */
 /* antiright_pipe_write(char *command_string, char* data) */
 /* { */

Index: libantiright/pipe.h
===================================================================
RCS file: /sources/antiright/antiright/libantiright/pipe.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- libantiright/pipe.h 27 Apr 2007 02:02:06 -0000      1.6
+++ libantiright/pipe.h 28 Apr 2007 22:26:23 -0000      1.7
@@ -28,7 +28,7 @@
 antiright_read_file(FILE *file);
 
 gchar *
-antiright_read_named_file(gchar * filename);
+antiright_read_named_file(const gchar * filename);
 
 /* void */
 /* antiright_pipe_write(char *command_string, char* data); */

Index: libantiright/tuple.c
===================================================================
RCS file: /sources/antiright/antiright/libantiright/tuple.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- libantiright/tuple.c        16 Apr 2007 01:50:31 -0000      1.1
+++ libantiright/tuple.c        28 Apr 2007 22:26:23 -0000      1.2
@@ -22,36 +22,16 @@
 
 #include "library.h"
 
-struct ARTuple *
-ar_new_ARTuple(gchar * key, gchar * value)
-{
-       struct ARTuple * tuple;
-
-       tuple=g_malloc(sizeof(struct ARTuple));
-       tuple->key=g_strdup(key);
-       tuple->value=g_strdup(value);
-
-       return tuple;
-}
-
-void
-ar_delete_ARTuple(struct ARTuple * tuple)
-{
-       g_free(tuple->key);
-       g_free(tuple->value);
-       g_free(tuple);
-}
-
 struct ARTupleVector *
 ar_new_ARTupleVector()
 {
        struct ARTupleVector * vector;
 
        vector=g_malloc(sizeof(struct ARTupleVector));
-       vector->data=NULL;
-       vector->elements=0;
-       vector->add=&ar_ARTupleVector_add;
-       vector->find=&ar_ARTupleVector_find;
+       vector->__hash=g_hash_table_new(&g_str_hash, &g_str_equal);
+       vector->add=&ar_add_ARTupleVector;
+       vector->find=&ar_find_ARTupleVector;
+       vector->delete=&ar_delete_ARTupleVector;
 
        return vector;
 }
@@ -59,32 +39,22 @@
 void
 ar_delete_ARTupleVector(struct ARTupleVector * vector)
 {
-       while(vector->elements > 1)
-               ar_delete_ARTuple(vector->data[(--(vector->elements))-1]);
+       g_hash_table_destroy(vector->__hash);
        g_free(vector);
 }
 
 void
-ar_ARTupleVector_add(struct ARTupleVector * vector,
-                    gchar * key, gchar * value)
+ar_add_ARTupleVector(struct ARTupleVector * vector,
+                    const gchar * key, const gchar * value)
 {
-       vector->data=realloc(vector->data, 
-                            ++vector->elements * sizeof(struct ARTuple *));
-       vector->data[vector->elements-1]=ar_new_ARTuple(key, value);
+       g_hash_table_insert(vector->__hash, (gpointer)key, (gpointer)value);
 }
 
 const gchar *
-ar_ARTupleVector_find(struct ARTupleVector * vector,
-                     gchar * term)
+ar_find_ARTupleVector(struct ARTupleVector * vector,
+                     const gchar * term)
 {
-       guint i;
-#ifdef DEBUG
-       ARPASSERT(vector);
-       ARPASSERT(vector->data);
-#endif /* DEBUG */
-       for(i=0; i < vector->elements; i++)
-               if(!strcmp(vector->data[i]->key, term))
-                       return vector->data[i]->value;
-       /* TERM not found.  */
-       return NULL;
+       return (const gchar *)g_hash_table_lookup(vector->__hash, 
+                                                 (gconstpointer)term);
 }
+

Index: libantiright/tuple.h
===================================================================
RCS file: /sources/antiright/antiright/libantiright/tuple.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- libantiright/tuple.h        16 Apr 2007 01:50:31 -0000      1.1
+++ libantiright/tuple.h        28 Apr 2007 22:26:23 -0000      1.2
@@ -23,26 +23,14 @@
 #ifndef AR_TUPLE_H
 #define AR_TUPLE_H
 
-struct ARTuple
-{
-       gchar * key;
-       gchar * value;
-};
-
 struct ARTupleVector
 {
-       struct ARTuple ** data;
-       guint elements;
-       void (*add)(struct ARTupleVector *, gchar *, gchar *);
-       const gchar * (*find)(struct ARTupleVector *, gchar *);
+       GHashTable * __hash;
+       void (*add)(struct ARTupleVector *, const gchar *, const gchar *);
+       const gchar * (*find)(struct ARTupleVector *, const gchar *);
+       void (*delete)(struct ARTupleVector *);
 };
 
-struct ARTuple *
-ar_new_ARTuple(gchar * key, gchar * value);
-
-void
-ar_delete_ARTuple(struct ARTuple * tuple);
-
 struct ARTupleVector *
 ar_new_ARTupleVector();
 
@@ -50,14 +38,12 @@
 ar_delete_ARTupleVector(struct ARTupleVector * vector);
 
 void
-ar_ARTupleVector_add(struct ARTupleVector * vector,
-                    gchar * key, gchar * value);
-
+ar_add_ARTupleVector(struct ARTupleVector * vector,
+                    const gchar * key, const gchar * value);
 
 const gchar *
-ar_ARTupleVector_find(struct ARTupleVector * vector,
-                     gchar * term);
-
+ar_find_ARTupleVector(struct ARTupleVector * vector,
+                     const gchar * term);
 
 #endif /* AR_TUPLE_H */
 

Index: libantiright/util.c
===================================================================
RCS file: /sources/antiright/antiright/libantiright/util.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- libantiright/util.c 16 Apr 2007 01:19:51 -0000      1.11
+++ libantiright/util.c 28 Apr 2007 22:26:23 -0000      1.12
@@ -73,7 +73,7 @@
        ar_delete_ARArguments_contents(args);
        g_free(args);
 }
-
+/*
 void
 rand_seed()
 {
@@ -85,4 +85,4 @@
 {
        return random() % (finish - start) + start;
 }
-
+*/

Index: libantiright/util.h
===================================================================
RCS file: /sources/antiright/antiright/libantiright/util.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- libantiright/util.h 13 Apr 2007 22:49:32 -0000      1.7
+++ libantiright/util.h 28 Apr 2007 22:26:23 -0000      1.8
@@ -61,11 +61,11 @@
 xmalloc(size_t size);
 
 #define UNUSED(arg) { arg = arg; }
-
+/*
 void
 rand_seed();
 
 int
 rand_ranged(int start, int finish);
-
+*/
 #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]