antiright-devel
[Top][All Lists]
Advanced

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

[Antiright-devel] antiright configure ACE-desktop/guidl/IDE.gdl g...


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright configure ACE-desktop/guidl/IDE.gdl g...
Date: Wed, 16 May 2007 20:39:45 +0000

CVSROOT:        /sources/antiright
Module name:    antiright
Changes by:     Jeffrey Bedard <jefbed> 07/05/16 20:39:45

Modified files:
        .              : configure 
        ACE-desktop/guidl: IDE.gdl 
        gtkshell       : Makefile about_dialog.c add_options.c button.c 
                         guidl_widgets.c menu.c module_includes.h 
                         terminal.c updated_label.c 
Added files:
        gtkshell       : command_shell.c command_shell.h 

Log message:
        Use label to stock icon conditional translation for toolbar.
        Reenable IDE status bar updater.  Use gtk statusbar widget for
        status bar, rather than the label within a frame.  Added a
        command shell widget, as an eventual substitute for vte widget,
        particularly on the cygwin port.  

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/configure?cvsroot=antiright&r1=1.92&r2=1.93
http://cvs.savannah.gnu.org/viewcvs/antiright/ACE-desktop/guidl/IDE.gdl?cvsroot=antiright&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/Makefile?cvsroot=antiright&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/about_dialog.c?cvsroot=antiright&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/add_options.c?cvsroot=antiright&r1=1.33&r2=1.34
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/button.c?cvsroot=antiright&r1=1.43&r2=1.44
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/guidl_widgets.c?cvsroot=antiright&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/menu.c?cvsroot=antiright&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/module_includes.h?cvsroot=antiright&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/terminal.c?cvsroot=antiright&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/updated_label.c?cvsroot=antiright&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/command_shell.c?cvsroot=antiright&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/command_shell.h?cvsroot=antiright&rev=1.1

Patches:
Index: configure
===================================================================
RCS file: /sources/antiright/antiright/configure,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -b -r1.92 -r1.93
--- configure   14 May 2007 18:06:34 -0000      1.92
+++ configure   16 May 2007 20:39:43 -0000      1.93
@@ -24,7 +24,7 @@
 #
 ###############################################################################
 
-VERSION=3.4-alpha
+VERSION=3.4
 
 USE_DISTCC=NO
 USE_CCACHE=NO

Index: ACE-desktop/guidl/IDE.gdl
===================================================================
RCS file: /sources/antiright/antiright/ACE-desktop/guidl/IDE.gdl,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- ACE-desktop/guidl/IDE.gdl   11 May 2007 23:28:52 -0000      1.21
+++ ACE-desktop/guidl/IDE.gdl   16 May 2007 20:39:44 -0000      1.22
@@ -10,12 +10,14 @@
 option "application";
 option "icon size" "menu";
 add buttons 
-       "File::Exit__,gtk-quit",
+       "File::ACE -A IDE_CD & # Open...,gtk-open::Exit__,gtk-quit",
        "Help::gtkshell -da & # About,gtk-about";
 
-// set up status bar.
+// Set up status bar.
+// Set delay for status bar update to ten seconds.  
 option "update frequency" 10000;
-//add "updating label" "echo -n 'Recent: '; ls -t | grep -v o$ | tr '\n' ' ' | 
cut -d ' ' -f-6";
+// Show the most recently changed files.
+add "updating label" "echo -n 'Recent: '; ls -t | grep -v o$ | tr '\n' ' ' | 
cut -d ' ' -f-6";
 
 option "icon size" "small toolbar";
 
@@ -33,6 +35,7 @@
 option "terminal font" "Mono 10";
 option "terminal height" 8;
 add "terminal" "$SHELL";
+//add "command shell";
 
 option "rows" 16;
 
@@ -40,7 +43,6 @@
 
 option "no fill";
 add buttons
-       "ACE -A IDE_CD & # CD,gtk-open",
        "TERM__make # Build,gtk-save", 
        "TERM__make clean # Clean,gtk-delete", 
        "TERM__make install # Install,gtk-save", 

Index: gtkshell/Makefile
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/Makefile,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- gtkshell/Makefile   10 May 2007 00:08:28 -0000      1.26
+++ gtkshell/Makefile   16 May 2007 20:39:44 -0000      1.27
@@ -38,7 +38,7 @@
        file_dialog.o row.o containers.o geometry.o font.o dragdrop.o\
        image_button.o terminal.o terminal_options.o menu.o updated.o\
        guidl_util.o about_dialog.o init.o guidl_dialog.o guidl_dictionary.o\
