(FILECREATED "18-JAN-83 08:39:25" {SUMEX-KI10}<LANE>MULTIW.LSP;33 4865   

      changes to:  (VARS MULTIWCOMS MULTIWFNS MULTIWINTERNAL)

      previous date: "14-JAN-83 14:16:29" {SUMEX-KI10}<LANE>MULTIW.LSP;32)


(PRETTYCOMPRINT MULTIWCOMS)

(RPAQQ MULTIWCOMS ((* * USER FUNCTIONS)
		   (FNS * MULTIWFNS)
		   (* * INTERNAL WINDOW FUNCTIONS)
		   (FNS * MULTIWINTERNAL)
		   (* * SCRIPTS)
		   (VARS * MULTIWVARS)))
(* * USER FUNCTIONS)


(RPAQQ MULTIWFNS (MULTIW MULTIWFREE MULTIWADVICE MULTIWGRAPH))
(DEFINEQ

(MULTIW
  [LAMBDA (SuperWindow SubWindowLst)            (* cdl "14-JAN-83 11:09")
    (PROG ((SUPERWINDOW (OR SuperWindow (\MULTIWPROMPT "BUTTON SUPER WINDOW")))
	   (SUPER (QUOTE SUPERWINDOWLST))
	   (SUB (QUOTE SUBWINDOWLST)))
          (for ACTION in \MULTIWNEWFNS do (WINDOWPROP SUPERWINDOW (CAR ACTION)
						      (CDR ACTION)))
          (for SUBWINDOW in (MKLIST (OR SubWindowLst (\MULTIWPROMPT 
							"BUTTON SUB WINDOW")))
	     do (WINDOWADDPROP SUPERWINDOW SUB SUBWINDOW)
		(WINDOWADDPROP SUBWINDOW SUPER SUPERWINDOW))
          (RETURN SUPERWINDOW])

(MULTIWFREE
  [LAMBDA (SuperWindow SubWindowLst)            (* cdl "14-JAN-83 10:56")
    (PROG ((SUPERWINDOW (OR SuperWindow (\MULTIWPROMPT "BUTTON SUPER WINDOW")))
	   (SUB (QUOTE SUBWINDOWLST))
	   (SUPER (QUOTE SUPERWINDOWLST)))
          [COND
	    ((EQ T SubWindowLst)
	      (SETQ SubWindowLst (WINDOWPROP SUPERWINDOW SUB]
          (for SUBWINDOW in (MKLIST (OR SubWindowLst (\MULTIWPROMPT 
							"BUTTON SUB WINDOW")))
	     do (WINDOWDELPROP SUBWINDOW SUPER SUPERWINDOW)
		(WINDOWDELPROP SUPERWINDOW SUB SUBWINDOW])

(MULTIWADVICE
  [LAMBDA NIL                                   (* cdl "13-JAN-83 09:28")
    (for FN in \MULTIWADVISEDFNS collect (ADVISE (CAR FN)
						 (CADR FN)
						 NIL
						 (CADDR FN])

(MULTIWGRAPH
  [LAMBDA (SuperWindow DisplayWindow)           (* cdl "14-JAN-83 10:53")
    (SHOWGRAPH (LAYOUTSEXPR (\MULTIWGRAPH (OR SuperWindow (\MULTIWPROMPT 
						   "BUTTON WINDOW TO GRAPH")))
			    (QUOTE VERTICAL))
	       DisplayWindow])
)
(* * INTERNAL WINDOW FUNCTIONS)


(RPAQQ MULTIWINTERNAL (\MULTIWMOVEFN \MULTIWCLOSEFN \MULTIWSHRINKFN 
				     \MULTIWEXPANDFN \MULTIWTOTOPFN 
				     \MULTIWBURYFN \MULTIWGRAPH \MULTIWPROMPT))
(DEFINEQ

(\MULTIWMOVEFN
  [LAMBDA (Window NewPosition)                  (* cdl "14-JAN-83 10:59")
    (PROG [(RELPOS (create POSITION
			   XCOORD ←[IDIFFERENCE (fetch (POSITION XCOORD)
						   of NewPosition)
						(fetch (REGION LEFT)
						   of (WINDOWPROP Window
								  (QUOTE REGION]
			   YCOORD ←(IDIFFERENCE (fetch (POSITION YCOORD)
						   of NewPosition)
						(fetch (REGION BOTTOM)
						   of (WINDOWPROP Window
								  (QUOTE REGION]
          (for W in (WINDOWPROP Window (QUOTE SUBWINDOWLST))
	     do (RELMOVEW W RELPOS])

(\MULTIWCLOSEFN
  [LAMBDA (WINDOW)
    (for W in (WINDOWPROP WINDOW (QUOTE SUBWINDOWLST)) do (CLOSEW W])

(\MULTIWSHRINKFN
  [LAMBDA (WINDOW)
    (\MULTIWCLOSEFN WINDOW])

(\MULTIWEXPANDFN
  [LAMBDA (WINDOW)
    (for W in (WINDOWPROP WINDOW (QUOTE SUBWINDOWLST)) do (OPENW W])

(\MULTIWTOTOPFN
  [LAMBDA (WINDOW)                              (* cdl "13-JAN-83 09:39")
    (PROG NIL
          (TOTOPW WINDOW)
          (for W in (WINDOWPROP WINDOW (QUOTE SUBWINDOWLST))
	     do (\MULTIWTOTOPFN W])

(\MULTIWBURYFN
  [LAMBDA (WINDOW)                              (* cdl "13-JAN-83 09:42")
    (for W in (WINDOWPROP WINDOW (QUOTE SUBWINDOWLST)) do (BURYW W])

(\MULTIWGRAPH
  [LAMBDA (NodeWindow)                          (* cdl "14-JAN-83 11:00")
    (CONS (OR (WINDOWPROP NodeWindow (QUOTE TITLE))
	      NodeWindow)
	  (for W in (WINDOWPROP NodeWindow (QUOTE SUBWINDOWLST))
	     collect (\MULTIWGRAPH W])

(\MULTIWPROMPT
  [LAMBDA (PromptString)                        (* cdl "14-JAN-83 10:58")
    (PROG (WINDOW)
          (COND
	    (PROMPTWINDOW (CLRPROMPT)
			  (CENTERPRINTINREGION PromptString NIL PROMPTWINDOW)))
          (SETQ WINDOW (WHICHW (GETPOSITION)))
          (CLRPROMPT)
          (RETURN WINDOW])
)
(* * SCRIPTS)


(RPAQQ MULTIWVARS (\MULTIWADVISEDFNS \MULTIWNEWFNS))

(RPAQQ \MULTIWADVISEDFNS ((MOVEW AFTER (\MULTIWTOTOPFN WINDOW))
			  (OPENW AFTER (\MULTIWTOTOPFN WINDOW))
			  (CLEARW AFTER (\MULTIWTOTOPFN WINDOW))
			  (BURYW BEFORE (\MULTIWBURYFN WINDOW))
			  (SHAPEW AFTER (\MULTIWTOTOPFN WINDOW))))

(RPAQQ \MULTIWNEWFNS ((CLOSEFN . \MULTIWCLOSEFN)
		      (SHRINKFN . \MULTIWSHRINKFN)
		      (EXPANDFN . \MULTIWEXPANDFN)
		      (MOVEFN . \MULTIWMOVEFN)
		      (BUTTONEVENTFN . \MULTIWTOTOPFN)))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (521 2170 (MULTIW 531 . 1134) (MULTIWFREE 1136 . 1690) (
MULTIWADVICE 1692 . 1904) (MULTIWGRAPH 1906 . 2168)) (2376 4316 (\MULTIWMOVEFN 
2386 . 2979) (\MULTIWCLOSEFN 2981 . 3101) (\MULTIWSHRINKFN 3103 . 3175) (
\MULTIWEXPANDFN 3177 . 3297) (\MULTIWTOTOPFN 3299 . 3542) (\MULTIWBURYFN 3544 . 
3721) (\MULTIWGRAPH 3723 . 3995) (\MULTIWPROMPT 3997 . 4314)))))
STOP