(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP")
(FILECREATED "18-Feb-88 18:03:21" {QV}<NOTECARDS>1.3LNEXT>PMIPATCH089.;2 15347
changes to%: (VARS PMIPATCH089COMS)
(FNS NC.BringUpTEditCard NC.BringUpGraphCard NC.BringUpSketchCard)
previous date%: "17-Feb-88 10:49:27" {QV}<NOTECARDS>1.3LNEXT>PMIPATCH089.;1)
(* "
Copyright (c) 1988 by Xerox Corporation. All rights reserved.
")
(PRETTYCOMPRINT PMIPATCH089COMS)
(RPAQQ PMIPATCH089COMS (
(* ;; " pmi 2/18/88: Fixes to make bringing up Sketch cards that are already up more intelligent about redisplaying their contents. Also, removed one of two FLASHWs from the BringUp functions.")
(DECLARE%: DONTCOPY (PROPS (PMIPATCH089 MAKEFILE-ENVIRONMENT)
(PMIPATCH089 FILETYPE)))
[DECLARE%: FIRST (P (NC.LoadFileFromDirectories 'NCTEXTCARD)
(NC.LoadFileFromDirectories 'NCGRAPHCARD)
(NC.LoadFileFromDirectories 'NCSKETCHCARD]
(* ;; "Changed in NCTEXTCARD")
(FNS NC.BringUpTEditCard)
(* ;; "Changed in NCGRAPHCARD")
(FNS NC.BringUpGraphCard)
(* ;; "Changed in NCSKETCHCARD")
(FNS NC.BringUpSketchCard)))
(* ;;
" pmi 2/18/88: Fixes to make bringing up Sketch cards that are already up more intelligent about redisplaying their contents. Also, removed one of two FLASHWs from the BringUp functions."
)
(DECLARE%: DONTCOPY
(PUTPROPS PMIPATCH089 MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP"))
(PUTPROPS PMIPATCH089 FILETYPE :BCOMPL)
)
(DECLARE%: FIRST
(NC.LoadFileFromDirectories 'NCTEXTCARD)
(NC.LoadFileFromDirectories 'NCGRAPHCARD)
(NC.LoadFileFromDirectories 'NCSKETCHCARD)
)
(* ;; "Changed in NCTEXTCARD")
(DEFINEQ
(NC.BringUpTEditCard
[LAMBDA (Card TextStream RegionOrPosition) (* ; "Edited 18-Feb-88 18:01 by pmi")
(* ;; "Bring up a TEdit window for Card ID whose text stream is TextStream in Region specified by RegionOrPosition or by the user.")
(* ;; "rht 9/10/85: Fixed call to NC.MakeTEditPropsList so prompt window gets fixed up before card is brought up.")
(* ;; "fgh 11/13/85 Updated to handle Card objects.")
(* ;; "kirk 2Dec85 Removed illegal RETURN")
(* ;; "rht 4/11/86: Added Type arg to call to NC.MakeTEditMiddleMenu and changed names of menu windowprops.")
(* ;;
"rht 5/5/86: Now calls NC.InstallTitleBarLeftMenu and NC.InstallTextTitleBarMiddleMenu.")
(* ;; "rht 8/2/86: Now doesn't throw in any extra tedit props if card is a filebox.")
(* ;; "rht 11/16/86: Now moves window to RegionOrPosition if already up.")
(* ;; "rht&pmi 11/19/86: Now passes NoteFile arg to NC.MakeTEditPropsList.")
(* ;; "rht & pmi 12/16/86: Changed the way we get TEditWindow.")
(* ;;
"rht 1/30/87: Now calls RESTART-PROCESS-OF-TEDIT-WINDOW from Bagley's TEDIT-PROCESS-KILLER package.")
(* ;; "rht 4/17/87: Now makes a prompt window before opening the window.")
(* ;; "rg 11/6/87 now waits for TEdit process to get going after TEDIT call")
(* ;; "pmi 2/9/88: Now checks to see if RegionOrPosition is different from current region or position of card before calling SHAPEW, which could needlessly repaint the window otherwise.")
(* ;; " pmi 2/18/88: Removed one of the two FLASHWs. Fixed up check for same position to be a little more efficient.")
(LET (Region TEditWindow WindowRegion TEditProcess Title TextStreamDirtyFlg Type TEditProcess)
(if (SETQ TEditWindow (NC.FetchWindow Card))
then (TOTOPW TEditWindow)
[if RegionOrPosition
then (if (REGIONP RegionOrPosition)
then (if [NOT (EQUAL RegionOrPosition (WINDOWPROP TEditWindow
'REGION]
then (SHAPEW TEditWindow (NC.DetermineDisplayRegion Card
RegionOrPosition)))
elseif (POSITIONP RegionOrPosition)
then (SETQ WindowRegion (WINDOWPROP TEditWindow 'REGION))
(if [NOT (AND (EQUAL (fetch (POSITION XCOORD) of RegionOrPosition
)
(fetch (REGION LEFT) of WindowRegion))
(EQUAL (fetch (POSITION YCOORD) of RegionOrPosition
)
(fetch (REGION BOTTOM) of WindowRegion]
then (SHAPEW TEditWindow (NC.DetermineDisplayRegion Card
RegionOrPosition]
(FLASHW TEditWindow)
(if (SETQ TEditProcess (WINDOWPROP TEditWindow 'PROCESS))
then (TTY.PROCESS TEditProcess)
else (* ;
"Process may have been turned off. Try to restart.")
(SETQ TEditProcess (RESTART-PROCESS-OF-TEDIT-WINDOW TEditWindow)))
TEditWindow
else (SETQ Region (NC.DetermineDisplayRegion Card RegionOrPosition))
(SETQ Title (NC.RetrieveTitle Card))
(SETQ Type (NC.RetrieveType Card))
(SETQ TEditWindow (CREATEW Region Title NIL T))
(* ;
"Make a prompt window 'invisibly' so it gets hooked in.")
(NC.AttachPromptWindowOffScreen TEditWindow)
(WINDOWADDPROP TEditWindow 'SHRINKFN (FUNCTION NC.TextCardShrinkFn))
(NC.InstallTitleBarLeftMenu TEditWindow Type)
(NC.InstallTextTitleBarMiddleMenu TEditWindow Type)
(SETQ TextStreamDirtyFlg (NC.CardDirtyP Card))
[SETQ TEditProcess (TEDIT TextStream TEditWindow NIL (NC.MakeTEditPropsList
TEditWindow
(NC.FileBoxP Card T)
(fetch (Card NoteFile)
of Card]
(* ; "wait for process to get established. Otherwise, the TEdit killer, called by MakeReadOnly, may fail")
(until (TEDIT-PROCESS-P TEditProcess) do (BLOCK))
(AND TextStreamDirtyFlg (NC.MarkCardDirty Card)))
TEditWindow])
)
(* ;; "Changed in NCGRAPHCARD")
(DEFINEQ
(NC.BringUpGraphCard
[LAMBDA (Card Substance RegionOrPosition) (* ; "Edited 18-Feb-88 17:58 by pmi")
(* ;; "Given a graph (or browser) Substance, open a grapher (browser) window and set it up to be a NoteCard with ID.")
(* ;; "fgh 11/14/85 Updated to handle Card object.")
(* ;; "rht 5/5/86: Now calls NC.InstallTitleBarButtonEventFn, NC.InstallTitleBarLeftMenu, and NC.InstallTitleBarMiddleMenu instead of NC.SetupTitleBarMenu.")
(* ;; "fgh 6/30/86 Added NC.GRAPHERCOPYBUTTONEVENTFN to SHOWGRAPH call")
(* ;; "rht 11/16/86: Now moves window to RegionOrPosition if already up.")
(* ;; "pmi 2/9/88: Now checks to see if RegionOrPosition is different from current region or position of card before calling SHAPEW, which could needlessly repaint the window otherwise.")
(* ;; " pmi 2/18/88: Removed one of the two FLASHWs. Fixed up check for same position to be a little more efficient.")
(LET (Region Title GraphWindow WindowRegion IconWindow CardType)
(COND
((SETQ GraphWindow (NC.FetchWindow Card))
(AND (WINDOWP (WINDOWPROP GraphWindow 'ICONFOR))
(SETQ GraphWindow (EXPANDW GraphWindow)))
(TOTOPW GraphWindow)
[if RegionOrPosition
then (if (REGIONP RegionOrPosition)
then (if [NOT (EQUAL RegionOrPosition (WINDOWPROP GraphWindow 'REGION]
then (SHAPEW GraphWindow (NC.DetermineDisplayRegion Card
RegionOrPosition)))
elseif (POSITIONP RegionOrPosition)
then (SETQ WindowRegion (WINDOWPROP GraphWindow 'REGION))
(if [NOT (AND (EQUAL (fetch (POSITION XCOORD) of RegionOrPosition)
(fetch (REGION LEFT) of WindowRegion))
(EQUAL (fetch (POSITION YCOORD) of RegionOrPosition)
(fetch (REGION BOTTOM) of WindowRegion]
then (SHAPEW GraphWindow (NC.DetermineDisplayRegion Card
RegionOrPosition]
(FLASHW GraphWindow))
(T (SETQ GraphWindow (SHOWGRAPH Substance (CREATEW (NC.DetermineDisplayRegion Card
RegionOrPosition)
(NC.RetrieveTitle Card))
(FUNCTION NC.GraphCardLeftButtonFn)
(FUNCTION NC.GraphCardMiddleButtonFn)
NIL T (FUNCTION NC.GRAPHERCOPYBUTTONEVENTFN)))
(SETQ CardType (NC.RetrieveType Card))
(WINDOWADDPROP GraphWindow 'SHRINKFN (FUNCTION NC.GraphCardShrinkFn))
(NC.InstallTitleBarButtonEventFn GraphWindow (FUNCTION NC.TitleBarButtonEventFn))
(NC.InstallTitleBarLeftMenu GraphWindow CardType)
(NC.InstallTitleBarMiddleMenu GraphWindow CardType)))
GraphWindow])
)
(* ;; "Changed in NCSKETCHCARD")
(DEFINEQ
(NC.BringUpSketchCard
[LAMBDA (Card Substance RegionOrPosition) (* ; "Edited 18-Feb-88 18:01 by pmi")
(* ;
"Bring up a sketch card containing substance in specified region")
(* ;; "rht 2/1/85: Added windowprop to prevent sketch asking about saving changes.")
(* ;; "rht 10/10/85: Now sets substance if was nil.")
(* ;; "fgh 11/14/85 Updated to handle Card object.")
(* ;; "rht 5/5/86: Replaced call to NC.SetupTitleBarMenu with calls to NC.InstallTitleBarButtonEventFn and NC.InstallTitleBarLeftMenu and NC.InstallSketchTitleBarMiddleMenu.")
(* ;; "fgh 6/30/86 Added NC.SK.COPY.BUTTONEVENTFN to sketch window. Made Substance to be INSURE.SKETCH of the sketch window.")
(* ;; "rht 11/16/86: Now moves window to RegionOrPosition if already up.")
(* ;; "rht 3/2/87: No longer passes RegionViewed and Scale to SKETCHW.CREATE. SKETCHW.CREATE will extract them from the imageobj.")
(* ;; " pmi 2/18/88: Removed one of the two FLASHWs. Fixed up check for same position to be a little more efficient.")
(LET ([SketchName (AND (NULL Substance)
(MKATOM (fetch (Card UID) of Card]
WindowRegion Title SketchViewer CardType)
[COND
[(SETQ SketchViewer (NC.FetchWindow Card))
(TOTOPW SketchViewer)
[if RegionOrPosition
then (if (REGIONP RegionOrPosition)
then (if [NOT (EQUAL RegionOrPosition (WINDOWPROP SketchViewer 'REGION]
then (SHAPEW SketchViewer (NC.DetermineDisplayRegion Card
RegionOrPosition)))
elseif (POSITIONP RegionOrPosition)
then (SETQ WindowRegion (WINDOWPROP SketchViewer 'REGION))
(if [NOT (AND (EQUAL (fetch (POSITION XCOORD) of RegionOrPosition)
(fetch (REGION LEFT) of WindowRegion))
(EQUAL (fetch (POSITION YCOORD) of RegionOrPosition)
(fetch (REGION BOTTOM) of WindowRegion]
then (SHAPEW SketchViewer (NC.DetermineDisplayRegion Card
RegionOrPosition]
(FLASHW SketchViewer)
(TTY.PROCESS (WINDOWPROP SketchViewer 'PROCESS]
(T (SETQ CardType (NC.RetrieveType Card))
[SETQ SketchViewer (SKETCHW.CREATE (OR Substance SketchName)
NIL
(NC.DetermineDisplayRegion Card RegionOrPosition)
(NC.RetrieveTitle Card)
NIL
(SKETCH.COMMANDMENU (NC.GetCardTypeField
MiddleButtonMenuItems CardType]
(WINDOWPROP SketchViewer 'DONTQUERYCHANGES T)
(WINDOWPROP SketchViewer 'COPYBUTTONEVENTFN (FUNCTION NC.SK.COPY.BUTTONEVENTFN))
(WINDOWPROP SketchViewer 'SHRINKFN (FUNCTION NC.SketchCardShrinkFn))
(NC.InstallTitleBarButtonEventFn SketchViewer (FUNCTION NC.SketchTitleBarButtonEventFn
))
(NC.InstallTitleBarLeftMenu SketchViewer CardType)
(OR Substance (NC.SetSubstance Card (INSURE.SKETCH SketchViewer]
SketchViewer])
)
(PUTPROPS PMIPATCH089 COPYRIGHT ("Xerox Corporation" 1988))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (2100 7712 (NC.BringUpTEditCard 2110 . 7710)) (7753 11228 (NC.BringUpGraphCard 7763 .
11226)) (11270 15264 (NC.BringUpSketchCard 11280 . 15262)))))
STOP