-       guidl_options.o guidl_widgets.o update_manager.o pane.o
+       guidl_options.o guidl_widgets.o update_manager.o pane.o command_shell.o
 
 program=main.o 
 

Index: gtkshell/about_dialog.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/about_dialog.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- gtkshell/about_dialog.c     15 May 2007 19:04:12 -0000      1.6
+++ gtkshell/about_dialog.c     16 May 2007 20:39:44 -0000      1.7
@@ -53,11 +53,24 @@
 #define SET_VERSION(dialog)\
        gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), PACKAGE_STRING);
 
+static void
+setup_logo(GtkAboutDialog * dialog)
+{
+       GtkWidget * image;
+       
+#define ARICONDIR "/share/ACE-desktop/icons/"
+       image=gtk_image_new_from_file(PREFIX ARICONDIR "ACE.png");
+       gtk_widget_show(image);
+       gtk_about_dialog_set_logo(dialog, 
+               gtk_image_get_pixbuf(GTK_IMAGE(image)));
+}
+
 static GtkWidget *
 setup_about_fields(GtkWidget * dialog)
 {
        setup_authors_field(dialog);
        setup_about_license(dialog);
+       setup_logo(GTK_ABOUT_DIALOG(dialog));
        SET_WEBSITE(dialog);
        SET_COMMENTS(dialog);
        SET_COPYRIGHT(dialog);

Index: gtkshell/add_options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/add_options.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- gtkshell/add_options.c      14 May 2007 18:06:34 -0000      1.33
+++ gtkshell/add_options.c      16 May 2007 20:39:44 -0000      1.34
@@ -116,6 +116,17 @@
                gsh_setup_hpaned(gsh, argv[*counter]);
                break;
 
+       case 'C':
+               {
+                       GSHCommandShell * command;
+
+                       command = ARNEW(gsh, GSHCommandShell);
+                       $(gsh, manage, $(command, get));
+                       /* The command instance is not freed here,
+                        * as it is accessed by callbacks.  */
+               }
+               break;
+
        case 'c':
                handle_commanded_add_arguments(gsh, argc, argv, counter);
                break;

Index: gtkshell/button.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/button.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -b -r1.43 -r1.44
--- gtkshell/button.c   15 May 2007 17:59:34 -0000      1.43
+++ gtkshell/button.c   16 May 2007 20:39:44 -0000      1.44
@@ -76,6 +76,43 @@
        setup_callback(gsh, button, command);
 }
 
+static GtkWidget *
+label_to_icon_translation(const gchar * label)
+{
+       GtkWidget * image;
+       gchar * cut_label;
+
+       cut_label=(gchar *)label;
+       g_strstrip(cut_label);
+#define MATCHES(text) !strcmp(text, cut_label)
+#define ICON(id)\
+       gtk_widget_show(image=gtk_image_new_from_stock(GTK_STOCK_##id, \
+               GTK_ICON_SIZE_SMALL_TOOLBAR))
+
+       if(MATCHES("Exit"))
+               ICON(QUIT);
+       else if(MATCHES("About"))
+               ICON(ABOUT);
+       else if(MATCHES("Open..."))
+               ICON(OPEN);
+       else if(MATCHES("Save"))
+               ICON(SAVE);
+       else if(MATCHES("Save As..."))
+               ICON(SAVE_AS);
+       else if(MATCHES("Cut"))
+               ICON(CUT);
+       else if(MATCHES("Copy"))
+               ICON(COPY);
+       else if(MATCHES("Paste"))
+               ICON(PASTE);
+       else if(MATCHES("Close"))
+               ICON(CLOSE);
+       else
+               ICON(EXECUTE);
+
+       return image;
+}
+
 static void
 setup_label_for_toolbutton(GtkWidget * toolbutton, const gchar * command)
 {
@@ -83,6 +120,13 @@
 
        label_text=antiright_beautified_label(command);
        gtk_button_set_label(GTK_BUTTON(toolbutton), label_text);
+       {
+               GtkWidget * icon;
+
+               icon = label_to_icon_translation(label_text);
+               if(icon)
+                       gtk_button_set_image(GTK_BUTTON(toolbutton), icon);
+       }
        g_free(label_text);
 }
 

