antiright-devel
[Top][All Lists]
Advanced

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

[Antiright-devel] antiright ACE-desktop/ACE gtkshell/Makefile gtk...


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright ACE-desktop/ACE gtkshell/Makefile gtk...
Date: Mon, 12 Mar 2007 15:28:38 +0000

CVSROOT:        /sources/antiright
Module name:    antiright
Changes by:     Jeffrey Bedard <jefbed> 07/03/12 15:28:38

Modified files:
        ACE-desktop    : ACE 
        gtkshell       : Makefile arguments.c guidl.lex guidl.y 
                         image_button.c 

Log message:
        Create the GUIDL parser.  Incomplete, though implemented mostly.  
        Refactored generic_button in image_button.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/ACE-desktop/ACE?cvsroot=antiright&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/Makefile?cvsroot=antiright&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/arguments.c?cvsroot=antiright&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl.lex?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl.y?cvsroot=antiright&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/image_button.c?cvsroot=antiright&r1=1.5&r2=1.6

Patches:
Index: ACE-desktop/ACE
===================================================================
RCS file: /sources/antiright/antiright/ACE-desktop/ACE,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- ACE-desktop/ACE     5 Mar 2007 01:05:42 -0000       1.25
+++ ACE-desktop/ACE     12 Mar 2007 15:28:38 -0000      1.26
@@ -250,7 +250,7 @@
                        local OPTIONS="-or 1"
                fi
 
-               local ACE_STRING="ACE,$icon/ACE.png::'ACE'::eclipse::xload"
+               local ACE_STRING="'ACE # ',$icon/ACE.png::'ACE'::eclipse::xload"
                local UPDATER=$(ACE deskbar_updater)
 
                local CMD="exec $ARSHELL  -of -on $OPTIONS"

Index: gtkshell/Makefile
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/Makefile,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- gtkshell/Makefile   9 Mar 2007 20:00:29 -0000       1.11
+++ gtkshell/Makefile   12 Mar 2007 15:28:38 -0000      1.12
@@ -36,18 +36,24 @@
        label.o button.o text.o updated_label.o updated_progress.o\
        updated_options.o add_options.o option_options.o dialog_options.o\
        file_dialog.o row.o containers.o geometry.o font.o dragdrop.o\
-       image_button.o
+       image_button.o y.tab.o lex.yy.o
 
 sources=gtkshell.c arguments.c options.c callbacks.c updated.c\
        label.c button.c text.c updated_label.c updated_progress.c\
        updated_options.c add_options.c option_options.c dialog_options.c\
        file_dialog.c row.c containers.c geometry.c font.c dragdrop.c\
-       image_button.c
+       image_button.c y.tab.c lex.yy.c
 
 all: $(objects) main.o
        $(CC) -o gtkshell $(objects) main.o $(LDFLAGS)
        ar rcs libgtkshell.a $(objects)
 
+lex.yy.c:
+       lex guidl.lex
+
+y.tab.c:
+       yacc -d guidl.y
+
 splint: $(sources)
        splint +posixlib -nullpass -nullstate -temptrans -mustfreeonly 
`pkg-config --cflags-only-I gtk+-2.0` $(sources) > splint.out
 

Index: gtkshell/arguments.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/arguments.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- gtkshell/arguments.c        9 Mar 2007 20:00:29 -0000       1.15
+++ gtkshell/arguments.c        12 Mar 2007 15:28:38 -0000      1.16
@@ -1,6 +1,6 @@
 /*
   AntiRight
-  (c) 2002-2006 Jeffrey Bedard
+  (c) 2002-2007 Jeffrey Bedard
   address@hidden
 
   This file is part of AntiRight.

Index: gtkshell/guidl.lex
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl.lex,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gtkshell/guidl.lex  8 Mar 2007 06:07:52 -0000       1.1
+++ gtkshell/guidl.lex  12 Mar 2007 15:28:38 -0000      1.2
@@ -1,15 +1,24 @@
 %{
 #include "y.tab.h"
 %}
+
 %% 
-CHARACTER [A-za-z\/\_\'\.\"]            return CHARACTER;
-/* Conversion is internal.  */
-NUMBER ([0-9])+                                 return NUMBER;
-WORD {CHARACTER}[{CHARACTER}{NUMBER}]*$         return WORD;
-STRING \"{WORD}[{NUMBER}{CHARACTER} ]*\" return STRING;
-COMMA ,                                 return COMMA;
-LIST :                                          return LIST;
-ITEM ::                                 return ITEM;
-OPTION -o                               return OPTION;
-SPACE [ \t]                             return SPACE;
+[A-Za-z] yylval.string=strdup(yytext); return CHAR;
+\".*\"  {
+               /* Remove quotes.  */
+               yylval.string=strdup(yytext); 
+               yylval.string[0]=' ';
+               yylval.string[strlen(yylval.string)-1]=' ';
+               return STRING;
+        }
+[0-9]+         yylval.number=atoi(yytext); return NUMBER;
+,              return COMMA;
+;              return END;
+::             return IFS;
+option         return OPTION;
+button         return BUTTON;
+add            return ADD;
+prompt         return PROMPT;
+viewer         return VIEWER;
+label          return LABEL;
 %% 

Index: gtkshell/guidl.y
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl.y,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gtkshell/guidl.y    8 Mar 2007 06:07:52 -0000       1.1
+++ gtkshell/guidl.y    12 Mar 2007 15:28:38 -0000      1.2
@@ -3,6 +3,15 @@
 #include "gtkshell.h"
 
 void
