[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Antiright-devel] antiright ACE-desktop/ACE gtkshell/Makefile gtk...,
Jeffrey Bedard <=