[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Antiright-devel] antiright ./COPYING ./Makefile.in ./configure d...
From: |
Jeffrey Bedard |
Subject: |
[Antiright-devel] antiright ./COPYING ./Makefile.in ./configure d... |
Date: |
Mon, 16 Aug 2004 13:31:23 -0400 |
CVSROOT: /cvsroot/antiright
Module name: antiright
Branch:
Changes by: Jeffrey Bedard <address@hidden> 04/08/16 17:27:05
Modified files:
. : COPYING Makefile.in configure
doc : README
lib : button.c label.c label.h library.h status.c
window.c window.h
src : ACE AntiRight
src/arshell : arguments.c arshell.h dialog.c file.c file.h
main.c menubar.c search.c search.h textedit.c
textedit.h
Added files:
src/bitmaps : barchart.xpm calculate.xpm cdrom.xpm
colormap.xpm disks.xpm earth.xpm edit.xpm
filing.xpm lightning.xpm mail.xpm note2.xpm
notebook.xpm tools.xpm xterm.xpm
Log message:
Pixmap icons were added. A unified search and replace dialog was added
to the text editor. A series of pixmap/bitmap convenience functions were
added. Label-less icon buttons were added to arshell, invoked by the -Ai
option. Various pixmaps were added. Find at cursor, find selected, revert
file, insert file, select all, and show/hide toolbar features were added. The
line counter in the status bar of the text editor was fixed, giving an accurate
line count. A font selector was added and is usable for changing the font of
the work area.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/COPYING.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/Makefile.in.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/configure.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/doc/README.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/button.c.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/label.c.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/label.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/library.h.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/status.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/window.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/window.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/ACE.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/AntiRight.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/arguments.c.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/arshell.h.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/dialog.c.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/file.c.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/file.h.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/main.c.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/menubar.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/search.c.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/search.h.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/textedit.c.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/textedit.h.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/barchart.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/calculate.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/cdrom.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/colormap.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/disks.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/earth.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/edit.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/filing.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/lightning.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/mail.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/note2.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/notebook.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/tools.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/xterm.xpm?rev=1.1
Patches:
Index: antiright/COPYING
diff -u antiright/COPYING:1.7 antiright/COPYING:1.8
--- antiright/COPYING:1.7 Mon Jul 5 23:39:22 2004
+++ antiright/COPYING Mon Aug 16 17:27:05 2004
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -291,7 +291,7 @@
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
+ Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -305,15 +305,14 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
- Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
Index: antiright/Makefile.in
diff -u antiright/Makefile.in:1.23 antiright/Makefile.in:1.24
--- antiright/Makefile.in:1.23 Fri Aug 13 19:32:51 2004
+++ antiright/Makefile.in Mon Aug 16 17:27:05 2004
@@ -91,6 +91,7 @@
$(INSTALL_DATA) doc/HACKING $(docdir)/antiright
$(INSTALL_DATA) ChangeLog $(docdir)/antiright
$(INSTALL_DATA) src/bitmaps/*.xbm $(bitmapdir)
+ $(INSTALL_DATA) src/bitmaps/*.xpm $(bitmapdir)
tarball: distclean
cd .. && tar czf antiright-$(VERSION).tar.gz antiright
Index: antiright/configure
diff -u antiright/configure:1.34 antiright/configure:1.35
--- antiright/configure:1.34 Fri Aug 13 00:04:21 2004
+++ antiright/configure Mon Aug 16 17:27:05 2004
@@ -24,9 +24,12 @@
#
###############################################################################
-VERSION=2.0
+VERSION=2.1
DEFS="$DEFS -DPACKAGE_STRING='\"AntiRight_$VERSION\"'"
+ICONDIR=/usr/X11R6/include/X11/bitmaps/antiright
+DEFS="$DEFS -DICONDIR=\'\"$ICONDIR\"\'"
+
cp Makefile.in Makefile
if [ "$PREFIX"="" ]; then
@@ -40,8 +43,23 @@
INCLUDE="$INCLUDE -I/usr/local/include -I/usr/X11R6/include"
LIBDIR="$LIBDIR -L/usr/local/lib -L/usr/X11R6/lib"
+
+if [ ! -f /usr/X11R6/include/Xm/XpmP.h ]; then
+ LIBS="$LIBS -lXpm"
+fi
+
+if [ -f /usr/local/lib/libXlt.so ] || [ -f /usr/X11R6/lib/libXlt.so ]; then
+ LIBS="$LIBS -lXlt"
+ DEFS="$DEFS -DHAVE_XLT"
+elif [ -f /usr/local/lib/libXlt.la ] || [ -f /usr/X11R6/lib/libXlt.la ]; then
+ LIBS="$LIBS -static -lXlt -shared"
+ DEFS="$DEFS -DHAVE_XLT"
+fi
+
LIBS="$LIBS -lXm -lXt -lX11"
+
DEFS="$DEFS -D_GNU_SOURCE -D__USE_GNU"
+
# Append assignments to line 36 of the Makefile.
sed "25a\\
PREFIX=$PREFIX\\
Index: antiright/doc/README
diff -u antiright/doc/README:1.1 antiright/doc/README:1.2
--- antiright/doc/README:1.1 Thu Jul 8 18:58:02 2004
+++ antiright/doc/README Mon Aug 16 17:27:05 2004
@@ -17,7 +17,8 @@
your system setup and your installation preferences.
Antiright is developed on a GNU/Linux system with linux kernel
-2.6.0-pre2, openmotif 2.3, glibc 2.3.2, and XFree86 4.3.99.6.
+2.6.7, gawk 3.1.3, coreutils 5.0, openmotif 2.3, glibc 3.4.1,
+and XFree86 4.4.99.7.
TO INSTALL:
@@ -28,6 +29,10 @@
make install
exit
+TO RUN:
+COMMAND TO START A SESSION: AR
+COMMAND TO START THE PANEL: ACE
+
VERSIONING ROADMAP
The previous versioning roadmap has been removed. This section describes
@@ -37,13 +42,3 @@
Numbering: <major>.<minor>
<minor> is to be increased at least once for every release. If the
release is a major feature enhancement, <minor> is increased by three.
<major> is increased when <minor> reaches 150.
-
-
-
-
-
-
-
-
-
-
Index: antiright/lib/button.c
diff -u antiright/lib/button.c:1.4 antiright/lib/button.c:1.5
--- antiright/lib/button.c:1.4 Fri Aug 13 18:18:18 2004
+++ antiright/lib/button.c Mon Aug 16 17:27:05 2004
@@ -36,13 +36,10 @@
XtPointer client_data)
{
antiright_set(XmNpacking, XmPACK_TIGHT);
- Widget button_widget=XmCreatePushButton(parent_widget,
- name,
- antiright.arguments,
- antiright.arguments_int);
+ Widget button_widget=XmCreatePushButton(parent_widget, name, ARARGS);
XtManageChild(button_widget);
XtAddCallback(button_widget, XmNactivateCallback, callback, client_data);
- if(client_data != NULL)
+ if(client_data != NULL & antiright.arm_status)
XtAddCallback(button_widget, XmNarmCallback, antiright_status_callback,
client_data);
return(button_widget);
@@ -58,15 +55,16 @@
Widget icon;
char* label_string;
#if XmVERSION > 1 & XmREVISION > 1
- antiright_set(XmNpixmap, antiright_pixmap_file(iconfilename));
+ antiright_set(XmNalignment, XmALIGNMENT_CENTER);
icon=(Widget)XmCreateIconButton(parent_widget, "icon",
antiright.arguments, antiright.arguments_int);
+ antiright_label_set_bitmap_from_file(icon, iconfilename);
XtManageChild(icon);
XtAddCallback(icon, XmNactivateCallback, callback, client_data);
label_string=antiright_beautified_label(name);
antiright_label_string(icon, label_string);
free(label_string);
-#else
+#else
Widget button, label, form;
icon=antiright_frame(parent_widget, XmSHADOW_OUT);
form=antiright_form(icon);
Index: antiright/lib/label.c
diff -u antiright/lib/label.c:1.2 antiright/lib/label.c:1.3
--- antiright/lib/label.c:1.2 Sat Aug 7 17:13:41 2004
+++ antiright/lib/label.c Mon Aug 16 17:27:05 2004
@@ -21,9 +21,7 @@
*/
#include "library.h"
-#if XmVERSION > 1 & XmREVISION > 1
-#include <Xm/XpmP.h>
-#endif /* XmVERSION > 1 & XmREVISION > 1 */
+
/* This creates an XmLabel, manages it, and returns it. */
Widget
@@ -49,25 +47,14 @@
NULL);
}
-Pixmap
-antiright_pixmap_file(char* filename)
-{
- Pixmap bitmap;
- int width, height, x_hot, y_hot;
- XReadBitmapFile(antiright.display, antiright.root_window, filename,
- &width, &height, &bitmap, &x_hot, &y_hot);
- return(bitmap);
-}
void
antiright_label_set_bitmap_from_file(Widget label, char* filename)
{
- XtVaSetValues(label,
- XmNlabelType, XmPIXMAP,
- XmNlabelPixmap, antiright_pixmap_file(filename),
- NULL);
+ antiright_set_bitmap_from_file(label, filename);
}
+
void
antiright_label_string(Widget label_widget,
char *label_string)
Index: antiright/lib/label.h
diff -u antiright/lib/label.h:1.2 antiright/lib/label.h:1.3
--- antiright/lib/label.h:1.2 Sat Aug 7 17:13:41 2004
+++ antiright/lib/label.h Mon Aug 16 17:27:05 2004
@@ -35,7 +35,10 @@
antiright_label_set_bitmap_from_file(Widget label, char* filename);
void
+antiright_set_bitmap_from_file(Widget label, char* filename);
+
+void
antiright_label_string(Widget label_widget,
char *label_string);
Pixmap
-antiright_pixmap_file(char* filename);
+antiright_pixmap_file(char* filename, Pixmap *mask);
Index: antiright/lib/library.h
diff -u antiright/lib/library.h:1.6 antiright/lib/library.h:1.7
--- antiright/lib/library.h:1.6 Fri Aug 13 18:18:18 2004
+++ antiright/lib/library.h Mon Aug 16 17:27:05 2004
@@ -40,6 +40,17 @@
#include "status.h"
#include "util.h"
+#if XmVERSION > 1 & XmREVISION > 1
+#include <Xm/XpmP.h>
+#else
+#include <xpm.h>
+#endif /* XmVERSION > 1 & XmREVISION > 1 */
+
+#ifdef HAVE_XLT
+#include <Xlt/Xlt.h>
+#include <Xlt/FontChooser.h>
+#endif /* HAVE_XLT */
+
struct antiright_application_structure
{
/* This is the display on which antiright.parent_widget runs. */
@@ -62,6 +73,9 @@
Arg arguments[64];
/* This is the argument counter. */
int arguments_int;
+ /* This, if true, prints status messages containing client_data when
+ a button is armed. */
+ Boolean arm_status;
};
/* This structure is used in all AntiRight programs. */
@@ -135,9 +149,20 @@
abreviation for AntiRight. CL is an abbreviation for CLear. ARG
is an abbreviation for ARGuments. */
#define ARCLARG antiright.arguments_int=0
-
+/* This is a shortcut to specifying the variables that hold a widget's
+ arguments. */
+#define ARARGS antiright.arguments, antiright.arguments_int
+/* This is a shortcut for the parameters of an Xt callback. */
+#define ARCBARG Widget widget, XtPointer client_data, XtPointer call_data
/* This is used by the form layout functions in order to set an
unattached widget. */
enum{ANTIRIGHT_NONE=-1};
+/* This is a debug marking function. */
+#define ARBUG \
+ { \
+ printf("%s: %d\n", __FILE__, __LINE__); \
+ fflush(stdout); \
+ } \
+
#endif /* AR_LIBRARY_H */
Index: antiright/lib/status.c
diff -u antiright/lib/status.c:1.3 antiright/lib/status.c:1.4
--- antiright/lib/status.c:1.3 Mon Aug 9 22:25:59 2004
+++ antiright/lib/status.c Mon Aug 16 17:27:05 2004
@@ -29,7 +29,7 @@
antiright_status(char *status)
{
if(antiright.status_widget != NULL)
- antiright_label_string(antiright.status_widget, status);
+ antiright_label_string(antiright.status_widget, status);
}
void
@@ -45,7 +45,6 @@
Widget
antiright_create_status_bar(Widget parent_widget)
{
- ARCLARG;
antiright_form_positions(ANTIRIGHT_NONE, 100, 0, 100);
antiright.status_widget=antiright_label(parent_widget, "Status");
return(antiright.status_widget);
Index: antiright/lib/window.c
diff -u antiright/lib/window.c:1.3 antiright/lib/window.c:1.4
--- antiright/lib/window.c:1.3 Mon Aug 9 22:45:02 2004
+++ antiright/lib/window.c Mon Aug 16 17:27:05 2004
@@ -23,6 +23,7 @@
#include "library.h"
#include <locale.h>
+
/* Set the icon and window title of a particular widget. */
void
antiright_set_widget_title(Widget widget, const char* name)
@@ -40,26 +41,93 @@
antiright_set_widget_title(antiright.parent_widget, name);
}
-void
-antiright_set_widget_icon_resource(Widget widget, String resource,
- unsigned char bits[],
- int width, int height)
+Pixmap
+antiright_file_to_bitmap(char *filename)
{
- ARCLARG;
- antiright_set(resource, (XtArgVal)XCreateBitmapFromData(antiright.display,
- antiright.root_window,
- (const char*)bits,
- width, height));
- antiright_set_values(widget);
- ARCLARG;
+ Pixmap bitmap;
+ int width, height, x_hot, y_hot;
+ XReadBitmapFile(antiright.display, antiright.root_window, filename,
+ &width, &height, &bitmap, &x_hot, &y_hot);
+ return(bitmap);
+}
+
+char *
+antiright_get_file_extension(char *filename)
+{
+ char *extension=(char*)xmalloc(4);
+ unsigned int filename_length=strlen(filename);
+ unsigned int counter=filename_length-3;
+ unsigned int extension_counter=0;
+
+
+ while(counter < filename_length)
+ {
+ extension[extension_counter]=filename[counter];
+ counter++;
+ extension_counter++;
+ }
+ extension[extension_counter]='\0';
+ return(extension);
+}
+
+XpmAttributes
+antiright_setup_pixmap_attributes_for_widget(Widget widget)
+{
+ Pixel background;
+ XpmAttributes attributes;
+ XpmColorSymbol symbol;
+ XtVaGetValues(widget, XmNbackground, &background, NULL);
+ symbol.name=NULL;
+ symbol.value="none";
+ symbol.pixel=background;
+ attributes.colorsymbols=&symbol;
+ attributes.numsymbols=1;
+ attributes.valuemask=XpmColorSymbols;
+ return(attributes);
}
-/* Set the icon bitmap. */
void
-antiright_set_icon(unsigned char bits[])
-{
- antiright_set_widget_icon_resource(antiright.parent_widget, XmNiconPixmap,
- bits, 48, 48);
+antiright_set_widget_pixmaps(Widget label, Pixmap bitmap)
+{
+ XtVaSetValues(label,
+ XmNlabelType, XmPIXMAP,
+ XmNlabelPixmap, bitmap,
+ XmNiconPixmap, bitmap,
+ NULL);
+#if XmVERSION > 1 & XmREVISION > 1
+ XtVaSetValues(label, XmNpixmap, bitmap, NULL);
+#endif /* XmVERSION > 1 & XmREVISION > 1 */
+}
+void
+antiright_set_pixmap_from_data(Widget widget, char **data)
+{
+ Pixmap bitmap;
+ XpmAttributes attributes;
+ attributes=antiright_setup_pixmap_attributes_for_widget(widget);
+ XpmCreatePixmapFromData(antiright.display, antiright.root_window,
+ data, &bitmap, NULL, &attributes);
+ antiright_set_widget_pixmaps(widget, bitmap);
+}
+
+void
+antiright_set_bitmap_from_file(Widget label, char* filename)
+{
+ Pixmap bitmap;
+ char *extension=antiright_get_file_extension(filename);
+
+ if(!strncmp(extension, "xpm", 3)) /* File is a pixmap. */
+ {
+ XpmAttributes attributes;
+ attributes=antiright_setup_pixmap_attributes_for_widget(label);
+ XpmReadFileToPixmap(antiright.display, antiright.root_window,
+ filename, &bitmap, NULL, &attributes);
+ }
+ else /* File is a bitmap. */
+ {
+ bitmap=antiright_file_to_bitmap(filename);
+ }
+ free(extension);
+ antiright_set_widget_pixmaps(label, bitmap);
}
void
@@ -125,12 +193,10 @@
void
antiright_initialize_application(int* argc,
char** argv,
- const char* name,
- unsigned char bits[])
+ const char* name)
{
antiright_setup_xt(argc, argv);
antiright_initialize_antiright_data();
- antiright_set_icon(bits);
antiright_set_title(name);
antiright_system("ACE -c &");
}
Index: antiright/lib/window.h
diff -u antiright/lib/window.h:1.2 antiright/lib/window.h:1.3
--- antiright/lib/window.h:1.2 Sat Aug 7 17:13:41 2004
+++ antiright/lib/window.h Mon Aug 16 17:27:05 2004
@@ -40,16 +40,19 @@
void
antiright_initialize_application(int* argc,
char **argv,
- const char *name, /* The
- application's
- title. */
- unsigned char bits[]); /* The
- application's
- icon data. */
-void
+ const char *name); /* The
+ application's
+ title. */
+ void
antiright_standard_usage(char *name_string);
void
+antiright_set_bitmap_from_file(Widget label, char* filename);
+void
+antiright_set_icon_pixmap(char **data);
+void
+antiright_set_pixmap_from_data(Widget widget, char **data);
+void
antiright_report_bugs_message();
#endif /* AR_WINDOW_H */
Index: antiright/src/ACE
diff -u antiright/src/ACE:1.14 antiright/src/ACE:1.15
--- antiright/src/ACE:1.14 Thu Aug 12 09:40:09 2004
+++ antiright/src/ACE Mon Aug 16 17:27:05 2004
@@ -155,41 +155,45 @@
}
Desktop_Lite()
{
- $ARSHELL -r 4\
- -Ab 'ACE Calculator' $bmdir/antiright/calculate.xbm\
- -Ab 'ACE CD_Player' $bmdir/antiright/cdplayer.xbm\
- -Ab 'ACE File_Manager' $bmdir/antiright/files.xbm\
- -Ab 'ACE Note' $bmdir/antiright/notes.xbm\
- -Ab 'ACE Editor' $bmdir/antiright/text.xbm\
- -Ab 'ACE Load_Meter' $bmdir/antiright/load.xbm\
- -Ab 'ACE Terminal' $bmdir/antiright/terminal.xbm\
- -Ab 'ACE Browser' $bmdir/antiright/browser.xbm\
- -Ab 'ACE Mail' $bmdir/antiright/mail.xbm\
- -Ab 'ACE Background' $bmdir/antiright/image.xbm\
- -Ab 'ACE -A Settings' $bmdir/antiright/switches.xbm\
- -Ab 'ACE -A File_System_Panel File_Systems'\
- $bmdir/antiright/files.xbm\
+ $ARSHELL -r 2\
+ -Ai 'ACE Calculator' $bmdir/antiright/kcalc.xpm\
+ -Ai 'ACE CD_Player' $bmdir/antiright/kscd.xpm\
+ -Ai 'ACE File_Manager' $bmdir/antiright/kfm.xpm\
+ -Ai 'ACE Note' $bmdir/antiright/knotes.xpm\
+ -Ai 'ACE Editor' $bmdir/antiright/kedit.xpm\
+ -Ai 'ACE Load_Meter' $bmdir/antiright/ksysguard.xpm\
+ -Ai 'ACE Terminal' $bmdir/antiright/term.xpm\
+ -Ai 'ACE Browser' $bmdir/antiright/netscape.xpm\
+ -Ai 'ACE Mail' $bmdir/antiright/mail.xpm\
+ -Ai 'ACE Background' $bmdir/antiright/kcoloredit.xpm\
+ -Ai 'ACE -A Settings' $bmdir/antiright/tools.xpm\
+ -Ai 'ACE -A File_System_Panel File_Systems'\
+ $bmdir/antiright/fileserver.xpm\
-xrm "*overrideRedirect: True" -xrm "*marginWidth: 0"\
-xrm "*marginHeight: 0" -xrm "*margin: 0" -W DESKTOP\
- -geometry +16+64 -xrm "*highlightThickness: 0"\
+ -geometry +32+64 -xrm "*highlightThickness: 0"\
-xrm "*alignment: XmALIGNMENT_CENTER" &
}
Sticky_Note()
{
local background
+ local ones=$(date +%S | cut -c 2)
background=$(\
- if [ $(date +%S) -lt 15 ];\
+ if [ $ones -lt 2 ];\
then echo -n skyblue;\
- elif [ $(date +%S) -lt 30 ];\
+ elif [ $ones -lt 4 ];\
then echo -n pink;\
- elif [ $(date +%S) -lt 45 ];\
+ elif [ $ones -lt 6 ];\
then echo -n lightgreen;\
- elif [ $(date +%S) -lt 60 ];\
+ elif [ $ones -lt 8 ];\
then echo -n yellow;\
+ elif [ $ones -lt 10 ];\
+ then echo -n beige;\
fi)
$ARSHELL -W 'Sticky Note' -Am -Amf 'ACE Sticky_Note \# New' -Aw\
-xrm "*XmText.background: $background"\
- -xrm '*XmText.height: 200' -xrm '*XmText.width: 150'
+ -xrm '*XmText.height: 200' -xrm '*XmText.width: 150'\
+ -xrm '*XmText.wordWrap: True'
}
Delete_File()
{
@@ -448,7 +452,10 @@
}
Background_Editor()
{
- xsetroot -solid "$($ARSHELL -AC)"
+ color="$($ARSHELL -AC)"
+ if [ "$color" != "" ]; then
+ xsetroot -solid "$color"
+ fi
}
Mount_File_System()
{
@@ -471,13 +478,13 @@
local file
if [ -z "$1" ]; then
- $ARSHELL -Am -Aw
+ $ARSHELL -Am -Aw -As
else
file=$1
if [ ! -f $file ]; then
touch $file
fi
- cat $file | $ARSHELL -Am -Aw -p -W $file
+ cat $file | $ARSHELL -Am -Aw -As -p -W $file
fi
}
Manual_Page()
Index: antiright/src/AntiRight
diff -u antiright/src/AntiRight:1.2 antiright/src/AntiRight:1.3
--- antiright/src/AntiRight:1.2 Sat Aug 7 17:13:41 2004
+++ antiright/src/AntiRight Mon Aug 16 17:27:05 2004
@@ -18,39 +18,63 @@
! along with AntiRight; if not, write to the Free Software
! Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
+*scrollHorizontal: False
*New.acceleratorText: Ctrl<Key>N
*New.acceleratorText: Ctrl-N
*Exit.accelerator:Ctrl<Key>Q
*Exit.acceleratorText: Ctrl-Q
*Tutorial.accelerator: Ctrl<Key>H
*Tutorial.acceleratorText:Ctrl-H
-*Close.accelerator: Ctrl<Key>C
-*Close.acceleratorText: Ctrl-C
+*Close.accelerator: Ctrl<Key>Q
+*Close.acceleratorText: Ctrl-Q
*Save.accelerator: Ctrl<Key>S
*Save.acceleratorText:Ctrl-S
*Save As.mnemonic: a
-*Save As.accelerator: Ctrl<Key>A
-*Save As.acceleratorText: Ctrl-A
+*Save As.accelerator: Ctrl<Key>W
+*Save As.acceleratorText: Ctrl-W
*Save As.labelString: Save As...
+*Revert.mnemonic: R
+*Revert.accelerator: Alt<Key>R
+*Revert.acceleratorText: Alt-R
+*Insert.mnemonic: I
+*Insert.accelerator: Ctrl<Key>I
+*Insert.acceleratorText: Ctrl-I
+*Change Font.mnemonic: C
+*Change Font.accelerator: Alt<Key>C
+*Change Font.acceleratorText: Alt-C
*Print.accelerator: Ctrl<Key>P
*Print.acceleratorText:Ctrl-P
-*Search.accelerator: Ctrl<Key>F
-*Search.acceleratorText: Ctrl-F
-*Replace.accelerator: Ctrl<Key>-R
-*Replace.acceleratorText: Ctrl-R
-*Replace.mnemonic: R
-*Replace.labelString: Replace...
+*Search/Replace.accelerator: Ctrl<Key>F
+*Search/Replace.acceleratorText: Ctrl-F
+*Search/Replace.mnemonic: e
+*Search/Replace.labelString: Search/Replace...
+*Select All.mnemonic: S
+*Select All.accelerator: Ctrl<Key>A
+*Select All.acceleratorText: Ctrl-A
*Cut.accelerator: Ctrl<Key>X
*Cut.acceleratorText: Ctrl-X
*Copy.accelerator: Ctrl<Key>C
*Copy.acceleratorText: Ctrl-C
*Paste.accelerator: Ctrl<Key>V
*Paste.acceleratorText: Ctrl-V
+*Find Selected.mnemonic: F
+*Find Selected.accelerator: Ctrl<Key>M
+*Find Selected.acceleratorText: Ctrl-M
+*Find at Cursor.mnemonic: i
+*Find at Cursor.accelerator: Ctrl<Key>N
+*Find at Cursor.acceleratorText: Ctrl-N
*Backdrop Editor.mnemonic: b
*Backdrop Editor.accelerator: Ctrl<Key>b
-*Backdrop Editor.accelerator: Ctrl<Key>b
*Backdrop Editor.acceleratorText: Ctrl-b
+*Lower Selection Case.mnemonic: L
+*Lower Selection Case.accelerator: Alt<Key>L
+*Lower Selection Case.acceleratorText: Alt-L
+*Raise Selection Case.accelerator: Alt<Key>U
+*Raise Selection Case.acceleratorText: Alt-U
+*Raise Selection Case.mnemonic: a
+*Go to Line.mnemonic: G
+*Go to Line.accelerator: Alt<Key>G
+*Go to Line.acceleratorText: Alt-G
*X Theme Selector.mnemonic: t
*X Theme Selector.mnemonic: T
*Security Settings....mnemonic: S
@@ -126,8 +150,6 @@
*Yes.mnemonic: Y
*No.mnemonic: N
*Edit.mnemonic: E
-*Search.mnemonic: S
-*Search.labelString: Search...
*Copy.mnemonic: C
*Cut.mnemonic: u
*Cancel.mnemonic: C
Index: antiright/src/arshell/arguments.c
diff -u antiright/src/arshell/arguments.c:1.6
antiright/src/arshell/arguments.c:1.7
--- antiright/src/arshell/arguments.c:1.6 Mon Aug 9 22:45:02 2004
+++ antiright/src/arshell/arguments.c Mon Aug 16 17:27:05 2004
@@ -31,8 +31,22 @@
arshell.gui.layout.rows_int=8;
}
void
+arshell_transparency_hack()
+{
+ if(arshell.gui.widgets.work==NULL & !arshell.transparency_hacked)
+ {
+ char *icon;
+ asprintf(&icon, "%s/handtoface.xpm", ICONDIR);
+ antiright_set_bitmap_from_file(antiright.parent_widget, icon);
+ free(icon);
+ arshell.transparency_hacked=True;
+ }
+
+}
+void
arshell_add_bitmap_button(int *counter_int, char **argv)
{
+ arshell_transparency_hack();
(*counter_int)++;
arshell_row_layout();
antiright_icon_button(arshell.gui.layout.row_widget,
@@ -40,7 +54,18 @@
arshell_system_cb, argv[(*counter_int)]);
(*counter_int)++;
}
-
+void
+arshell_add_icon_button(int *counter_int, char **argv)
+{
+ Widget button;
+ arshell_transparency_hack();
+ (*counter_int)++;
+ arshell_row_layout();
+ button=antiright_button(arshell.gui.layout.row_widget, argv[(*counter_int)],
+ arshell_system_cb, argv[(*counter_int)]);
+ (*counter_int)++;
+ antiright_label_set_bitmap_from_file(button, argv[(*counter_int)]);
+}
void
arshell_handle_construction_arguments(int *counter_int, char **argv)
{
@@ -55,6 +80,9 @@
case 'D': /* Add a dialog. */
arshell_handle_dialog_arguments(counter_int, argv);
break;
+ case 'i': /* Add an icon without a label. */
+ arshell_add_icon_button(counter_int, argv);
+ break;
case 'l': /* Add a label. */
(*counter_int)++;
ARCLARG;
Index: antiright/src/arshell/arshell.h
diff -u antiright/src/arshell/arshell.h:1.7 antiright/src/arshell/arshell.h:1.8
--- antiright/src/arshell/arshell.h:1.7 Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/arshell.h Mon Aug 16 17:27:05 2004
@@ -77,6 +77,7 @@
int updaters_int;
XtIntervalId *timer_id;
int update_frequency;
+ Boolean transparency_hacked;
};
struct arshell_data_struct arshell;
Index: antiright/src/arshell/dialog.c
diff -u antiright/src/arshell/dialog.c:1.2 antiright/src/arshell/dialog.c:1.3
--- antiright/src/arshell/dialog.c:1.2 Mon Aug 9 22:45:02 2004
+++ antiright/src/arshell/dialog.c Mon Aug 16 17:27:05 2004
@@ -21,6 +21,10 @@
*/
#include "arshell.h"
+#if XmVERSION > 1 & XmREVISION > 1
+#include <Xm/FontS.h>
+#include <Xm/FontSP.h>
+#endif /* XmVERSION > 1 & XmREVISION > 1 */
void
arshell_dialog_cb(Widget widget, XtPointer client_data, XtPointer call_data)
@@ -31,6 +35,97 @@
exit(0);
}
+void
+arshell_font_select_cb(ARCBARG)
+{
+ Widget font_selector=(Widget)client_data;
+ char* font;
+ ARCLARG;
+ antiright_set(XmNcurrentFont, (XtArgVal)&font);
+ antiright_get_values(font_selector);
+ ARCLARG;
+ printf(font);
+ exit(0);
+}
+
+/*#define DEBUG_OLD_MOTIF
+ #define DEBUG_NO_XLT*/
+
+#ifdef DEBUG_OLD_MOTIF
+#undef XmVERSION
+#define XmVERSION 1
+#endif /* DEBUG_OLD_MOTIF */
+
+#ifdef DEBUG_NO_XLT
+#ifdef HAVE_XLT
+#undef HAVE_XLT
+#endif /* HAVE_XLT */
+#endif /* DEBUG_NO_XLT */
+
+#if XmVERSION < 2 | XmREVISION < 2
+#ifdef HAVE_XLT
+void
+arshell_font_chooser_ok_cb(ARCBARG)
+{
+ char *font;
+ antiright_set(XmNfontName, (XtArgVal)&font);
+ antiright_get_values(widget);
+ printf(font);
+ exit(0);
+}
+void
+arshell_font_chooser_cancel_cb(ARCBARG)
+{
+ exit(0);
+}
+#endif /* HAVE_XLT */
+#endif /* XmVERSION < 1 & XmREVISION < 1 & HAVE_XLT */
+void
+arshell_font_dialog()
+{
+
+ Widget font_selector;
+#if XmVERSION > 1 & XmREVISION > 1
+ Widget form;
+ ARCLARG;
+ form=antiright_form(arshell.gui.widgets.mainwindow);
+ arshell.gui.widgets.work=form;
+ antiright_set_title("Font Selector");
+ ARCLARG;
+ antiright_form_positions(0, 90, 0, 100);
+ font_selector=XmCreateFontSelector(form, "font_selector", ARARGS);
+ XtManageChild(font_selector);
+ ARCLARG;
+ antiright_set(XmNwidth, 500);
+ antiright_set(XmNheight, 256);
+ antiright_set_values(antiright.parent_widget);
+ ARCLARG;
+ XtUnmanageChild(arshell.gui.widgets.row);
+ ARCLARG;
+ antiright_form_positions(90, 100, 0, 100);
+ antiright_button(form, "Select", arshell_font_select_cb, font_selector);
+ ARCLARG;
+#else
+#if HAVE_XLT
+ antiright_set_title("Font Selector");
+ ARCLARG;
+ font_selector=XltCreateFontChooser(arshell.gui.widgets.mainwindow,
+ "font_selector", ARARGS);
+ XtManageChild(font_selector);
+ XtAddCallback(font_selector, XmNokCallback,
+ arshell_font_chooser_ok_cb, NULL);
+ XtAddCallback(font_selector, XmNcancelCallback,
+ arshell_font_chooser_cancel_cb, NULL);
+ XtAddCallback(font_selector, XmNhelpCallback,
+ antiright_help_cb, "Use_this_dialog_to_select_a_font.");
+#else
+ system("arshell -ADp 'Enter a font name:' &");
+ exit(0);
+#endif /* HAVE_XLT */
+#endif /* XmVERSION > 1 & XmREVISION > 1 */
+
+}
+
void
arshell_message_dialog(int *counter_int, char **argv)
@@ -127,6 +222,9 @@
a new shell. */
switch(argv[(*counter_int)][3])
{
+ case 'F':
+ arshell_font_dialog();
+ break;
case 'f': /* Create a file selection dialog. */
arshell_file_select_dialog();
break;
Index: antiright/src/arshell/file.c
diff -u antiright/src/arshell/file.c:1.1 antiright/src/arshell/file.c:1.2
--- antiright/src/arshell/file.c:1.1 Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/file.c Mon Aug 16 17:27:05 2004
@@ -68,6 +68,12 @@
arshell.edit.open_is_MDI=False;
}
+void
+arshell_revert_file_cb()
+{
+ arshell.edit.open_is_MDI=True;
+ arshell_open_file();
+}
void
arshell_file_select_ok_cb(Widget widget,
Index: antiright/src/arshell/file.h
diff -u antiright/src/arshell/file.h:1.1 antiright/src/arshell/file.h:1.2
--- antiright/src/arshell/file.h:1.1 Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/file.h Mon Aug 16 17:27:05 2004
@@ -42,5 +42,7 @@
arshell_save_as_cb();
void
arshell_open_cb();
+void
+arshell_revert_file_cb();
#endif /* ARSHELL_FILE_H */
Index: antiright/src/arshell/main.c
diff -u antiright/src/arshell/main.c:1.1 antiright/src/arshell/main.c:1.2
--- antiright/src/arshell/main.c:1.1 Mon Aug 9 22:45:02 2004
+++ antiright/src/arshell/main.c Mon Aug 16 17:27:05 2004
@@ -21,12 +21,13 @@
*/
#include "arshell.h"
-#include "../bitmaps/antiright.xbm"
+#include "../bitmaps/handtoface.xpm"
int
main(int argc, char **argv)
{
- antiright_initialize_application(&argc, argv, "AntiRight", antiright_bits);
+ antiright_initialize_application(&argc, argv, "AntiRight");
+ antiright_set_pixmap_from_data(antiright.parent_widget, handtoface_xpm);
arshell_setup_mainwindow();
arshell_setup_work_row();
arshell_initialize_application_data();
Index: antiright/src/arshell/menubar.c
diff -u antiright/src/arshell/menubar.c:1.3 antiright/src/arshell/menubar.c:1.4
--- antiright/src/arshell/menubar.c:1.3 Fri Aug 13 19:53:54 2004
+++ antiright/src/arshell/menubar.c Mon Aug 16 17:27:05 2004
@@ -21,6 +21,13 @@
*/
#include "arshell.h"
+#include "../bitmaps/cut.xpm"
+#include "../bitmaps/copy.xpm"
+#include "../bitmaps/paste.xpm"
+#include "../bitmaps/open.xpm"
+#include "../bitmaps/save.xpm"
+#include "../bitmaps/search.xpm"
+#include "../bitmaps/print.xpm"
void
arshell_setup_menubar()
@@ -114,14 +121,54 @@
ARCLARG;
antiright_set(XmNtitle, (XtArgVal)&title);
antiright_get_values(antiright.parent_widget);
- puts(title);
if((title[0]=='S') & (title[1]=='t') & (title[2]=='i'))
{
- XtUnmanageChild(arshell.edit.toolbar);
+ XtUnmanageChild(XtParent(XtParent(arshell.edit.toolbar)));
}
ARCLARG;
}
+Widget
+antiright_toolbar_button(Widget parent, char *description, char **icon,
+ XtCallbackProc callback, XtPointer client_data)
+{
+ Widget button;
+ ARCLARG;
+ antiright_set(XmNshadowThickness, 0);
+ button=antiright_button(parent, "button", arshell_open_cb, NULL);
+ antiright_set_tooltip(button, description);
+ antiright_set_pixmap_from_data(button, icon);
+ ARCLARG;
+ return(button);
+}
+
+Widget
+arshell_toolbar_button(char *description, char **icon,
+ XtCallbackProc callback, XtPointer client_data)
+{
+ return(antiright_toolbar_button(arshell.edit.toolbar, description, icon,
+ callback, client_data));
+}
+
+void
+arshell_toggle_toolbar_cb(Widget widget, XtPointer client_data, XtPointer
call_data)
+{
+ if(XmToggleButtonGetState(widget))
+ {
+ if(!XtIsManaged(XtParent(XtParent(arshell.edit.toolbar))))
+ {
+ XtManageChild(XtParent(XtParent(arshell.edit.toolbar)));
+ }
+ }
+ else
+ {
+ if(XtIsManaged(XtParent(XtParent(arshell.edit.toolbar))))
+ {
+ XtUnmanageChild(XtParent(XtParent(arshell.edit.toolbar)));
+ }
+ }
+}
+
void
arshell_setup_editor_toolbar()
{
@@ -137,39 +184,28 @@
antiright_row(arshell.gui.layout.row_manager_widget);
arshell_hide_sticky_note_toolbar();
-
- ARCLARG;
- button=antiright_button(arshell.edit.toolbar, "Open", arshell_open_cb,
- NULL);
- antiright_set_tooltip(button, "Open a file. ");
- button=antiright_button(arshell.edit.toolbar, "Save",
- arshell_save_work_area, NULL);
- antiright_set_tooltip(button, "Save the current file. ");
- button=antiright_button(arshell.edit.toolbar, "Print",
- arshell_print_cb, NULL);
- antiright_set_tooltip(button, "Print the current file. ");
- button=antiright_button(arshell.edit.toolbar, "Cut", antiright_cut_cb,
- arshell.gui.widgets.work);
- antiright_set_tooltip(button, "Cut a selection into the clipboard.");
- button=antiright_button(arshell.edit.toolbar, "Copy",
- antiright_copy_cb,
- arshell.gui.widgets.work);
- antiright_set_tooltip(button, "Copy a selection into the clipboard");
- button=antiright_button(arshell.edit.toolbar, "Paste",
- antiright_paste_cb,
- arshell.gui.widgets.work);
- antiright_set_tooltip(button, "Paste the contents of the clipboard.");
- button=antiright_button(arshell.edit.toolbar, "Search",
- arshell_search_cb, NULL);
- antiright_set_tooltip(button, "Search for text.");
- button=antiright_button(arshell.edit.toolbar, "Replace",
- arshell_replace_cb, NULL);
- antiright_set_tooltip(button, "Find and replace text.");
+ arshell_toolbar_button("Open a file.", open_xpm,
+ arshell_open_cb, NULL);
+ arshell_toolbar_button("Save the current file.", save_xpm,
+ arshell_save_work_area, NULL);
+ arshell_toolbar_button("Print the current file.", print_xpm,
+ arshell_print_cb, NULL);
+ arshell_toolbar_button("Cut the selection into the clipboard.", cut_xpm,
+ antiright_cut_cb, arshell.gui.widgets.work);
+ arshell_toolbar_button("Copy the selection into the clipboard.", copy_xpm,
+ antiright_copy_cb, arshell.gui.widgets.work);
+ arshell_toolbar_button("Paste the contents of the clipboard.", paste_xpm,
+ antiright_paste_cb, arshell.gui.widgets.work);
+ arshell_toolbar_button("Search for and optionally replace text.", search_xpm,
+ arshell_search_replace_cb, NULL);
}
void
arshell_setup_work_menubar()
{
+ Widget toggle_widget;
+ ARCLARG;
+ arshell_setup_editor_toolbar();
ARCLARG;
if(arshell.gui.menubar.menubar_widget != NULL)
{
@@ -183,17 +219,41 @@
arshell_insert_file_cb, NULL);
antiright_button(arshell.gui.menubar.file_widget, "Print",
arshell_print_cb, NULL);
+ antiright_button(arshell.gui.menubar.file_widget, "Revert",
+ arshell_revert_file_cb, NULL);
arshell.gui.menubar.edit_widget=
antiright_edit_menu(arshell.gui.menubar.menubar_widget,
arshell.gui.widgets.work);
antiright_separator(arshell.gui.menubar.edit_widget);
- antiright_button(arshell.gui.menubar.edit_widget, "Search",
- arshell_search_cb, NULL);
- antiright_button(arshell.gui.menubar.edit_widget, "Replace",
- arshell_replace_cb, NULL);
+ antiright_button(arshell.gui.menubar.edit_widget, "Select All",
+ arshell_select_all, NULL);
+ antiright_button(arshell.gui.menubar.edit_widget, "Search/Replace",
+ arshell_search_replace_cb, NULL);
+ antiright_button(arshell.gui.menubar.edit_widget, "Find Selected",
+ arshell_find_selected, NULL);
antiright_button(arshell.gui.menubar.edit_widget, "Find at Cursor",
arshell_find_at_cursor_cb, NULL);
+ antiright_button(arshell.gui.menubar.edit_widget, "Go to Line",
+ arshell_goto_line_cb, NULL);
+ antiright_button(arshell.gui.menubar.edit_widget, "Lower Selection Case",
+ arshell_lower_selection_case, NULL);
+ antiright_button(arshell.gui.menubar.edit_widget, "Raise Selection Case",
+ arshell_upper_selection_case, NULL);
+ antiright_separator(arshell.gui.menubar.view_widget);
+ ARCLARG;
+ toggle_widget=XmCreateToggleButton(arshell.gui.menubar.view_widget,
+ "Show/Hide Toolbar", ARARGS);
+ XtManageChild(toggle_widget);
+ if(XtIsManaged(XtParent(XtParent(arshell.edit.toolbar))))
+ XmToggleButtonSetState(toggle_widget, True, True);
+ XtAddCallback(toggle_widget, XmNvalueChangedCallback,
+ arshell_toggle_toolbar_cb, NULL);
+#if XmVERSION > 1 & XmREVISION > 1
+ antiright_separator(arshell.gui.menubar.view_widget);
+ antiright_button(arshell.gui.menubar.view_widget, "Change Font",
+ arshell_change_font_cb, NULL);
+#endif /* XmVERSION > 1 & XmREVISION > 1 */
antiright_separator(arshell.gui.menubar.view_widget);
}
- arshell_setup_editor_toolbar(0);
+
}
Index: antiright/src/arshell/search.c
diff -u antiright/src/arshell/search.c:1.1 antiright/src/arshell/search.c:1.2
--- antiright/src/arshell/search.c:1.1 Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/search.c Mon Aug 16 17:27:05 2004
@@ -21,6 +21,47 @@
#include "arshell.h"
+XmTextPosition
+arshell_end_of_word(XmTextPosition start)
+{
+ char *text=XmTextGetString(arshell.gui.widgets.work);
+ XmTextPosition counter=start;
+ XmTextPosition last=XmTextGetLastPosition(arshell.gui.widgets.work);
+ while((text[counter]!=' ')&(counter<=last))
+ counter++;
+ free(text);
+ if(counter>last)
+ return(start);
+ else
+ return(counter);
+}
+
+void
+arshell_find_selected()
+{
+ char *selection=XmTextGetSelection(arshell.gui.widgets.work);
+ XmTextPosition left;
+ XmTextPosition right;
+ XmTextPosition position=XmTextGetSelectionPosition(arshell.gui.widgets.work,
+ &left, &right);
+ if(selection != NULL)
+ {
+ Boolean found=XmTextFindString(arshell.gui.widgets.work,
+ right, selection,
+ XmTEXT_BACKWARD, &position);
+ if(found)
+ {
+ XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
+ XmTextSetSelection(arshell.gui.widgets.work, position,
+ arshell_end_of_word(position),
+ XtLastTimestampProcessed(antiright.display));
+ }
+ else
+ antiright_status("Not Found");
+ }
+
+ XtFree(selection);
+}
void
arshell_find_at_cursor_cb()
@@ -50,107 +91,167 @@
XtFree(buffer);
}
-void
-arshell_search_ok_cb(Widget widget,
- XtPointer client_data,
- XtPointer call_data)
+void
+arshell_wrap_toggle_cb(Widget widget, XtPointer client_data, XtPointer
call_data)
{
- XmTextPosition position;
- XmSelectionBoxCallbackStruct *prompt_data;
- char *search_string;
-
- assert(call_data != NULL);
-
- prompt_data=call_data;
-
- XmStringGetLtoR(prompt_data->value,
- XmSTRING_DEFAULT_CHARSET,
- &search_string);
-
- assert(search_string != NULL);
-
- XmTextFindString((Widget)client_data,
- XmTextGetInsertionPosition((Widget)client_data),
- search_string,
- XmTEXT_FORWARD,
- &position);
-
- XmTextSetInsertionPosition((Widget)client_data,
- position);
-
- XtFree(search_string);
- widget=NULL;
- call_data=NULL;
+ arshell.edit.search_options.wrap=
+ XmToggleButtonGetState(arshell.edit.search_options.wrap_toggle);
+ XmToggleButtonSetState(arshell.edit.search_options.preserve_toggle,
+ arshell.edit.search_options.wrap, True);
}
-
-void
-arshell_search_cb(Widget widget,
- XtPointer client_data,
- XtPointer call_data)
+void
+arshell_preserve_toggle_cb(Widget widget, XtPointer client_data, XtPointer
call_data)
{
- Widget prompt;
-
- ARCLARG;
- antiright_set(XmNtitle, (XtArgVal)"Search");
-
- prompt=
- XmCreatePromptDialog(antiright.parent_widget,
- "Search",
- antiright.arguments,
- antiright.arguments_int);
- XtAddCallback(prompt,
- XmNokCallback,
- arshell_search_ok_cb,
- arshell.gui.widgets.work);
- XtAddCallback(prompt,
- XmNhelpCallback,
- antiright_help_cb,
- "Enter the text that you want to find in the text field.");
- XtManageChild(prompt);
-
- widget=(Widget)NULL;
- client_data=(XtPointer)NULL;
- call_data=(XtPointer)NULL;
+ arshell.edit.search_options.preserve=
+ XmToggleButtonGetState(arshell.edit.search_options.preserve_toggle);
+}
+void
+arshell_replace_toggle_cb(Widget widget, XtPointer client_data, XtPointer
call_data)
+{
+ arshell.edit.search_options.replace=
+ XmToggleButtonGetState(arshell.edit.search_options.replace_toggle);
+ ARBUG;
+ if(arshell.edit.search_options.replace)
+ {
+ ARBUG;
+ ARCLARG;
+ antiright_set(XmNsensitive, True);
+ antiright_set_values(arshell.edit.replace_widget);
+ ARBUG;
+ antiright_set_values(arshell.edit.search_options.replace_label);
+ ARCLARG;
+ ARBUG;
+ }
+ else
+ {
+ ARCLARG;
+ antiright_set(XmNsensitive, False);
+ antiright_set_values(arshell.edit.replace_widget);
+ antiright_set_values(arshell.edit.search_options.replace_label);
+ ARCLARG;
+ }
+}
+void
+arshell_replace_all_toggle_cb(Widget widget, XtPointer client_data, XtPointer
call_data)
+{
+ arshell.edit.search_options.replace_all=
+ XmToggleButtonGetState(arshell.edit.search_options.replace_all_toggle);
+ XmToggleButtonSetState(arshell.edit.search_options.replace_toggle,
+ arshell.edit.search_options.replace_all, True);
+ arshell_replace_toggle_cb(widget, client_data, call_data);
}
void
-arshell_replace_ok_cb(Widget widget,
- XtPointer client_data,
- XtPointer call_data)
+arshell_search_replace_ok_cb(Widget widget,
+ XtPointer client_data,
+ XtPointer call_data)
{
XmTextPosition position;
- XmTextPosition end_position;
char *search_string;
- char *replacement_string;
-
- client_data=NULL;
- search_string=XmTextFieldGetString(arshell.edit.find_widget);
- XmTextFindString(arshell.gui.widgets.work,
- XmTextGetInsertionPosition(arshell.gui.widgets.work),
- search_string,
- XmTEXT_FORWARD,
- &position);
- XtFree(search_string);
- XmTextFindString(arshell.gui.widgets.work,
- position,
- " ",
- XmTEXT_FORWARD,
- &end_position);
- replacement_string=XmTextFieldGetString(arshell.edit.replace_widget);
- if(end_position>position)
- {
- XmTextReplace(arshell.gui.widgets.work, position, end_position,
- replacement_string);
- }
- XtFree(replacement_string);
- XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
- XtManageChild(widget);
- call_data=NULL;
-}
-void
-arshell_replace_cb(Widget widget,
- XtPointer client_data,
- XtPointer call_data)
+ ARBUG;
+ if(arshell.edit.search_options.replace)
+ {
+ XmTextPosition end_position;
+ char *replacement_string;
+ Boolean search_status;
+ ARBUG;
+ search_string=XmTextFieldGetString(arshell.edit.find_widget);
+ ARBUG;
+ XmTextFindString(arshell.gui.widgets.work,
+ XmTextGetInsertionPosition(arshell.gui.widgets.work),
+ search_string,
+ arshell.edit.search_options.direction,
+ &position);
+ ARBUG;
+ XtFree(search_string);
+ ARBUG;
+ XmTextFindString(arshell.gui.widgets.work,
+ position,
+ " ",
+ XmTEXT_FORWARD,
+ &end_position);
+ ARBUG;
+ replacement_string=XmTextFieldGetString(arshell.edit.replace_widget);
+ if(end_position>position)
+ {
+ ARBUG;
+ XmTextReplace(arshell.gui.widgets.work, position, end_position,
+ replacement_string);
+ ARBUG;
+ }
+ else
+ {
+ ARBUG;
+ if(arshell.edit.search_options.wrap &&
!arshell.edit.search_options.wrapped)
+ {
+ ARBUG;
+ arshell.edit.search_options.direction=XmTEXT_BACKWARD;
+ arshell.edit.search_options.wrapped=True;
+ ARBUG;
+ }
+ else
+ {
+ arshell.edit.search_options.preserve=False;
+ }
+ ARBUG;
+ }
+ ARBUG;
+ XtFree(replacement_string);
+ XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
+ if(arshell.edit.search_options.preserve)
+ XtManageChild(widget);
+ call_data=NULL;
+ ARBUG;
+ }
+ else
+ {
+ XmSelectionBoxCallbackStruct *prompt_data;
+ Boolean result;
+ ARBUG;
+ search_string=XmTextFieldGetString(arshell.edit.find_widget);
+ assert(search_string != NULL);
+ ARBUG;
+ assert(arshell.gui.widgets.work != NULL);
+
+ result=XmTextFindString(arshell.gui.widgets.work,
+
XmTextGetInsertionPosition(arshell.gui.widgets.work),
+ search_string,
+ arshell.edit.search_options.direction,
+ &position);
+ ARBUG;
+ if(result)
+ {
+ ARBUG;
+ XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
+ }
+ else
+ {
+ ARBUG;
+ if(XmToggleButtonGetState(arshell.edit.search_options.wrap_toggle))
+ {
+ ARBUG;
+ arshell.edit.search_options.direction=XmTEXT_BACKWARD;
+
XmToggleButtonSetState(arshell.edit.search_options.preserve_toggle,
+ True, False);
+ XmToggleButtonSetState(arshell.edit.search_options.wrap_toggle,
+ False, False);
+ }
+ ARBUG;
+ }
+ ARBUG;
+ if(XmToggleButtonGetState(arshell.edit.search_options.preserve_toggle))
+ XtManageChild(widget);
+ ARBUG;
+ XtFree(search_string);
+ ARBUG;
+ }
+}
+
+
+void
+arshell_search_replace_cb(Widget widget,
+ XtPointer client_data,
+ XtPointer call_data)
{
Widget prompt;
Widget form;
@@ -162,14 +263,15 @@
antiright.arguments,
antiright.arguments_int);
XtManageChild(prompt);
+ arshell.edit.search_options.direction=XmTEXT_FORWARD;
ARCLARG;
form=antiright_form(prompt);
ARCLARG;
- antiright_form_positions(0, 50, 0, 25);
+ antiright_form_positions(0, 25, 0, 25);
antiright_set(XmNalignment, XmALIGNMENT_END);
antiright_label(form, "Find:");
ARCLARG;
- antiright_form_positions(0, 50, 25, 100);
+ antiright_form_positions(0, 25, 25, 100);
arshell.edit.find_widget=XmCreateTextField(form, "find_widget",
antiright.arguments,
antiright.arguments_int);
@@ -177,25 +279,55 @@
"Enter the text that is to be found here.");
XtManageChild(arshell.edit.find_widget);
ARCLARG;
- antiright_form_positions(50, 100, 0, 25);
+ antiright_form_positions(25, 50, 0, 25);
antiright_set(XmNalignment, XmALIGNMENT_END);
- antiright_label(form, "Replace:");
+ antiright_set(XmNsensitive, False);
+ arshell.edit.search_options.replace_label=antiright_label(form, "Replace:");
ARCLARG;
- antiright_form_positions(50, 100, 25, 100);
+ antiright_form_positions(25, 50, 25, 100);
+ antiright_set(XmNsensitive, False);
arshell.edit.replace_widget=XmCreateTextField(form, "replace_widget",
antiright.arguments,
antiright.arguments_int);
antiright_set_tooltip(arshell.edit.replace_widget,
"Enter the replacement text here.");
XtManageChild(arshell.edit.replace_widget);
+ ARCLARG;
+ antiright_form_positions(50, 75, 0, 50);
+ arshell.edit.search_options.replace_toggle=
+ XmCreateToggleButton(form, "Replace", ARARGS);
+ XtManageChild(arshell.edit.search_options.replace_toggle);
+ XtAddCallback(arshell.edit.search_options.replace_toggle,
XmNvalueChangedCallback,
+ arshell_replace_toggle_cb, NULL);
+ ARCLARG;
+ antiright_form_positions(50, 75, 50, 100);
+ arshell.edit.search_options.wrap_toggle=XmCreateToggleButton(form, "Wrap",
ARARGS);
+ XtManageChild(arshell.edit.search_options.wrap_toggle);
+ XtAddCallback(arshell.edit.search_options.wrap_toggle,
XmNvalueChangedCallback,
+ arshell_wrap_toggle_cb, NULL);
+ ARCLARG;
+ antiright_form_positions(75, 100, 0, 50);
+ arshell.edit.search_options.replace_all_toggle=
+ XmCreateToggleButton(form, "Replace All", ARARGS);
+ XtManageChild(arshell.edit.search_options.replace_all_toggle);
+ XtAddCallback(arshell.edit.search_options.replace_all_toggle,
XmNvalueChangedCallback,
+ arshell_replace_all_toggle_cb, NULL);
+ ARCLARG;
+ antiright_form_positions(75, 100, 50, 100);
+ arshell.edit.search_options.preserve_toggle=
+ XmCreateToggleButton(form, "Preserve Dialog", ARARGS);
+ XtManageChild(arshell.edit.search_options.preserve_toggle);
+ XtAddCallback(arshell.edit.search_options.preserve_toggle,
XmNvalueChangedCallback,
+ arshell_preserve_toggle_cb, NULL);
+
XtAddCallback(prompt,
XmNokCallback,
- arshell_replace_ok_cb,
+ arshell_search_replace_ok_cb,
NULL);
XtAddCallback(prompt,
XmNhelpCallback,
antiright_help_cb,
- "Enter_the_text_that_you_want_to_find_and_replace_in_the_"
+ "Enter_the_text_that_you_want_to_find_and/or_replace_in_the_"
"appropriate_text_field.");
widget=(Widget)NULL;
Index: antiright/src/arshell/search.h
diff -u antiright/src/arshell/search.h:1.1 antiright/src/arshell/search.h:1.2
--- antiright/src/arshell/search.h:1.1 Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/search.h Mon Aug 16 17:27:05 2004
@@ -23,17 +23,13 @@
#define ARSHELL_SEARCH_H
void
-arshell_find_at_cursor_cb();
-
-void
-arshell_search_cb(Widget widget,
- XtPointer client_data,
- XtPointer call_data);
+arshell_find_selected();
void
-arshell_replace_cb(Widget widget,
- XtPointer client_data,
- XtPointer call_data);
-
+arshell_find_at_cursor_cb();
+void
+arshell_search_replace_cb(Widget widget,
+ XtPointer client_data,
+ XtPointer call_data);
#endif /* ARSHELL_SEARCH_H */
Index: antiright/src/arshell/textedit.c
diff -u antiright/src/arshell/textedit.c:1.10
antiright/src/arshell/textedit.c:1.11
--- antiright/src/arshell/textedit.c:1.10 Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/textedit.c Mon Aug 16 17:27:05 2004
@@ -20,7 +20,66 @@
*/
#include "arshell.h"
-#include "../bitmaps/text.xbm"
+#include <ctype.h>
+
+void
+arshell_select_all()
+{
+ XmTextSetSelection(arshell.gui.widgets.work, 0,
+ XmTextGetLastPosition(arshell.gui.widgets.work),
+ XtLastTimestampProcessed(antiright.display));
+}
+
+void
+arshell_selection_case(int (*operation)(int))
+{
+ char *text=XmTextGetString(arshell.gui.widgets.work);
+ XmTextPosition left, right;
+ int counter=0;
+ XmTextGetSelectionPosition(arshell.gui.widgets.work, &left, &right);
+ for(counter=left; counter <= right; counter++)
+ text[counter]=(*operation)(text[counter]);
+ XmTextSetString(arshell.gui.widgets.work, text);
+ XtFree(text);
+}
+void
+arshell_lower_selection_case()
+{
+ arshell_selection_case(&tolower);
+}
+void
+arshell_upper_selection_case()
+{
+ arshell_selection_case(&toupper);
+}
+
+void
+arshell_change_font_cb()
+{
+ char *font_string;
+ XFontStruct *font_struct;
+
+ font_string=antiright_pipe_read("arshell -ADF");
+ if((*font_string)!='\0')
+ {
+ font_struct=XLoadQueryFont(antiright.display, font_string);
+ if(font_struct!=NULL)
+ {
+ XmFontList font_list=XmFontListCreate(font_struct,
XmSTRING_DEFAULT_CHARSET);
+ ARCLARG;
+ antiright_set(XmNfontList, (XtArgVal)font_list);
+ antiright_set_values(arshell.gui.widgets.work);
+ ARCLARG;
+ XmFontListFree(font_list);
+ }
+ else
+ {
+ antiright_system("arshell -ADm 'The entered font was not found. '
&");
+ }
+ }
+ free(font_string);
+}
+
/* This is a simple method of printing the current file. */
void
arshell_print_cb()
@@ -78,10 +137,35 @@
XtFree(text);
return(lines);
}
+void
+arshell_goto_line(unsigned int line)
+{
+ /* Declare a counter for the number of lines counted. */
+ int line_counter=1;
+ /* Declare a text position counter. */
+ XmTextPosition position=0;
+ char *text=XmTextGetString(arshell.gui.widgets.work);
+ unsigned int text_length=strlen(text);
+ while((position<text_length) & (line_counter<line))
+ {
+ if(text[position]=='\n')
+ line_counter++;
+ position++;
+ }
+ XtFree(text);
+ XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
+}
+void
+arshell_goto_line_cb()
+{
+ char *line_string=antiright_pipe_read("arshell -ADp Line:");
+ arshell_goto_line(atoi(line_string));
+ free(line_string);
+}
int
arshell_current_line()
{
- return(arshell_line(XmTextGetInsertionPosition(arshell.gui.widgets.work)));
+ return(arshell_line(XmTextGetInsertionPosition(arshell.gui.widgets.work)+1));
}
int
arshell_text_lines()
@@ -109,23 +193,35 @@
arshell_set_work_area_arguments()
{
ARCLARG;
- antiright_set(XmNscrollHorizontal, False);
- antiright_set(XmNscrollVertical, True);
antiright_set(XmNeditMode, XmMULTI_LINE_EDIT);
- antiright_set(XmNwordWrap, True);
antiright_set(XmNcolumns, 80);
antiright_set(XmNrows, 24);
}
void
+arshell_verified_status(XmTextVerifyCallbackStruct *call_pointer)
+{
+ char *status;
+ asprintf(&status, "Lines:%d Current:%d",
+ arshell_text_lines(), arshell_line(call_pointer->newInsert));
+ antiright_status(status);
+ free(status);
+}
+void
arshell_modify_verify_cb(Widget widget, XtPointer client_data,
XtPointer call_data)
{
- XmTextVerifyCallbackStruct *call_pointer=call_data;
client_data=NULL;
widget=NULL;
- arshell_status();
+ arshell_verified_status(call_data);
+}
+void
+arshell_motion_verify_cb(Widget widget, XtPointer client_data,
+ XtPointer call_data)
+{
+ client_data=NULL;
+ widget=NULL;
+ arshell_verified_status(call_data);
}
-
void
arshell_create_text_work_area()
{
@@ -138,9 +234,16 @@
XtAddCallback(arshell.gui.widgets.work, XmNvalueChangedCallback,
arshell_value_changed_cb, NULL);
XtAddCallback(arshell.gui.widgets.work, XmNmodifyVerifyCallback,
- arshell_modify_verify_cb, NULL);
+ arshell_modify_verify_cb, NULL);
+ XtAddCallback(arshell.gui.widgets.work, XmNmotionVerifyCallback,
+ arshell_motion_verify_cb, NULL);
arshell_setup_work_menubar();
- antiright_set_icon(text_bits);
+ {
+ char *icon;
+ asprintf(&icon, "%s/handtoface.xpm", ICONDIR);
+ antiright_set_bitmap_from_file(antiright.parent_widget, icon);
+ free(icon);
+ }
}
void
@@ -173,11 +276,13 @@
arshell_set_work_area_from_stdin()
{
char buffer[BUFSIZ];
- assert(arshell.gui.widgets.work != NULL);
+ if(arshell.gui.widgets.work==NULL)
+ arshell_create_text_work_area();
while(fgets(buffer, BUFSIZ, stdin) != NULL)
XmTextInsert(arshell.gui.widgets.work,
XmTextGetInsertionPosition(arshell.gui.widgets.work), buffer);
- XmTextSetInsertionPosition(arshell.gui.widgets.work, 0);
+ XmTextSetInsertionPosition(arshell.gui.widgets.work, 0);
+ arshell_status();
}
void
arshell_create_default_text_entry(Widget widget_row_widget,
Index: antiright/src/arshell/textedit.h
diff -u antiright/src/arshell/textedit.h:1.4
antiright/src/arshell/textedit.h:1.5
--- antiright/src/arshell/textedit.h:1.4 Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/textedit.h Mon Aug 16 17:27:05 2004
@@ -25,6 +25,20 @@
#define ARSHELL_MAX_STRLEN 255
#endif /* ARSHELL_MAX_STRLEN */
+//#include "search.h"
+
+struct arshell_search_replace_data_struct
+{
+ Widget replace_toggle;
+ Widget replace_label;
+ Widget wrap_toggle;
+ Widget preserve_toggle;
+ Widget replace_all_toggle;
+ Boolean replace, wrap, preserve, replace_all, wrapped;
+ XmTextDirection direction;
+};
+
+
struct arshell_edit_struct
{
/* This is the filename of the work area file. */
@@ -40,6 +54,7 @@
Widget toolbar;
Boolean open_is_MDI;
Boolean hungry_delete;
+ struct arshell_search_replace_data_struct search_options;
};
void
@@ -47,8 +62,7 @@
void
arshell_print_cb();
void
-arshell_text_return_cb(Widget parent_widget,
- XtPointer client_data,
+arshell_text_return_cb(Widget widget, XtPointer client_data,
XtPointer call_data);
void
arshell_create_text_work_area();
@@ -70,5 +84,17 @@
arshell_create_default_text_entry(Widget widget_row_widget,
int* counter_int,
char** argv);
+void
+arshell_goto_line_cb();
+void
+arshell_goto_line(unsigned int line);
+void
+arshell_change_font_cb();
+void
+arshell_lower_selection_case();
+void
+arshell_upper_selection_case();
+void
+arshell_select_all();
#endif /* AR_TEXTEDIT_H */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Antiright-devel] antiright ./COPYING ./Makefile.in ./configure d...,
Jeffrey Bedard <=