+yyerror(const char *string);
+
+int
+yywrap();
+
+void
+append_arg(char * arg);
+
+void
 yyerror(const char *string)
 {
        g_error("error:  %s\n", string);
@@ -14,49 +23,164 @@
        return 1;
 }
 
+struct GSH * gsh_gsh;
+char **parsed_argv;
+int parsed_argc=0;
+
+void
+append_arg(char * arg)
+{
+       parsed_argc++;
+       parsed_argv[parsed_argc]=realloc(parsed_argv, 
+                           sizeof(char*)*parsed_argc);
+       parsed_argv[parsed_argc]=strdup(arg);
+}
+
 %}
-%token IMAGE STRING WORD NUMBER MENU PAIR MENU_BUTTON
-%
+%union
+{
+       char * string;
+       int number;
+}
+%token IFS SC COMMA OPTION PROMPT VIEWER LABEL
+%token BUTTON END ADD
+%token <string> STRING
+%token <number> NUM
+%type <string> command
+%type <string> option
+%type <string> add
+%token <string> CHAR
+%%
 commands:
+/* empty */
 | 
-commands command
+commands command END
 ;
 
 command: 
-add
-|
 option
+|
+add
 ;
 
-add: 
-STRING
+option:
+OPTION CHAR
 {
+       char * option_string;
+
+       asprintf(&option_string, "-o%s", $2);
+       append_arg(option_string);
+       free(option_string);
 
+       $$=$2;
 }
 |
-WORD STRING
+OPTION STRING
 {
+       char option;
 
+       if(!strcmp($2, " undecorated "))
+               option='n';
+       else if(!strcmp($2, " frame_labels "))
+               option='f';
+       else if(!strcmp($2, " exit_on_activate "))
+               option='e';
+       else if(!strcmp($2, " horizontal_labels "))
+               option='h';
+       else
+               break;
+
+       {
+               char * option_string;
+
+               asprintf(&option_string, "-o%c", option);
+               append_arg(option_string);
+               free(option_string);
+       }
 }
 |
-LIST items
+OPTION CHAR COMMA NUM
 {
+       char * option_string;
+
+       asprintf(&option_string, "-o%s", $2);
+       append_arg(option_string);
+       free(option_string);
+       asprintf(&option_string, "%d", $4);
+       append_arg(option_string);
+       free(option_string);
+
+       $$=$2;
 }
-;
+|
+OPTION STRING COMMA STRING
+{
+       char option;
+
+       if(!strcmp($2, " geometry "))
+               option='g';
 
-items:
+       {
+               char * option_string;
+
+               asprintf(&option_string, "-o%c", option);
+               append_arg(option_string);
+               free(option_string);
+               append_arg($4);
+       }
+}
 |
-items item
-;
+OPTION STRING COMMA NUM
+{
+       char option;
+
+       if(!strcmp($2, " update_frequency "))
+               option='u';
+       if(!strcmp($2, " rows "))
+               option = 'r';
+       else
+               break;
+
+       {
+               char * option_string;
+
+               asprintf(&option_string, "-o%c", option);
+               append_arg(option_string);
+               free(option_string);
+               asprintf(&option_string, "%d", $4);
+               append_arg(option_string);
+               free(option_string);
+       }
+
+       $$=$2;
+}
+|
+BUTTON STRING
+{
+       append_arg($2);
 
-item:
-ITEM STRING
+       $$=$2;
+}
 |
-ITEM STRING COMMA STRING
+add
 ;
 
-option:
-OPTION WORD
+add:
+ADD PROMPT STRING
 {
+       append_arg("-at");
+       append_arg($3);
 }
-%
+|
+ADD VIEWER STRING
+{
+       append_arg("-ae");
+       append_arg($3);
+}
+|
+ADD LABEL STRING
+{
+       append_arg("-al");
+       append_arg($3);
+}
+

Index: gtkshell/image_button.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/image_button.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- gtkshell/image_button.c     5 Mar 2007 01:05:42 -0000       1.5
+++ gtkshell/image_button.c     12 Mar 2007 15:28:38 -0000      1.6
@@ -23,19 +23,19 @@
 #include "gtkshell.h"
 
 static void 
-generic_image_button(struct GSH * gsh, char *command, 
-                    GtkWidget * image)
+normal_button(struct GSH * gsh, GtkWidget * image)
 {
-       gsh_command_button(gsh, command);
-       if(!GTK_IS_MENU(gsh->rows.v))
-       {
                gtk_button_set_image(GTK_BUTTON(gsh->button), image);
                gtk_button_set_relief(GTK_BUTTON(gsh->button), GTK_RELIEF_NONE);
-       }
-       else
-       {
+
+}
+
+static void
+menu_button(struct GSH * gsh, GtkWidget * image)
+{
                GtkWidget * label;
                GtkWidget * hrow;
+
                label=gtk_bin_get_child(GTK_BIN(gsh->button));
                gtk_widget_ref(label);
                gtk_container_remove(GTK_CONTAINER(gsh->button), label);
@@ -46,7 +46,17 @@
                gtk_widget_show(image);
                gtk_container_add(GTK_CONTAINER(hrow), label);
                gtk_widget_show(label);
-       }
+}
+
+static void 
+generic_image_button(struct GSH * gsh, char *command, 
+                    GtkWidget * image)
+{
+       gsh_command_button(gsh, command);
+       if(!GTK_IS_MENU(gsh->rows.v))
+               normal_button(gsh, image);
+       else
+               menu_button(gsh, image);
 }
 
 void




reply via email to

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