home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
x
/
volume13
/
catcher
/
patch2
/
patch
Wrap
Text File
|
1991-05-25
|
9KB
|
308 lines
*** Makefile.orig Thu May 23 12:19:50 1991
--- Makefile Thu May 23 12:19:33 1991
***************
*** 15,27 ****
LDFLAGS = -L$(OPENWINHOME)/lib
# Where your XView include files are installed
! CPPFLAGS = -I$(OPENWINHOME)/include -DMAILER=\"$(MAILER)\"
# Command to use to print the manual (must honor -P option to set printer)
PRINT = lpr
# PostScript printer to use
! PRINTER = lw
CATCHER = busy.o catcher.o execute.o load_icon.o misc.o option.o panel.o parse.o place_dialog.o process.o
--- 15,27 ----
LDFLAGS = -L$(OPENWINHOME)/lib
# Where your XView include files are installed
! CPPFLAGS = -I$(OPENWINHOME)/include
# Command to use to print the manual (must honor -P option to set printer)
PRINT = lpr
# PostScript printer to use
! PRINTER = $${PRINTER:-lw}
CATCHER = busy.o catcher.o execute.o load_icon.o misc.o option.o panel.o parse.o place_dialog.o process.o
*** Imakefile.orig Thu May 23 12:19:51 1991
--- Imakefile Wed Jan 30 10:30:33 1991
***************
*** 5,17 ****
PRINT = lpr
# PostScript printer to use
! PRINTER = lw
LOCAL_LIBRARIES = -lxview -lolgx $(XLIB)
LDOPTIONS = -L$(OPENWINHOME)/lib
! CFLAGS = -O -I$(OPENWINHOME)/include
SRCS = busy.c catcher.c execute.c load_icon.c misc.c option.c panel.c parse.y place_dialog.c process.c
--- 5,21 ----
PRINT = lpr
# PostScript printer to use
! PRINTER = $${PRINTER:-lw}
+ ICON_PATH = "\".:./icons:$(LIBDIR)/images:/usr/include/images\""
+
LOCAL_LIBRARIES = -lxview -lolgx $(XLIB)
LDOPTIONS = -L$(OPENWINHOME)/lib
! INCLUDES = -I$(OPENWINHOME)/include
!
! DEFINES = -DICON_PATH=$(ICON_PATH)
SRCS = busy.c catcher.c execute.c load_icon.c misc.c option.c panel.c parse.y place_dialog.c process.c
*** README.orig Thu May 23 12:19:52 1991
--- README Thu May 23 12:04:29 1991
***************
*** 17,23 ****
/* without prior permission from Harris Corporation. */
/************************************************************************/
! Catcher Version 1.0
Catcher is a tool that allows you to build windowed tools that can
catch drag and drop files dragged from other windowed tools. Catcher
--- 17,23 ----
/* without prior permission from Harris Corporation. */
/************************************************************************/
! Catcher Version 1.0b
Catcher is a tool that allows you to build windowed tools that can
catch drag and drop files dragged from other windowed tools. Catcher
***************
*** 113,115 ****
--- 113,121 ----
Corrected bug in parser
Corrected handling of suffix string
Renamed ungetc to last_char in lex.c
+
+ 1.0b 23 May 91 Patch 2
+ Enhanced Imakefile (thanks to Rainer Sinkwitz)
+ Warp caret to parameter of selected choice
+ (thanks to Rainer Sinkwitz)
+ Fixed bug in text item init (J Q Johnson)
*** catcher.c.orig Thu May 23 12:19:54 1991
--- catcher.c Thu May 23 12:15:49 1991
***************
*** 178,183 ****
--- 178,184 ----
exit(1);
base = (Frame) xv_create(NULL, FRAME,
+ XV_HEIGHT, 900,
FRAME_LABEL, config.label,
FRAME_SHOW_RESIZE_CORNER, FALSE,
FRAME_SHOW_FOOTER, config.message != NULL,
***************
*** 236,242 ****
/* fix all the panel widths */
for (w = 0, cmd = config.command; cmd; cmd = cmd->next) {
! window_fit(cmd->panel);
if (w < xv_get(cmd->panel, XV_WIDTH))
w = (int) xv_get(cmd->panel, XV_WIDTH);
}
--- 237,243 ----
/* fix all the panel widths */
for (w = 0, cmd = config.command; cmd; cmd = cmd->next) {
! window_fit_width(cmd->panel);
if (w < xv_get(cmd->panel, XV_WIDTH))
w = (int) xv_get(cmd->panel, XV_WIDTH);
}
*** load_icon.c.orig Thu May 23 12:19:58 1991
--- load_icon.c Thu May 23 11:59:02 1991
***************
*** 29,35 ****
#define ICON_PATH ".:./icons:/usr/local/images:/usr/include/images"
#endif
! PUBLIC char *getenv();
/************************************************************************/
EXPORT Server_image load_icon(path, message)
--- 29,35 ----
#define ICON_PATH ".:./icons:/usr/local/images:/usr/include/images"
#endif
! PUBLIC char *getenv(), *index();
/************************************************************************/
EXPORT Server_image load_icon(path, message)
*** misc.c.orig Thu May 23 12:19:59 1991
--- misc.c Fri May 17 09:15:00 1991
***************
*** 50,97 ****
}
/************************************************************************/
- PRIVATE delarg(argc, argv)
-
- int *argc;
- char **argv;
-
- { char *p;
-
- while (*argv = *(argv+1))
- argv++;
- (*argc)--;
- }
-
- /************************************************************************/
- EXPORT char getopt(argc, argv, opts, parm)
-
- int *argc;
- char **argv;
- char *opts;
- char **parm;
-
- { char c, *p, *index();
- int killed;
-
- *parm = NULL;
- while (*argv && ((**argv != '-') || (*(*argv+1) == '\0')))
- argv++;
- if (*argv == NULL)
- return(EOF);
- c = *(*argv+1);
- *++(*argv) = '-';
- if (killed = (*(*argv+1) == '\0'))
- delarg(argc, argv);
- if ((p = index(opts, c)) == NULL)
- c = '\0';
- else if (*(p+1) == ':') {
- *parm = killed ? *argv : *argv+1;
- delarg(argc, argv);
- }
- return(c);
- }
-
- /************************************************************************/
EXPORT int is_empty(s)
char *s;
--- 50,55 ----
*** option.c.orig Thu May 23 12:20:00 1991
--- option.c Fri Mar 15 08:16:47 1991
***************
*** 31,36 ****
--- 31,38 ----
#include "manifest.h"
#include "catcher.h"
+ #define PREVIOUS_VALUE 280006631
+
/************************************************************************/
PRIVATE choice_toggle(item, value, event)
***************
*** 40,54 ****
{ Option *opt;
Choice *c;
! int i;
opt = (Option *) xv_get(item, PANEL_CLIENT_DATA);
for (i = 0, c = opt->choice; c; i++, c = c->next)
if (c->item)
! if (opt->type == OPT_EXCLUSIVE)
xv_set(c->item, PANEL_INACTIVE, value != i, NULL);
! else
xv_set(c->item, PANEL_INACTIVE, !(value & (1 << i)), NULL);
}
/************************************************************************/
--- 42,69 ----
{ Option *opt;
Choice *c;
! int i, prev;
opt = (Option *) xv_get(item, PANEL_CLIENT_DATA);
+ if (opt->type == OPT_NONEXCLUSIVE) {
+ prev = (int) xv_get(item, XV_KEY_DATA, PREVIOUS_VALUE);
+ prev ^= value;
+ if ((prev & value) == 0)
+ prev = 0;
+ xv_set(item, XV_KEY_DATA, PREVIOUS_VALUE, value, NULL);
+ }
for (i = 0, c = opt->choice; c; i++, c = c->next)
if (c->item)
! if (opt->type == OPT_EXCLUSIVE) {
xv_set(c->item, PANEL_INACTIVE, value != i, NULL);
! if (value == i)
! xv_set(xv_get(c->item, XV_OWNER), PANEL_CARET_ITEM, c->item, NULL);
! }
! else {
xv_set(c->item, PANEL_INACTIVE, !(value & (1 << i)), NULL);
+ if ((1 << i) & prev)
+ xv_set(xv_get(c->item, XV_OWNER), PANEL_CARET_ITEM, c->item, NULL);
+ }
}
/************************************************************************/
***************
*** 118,123 ****
--- 133,139 ----
PANEL_LABEL_BOLD, TRUE,
PANEL_VALUE_DISPLAY_LENGTH, opt->text.length,
PANEL_VALUE_STORED_LENGTH, 10 * opt->text.length,
+ PANEL_VALUE, opt->text.text_init? opt->text.text_init : "",
XV_X, X_MARGIN,
XV_Y, option_y,
NULL);
***************
*** 129,134 ****
--- 145,151 ----
PANEL_MAX_VALUE, opt->text.high,
PANEL_VALUE_DISPLAY_LENGTH, opt->text.length,
PANEL_VALUE_STORED_LENGTH, 10 * opt->text.length,
+ PANEL_VALUE, opt->text.int_init,
XV_X, X_MARGIN,
XV_Y, option_y,
NULL);
***************
*** 145,150 ****
--- 162,169 ----
if (c->parameter)
create_text(panel, opt->item, i, c);
xv_set(opt->item, PANEL_VALUE, val, NULL);
+ if (opt->type == OPT_NONEXCLUSIVE)
+ xv_set(opt->item, XV_KEY_DATA, PREVIOUS_VALUE, val, NULL);
choice_toggle(opt->item, val, NULL);
}
}
*** patchlevel.h.orig Thu May 23 12:20:02 1991
--- patchlevel.h Thu May 23 11:46:46 1991
***************
*** 24,29 ****
/* comp.sources.x: Volume 11, Issues 6-10 */
/* */
/* 1 Bug fixes; see README for details */
! /* comp.sources.x: Volume 11, Issue ? */
/* */
/************************************************************************/
--- 24,31 ----
/* comp.sources.x: Volume 11, Issues 6-10 */
/* */
/* 1 Bug fixes; see README for details */
! /* comp.sources.x: Volume 11, Issue 76 */
! /* */
! /* 2 Bug fixes; see README for details */
/* */
/************************************************************************/