(FILECREATED " 8-Jan-86 23:41:04" {QV}<NOTECARDS>1.3K>RHTPATCH020.;5 14177 changes to: (VARS RHTPATCH020COMS) (FNS NC.NoteCardsIconButtonEventFn NC.FlashFileBrowserWin NC.OpenDatabaseFile NC.CreateDatabaseFile NC.ForceDatabaseClose NC.CleanupCardObjects NC.CloseDatabaseFile NC.AbortSession NC.FileBrowserOpen NC.FileBrowserClose NC.FileBrowserCheckpoint NC.FileBrowserAbort NC.FileBrowserCompact NC.FileBrowserInspect&Repair NC.NoteFileFromFileName) previous date: " 7-Jan-86 18:59:38" {QV}<NOTECARDS>1.3K>RHTPATCH020.;1) (* Copyright (c) 1986 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT RHTPATCH020COMS) (RPAQQ RHTPATCH020COMS ((* * The following allows Notefile ops via Bill VanMelle's new filebrowser.) (* * Have to be sure that latest VanMelle filebrowser.dcom and tablebrowser.dcom are loaded.) (* * This needs to be added to NOTECARDS coms near the sketch/grapher/etc. loading. When Nick moves the files to {phylum}, we'll have to update.) (P (LOAD (QUOTE {ERIS}<LISPCORE>LIBRARY>TABLEBROWSER.DCOM)) (LOAD (QUOTE {ERIS}<LISPCORE>LIBRARY>FILEBROWSER.DCOM))) (* * Redefined function for NCINTERFACE) (FNS NC.NoteCardsIconButtonEventFn) (* * New stuff for NCINTERFACE) (GLOBALVARS NC.FileBrowserMenuItemsToRemove NC.FileBrowserMenuItemsToAdd NC.FileBrowserMenuItems NC.FileBrowserPatterns NC.FileBrowserDefaultPatterns) (VARS (NC.FileBrowserMenuItemsToRemove (QUOTE (Hardcopy See Edit Load Compile))) (NC.FileBrowserMenuItemsToAdd (QUOTE ((------- NILL "Division between FileBrowser operations and NoteFile operations.") (Open NC.FileBrowserOpen "Open selected Notefiles.") (Close NC.FileBrowserClose "Close selected Notefiles.") (Checkpoint NC.FileBrowserCheckpoint "Checkpoint the selected Notefiles, saving dirty cards.") (Abort NC.FileBrowserAbort "Aborts the selected Notefiles losing work since last checkpoint.") (Compact NC.FileBrowserCompact "Compacts selected Notefiles to target files." (SUBITEMS (Compact% To% Target% File NC.FileBrowserCompact "Compacts selected Notefiles to target files.") (Compact% In% Place ( NC.FileBrowserCompact (QUOTE InPlace)) "Compacts selected Notefiles in place."))) (Inspect&Repair NC.FileBrowserInspect&Repair "Inspects and optionally repairs selected Notefiles." (SUBITEMS (Read% Substances (NC.FileBrowserInspect&Repair (QUOTE ReadSubstances)) "Inspects and optionally repairs selected Notefiles, but reads every substance. This slows things WAY down." ))))))) (* * Build the menu items for notecards file browser.) (INITVARS (NC.FileBrowserMenuItems (NCONC (for MenuItem in FB.MENU.ITEMS unless (FMEMB (CAR MenuItem) NC.FileBrowserMenuItemsToRemove) collect MenuItem) NC.FileBrowserMenuItemsToAdd))) (INITVARS (NC.FileBrowserPatterns NIL) (NC.FileBrowserDefaultPatterns (QUOTE ({DSK}*.NOTEFILE)))) (* * Functions called from file browser menu.) (FNS NC.FileBrowserOpen NC.FileBrowserClose NC.FileBrowserCheckpoint NC.FileBrowserAbort NC.FileBrowserCompact NC.FileBrowserInspect&Repair) (FNS NC.FlashFileBrowserWin))) (* * The following allows Notefile ops via Bill VanMelle's new filebrowser.) (* * Have to be sure that latest VanMelle filebrowser.dcom and tablebrowser.dcom are loaded.) (* * This needs to be added to NOTECARDS coms near the sketch/grapher/etc. loading. When Nick moves the files to {phylum}, we'll have to update.) (LOAD (QUOTE {ERIS}<LISPCORE>LIBRARY>TABLEBROWSER.DCOM)) (LOAD (QUOTE {ERIS}<LISPCORE>LIBRARY>FILEBROWSER.DCOM)) (* * Redefined function for NCINTERFACE) (DEFINEQ (NC.NoteCardsIconButtonEventFn (LAMBDA (Window) (* rht: " 8-Jan-86 18:45") (* * Bring up a menu of all notefiles found in the notefiles hash array. Also allow user to open a new notefile.) (* * rht 1/7/86: Now handles middle button differently - brings up menu of patterns and creates notefile browser for that pattern.) (LET (Menu Selection NoteFileMenu FileName) (if (MOUSESTATE MIDDLE) then (* * Middle button brings up a notecards file browser after user selects pattern.) (SETQ Menu (create MENU ITEMS ←(APPEND (UNION NC.FileBrowserPatterns NC.FileBrowserDefaultPatterns) (QUOTE ((---% New% Pattern% ---(QUOTE New% Pattern) "Make a new Notefile browser pattern.")))) TITLE ← "Notefile Browser Pattern")) (if (EQ (SETQ Selection (MENU Menu)) (QUOTE New% Pattern)) then (* User wants to give us a new pattern.) (SETQ Selection (LET ((NewPattern (NC.AskUser "New pattern? " NIL NIL T NIL T))) (if NewPattern then (SETQ NC.FileBrowserPatterns (APPEND NC.FileBrowserPatterns (LIST NewPattern)))) NewPattern))) (if Selection then (* See if browser for that pattern already exists, else create one and stash on the NC icon's window's proplist.) (OR (NC.FlashFileBrowserWin Selection Window) (LET ((FileBrowserPatterns&Wins (WINDOWPROP Window (QUOTE FileBrowserPatterns&Wins))) (FileBrowserWin (FILEBROWSER Selection NIL (BQUOTE (MENU.ITEMS , NC.FileBrowserMenuItems))))) (if FileBrowserPatterns&Wins then (LISTPUT FileBrowserPatterns&Wins Selection FileBrowserWin) else (WINDOWPROP Window (QUOTE FileBrowserPatterns&Wins) (LIST Selection FileBrowserWin))))) ) else (SETQ Menu (create MENU ITEMS ←(BQUOTE (,@(for NoteFile in (NC.ListOfNoteFiles) bind Stream FileName collect (LIST (CONCAT (if (AND (STREAMP (SETQ Stream (fetch (NoteFile Stream) of NoteFile))) (OPENP Stream)) then (if (WINDOWP (WFROMMENU (fetch (NoteFile Menu) of NoteFile))) then "*" else "$") else " ") (FILENAMEFIELD (SETQ FileName (fetch (NoteFile FullFileName) of NoteFile)) (QUOTE NAME))) NoteFile (CONCAT "Open NoteFile " FileName " or bring up its menu."))) ("-- Open new NoteFile --" (QUOTE OPEN) "Open a new notefile - you'll be prompted for the name." (SUBITEMS ("Create but don't open" (QUOTE CREATE) "Create a new notefile, but don't open it."))))) )) (SELECTQ (SETQ Selection (MENU Menu)) (NIL NIL) (OPEN (NC.OpenDatabaseFile)) (CREATE (NC.CreateDatabaseFile)) (if (type? NoteFile Selection) then (COND ((type? MENU (SETQ NoteFileMenu (fetch (NoteFile Menu) of Selection))) (NC.SetUpNoteFileInterface Selection)) ((PROGN (FLASHW PROMPTWINDOW) (NC.YesP (NC.AskUser (CONCAT (SETQ FileName (fetch (NoteFile FullFileName) of Selection)) " is not an open NoteFile." (CHARACTER 13) "Want to open it? ") NIL (QUOTE Yes) T NIL NIL NIL T))) (NC.OpenDatabaseFile FileName))) else (NC.ReportError "NC.NoteCardsIconButtonEventFn" (CONCAT "Notefile " Selection " is not a notefile!")))))))) ) (* * New stuff for NCINTERFACE) (DECLARE: DOEVAL@COMPILE DONTCOPY (GLOBALVARS NC.FileBrowserMenuItemsToRemove NC.FileBrowserMenuItemsToAdd NC.FileBrowserMenuItems NC.FileBrowserPatterns NC.FileBrowserDefaultPatterns) ) (RPAQQ NC.FileBrowserMenuItemsToRemove (Hardcopy See Edit Load Compile)) (RPAQQ NC.FileBrowserMenuItemsToAdd ((------- NILL "Division between FileBrowser operations and NoteFile operations.") (Open NC.FileBrowserOpen "Open selected Notefiles.") (Close NC.FileBrowserClose "Close selected Notefiles.") (Checkpoint NC.FileBrowserCheckpoint "Checkpoint the selected Notefiles, saving dirty cards.") (Abort NC.FileBrowserAbort "Aborts the selected Notefiles losing work since last checkpoint.") (Compact NC.FileBrowserCompact "Compacts selected Notefiles to target files." (SUBITEMS (Compact% To% Target% File NC.FileBrowserCompact "Compacts selected Notefiles to target files.") (Compact% In% Place (NC.FileBrowserCompact (QUOTE InPlace)) "Compacts selected Notefiles in place."))) (Inspect&Repair NC.FileBrowserInspect&Repair "Inspects and optionally repairs selected Notefiles." (SUBITEMS (Read% Substances (NC.FileBrowserInspect&Repair (QUOTE ReadSubstances)) "Inspects and optionally repairs selected Notefiles, but reads every substance. This slows things WAY down." ))))) (* * Build the menu items for notecards file browser.) (RPAQ? NC.FileBrowserMenuItems (NCONC (for MenuItem in FB.MENU.ITEMS unless (FMEMB (CAR MenuItem) NC.FileBrowserMenuItemsToRemove) collect MenuItem) NC.FileBrowserMenuItemsToAdd)) (RPAQ? NC.FileBrowserPatterns NIL) (RPAQ? NC.FileBrowserDefaultPatterns (QUOTE ({DSK}*.NOTEFILE))) (* * Functions called from file browser menu.) (DEFINEQ (NC.FileBrowserOpen (LAMBDA (Browser Key Item Menu) (* rht: " 8-Jan-86 11:36") (* * Function called from file browser menu for notefile open.) (for FileObject in (FB.SELECTEDFILES Browser) do (NC.OpenDatabaseFile (MKATOM (FB.FETCHFILENAME FileObject))))) ) (NC.FileBrowserClose (LAMBDA (Browser Key Item Menu) (* rht: " 8-Jan-86 12:10") (* * Function called from file browser menu for notefile close.) (for FileObject in (FB.SELECTEDFILES Browser) do (LET* ((FileName (MKATOM (FB.FETCHFILENAME FileObject))) (NoteFile (NC.NoteFileFromFileName FileName))) (if (type? NoteFile NoteFile) then (NC.CloseDatabaseFile NoteFile) else (NC.PrintMsg NIL NIL FileName " is not an open NoteFile!!!" (CHARACTER 13))))))) (NC.FileBrowserCheckpoint (LAMBDA (Browser Key Item Menu) (* rht: " 8-Jan-86 12:10") (* * Function called from file browser menu for notefile checkpoint.) (for FileObject in (FB.SELECTEDFILES Browser) do (LET* ((FileName (MKATOM (FB.FETCHFILENAME FileObject))) (NoteFile (NC.NoteFileFromFileName FileName))) (if (type? NoteFile NoteFile) then (NC.CheckpointDatabase NoteFile) else (NC.PrintMsg NIL NIL FileName " is not an open NoteFile!!!" (CHARACTER 13))))))) (NC.FileBrowserAbort (LAMBDA (Browser Key Item Menu) (* rht: " 8-Jan-86 12:10") (* * Function called from file browser menu for notefile abort.) (for FileObject in (FB.SELECTEDFILES Browser) do (LET* ((FileName (MKATOM (FB.FETCHFILENAME FileObject))) (NoteFile (NC.NoteFileFromFileName FileName))) (if (type? NoteFile NoteFile) then (NC.AbortSession NoteFile) else (NC.PrintMsg NIL NIL FileName " is not an open NoteFile!!!" (CHARACTER 13))))))) (NC.FileBrowserCompact (LAMBDA (Browser Key Item Menu InPlaceFlg) (* rht: " 8-Jan-86 11:37") (* * Function called from file browser menu for notefile compact.) (for FileObject in (FB.SELECTEDFILES Browser) do (NC.CompactNoteFile (MKATOM (FB.FETCHFILENAME FileObject)) NIL InPlaceFlg)))) (NC.FileBrowserInspect&Repair (LAMBDA (Browser Key Item Menu ReadSubstancesFlg) (* rht: " 8-Jan-86 11:37") (* * Function called from file browser menu for notefile inspect&repair.) (for FileObject in (FB.SELECTEDFILES Browser) do (NC.ScavengerPhase1 (MKATOM (FB.FETCHFILENAME FileObject)) ReadSubstancesFlg)))) ) (DEFINEQ (NC.FlashFileBrowserWin (LAMBDA (Pattern NoteCardsIconWindow) (* rht: " 8-Jan-86 18:35") (* * Return the file browser window if any, corresponding to given pattern. Expand if shrunken and flash.) (LET ((FileBrowserWin (LISTGET (WINDOWPROP NoteCardsIconWindow (QUOTE FileBrowserPatterns&Wins)) Pattern)) IconWin) (if FileBrowserWin then (if (OPENWP (SETQ IconWin (WINDOWPROP FileBrowserWin (QUOTE ICONWINDOW)) )) then (EXPANDW IconWin)) (FLASHW FileBrowserWin)) FileBrowserWin))) ) (PUTPROPS RHTPATCH020 COPYRIGHT ("Xerox Corporation" 1986)) (DECLARE: DONTCOPY (FILEMAP (NIL (3972 8367 (NC.NoteCardsIconButtonEventFn 3982 . 8365)) (10381 13438 (NC.FileBrowserOpen 10391 . 10765) (NC.FileBrowserClose 10767 . 11375) (NC.FileBrowserCheckpoint 11377 . 11996) ( NC.FileBrowserAbort 11998 . 12601) (NC.FileBrowserCompact 12603 . 13010) (NC.FileBrowserInspect&Repair 13012 . 13436)) (13439 14095 (NC.FlashFileBrowserWin 13449 . 14093))))) STOP