1
0
mirror of synced 2026-01-28 21:11:37 +00:00

WINDOWOBJ: COPYINSERT now uniformly allows lists of objects

It was incomplete.
This commit is contained in:
rmkaplan
2021-12-22 10:59:08 -08:00
parent 25f47c75a2
commit 2e73901c3e
2 changed files with 76 additions and 72 deletions

View File

@@ -1,37 +1,37 @@
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
(FILECREATED "19-Jan-93 11:26:14" {DSK}<python>lde>lispcore>sources>WINDOWOBJ.;3 27891
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
changes to%: (RECORDS IMAGEOBJ IMAGEFNS IMAGEBOX)
(FILECREATED "20-Dec-2021 23:47:45" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>WINDOWOBJ.;5 27781
previous date%: " 5-Jan-93 09:53:15" {DSK}<python>lde>lispcore>sources>WINDOWOBJ.;2)
:CHANGES-TO (FNS COPYINSERT)
:PREVIOUS-DATE "18-Dec-2021 20:09:33"
{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>WINDOWOBJ.;3)
(* ; "
Copyright (c) 1986, 1987, 1990, 1991, 1993 by Venue & Xerox Corporation. All rights reserved.
Copyright (c) 1986-1987, 1990-1991, 1993 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT WINDOWOBJCOMS)
(RPAQQ WINDOWOBJCOMS [(COMS (* ;
 "Image object support - here so that DEDIT can use it without needing TEDIT to be loaded.")
(RECORDS IMAGEOBJ IMAGEFNS IMAGEBOX)
(FNS COPYINSERT IMAGEBOX IMAGEFNSCREATE IMAGEFNSP IMAGEOBJCREATE
IMAGEOBJP IMAGEOBJPROP \IMAGEUSERPROP HPRINT.IMAGEOBJ
COPYIMAGEOBJ READIMAGEOBJ WRITEIMAGEOBJ)
(ADDVARS (HPRINTMACROS (IMAGEOBJ . WRITEIMAGEOBJ)))
(GLOBALVARS (IMAGEOBJTYPES NIL)
(IMAGEOBJGETFNS NIL)))
(COMS (* ;
 "For encapsulating unknown-type IMAGEOBJs.")
(FNS ENCAPSULATEDOBJ.BUTTONEVENTINFN ENCAPSULATEDOBJ.PUTFN
ENCAPSULATEDOBJ.DISPLAYFN ENCAPSULATEDOBJ.IMAGEBOXFN
ENCAPSULATEDIMAGEFNS)
(INITVARS ENCAPSULATEDIMAGEFNS)
(GLOBALVARS ENCAPSULATEDIMAGEFNS))
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
(ADDVARS (NLAMA)
(NLAML)
(LAMA IMAGEOBJPROP])
(RPAQQ WINDOWOBJCOMS
[(COMS (* ;
 "Image object support - here so that DEDIT can use it without needing TEDIT to be loaded.")
(RECORDS IMAGEOBJ IMAGEFNS IMAGEBOX)
(FNS COPYINSERT IMAGEBOX IMAGEFNSCREATE IMAGEFNSP IMAGEOBJCREATE IMAGEOBJP IMAGEOBJPROP
\IMAGEUSERPROP HPRINT.IMAGEOBJ COPYIMAGEOBJ READIMAGEOBJ WRITEIMAGEOBJ)
(ADDVARS (HPRINTMACROS (IMAGEOBJ . WRITEIMAGEOBJ)))
(GLOBALVARS (IMAGEOBJTYPES NIL)
(IMAGEOBJGETFNS NIL)))
(COMS (* ;
 "For encapsulating unknown-type IMAGEOBJs.")
(FNS ENCAPSULATEDOBJ.BUTTONEVENTINFN ENCAPSULATEDOBJ.PUTFN ENCAPSULATEDOBJ.DISPLAYFN
ENCAPSULATEDOBJ.IMAGEBOXFN ENCAPSULATEDIMAGEFNS)
(INITVARS ENCAPSULATEDIMAGEFNS)
(GLOBALVARS ENCAPSULATEDIMAGEFNS))
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA)
(NLAML)
(LAMA IMAGEOBJPROP])
@@ -40,35 +40,35 @@ Copyright (c) 1986, 1987, 1990, 1991, 1993 by Venue & Xerox Corporation. All ri
(DECLARE%: EVAL@COMPILE
(DATATYPE IMAGEOBJ (OBJECTDATUM IMAGEOBJPLIST IMAGEOBJFNS)
(SYSTEM))
(SYSTEM))
(DATATYPE IMAGEFNS (DISPLAYFN (* ;
 "FN called to display the object's image")
IMAGEBOXFN (* ; "To tell how big it is")
PUTFN (* ; "To write it onto a file")
GETFN (* ; "To read it back from the file")
COPYFN (* ; "To make a copy of the object")
BUTTONEVENTINFN (* ;
 "Called when the mouse goes down over the object")
COPYBUTTONEVENTINFN (* ;
 "Called when the MIDDLE mouse button goes down over the object")
WHENMOVEDFN (* ;
 "Called when the object is moved within a document or other environment")
WHENINSERTEDFN (* ;
 "Called when the object is inserted into a context")
WHENDELETEDFN (* ;
 "Called when the object is removed from a context")
WHENCOPIEDFN (* ;
 "Called when the object is copied within a context")
WHENOPERATEDONFN (* ;
 "Called when something interesting happens to the object")
PREPRINTFN IMAGECLASSNAME (* ;
 "LITATOM unique name by which this kind of IMAGEOBJ is to be known to the world.")
)
(SYSTEM))
(DATATYPE IMAGEFNS (DISPLAYFN (* ;
 "FN called to display the object's image")
IMAGEBOXFN (* ; "To tell how big it is")
PUTFN (* ; "To write it onto a file")
GETFN (* ; "To read it back from the file")
COPYFN (* ; "To make a copy of the object")
BUTTONEVENTINFN (* ;
 "Called when the mouse goes down over the object")
COPYBUTTONEVENTINFN (* ;
 "Called when the MIDDLE mouse button goes down over the object")
WHENMOVEDFN (* ;
 "Called when the object is moved within a document or other environment")
WHENINSERTEDFN (* ;
 "Called when the object is inserted into a context")
WHENDELETEDFN (* ;
 "Called when the object is removed from a context")
WHENCOPIEDFN (* ;
 "Called when the object is copied within a context")
WHENOPERATEDONFN (* ;
 "Called when something interesting happens to the object")
PREPRINTFN IMAGECLASSNAME (* ;
 "LITATOM unique name by which this kind of IMAGEOBJ is to be known to the world.")
)
(SYSTEM))
(RECORD IMAGEBOX (XSIZE YSIZE YDESC XKERN)
(SYSTEM))
(SYSTEM))
)
(/DECLAREDATATYPE 'IMAGEOBJ '(POINTER POINTER POINTER)
@@ -98,7 +98,11 @@ Copyright (c) 1986, 1987, 1990, 1991, 1993 by Venue & Xerox Corporation. All ri
(DEFINEQ
(COPYINSERT
[LAMBDA (IMAGEOBJ) (* ; "Edited 17-Sep-90 13:19 by jds")
[LAMBDA (IMAGEOBJ)
(* ;; "Edited 20-Dec-2021 23:47 by rmk: IMAGEOBJ can now also be a list of objects in the COPYINSERTFN case")
(* ;; "Edited 17-Sep-90 13:19 by jds")
(* ;;; "inserts IMAGEOBJ into the window that currently has the tty. If this window has a COPYINSERTFN property, that is called, otherwise BKSYSBUF is called.")
@@ -106,22 +110,22 @@ Copyright (c) 1986, 1987, 1990, 1991, 1993 by Venue & Xerox Corporation. All ri
INSERTFN)
(COND
((SETQ INSERTFN (WINDOWPROP TTYW 'COPYINSERTFN))
(APPLY* INSERTFN IMAGEOBJ TTYW))
(for IMOBJ inside IMAGEOBJ do (APPLY* INSERTFN IMOBJ TTYW)))
(T (* ;
 "IMAGEOBJ can be a list of things too.")
 "IMAGEOBJ can be a list of things too.")
(for IMOBJ inside IMAGEOBJ
do (BKSYSBUF (OR (COND
[(IMAGEOBJP IMOBJ)
(COND
((SETQ INSERTFN (IMAGEOBJPROP IMOBJ 'PREPRINTFN))
(APPLY* INSERTFN IMOBJ))
(T (IMAGEOBJPROP IMOBJ 'OBJECTDATUM]
(T IMOBJ))
"")
T
(PROCESS.EVAL (TTY.PROCESS)
'(GETREADTABLE)
T])
[(IMAGEOBJP IMOBJ)
(COND
((SETQ INSERTFN (IMAGEOBJPROP IMOBJ 'PREPRINTFN))
(APPLY* INSERTFN IMOBJ))
(T (IMAGEOBJPROP IMOBJ 'OBJECTDATUM]
(T IMOBJ))
"")
T
(PROCESS.EVAL (TTY.PROCESS)
'(GETREADTABLE)
T])
(IMAGEBOX
[LAMBDA (OBJ STREAM MODE) (* jds " 8-Feb-84 10:48")
@@ -527,11 +531,11 @@ Either delete this image object or load its support files." IMAGEOBJ)
)
(PUTPROPS WINDOWOBJ COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1990 1991 1993))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (5088 21106 (COPYINSERT 5098 . 6542) (IMAGEBOX 6544 . 6724) (IMAGEFNSCREATE 6726 . 7921)
(IMAGEFNSP 7923 . 8164) (IMAGEOBJCREATE 8166 . 8711) (IMAGEOBJP 8713 . 8954) (IMAGEOBJPROP 8956 .
14848) (\IMAGEUSERPROP 14850 . 15444) (HPRINT.IMAGEOBJ 15446 . 16035) (COPYIMAGEOBJ 16037 . 16780) (
READIMAGEOBJ 16782 . 19752) (WRITEIMAGEOBJ 19754 . 21104)) (21320 27527 (
ENCAPSULATEDOBJ.BUTTONEVENTINFN 21330 . 22466) (ENCAPSULATEDOBJ.PUTFN 22468 . 23583) (
ENCAPSULATEDOBJ.DISPLAYFN 23585 . 25198) (ENCAPSULATEDOBJ.IMAGEBOXFN 25200 . 26088) (
ENCAPSULATEDIMAGEFNS 26090 . 27525)))))
(FILEMAP (NIL (4895 20996 (COPYINSERT 4905 . 6432) (IMAGEBOX 6434 . 6614) (IMAGEFNSCREATE 6616 . 7811)
(IMAGEFNSP 7813 . 8054) (IMAGEOBJCREATE 8056 . 8601) (IMAGEOBJP 8603 . 8844) (IMAGEOBJPROP 8846 .
14738) (\IMAGEUSERPROP 14740 . 15334) (HPRINT.IMAGEOBJ 15336 . 15925) (COPYIMAGEOBJ 15927 . 16670) (
READIMAGEOBJ 16672 . 19642) (WRITEIMAGEOBJ 19644 . 20994)) (21210 27417 (
ENCAPSULATEDOBJ.BUTTONEVENTINFN 21220 . 22356) (ENCAPSULATEDOBJ.PUTFN 22358 . 23473) (
ENCAPSULATEDOBJ.DISPLAYFN 23475 . 25088) (ENCAPSULATEDOBJ.IMAGEBOXFN 25090 . 25978) (
ENCAPSULATEDIMAGEFNS 25980 . 27415)))))
STOP

Binary file not shown.