Index: gtkshell/guidl_widgets.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/guidl_widgets.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- gtkshell/guidl_widgets.c    6 May 2007 05:00:11 -0000       1.8
+++ gtkshell/guidl_widgets.c    16 May 2007 20:39:45 -0000      1.9
@@ -46,6 +46,7 @@
        DEF("system label", "-acl");
        DEF("system button", "-acb");
        DEF("vertical pane", "-ab");
+       DEF("command shell", "-aC");
 }
 
 GSH_GUIDL_ITEM_FUNC(widget, DICT);

Index: gtkshell/menu.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/menu.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- gtkshell/menu.c     15 May 2007 17:59:35 -0000      1.15
+++ gtkshell/menu.c     16 May 2007 20:39:45 -0000      1.16
@@ -71,13 +71,8 @@
 static void
 setup_app_mode_status_bar(struct GSH * gsh)
 {
-       GtkWidget * status_frame;
-
-       GSH_SHOW_CREATE(status_frame, frame, NULL);
-       gtk_frame_set_shadow_type(GTK_FRAME(status_frame), GTK_SHADOW_IN);
-       GSHCA_TIGHT(GWA.row, status_frame);
-       GSH_SHOW_CREATE(GWA.status, label, "status");
-       GSHCA(status_frame, GWA.status);
+       GSH_SHOW_CREATE(GWA.status, statusbar);
+       GSHCA_TIGHT(GWA.row, GWA.status);
 }
 
 static void

Index: gtkshell/module_includes.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/module_includes.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- gtkshell/module_includes.h  10 May 2007 00:08:28 -0000      1.2
+++ gtkshell/module_includes.h  16 May 2007 20:39:45 -0000      1.3
@@ -54,5 +54,6 @@
 #include "guidl_widgets.h"
 #include "update_manager.h"
 #include "pane.h"
+#include "command_shell.h"
 
 #endif /* not GSH_MODULE_INCLUDES_H */

Index: gtkshell/terminal.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/terminal.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- gtkshell/terminal.c 15 May 2007 19:04:12 -0000      1.20
+++ gtkshell/terminal.c 16 May 2007 20:39:45 -0000      1.21
@@ -110,10 +110,9 @@
        cb=(struct GSHCBData *)data;
        gsh=cb->gsh;
        if((status=gsh->widgets.app.status))
-       {
-               gtk_label_set_text(GTK_LABEL(status),
-                       vte_terminal_get_status_line(widget));
-       }
+               gtk_statusbar_push(GTK_STATUSBAR(status),
+                       gtk_statusbar_get_context_id(GTK_STATUSBAR(status), 
+                       "terminal"), vte_terminal_get_status_line(widget));
 }
 
 static void

Index: gtkshell/updated_label.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/updated_label.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- gtkshell/updated_label.c    14 May 2007 12:16:12 -0000      1.20
+++ gtkshell/updated_label.c    16 May 2007 20:39:45 -0000      1.21
@@ -48,7 +48,12 @@
 #endif /* DEBUG */
        results=antiright_pipe_read(command);
        CHECK_RESULTS(results);
+       if(GTK_IS_LABEL(widget))
        gtk_label_set_text(GTK_LABEL(widget), results);
+       else if(GTK_IS_STATUSBAR(widget))
+               gtk_statusbar_push(GTK_STATUSBAR(widget),
+                       gtk_statusbar_get_context_id(GTK_STATUSBAR(widget),
+                       "updater"), results);
        g_free(results);
 }
 
@@ -63,10 +68,9 @@
        ARPASSERT(command);
 #endif /* DEBUG */
        $(gsh->update, add, ARNEW(gsh, GSHUpdatedWidget, &gsh_update_label, 
-               command, (GSH_FLAG(GSH_APP_MODE) && status
-               && !strncmp(gtk_label_get_text(GTK_LABEL(status)), 
-               "status", 6)) ? status
-               : gsh_add_label(gsh, (char *)command)));
+               command, (GSH_FLAG(GSH_APP_MODE) && status)
+               ? status : gsh_add_label(gsh, (char *)command)));
+       GSH_UNSET(GSH_APP_MODE);
        /* Prevent two updaters from being 
           assigned to the status bar label.  */
        GWA.status=NULL;

