[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Antiright-devel] antiright ACE-desktop/guidl/Horizontal_Deskbar....
From: |
Jeffrey Bedard |
Subject: |
[Antiright-devel] antiright ACE-desktop/guidl/Horizontal_Deskbar.... |
Date: |
Mon, 14 May 2007 12:16:12 +0000 |
CVSROOT: /sources/antiright
Module name: antiright
Changes by: Jeffrey Bedard <jefbed> 07/05/14 12:16:12
Modified files:
ACE-desktop/guidl: Horizontal_Deskbar.gdl
gtkshell : add_options.c add_options.h arguments.c
containers.c font.c gtkshell.c gtkshell.h
label.c menu.c option_options.c
option_options.h options.c options.h pane.c
terminal.c text.c updated_label.c
updated_progress.c
Log message:
Began refactoring of code split as macros. Added a few more
deskbar menu items.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/ACE-desktop/guidl/Horizontal_Deskbar.gdl?cvsroot=antiright&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/add_options.c?cvsroot=antiright&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/add_options.h?cvsroot=antiright&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/arguments.c?cvsroot=antiright&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/containers.c?cvsroot=antiright&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/font.c?cvsroot=antiright&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/gtkshell.c?cvsroot=antiright&r1=1.38&r2=1.39
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/gtkshell.h?cvsroot=antiright&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/label.c?cvsroot=antiright&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/menu.c?cvsroot=antiright&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/option_options.c?cvsroot=antiright&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/option_options.h?cvsroot=antiright&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/options.c?cvsroot=antiright&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/options.h?cvsroot=antiright&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/pane.c?cvsroot=antiright&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/terminal.c?cvsroot=antiright&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/text.c?cvsroot=antiright&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/updated_label.c?cvsroot=antiright&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/antiright/gtkshell/updated_progress.c?cvsroot=antiright&r1=1.14&r2=1.15
Patches:
Index: ACE-desktop/guidl/Horizontal_Deskbar.gdl
===================================================================
RCS file:
/sources/antiright/antiright/ACE-desktop/guidl/Horizontal_Deskbar.gdl,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- ACE-desktop/guidl/Horizontal_Deskbar.gdl 5 May 2007 22:33:06 -0000
1.13
+++ ACE-desktop/guidl/Horizontal_Deskbar.gdl 14 May 2007 12:16:11 -0000
1.14
@@ -5,7 +5,7 @@
option "undecorated";
option "no fill";
// menu button
-add button "ACE,ACE_32.png::ACE,ACE_32.png::ACE -A
IDE,Text_Editor_32.png::eclipse-3.2,gtk-execute";
+add button "ACE,ACE_32.png::ACE,ACE_32.png::ACE -A
IDE,Text_Editor_32.png::eclipse-3.2,gtk-execute::eclipse,gtk-execute::ACE -A
Settings,gtk-preferences";
add "separator";
add button "ACE -A Command ,gtk-execute";
Index: gtkshell/add_options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/add_options.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- gtkshell/add_options.c 10 May 2007 00:08:28 -0000 1.31
+++ gtkshell/add_options.c 14 May 2007 12:16:11 -0000 1.32
@@ -22,12 +22,20 @@
#include "gtkshell.h"
+static void
+add_piped_label(GSH * gsh, const gchar * output)
+{
+ $(gsh, add.label, output);
+}
-#define ADD_PIPED_LABEL(gsh, output)\
- $(gsh, add.label, output)
+static void
+add_piped_text(GSH * gsh, const gchar * output)
+{
+ GtkWidget * text_area;
-#define ADD_PIPED_TEXT(gsh, output)\
- GSH_TEXT_AREA_SET_TEXT(gsh_text_area(gsh), output)
+ text_area=gsh_text_area(gsh);
+ GSH_TEXT_AREA_SET_TEXT(text_area, output);
+}
#define GENERIC_FILE_CONTENTS(gsh, add, input)\
{\
@@ -41,23 +49,32 @@
#define GENERIC_COMMANDED_ADD(gsh, command, add)\
GENERIC_FILE_CONTENTS(gsh, add, antiright_pipe_read(command))
-#define ADD_NEW_WINDOW(gsh)\
-{\
- $(gsh, add.window);\
- gsh->rows->current=1;\
- $(gsh, init);\
+static void
+add_new_window(GSH * gsh)
+{
+ $(gsh, add.window);
+ gsh->rows->current=1;
+ $(gsh, init);
}
-#define ADD_SEPARATOR(gsh) \
- $(gsh, manage, (gsh->rows->total == 1)\
- ? gtk_vseparator_new() : gtk_hseparator_new());
+static void
+add_separator(GSH * gsh)
+{
+ GtkWidget * separator;
+
+ /* Create a separator widget. If GSH has one row per column, use a
vertical
+ separator, else use a horizontal separator. This allows the
separator
+ to be used for ACE's Deskbar. */
+ separator = (gsh->rows->total == 1) ? gtk_vseparator_new() :
gtk_hseparator_new();
+ /* Show and manage the separator. */
+ $(gsh, manage, separator);
+}
#define GCA_WIDGET(func) \
GENERIC_COMMANDED_ADD(gsh, argv[*counter], func)
static void
-handle_commanded_add_arguments(struct GSH * gsh, int argc, char **argv,
- int *counter)
+handle_commanded_add_arguments(GSH * gsh, const gint argc, gchar **argv, gint
*counter)
{
if(!argv[*counter] || !argv[(*counter)+1])
return;
@@ -73,8 +90,18 @@
}
}
+static void
+add_shell(GSH * gsh, const gchar * command)
+{
+ /* Create a terminal widget that is running COMMAND. */
+ const GtkWidget * terminal = $(gsh->terminal, add, command);
+
+ /* Let GSH manage the terminal widget. */
+ $(gsh, manage, (GtkWidget *)terminal);
+}
+
void
-gsh_handle_add_arguments(struct GSH * gsh, int argc, char **argv, int *counter)
+gsh_handle_add_arguments(GSH * gsh, const gint argc, gchar **argv, gint
*counter)
{
g_assert(strlen(argv[(*counter)]) > 1);
switch (argv[(*counter)][2])
@@ -83,9 +110,11 @@
GSH_COUNT(argc, counter);
gsh_setup_hpaned(gsh, argv[*counter]);
break;
+
case 'c':
handle_commanded_add_arguments(gsh, argc, argv, counter);
break;
+
case 'e':
GSH_COUNT(argc, counter);
gsh_text_editor(gsh, argv[*counter]);
@@ -97,11 +126,11 @@
break;
case 'P':
- ADD_PIPED_GENERIC(gsh, ADD_PIPED_TEXT);
+ ADD_PIPED_GENERIC(gsh, add_piped_text);
break;
case 'p':
- ADD_PIPED_GENERIC(gsh, ADD_PIPED_LABEL);
+ ADD_PIPED_GENERIC(gsh, add_piped_label);
break;
case 'r': /* Force creation of a new row. */
@@ -109,12 +138,12 @@
break;
case 'S': /* Add a separator. */
- ADD_SEPARATOR(gsh);
+ add_separator(gsh);
break;
case 's': /* Add a shell. */
GSH_COUNT(argc, counter);
- $(gsh, manage, $(gsh->terminal, add, argv[*counter]));
+ add_shell(gsh, argv[*counter]);
break;
case 't':
@@ -133,7 +162,7 @@
break;
case 'w':
- ADD_NEW_WINDOW(gsh);
+ add_new_window(gsh);
break;
default:
Index: gtkshell/add_options.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/add_options.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- gtkshell/add_options.h 28 Feb 2007 03:53:51 -0000 1.4
+++ gtkshell/add_options.h 14 May 2007 12:16:11 -0000 1.5
@@ -26,6 +26,6 @@
#include "gtkshell.h"
void
- gsh_handle_add_arguments(struct GSH * gsh, int argc, char **argv, int
*counter);
+gsh_handle_add_arguments(GSH * gsh, const gint argc, gchar **argv, gint
*counter);
#endif
Index: gtkshell/arguments.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/arguments.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- gtkshell/arguments.c 10 May 2007 00:08:28 -0000 1.24
+++ gtkshell/arguments.c 14 May 2007 12:16:11 -0000 1.25
@@ -26,10 +26,14 @@
#define SPLIT_ALL -1
static void
-menubar_parse(struct GSH * gsh, const gchar * string)
+menubar_parse(GSH * gsh, const gchar * string)
{
gchar **tokens;
+#ifdef DEBUG
+ ARPASSERT(gsh);
+ ARPASSERT(string);
+#endif /* DEBUG */
tokens=g_strsplit(string, "::", SPLIT_ALL);
/* Determine if the button is a regular button or a menu button. */
tokens[1] ? gsh_menubutton_parse(gsh, tokens)
@@ -37,9 +41,23 @@
g_strfreev(tokens);
}
+static void
+add_each_menu(GSH * gsh, gchar ** menubar_tokens)
+{
+ guint i;
+
+#ifdef DEBUG
+ ARPASSERT(gsh);
+ ARPASSERT(menubar_tokens);
+#endif /* DEBUG */
+
+ for(i=0; menubar_tokens[i]; i++)
+ menubar_parse(gsh, menubar_tokens[i]);
+}
+
/* Decide whether to use a regular button or a menu button. */
static void
-button_parse(struct GSH * gsh, const gchar * string)
+button_parse(GSH * gsh, const gchar * string)
{
gchar **menubar_tokens;
@@ -52,17 +70,12 @@
menubar_tokens=g_strsplit(string, ":::", SPLIT_ALL);
/* If ":::" is not found, STRING will be contained in
menubar_tokens[0]. */
- {
- guint i;
-
- for(i=0; menubar_tokens[i]; i++)
- menubar_parse(gsh, menubar_tokens[i]);
- }
+ add_each_menu(gsh, menubar_tokens);
g_strfreev(menubar_tokens);
}
void
-gsh_parse_arguments(struct GSH * gsh, gint argc, gchar **argv)
+gsh_parse_arguments(GSH * gsh, gint argc, gchar **argv)
{
int counter;
Index: gtkshell/containers.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/containers.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- gtkshell/containers.c 11 May 2007 23:28:52 -0000 1.18
+++ gtkshell/containers.c 14 May 2007 12:16:11 -0000 1.19
@@ -22,14 +22,31 @@
#include "gtkshell.h"
-static void
-set_scrolled_window_options(struct GSH * gsh)
-{
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(
- gsh->widgets.scrolled_window), GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(
- gsh->widgets.scrolled_window), GTK_SHADOW_OUT);
+/* GTK Scrolled Window Set */
+#define GSWS(item, window, ...)\
+ gtk_scrolled_window_set_##item(GTK_SCROLLED_WINDOW(window),\
+ __VA_ARGS__)
+
+/* GTK Scrolled Window Set WIDGET */
+#define GSWSWIDGET gsh->widgets.scrolled_window
+
+/* GTK Scrolled Window Set (with WIDGET) */
+#define GSWSW(item, ...) GSWS(item, GSWSWIDGET, __VA_ARGS__)
+
+/* GSWSW for scrolling policy. */
+#define GSWSWP(h_policy, v_policy) GSWSW(policy, h_policy, v_policy)
+
+/* GSWSW for shadow type. */
+#define GSWSWST(type) GSWSW(shadow_type, type)
+
+/* Shortened name. */
+#define GTKPA GTK_POLICY_AUTOMATIC
+
+/* Use macro, as only used within scrolled window creation function. */
+#define SET_SCROLLED_WINDOW_OPTIONS(gsh)\
+{\
+ GSWSWP(GTKPA, GTKPA);\
+ GSWSWST(GTK_SHADOW_OUT);\
}
static void
@@ -39,21 +56,24 @@
scrolled_window = gsh->widgets.scrolled_window
= gtk_scrolled_window_new(NULL, NULL);
- set_scrolled_window_options(gsh);
+ SET_SCROLLED_WINDOW_OPTIONS(gsh);
gtk_container_add(GTK_CONTAINER(gsh->widgets.window), scrolled_window);
gtk_widget_show(scrolled_window);
gtk_scrolled_window_add_with_viewport(
GTK_SCROLLED_WINDOW(scrolled_window), gsh->rows->h);
}
+#define GTKCA(container, widget)\
+ gtk_container_add(GTK_CONTAINER(container), widget)
+
static void
setup_framed(struct GSH * gsh)
{
GtkWidget *frame;
gtk_widget_show(frame = gtk_frame_new(NULL));
- gtk_container_add(GTK_CONTAINER(gsh->widgets.window), frame);
- gtk_container_add(GTK_CONTAINER(frame), gsh->rows->h);
+ GTKCA(gsh->widgets.window, frame);
+ GTKCA(frame, gsh->rows->h);
}
void
@@ -63,18 +83,20 @@
$(gsh->rows, new);
}
+#define GWA gsh->widgets.app
+
static void
setup_app_mode_frame(struct GSH * gsh)
{
- gtk_container_add(GTK_CONTAINER(gsh->widgets.app_frame),
+ gtk_container_add(GTK_CONTAINER(GWA.frame),
gsh->rows->h);
- gsh->rows->h=gsh->widgets.app_row;
+ gsh->rows->h=GWA.row;
}
void
gsh_setup_base_container(struct GSH * gsh)
{
- if(gsh->widgets.app_frame)
+ if(GWA.frame)
setup_app_mode_frame(gsh);
if (GSH_FLAG(GSH_SCROLL))
gsh_setup_scrolled_window(gsh);
Index: gtkshell/font.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/font.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- gtkshell/font.c 3 May 2007 03:42:31 -0000 1.6
+++ gtkshell/font.c 14 May 2007 12:16:11 -0000 1.7
@@ -38,7 +38,7 @@
#ifdef DEBUG
ARPASSERT(widget);
#endif /* DEBUG */
- if(!font)
+ if(!font) /* Allowed assignmet for uninitialized const var. */
font="Mono 12";
if(VTE_IS_TERMINAL(widget))
vte_terminal_set_font_from_string(VTE_TERMINAL(widget), font);
Index: gtkshell/gtkshell.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/gtkshell.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- gtkshell/gtkshell.c 11 May 2007 23:28:52 -0000 1.38
+++ gtkshell/gtkshell.c 14 May 2007 12:16:11 -0000 1.39
@@ -23,77 +23,95 @@
#include "gtkshell.h"
-#define GSH_DELETE_CHILD_CLASSES(gsh)\
-{\
- ARDELETE(gsh->rows);\
- ARDELETE(gsh->terminal);\
- ARDELETE(gsh->update);\
+static void
+delete_child_classes(GSH * gsh)
+{
+ ARDELETE(gsh->rows);
+ ARDELETE(gsh->terminal);
+ ARDELETE(gsh->update);
}
static void
gsh_delete_GSH(struct GSH * gsh)
{
- GSH_DELETE_CHILD_CLASSES(gsh);
+ delete_child_classes(gsh);
GSH_FREE_IF(gsh->geometry);
}
-#define SETUP_ADD_METHODS(gsh)\
-{\
- gsh->add.window=&gsh_GSH_add_window;\
- gsh->add.button=&gsh_add_button;\
- gsh->add.label=&gsh_add_label;\
-}
-
-#define SETUP_METHODS(gsh)\
-{\
- gsh->delete = &gsh_delete_GSH;\
- gsh->parse = &gsh_parse_arguments;\
- gsh->finalize = &gsh_GSH_finalize;\
- gsh->init = &gsh_setup_containers;\
- gsh->manage=&gsh_manage;\
- SETUP_ADD_METHODS(gsh);\
-}
-
-#define SETUP_CHILD_CLASSES(gsh) \
-{\
- gsh->update = ARNEW(gsh, GSHUpdateManager);\
- gsh->rows = ARNEW(gsh, GSHRows);\
- gsh->terminal = ARNEW(gsh, GSH_Terminal);\
-}
-
-#define SETUP_WIDGET_MEMBER_FIELDS(gsh)\
-{\
- gsh->widgets.menu_bar=NULL;\
- gsh->widgets.app_frame=NULL;\
- gsh->widgets.last_managed=NULL;\
-}
-
-#define SETUP_EDITOR_MEMBER_FIELDS(gsh)\
-{\
- gsh->editor.widget=NULL;\
- gsh->editor.filename=NULL;\
-}
-
-#define SETUP_MAIN_MEMBER_FIELDS(gsh) \
-{\
- gsh->geometry = (gchar *)NULL;\
- gsh->bflags = 0;\
- gsh->icon_size=GTK_ICON_SIZE_DND;\
-}
-
-#define SETUP_MEMBER_FIELDS(gsh) \
-{\
- SETUP_WIDGET_MEMBER_FIELDS(gsh);\
- SETUP_EDITOR_MEMBER_FIELDS(gsh);\
- SETUP_MAIN_MEMBER_FIELDS(gsh);\
-}
-
-#define SETUP_GSH(gsh) \
-{\
- SETUP_CHILD_CLASSES(gsh);\
- SETUP_METHODS(gsh);\
- SETUP_MEMBER_FIELDS(gsh);\
- $(gsh, add.window);\
+static void
+setup_add_methods(GSH * gsh)
+{
+#define GSHA gsh->add
+ GSHA.window=&gsh_GSH_add_window;
+ GSHA.button=&gsh_add_button;
+ GSHA.label=&gsh_add_label;
+}
+
+static void
+setup_methods(GSH * gsh)
+{
+ gsh->delete = &gsh_delete_GSH;
+ gsh->parse = &gsh_parse_arguments;
+ gsh->finalize = &gsh_GSH_finalize;
+ gsh->init = &gsh_setup_containers;
+ gsh->manage=&gsh_manage;
+ setup_add_methods(gsh);
+}
+
+static void
+setup_child_classes(GSH * gsh)
+{
+ gsh->update = ARNEW(gsh, GSHUpdateManager);
+ gsh->rows = ARNEW(gsh, GSHRows);
+ gsh->terminal = ARNEW(gsh, GSH_Terminal);
+}
+
+
+static void
+setup_widget_app_member_fields(GSH * gsh)
+{
+#define GWA gsh->widgets.app
+ GWA.menubar=NULL;
+ GWA.frame=NULL;
+}
+
+static void
+setup_widget_member_fields(GSH * gsh)
+{
+ gsh->widgets.last_managed=NULL;
+ setup_widget_app_member_fields(gsh);
+}
+
+static void
+setup_editor_member_fields(GSH * gsh)
+{
+ gsh->editor.widget=NULL;
+ gsh->editor.filename=NULL;
+}
+
+static void
+setup_main_member_fields(GSH * gsh)
+{
+ gsh->geometry = (gchar *)NULL;
+ gsh->bflags = 0;
+ gsh->icon_size=GTK_ICON_SIZE_DND;
+}
+
+static void
+setup_member_fields(GSH * gsh)
+{
+ setup_widget_member_fields(gsh);
+ setup_editor_member_fields(gsh);
+ setup_main_member_fields(gsh);
+}
+
+static void
+setup_gsh(GSH * gsh)
+{
+ setup_child_classes(gsh);
+ setup_methods(gsh);
+ setup_member_fields(gsh);
+ $(gsh, add.window);
}
struct GSH *
@@ -102,7 +120,7 @@
struct GSH *gsh;
gsh = (struct GSH *) xmalloc(sizeof(struct GSH));
- SETUP_GSH(gsh);
+ setup_gsh(gsh);
return gsh;
}
Index: gtkshell/gtkshell.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/gtkshell.h,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- gtkshell/gtkshell.h 11 May 2007 23:28:52 -0000 1.45
+++ gtkshell/gtkshell.h 14 May 2007 12:16:11 -0000 1.46
@@ -60,11 +60,14 @@
GtkWidget * window;
GtkWidget * scrolled_window;
GtkWidget * button;
- GtkWidget * menu_bar;
- GtkWidget * status_bar;
- GtkWidget * app_frame;
- GtkWidget * app_row;
GtkWidget * last_managed;
+ struct /* app mode */
+ {
+ GtkWidget * menubar;
+ GtkWidget * status;
+ GtkWidget * frame;
+ GtkWidget * row;
+ } app;
} widgets;
struct /* text editor */
{
@@ -79,7 +82,7 @@
/* methods */
void (*delete)(struct GSH *);
- void (*parse)(struct GSH *, gint, gchar **);
+ void (*parse)(struct GSH *, const gint, gchar **);
void (*init)(struct GSH *);
void (*finalize)(struct GSH *);
void (*manage)(struct GSH *, GtkWidget *);
@@ -94,6 +97,8 @@
};
+typedef struct GSH GSH;
+
#include "module_includes.h"
struct GSH *
Index: gtkshell/label.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/label.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- gtkshell/label.c 3 May 2007 22:55:10 -0000 1.19
+++ gtkshell/label.c 14 May 2007 12:16:11 -0000 1.20
@@ -35,15 +35,13 @@
static GtkWidget *
make_framed_label(GtkWidget * label)
{
- gtk_widget_show(label);
- {
GtkWidget *frame;
- gtk_container_add(GTK_CONTAINER(frame=gtk_frame_new(NULL)),
- label);
+ frame=gtk_frame_new(NULL);
+ gtk_container_add(GTK_CONTAINER(frame), label);
+ gtk_widget_show(label);
return frame;
- }
}
GtkWidget *
Index: gtkshell/menu.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/menu.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- gtkshell/menu.c 11 May 2007 23:28:52 -0000 1.12
+++ gtkshell/menu.c 14 May 2007 12:16:11 -0000 1.13
@@ -45,34 +45,40 @@
}
static void
-add_menu_items(struct GSH * gsh, GtkWidget * menu, gchar **tokens)
+perform_addition_for_each_item(struct GSH * gsh, gchar ** tokens)
{
- GtkWidget * old_row;
-
- /* Set gsh->rows->v to a row within a menu.
- * Create the menu before overwriting, then
- * set back at end. */
-
- old_row=gsh->rows->v;
- gsh->rows->v=menu;
-
- {
guint i;
for(i=1; ARPBOOL(tokens[i]); i++)
menuitem_parse(gsh, tokens[i]);
- }
- gsh->rows->v=old_row;
+}
+
+
+static void
+add_menu_items(struct GSH * gsh, GtkWidget * menu, gchar **tokens)
+{
+#define GSHR gsh->rows
+ /* Set gsh->rows->v to a row within a menu.
+ * Create the menu before overwriting, then
+ * set back at end. */
+ const GtkWidget * old_row = gsh->rows->v;
+
+ GSHR->v=menu;
+ perform_addition_for_each_item(gsh, tokens);
+ GSHR->v=(GtkWidget *)old_row;
}
#define CONT_ADD(cont, widget)\
gtk_container_add(GTK_CONTAINER(cont), widget)
+#define CONT_ADD_TIGHT(cont, widget)\
+ gtk_box_pack_start(GTK_BOX(cont), widget, FALSE, FALSE, 0);
#define SHOW_CREAT(var, type, ...)\
gtk_widget_show(var=gtk_##type##_new(__VA_ARGS__))
#define GW gsh->widgets
+#define GWA GW.app
static void
setup_app_mode_status_bar(struct GSH * gsh)
@@ -81,59 +87,57 @@
SHOW_CREAT(status_frame, frame, NULL);
gtk_frame_set_shadow_type(GTK_FRAME(status_frame), GTK_SHADOW_IN);
- CONT_ADD(GW.app_row, status_frame);
- SHOW_CREAT(GW.status_bar, label, "status");
- CONT_ADD(status_frame, GW.status_bar);
+ CONT_ADD_TIGHT(GWA.row, status_frame);
+ SHOW_CREAT(GWA.status, label, "status");
+ CONT_ADD(status_frame, GWA.status);
}
#define SETUP_APP_MODE_FRAME(gsh)\
{\
- SHOW_CREAT(GW.app_frame, frame, NULL);\
- CONT_ADD(GW.app_row, GW.app_frame);\
+ SHOW_CREAT(GWA.frame, frame, NULL);\
+ CONT_ADD(GWA.row, GWA.frame);\
}
static void
setup_app_mode(struct GSH * gsh)
{
- SHOW_CREAT(GW.app_row, vbox, FALSE, 1);
+ SHOW_CREAT(GWA.row, vbox, FALSE, 1);
/* Add menu bar to application column. */
- CONT_ADD(GW.app_row, GW.menu_bar);
+/* FIXME: add such that it does not expand. */
+ CONT_ADD_TIGHT(GWA.row, GWA.menubar);
SETUP_APP_MODE_FRAME(gsh);
setup_app_mode_status_bar(gsh);
}
#define MANAGE_MENU_BAR(gsh) \
GSH_FLAG(GSH_APP_MODE) ? setup_app_mode(gsh)\
- : $(gsh, manage, gsh->widgets.menu_bar);
+ : $(gsh, manage, GWA.menubar);
static GtkWidget *
add_menu_bar(struct GSH * gsh)
{
- if(!gsh->widgets.menu_bar)
+ if(!GWA.menubar)
{
- gtk_widget_show(gsh->widgets.menu_bar=gtk_menu_bar_new());
+ gtk_widget_show(GWA.menubar=gtk_menu_bar_new());
MANAGE_MENU_BAR(gsh);
}
- return gsh->widgets.menu_bar;
+ return GWA.menubar;
}
static GtkWidget *
add_menu_launcher(struct GSH * gsh, gchar * label)
{
- GtkWidget * old_row;
+ const GtkWidget * old_row = gsh->rows->v;
+ GtkWidget * menu_item;
- old_row=gsh->rows->v;
gsh->rows->v=add_menu_bar(gsh);
GSH_SET(GSH_MENU_BUTTON);
- {
- GtkWidget * menu_item;
-
- gtk_widget_show(menu_item=gsh_add_button(gsh, label));
- gsh->rows->v=old_row;
+ menu_item = $(gsh, add.button, label);
+ gtk_widget_show(menu_item);
+ gsh->rows->v=(GtkWidget *)old_row;
return menu_item;
- }
}
void
Index: gtkshell/option_options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/option_options.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- gtkshell/option_options.c 11 May 2007 23:28:52 -0000 1.27
+++ gtkshell/option_options.c 14 May 2007 12:16:11 -0000 1.28
@@ -26,44 +26,51 @@
/* This is for windows that should not be touched by the window manager,
such as the ACE Deskbar panel. */
static void
-set_no_decorations(struct GSH * gsh)
+set_no_decorations(GSH * gsh)
{
- /* Recreate main window as popup type. */
- gsh->widgets.window=gtk_window_new(GTK_WINDOW_POPUP);
+ /* Alias to minimize dereferences through GSH. */
+ GtkWindow * window;
- gtk_window_set_type_hint(GTK_WINDOW(gsh->widgets.window),
- GDK_WINDOW_TYPE_HINT_DESKTOP);
- gtk_window_set_decorated(GTK_WINDOW(gsh->widgets.window),
- FALSE);
- gtk_window_set_skip_taskbar_hint(GTK_WINDOW(gsh->widgets.window),
- TRUE);
+ /* Recreate main window as popup type. This is not recommended, but is
+ necessary when using window managers that do not decorate according
+ to hints, such as evilwm. */
+ window=GTK_WINDOW(gsh->widgets.window=gtk_window_new(GTK_WINDOW_POPUP));
+
+ gtk_window_set_type_hint(window, GDK_WINDOW_TYPE_HINT_DESKTOP);
+ gtk_window_set_decorated(window, FALSE);
+ gtk_window_set_skip_taskbar_hint(window, TRUE);
/* Show window on all desktops. */
- gtk_window_stick(GTK_WINDOW(gsh->widgets.window));
-
- gtk_window_set_accept_focus(GTK_WINDOW(gsh->widgets.window),
- TRUE);
+ gtk_window_stick(window);
+ /* Window does not seem to really accept focus when this is set, most
+ likely because of the POPUP option's side effect of overriding
+ window manager redirection. */
+ gtk_window_set_accept_focus(window, TRUE);
}
static void
-set_icon_size(struct GSH * gsh, const gchar * arg)
+set_icon_size(GSH * gsh, const gchar * arg)
{
- if(!strcmp("menu", arg))
+
+ /* Define some shortcuts. */
+#define GIS gsh->icon_size
+#define GISCMP(text) !strcmp(text, arg)
+
+ if(GISCMP("menu"))
gsh->icon_size=GTK_ICON_SIZE_MENU;
- else if(!strcmp("small toolbar", arg))
- gsh->icon_size=GTK_ICON_SIZE_SMALL_TOOLBAR;
- else if(!strcmp("large toolbar", arg))
- gsh->icon_size=GTK_ICON_SIZE_LARGE_TOOLBAR;
- else if(!strcmp("button", arg))
- gsh->icon_size=GTK_ICON_SIZE_BUTTON;
- else if(!strcmp("dialog", arg))
- gsh->icon_size=GTK_ICON_SIZE_DIALOG;
+ else if(GISCMP("small toolbar"))
+ GIS=GTK_ICON_SIZE_SMALL_TOOLBAR;
+ else if(GISCMP("large toolbar") || GISCMP("toolbar"))
+ GIS=GTK_ICON_SIZE_LARGE_TOOLBAR;
+ else if(GISCMP("button"))
+ GIS=GTK_ICON_SIZE_BUTTON;
+ else if(GISCMP("dialog"))
+ GIS=GTK_ICON_SIZE_DIALOG;
else /* default */
- gsh->icon_size=GTK_ICON_SIZE_DND;
+ GIS=GTK_ICON_SIZE_DND;
}
void
-gsh_handle_option_arguments(struct GSH * gsh, int argc, char **argv,
- int *counter)
+gsh_handle_option_arguments(GSH * gsh, const gint argc, gchar **argv, gint
*counter)
{
switch (argv[(*counter)][2])
{
Index: gtkshell/option_options.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/option_options.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- gtkshell/option_options.h 28 Feb 2007 03:53:51 -0000 1.5
+++ gtkshell/option_options.h 14 May 2007 12:16:11 -0000 1.6
@@ -1,6 +1,6 @@
/*
AntiRight
- (c) 2002-2006 Jeffrey Bedard
+ (c) 2002-2007 Jeffrey Bedard
address@hidden
This file is part of AntiRight.
@@ -24,7 +24,6 @@
#define GSH_OPTION_OPTIONS_H
void
-gsh_handle_option_arguments(
- struct GSH * gsh, int argc, char **argv, int *counter);
+gsh_handle_option_arguments(GSH * gsh, const gint argc, gchar **argv, gint
*counter);
#endif
Index: gtkshell/options.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/options.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- gtkshell/options.c 10 May 2007 00:08:28 -0000 1.24
+++ gtkshell/options.c 14 May 2007 12:16:11 -0000 1.25
@@ -40,23 +40,25 @@
/* Determine whether or not to include an initial
dummy argument. Needed as argv[0] is skipped
by the command line handling code. */
-#define TEST_DUMMY(gsh)\
-{\
- if(!GSH_FLAG(GSH_GUIDL_NO_DUMMY))\
- $(gsh_guidl_env->args, add, (const gchar *)"guidl");\
+static void
+check_for_dummy_argument(GSH * gsh)
+{
+ if(!GSH_FLAG(GSH_GUIDL_NO_DUMMY))
+ $(gsh_guidl_env->args, add, (const gchar *)"guidl");
}
-#define CHECK_GSH_GUIDL_ENV(gsh)\
-{\
- if(!gsh_guidl_env)\
- gsh_guidl_env=ARNEW(gsh, GDLEnvironment);\
+static void
+check_gsh_guidl_env(GSH * gsh)
+{
+ if(!gsh_guidl_env)
+ gsh_guidl_env=ARNEW(gsh, GDLEnvironment);
}
static void
-common_guidl_handler(struct GSH * gsh)
+common_guidl_handler(GSH * gsh)
{
- CHECK_GSH_GUIDL_ENV(gsh);
- TEST_DUMMY(gsh);
+ check_gsh_guidl_env(gsh);
+ check_for_dummy_argument(gsh);
yyparse();
#ifdef DEBUG
print_arguments(gsh_guidl_env->args->argc, gsh_guidl_env->args->argv);
@@ -67,21 +69,21 @@
gsh_guidl_env=NULL;
}
-/* If the argument is "-", use stdin for yyin. */
-/* Otherwise, use FILENAME. */
-#define GUIDL_HANDLER_FOR_FILE(gsh, filename) \
-{\
- if(strcmp("-", filename))\
- yyin=fopen(filename, "r");\
- common_guidl_handler(gsh);\
+static void
+guidl_handler_for_file(GSH * gsh, const gchar * filename)
+{
+ /* If the argument is "-", use stdin for yyin. */
+ /* Otherwise, use FILENAME. */
+ if(strcmp("-", filename))
+ yyin=fopen(filename, "r");
+ common_guidl_handler(gsh);
}
#define HANDLE(type)\
gsh_handle_##type##_arguments(gsh, argc, argv, counter);
void
-gsh_handle_switch_arguments(struct GSH * gsh, int argc,
- char **argv, int *counter)
+gsh_handle_switch_arguments(GSH * gsh, const const gint argc, gchar **argv,
gint *counter)
{
$(gsh->rows, check);
switch (argv[*counter][1])
@@ -94,7 +96,7 @@
break;
case 'f':
GSH_COUNT(argc, counter);
- GUIDL_HANDLER_FOR_FILE(gsh, argv[*counter]);
+ guidl_handler_for_file(gsh, argv[*counter]);
break;
case 'o':
HANDLE(option);
Index: gtkshell/options.h
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/options.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- gtkshell/options.h 4 May 2007 00:59:58 -0000 1.5
+++ gtkshell/options.h 14 May 2007 12:16:11 -0000 1.6
@@ -39,7 +39,6 @@
#endif /* DEBUG */
void
-gsh_handle_switch_arguments(struct GSH * gsh, int argc, char **argv,
- int *counter);
+gsh_handle_switch_arguments(GSH * gsh, const gint argc, gchar **argv, gint
*counter);
#endif /* not GSH_OPTIONS_H */
Index: gtkshell/pane.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/pane.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- gtkshell/pane.c 11 May 2007 23:28:52 -0000 1.2
+++ gtkshell/pane.c 14 May 2007 12:16:11 -0000 1.3
@@ -36,21 +36,28 @@
#define REPARENT_TO(new) reparent(gsh->rows->v, gsh->rows->h, new)
static void
+split_columns_for_pane(struct GSH * gsh, GtkWidget * pane)
+{
+ struct GSHRows * rows;
+
+ rows=gsh->rows;
+ $(rows, new);
+ $(gsh, manage, pane);
+ $(rows, new);
+}
+
+static GtkWidget *
setup_first_pane_half(struct GSH * gsh, const gchar ** pair, GtkWidget * pane)
{
- {
GtkWidget * first;
gtk_widget_show(first=gtk_frame_new(pair[0]));
REPARENT_TO(first);
- gtk_paned_add1(GTK_PANED(pane), first);
- }
- $(gsh->rows, new);
- $(gsh, manage, pane);
- $(gsh->rows, new);
+
+ return first;
}
-static void
+static GtkWidget *
setup_second_pane_half(struct GSH * gsh, gchar ** pair, GtkWidget * pane)
{
GtkWidget * second;
@@ -58,6 +65,14 @@
gtk_widget_show(second=gtk_frame_new(pair[1]));
g_strfreev(pair);
REPARENT_TO(second);
+
+ return second;
+}
+
+static void
+assign_pane_sections(GtkWidget * pane, GtkWidget * first, GtkWidget * second)
+{
+ gtk_paned_add1(GTK_PANED(pane), first);
gtk_paned_add2(GTK_PANED(pane), second);
}
@@ -69,11 +84,22 @@
pair=g_strsplit(label_pair, ",", 2);
pane=gtk_hpaned_new();
- setup_first_pane_half(gsh, (const gchar **)pair, pane);
+ {
+ GtkWidget * first;
+
+ first=setup_first_pane_half(gsh, (const gchar **)pair, pane);
+ split_columns_for_pane(gsh, pane);
+ {
+ GtkWidget * second;
+
/* PAIR freed here. */
- setup_second_pane_half(gsh, pair, pane);
+ second=setup_second_pane_half(gsh, pair, pane);
+ assign_pane_sections(pane, first, second);
+ }
+ }
}
+
void
gsh_pane_previous(struct GSH * gsh, GtkWidget * target)
{
@@ -86,8 +112,7 @@
ARPASSERT(gsh->widgets.last_managed);
#endif /* DEBUG */
reparent(gsh->widgets.last_managed, gsh->rows->v, prev_frame);
- gtk_paned_add1(GTK_PANED(pane), prev_frame);
- gtk_paned_add2(GTK_PANED(pane), target);
+ assign_pane_sections(pane, prev_frame, target);
gtk_widget_show(prev_frame);
gtk_widget_show(target);
GSH_UNSET(GSH_PANE_NEXT);
Index: gtkshell/terminal.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/terminal.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- gtkshell/terminal.c 10 May 2007 00:08:28 -0000 1.16
+++ gtkshell/terminal.c 14 May 2007 12:16:11 -0000 1.17
@@ -22,6 +22,7 @@
#include "gtkshell.h"
+
#define VSET(element, widget, ...)\
vte_terminal_set_##element(VTE_TERMINAL(widget), __VA_ARGS__)
@@ -30,13 +31,17 @@
#define VSETW(element, ...)\
VSET(element, term->widget, __VA_ARGS__)
-#define SET_TERMINAL_OPTIONS(term)\
-{\
- VSETW(size, term->width, term->height);\
- VSETW(allow_bold, TRUE);\
- VSETW(backspace_binding, VTE_ERASE_ASCII_BACKSPACE);\
- VSETW(background_transparent, TRUE);\
- gsh_widget_set_font(term->widget, term->font);\
+static void
+set_terminal_options(struct GSH_Terminal * term)
+{
+ VSETW(size, term->width, term->height);
+ VSETW(allow_bold, TRUE);
+ VSETW(backspace_binding, VTE_ERASE_ASCII_BACKSPACE);
+ VSETW(background_transparent, TRUE);
+ gsh_widget_set_font(term->widget, term->font);
+}
+
+{
}
static void
@@ -84,7 +89,7 @@
/* Exit from the application if the terminal process dies. */
g_signal_connect(G_OBJECT(term->widget=vte_terminal_new()),
"child-exited", G_CALLBACK(gtk_main_quit), NULL);
- SET_TERMINAL_OPTIONS(term);
+ set_terminal_options(term);
gsh_terminal_run(term, command);
return term->widget;
Index: gtkshell/text.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/text.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- gtkshell/text.c 11 May 2007 23:28:52 -0000 1.28
+++ gtkshell/text.c 14 May 2007 12:16:12 -0000 1.29
@@ -93,6 +93,9 @@
{
GtkWidget *text;
+#ifdef DEBUG
+ ARPASSERT(gsh);
+#endif /* DEBUG */
$(gsh, manage, gsh->editor.widget=text=gtk_text_view_new());
SET_OPTIONS(text);
@@ -128,6 +131,7 @@
CHECK_GEOMETRY(gsh);
}
+/* Check that the editor widget has been initialized. */
#define TEST_EDITOR_EXISTS(gsh)\
if(!gsh->editor.widget)\
return;
@@ -137,6 +141,7 @@
gsh_editor_save(struct GSH * gsh)
{
TEST_EDITOR_EXISTS(gsh);
+ /* Choose action based on whether or not file has been chosen.*/
if(gsh->editor.filename)
{
gchar * text;
@@ -152,8 +157,10 @@
static void
get_filename(struct GSH * gsh)
{
+ /* Make sure that FILENAME is freed if previously used. */
if(gsh->editor.filename)
g_free(gsh->editor.filename);
+ /* Get the filename. */
gsh->editor.filename=PROMPT_FILENAME();
}
Index: gtkshell/updated_label.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/updated_label.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- gtkshell/updated_label.c 9 May 2007 19:53:37 -0000 1.19
+++ gtkshell/updated_label.c 14 May 2007 12:16:12 -0000 1.20
@@ -55,18 +55,19 @@
void
gsh_add_updated_label(struct GSH * gsh, const gchar *command)
{
+#define GWA gsh->widgets.app
+ GtkWidget * status = GWA.status;
#ifdef DEBUG
g_message("gsh_add_updated_label()");
ARPASSERT(gsh);
ARPASSERT(command);
#endif /* DEBUG */
$(gsh->update, add, ARNEW(gsh, GSHUpdatedWidget, &gsh_update_label,
- command, (GSH_FLAG(GSH_APP_MODE) && gsh->widgets.status_bar
- && !strncmp(gtk_label_get_text(
- GTK_LABEL(gsh->widgets.status_bar)), "status", 6))
- ? gsh->widgets.status_bar
+ command, (GSH_FLAG(GSH_APP_MODE) && status
+ && !strncmp(gtk_label_get_text(GTK_LABEL(status)),
+ "status", 6)) ? status
: gsh_add_label(gsh, (char *)command)));
/* Prevent two updaters from being
assigned to the status bar label. */
- gsh->widgets.status_bar=NULL;
+ GWA.status=NULL;
}
Index: gtkshell/updated_progress.c
===================================================================
RCS file: /sources/antiright/antiright/gtkshell/updated_progress.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- gtkshell/updated_progress.c 9 May 2007 17:20:53 -0000 1.14
+++ gtkshell/updated_progress.c 14 May 2007 12:16:12 -0000 1.15
@@ -40,14 +40,14 @@
void
gsh_add_updated_progress(struct GSH * gsh, const gchar *command)
{
- GtkWidget *widget;
+ GtkWidget *progress;
#ifdef DEBUG
ARPASSERT(gsh);
ARPASSERT(command);
#endif /* DEBUG */
-
- gsh_manage(gsh, widget=gtk_progress_bar_new());
+ progress=gtk_progress_bar_new();
+ $(gsh, manage, progress);
$(gsh->update, add, ARNEW(gsh, GSHUpdatedWidget,
- &gsh_update_progress, command, widget));
+ &gsh_update_progress, command, progress));
}