[Top][All Lists]
[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 */