Index: gtkshell/command_shell.c
===================================================================
RCS file: gtkshell/command_shell.c
diff -N gtkshell/command_shell.c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ gtkshell/command_shell.c    16 May 2007 20:39:44 -0000      1.1
@@ -0,0 +1,127 @@
+/*
+  AntiRight
+  (c) 2002-2007 Jeffrey Bedard
+  address@hidden
+
+  This file is part of AntiRight.
+
+  AntiRight is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  AntiRight is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with AntiRight; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
+*/
+
+#include "gtkshell.h"
+
+static void
+gsh_delete_GSHCommandShell(GSHCommandShell * this)
+{
+       g_free(this);
+}
+
+static GtkWidget *
+get_command_shell(GSHCommandShell * this)
+{
+       return this->widgets.row;
+}
+
+static void
+run_command(GSHCommandShell * this, const gchar * command)
+{
+       gchar * result;
+
+       result=antiright_pipe_read(command);
+       gtk_label_set_text(GTK_LABEL(this->widgets.output), result);
+       g_free(result);
+}
+
+static void
+run_command_cb(GtkWidget * widget, gpointer data)
+{
+       GSHCommandShell * this;
+       GtkEntry * entry;
+
+       this=(GSHCommandShell *)data;
+       entry=GTK_ENTRY(this->widgets.input);
+       run_command(this, gtk_entry_get_text(entry));
+       gtk_entry_set_text(entry, "");
+}
+
+static void
+setup_command_shell_methods(GSHCommandShell * this)
+{
+       this->delete=&gsh_delete_GSHCommandShell;
+       this->get=&get_command_shell;
+       this->run=&run_command;
+}
+
+static void
+set_output_label_options(GtkWidget * output)
+{
+       gtk_label_set_justify(GTK_LABEL(output), GTK_JUSTIFY_LEFT);
+       gsh_widget_set_font(output, NULL);
+       gtk_label_set_selectable(GTK_LABEL(output), TRUE);
+}
+
+static void
+setup_output_scroller(GtkWidget * row, GtkWidget * output)
+{
+       GtkWidget * scroller;
+
+       GSH_SHOW_CREATE(scroller, scrolled_window, NULL, NULL);
+       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroller),
+               GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+       GSHCA(row, scroller);
+       gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroller),
+               output);
+}
+
+static void
+setup_output_area(GSHCommandShell * this)
+{
+       GtkWidget * output;
+
+       GSH_SHOW_CREATE(this->widgets.output, label, NULL);
+       output=this->widgets.output;
+       set_output_label_options(output);
+       setup_output_scroller(this->widgets.row, output);
+}
+
+static void
+setup_command_shell_widgets(GSHCommandShell * this)
+{
+
+       GSH_SHOW_CREATE(this->widgets.row, vbox, 0, FALSE);
+       setup_output_area(this);
+       GSH_SHOW_CREATE(this->widgets.input, entry);
+       GSHCONNECT(this->widgets.input, "activate", run_command_cb, this);
+       GSHCA_TIGHT(this->widgets.row, this->widgets.input);
+}
+
+static void
+setup_command_shell(GSHCommandShell * this)
+{
+       setup_command_shell_methods(this);
+       setup_command_shell_widgets(this);
+}
+
+GSHCommandShell *
+gsh_new_GSHCommandShell()
+{
+       GSHCommandShell * shell;
+
+       shell=xmalloc(sizeof(GSHCommandShell));
+       setup_command_shell(shell);
+
+       return shell;
+}
+

Index: gtkshell/command_shell.h
===================================================================
RCS file: gtkshell/command_shell.h
diff -N gtkshell/command_shell.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ gtkshell/command_shell.h    16 May 2007 20:39:44 -0000      1.1
@@ -0,0 +1,44 @@
+/*
+  AntiRight
+  (c) 2002-2007 Jeffrey Bedard
+  address@hidden
+
+  This file is part of AntiRight.
+
+  AntiRight is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  AntiRight is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with AntiRight; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
+*/
+
+#ifndef GSH_CMDSHELL_H
+#define GSH_CMDSHELL_H
+
+struct GSHCommandShell
+{
+       struct 
+       {
+               GtkWidget * input;
+               GtkWidget * output;
+               GtkWidget * row;
+       } widgets;
+       void (*delete)(struct GSHCommandShell *);
+       void (*run)(struct GSHCommandShell *, const gchar *);
+       GtkWidget * (*get)(struct GSHCommandShell *);
+};
+
+typedef struct GSHCommandShell GSHCommandShell;
+
+GSHCommandShell *
+gsh_new_GSHCommandShell();
+
+#endif /* GSH_CMDSHELL_H */




reply via email to

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