home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / x / volume13 / catcher / patch2 / patch
Text File  |  1991-05-25  |  9KB  |  308 lines

  1. *** Makefile.orig    Thu May 23 12:19:50 1991
  2. --- Makefile    Thu May 23 12:19:33 1991
  3. ***************
  4. *** 15,27 ****
  5.   LDFLAGS        = -L$(OPENWINHOME)/lib
  6.   
  7.   # Where your XView include files are installed
  8. ! CPPFLAGS    = -I$(OPENWINHOME)/include -DMAILER=\"$(MAILER)\"
  9.   
  10.   # Command to use to print the manual (must honor -P option to set printer)
  11.   PRINT        = lpr
  12.   
  13.   # PostScript printer to use
  14. ! PRINTER        = lw
  15.   
  16.   CATCHER        = busy.o catcher.o execute.o load_icon.o misc.o option.o panel.o parse.o place_dialog.o process.o
  17.   
  18. --- 15,27 ----
  19.   LDFLAGS        = -L$(OPENWINHOME)/lib
  20.   
  21.   # Where your XView include files are installed
  22. ! CPPFLAGS    = -I$(OPENWINHOME)/include
  23.   
  24.   # Command to use to print the manual (must honor -P option to set printer)
  25.   PRINT        = lpr
  26.   
  27.   # PostScript printer to use
  28. ! PRINTER        = $${PRINTER:-lw}
  29.   
  30.   CATCHER        = busy.o catcher.o execute.o load_icon.o misc.o option.o panel.o parse.o place_dialog.o process.o
  31.   
  32. *** Imakefile.orig    Thu May 23 12:19:51 1991
  33. --- Imakefile    Wed Jan 30 10:30:33 1991
  34. ***************
  35. *** 5,17 ****
  36.   PRINT        = lpr
  37.   
  38.   # PostScript printer to use
  39. ! PRINTER        = lw
  40.   
  41.   LOCAL_LIBRARIES = -lxview -lolgx $(XLIB)
  42.   
  43.   LDOPTIONS    = -L$(OPENWINHOME)/lib
  44.   
  45. ! CFLAGS        = -O -I$(OPENWINHOME)/include
  46.   
  47.   SRCS        = busy.c catcher.c execute.c load_icon.c misc.c option.c panel.c parse.y place_dialog.c process.c
  48.   
  49. --- 5,21 ----
  50.   PRINT        = lpr
  51.   
  52.   # PostScript printer to use
  53. ! PRINTER        = $${PRINTER:-lw}
  54.   
  55. + ICON_PATH    = "\".:./icons:$(LIBDIR)/images:/usr/include/images\""
  56.   LOCAL_LIBRARIES = -lxview -lolgx $(XLIB)
  57.   
  58.   LDOPTIONS    = -L$(OPENWINHOME)/lib
  59.   
  60. ! INCLUDES    = -I$(OPENWINHOME)/include
  61. ! DEFINES = -DICON_PATH=$(ICON_PATH)
  62.   
  63.   SRCS        = busy.c catcher.c execute.c load_icon.c misc.c option.c panel.c parse.y place_dialog.c process.c
  64.   
  65. *** README.orig    Thu May 23 12:19:52 1991
  66. --- README    Thu May 23 12:04:29 1991
  67. ***************
  68. *** 17,23 ****
  69.   /*    without prior permission from Harris Corporation.         */
  70.   /************************************************************************/
  71.   
  72. !      Catcher Version 1.0
  73.        
  74.        Catcher is a tool that allows you to build windowed tools that can
  75.   catch drag and drop files dragged from other windowed tools.  Catcher
  76. --- 17,23 ----
  77.   /*    without prior permission from Harris Corporation.         */
  78.   /************************************************************************/
  79.   
  80. !      Catcher Version 1.0b
  81.        
  82.        Catcher is a tool that allows you to build windowed tools that can
  83.   catch drag and drop files dragged from other windowed tools.  Catcher
  84. ***************
  85. *** 113,115 ****
  86. --- 113,121 ----
  87.                        Corrected bug in parser
  88.                        Corrected handling of suffix string
  89.                        Renamed ungetc to last_char in lex.c
  90. +      
  91. +          1.0b    23 May 91    Patch 2
  92. +                      Enhanced Imakefile (thanks to Rainer Sinkwitz)
  93. +                      Warp caret to parameter of selected choice
  94. +                         (thanks to Rainer Sinkwitz)
  95. +                      Fixed bug in text item init (J Q Johnson)
  96. *** catcher.c.orig    Thu May 23 12:19:54 1991
  97. --- catcher.c    Thu May 23 12:15:49 1991
  98. ***************
  99. *** 178,183 ****
  100. --- 178,184 ----
  101.          exit(1);
  102.   
  103.       base = (Frame) xv_create(NULL, FRAME,
  104. +                     XV_HEIGHT, 900,
  105.                       FRAME_LABEL, config.label,
  106.                       FRAME_SHOW_RESIZE_CORNER, FALSE,
  107.                       FRAME_SHOW_FOOTER, config.message != NULL,
  108. ***************
  109. *** 236,242 ****
  110.   
  111.   /* fix all the panel widths */
  112.       for (w = 0, cmd = config.command; cmd; cmd = cmd->next) {
  113. !        window_fit(cmd->panel);
  114.          if (w < xv_get(cmd->panel, XV_WIDTH))
  115.             w = (int) xv_get(cmd->panel, XV_WIDTH);
  116.          }
  117. --- 237,243 ----
  118.   
  119.   /* fix all the panel widths */
  120.       for (w = 0, cmd = config.command; cmd; cmd = cmd->next) {
  121. !        window_fit_width(cmd->panel);
  122.          if (w < xv_get(cmd->panel, XV_WIDTH))
  123.             w = (int) xv_get(cmd->panel, XV_WIDTH);
  124.          }
  125. *** load_icon.c.orig    Thu May 23 12:19:58 1991
  126. --- load_icon.c    Thu May 23 11:59:02 1991
  127. ***************
  128. *** 29,35 ****
  129.   #define        ICON_PATH        ".:./icons:/usr/local/images:/usr/include/images"
  130.   #endif
  131.   
  132. ! PUBLIC    char    *getenv();
  133.   
  134.   /************************************************************************/
  135.   EXPORT    Server_image    load_icon(path, message)
  136. --- 29,35 ----
  137.   #define        ICON_PATH        ".:./icons:/usr/local/images:/usr/include/images"
  138.   #endif
  139.   
  140. ! PUBLIC    char    *getenv(), *index();
  141.   
  142.   /************************************************************************/
  143.   EXPORT    Server_image    load_icon(path, message)
  144. *** misc.c.orig    Thu May 23 12:19:59 1991
  145. --- misc.c    Fri May 17 09:15:00 1991
  146. ***************
  147. *** 50,97 ****
  148.   }
  149.   
  150.   /************************************************************************/
  151. - PRIVATE    delarg(argc, argv)
  152. - int    *argc;
  153. - char    **argv;
  154. - {    char    *p;
  155. -     while (*argv = *(argv+1))
  156. -        argv++;
  157. -     (*argc)--;
  158. - }
  159. - /************************************************************************/
  160. - EXPORT    char    getopt(argc, argv, opts, parm)
  161. - int    *argc;
  162. - char    **argv;
  163. - char    *opts;
  164. - char    **parm;
  165. - {    char    c, *p, *index();
  166. -     int    killed;
  167. -     *parm = NULL;
  168. -     while (*argv && ((**argv != '-') || (*(*argv+1) == '\0')))
  169. -        argv++;
  170. -     if (*argv == NULL)
  171. -        return(EOF);
  172. -     c = *(*argv+1);
  173. -     *++(*argv) = '-';
  174. -     if (killed = (*(*argv+1) == '\0'))
  175. -        delarg(argc, argv);
  176. -     if ((p = index(opts, c)) == NULL)
  177. -        c = '\0';
  178. -     else if (*(p+1) == ':') {
  179. -        *parm = killed ? *argv : *argv+1;
  180. -        delarg(argc, argv);
  181. -        }
  182. -     return(c);
  183. - }
  184. - /************************************************************************/
  185.   EXPORT    int    is_empty(s)
  186.   
  187.   char    *s;
  188. --- 50,55 ----
  189. *** option.c.orig    Thu May 23 12:20:00 1991
  190. --- option.c    Fri Mar 15 08:16:47 1991
  191. ***************
  192. *** 31,36 ****
  193. --- 31,38 ----
  194.   #include    "manifest.h"
  195.   #include    "catcher.h"
  196.   
  197. + #define        PREVIOUS_VALUE        280006631
  198.   /************************************************************************/
  199.   PRIVATE    choice_toggle(item, value, event)
  200.   
  201. ***************
  202. *** 40,54 ****
  203.   
  204.   {    Option    *opt;
  205.       Choice    *c;
  206. !     int    i;
  207.   
  208.       opt = (Option *) xv_get(item, PANEL_CLIENT_DATA);
  209.       for (i = 0, c = opt->choice; c; i++, c = c->next)
  210.          if (c->item)
  211. !           if (opt->type == OPT_EXCLUSIVE)
  212.                xv_set(c->item, PANEL_INACTIVE, value != i, NULL);
  213. !           else
  214.                xv_set(c->item, PANEL_INACTIVE, !(value & (1 << i)), NULL);
  215.   }
  216.   
  217.   /************************************************************************/
  218. --- 42,69 ----
  219.   
  220.   {    Option    *opt;
  221.       Choice    *c;
  222. !     int    i, prev;
  223.   
  224.       opt = (Option *) xv_get(item, PANEL_CLIENT_DATA);
  225. +     if (opt->type == OPT_NONEXCLUSIVE) {
  226. +        prev = (int) xv_get(item, XV_KEY_DATA, PREVIOUS_VALUE);
  227. +        prev ^= value;
  228. +        if ((prev & value) == 0)
  229. +           prev = 0;
  230. +        xv_set(item, XV_KEY_DATA, PREVIOUS_VALUE, value, NULL);
  231. +        }
  232.       for (i = 0, c = opt->choice; c; i++, c = c->next)
  233.          if (c->item)
  234. !           if (opt->type == OPT_EXCLUSIVE) {
  235.                xv_set(c->item, PANEL_INACTIVE, value != i, NULL);
  236. !              if (value == i)
  237. !                 xv_set(xv_get(c->item, XV_OWNER), PANEL_CARET_ITEM, c->item, NULL);
  238. !              }
  239. !           else {
  240.                xv_set(c->item, PANEL_INACTIVE, !(value & (1 << i)), NULL);
  241. +              if ((1 << i) & prev)
  242. +                 xv_set(xv_get(c->item, XV_OWNER), PANEL_CARET_ITEM, c->item, NULL);
  243. +              }
  244.   }
  245.   
  246.   /************************************************************************/
  247. ***************
  248. *** 118,123 ****
  249. --- 133,139 ----
  250.                               PANEL_LABEL_BOLD, TRUE,
  251.                               PANEL_VALUE_DISPLAY_LENGTH, opt->text.length,
  252.                               PANEL_VALUE_STORED_LENGTH, 10 * opt->text.length,
  253. +                             PANEL_VALUE, opt->text.text_init? opt->text.text_init : "",
  254.                               XV_X, X_MARGIN,
  255.                               XV_Y, option_y,
  256.                                NULL);
  257. ***************
  258. *** 129,134 ****
  259. --- 145,151 ----
  260.                               PANEL_MAX_VALUE, opt->text.high,
  261.                               PANEL_VALUE_DISPLAY_LENGTH, opt->text.length,
  262.                               PANEL_VALUE_STORED_LENGTH, 10 * opt->text.length,
  263. +                             PANEL_VALUE, opt->text.int_init,
  264.                               XV_X, X_MARGIN,
  265.                               XV_Y, option_y,
  266.                                NULL);
  267. ***************
  268. *** 145,150 ****
  269. --- 162,169 ----
  270.             if (c->parameter)
  271.                create_text(panel, opt->item, i, c);
  272.          xv_set(opt->item, PANEL_VALUE, val, NULL);
  273. +        if (opt->type == OPT_NONEXCLUSIVE)
  274. +           xv_set(opt->item, XV_KEY_DATA, PREVIOUS_VALUE, val, NULL);
  275.          choice_toggle(opt->item, val, NULL);
  276.          }
  277.   }
  278. *** patchlevel.h.orig    Thu May 23 12:20:02 1991
  279. --- patchlevel.h    Thu May 23 11:46:46 1991
  280. ***************
  281. *** 24,29 ****
  282.   /*               comp.sources.x: Volume 11, Issues 6-10    */
  283.   /*                                    */
  284.   /*      1        Bug fixes; see README for details        */
  285. ! /*               comp.sources.x: Volume 11, Issue ?        */
  286.   /*                                    */
  287.   /************************************************************************/
  288. --- 24,31 ----
  289.   /*               comp.sources.x: Volume 11, Issues 6-10    */
  290.   /*                                    */
  291.   /*      1        Bug fixes; see README for details        */
  292. ! /*               comp.sources.x: Volume 11, Issue 76        */
  293. ! /*                                    */
  294. ! /*      2        Bug fixes; see README for details        */
  295.   /*                                    */
  296.   /************************************************************************/
  297.