1
0
mirror of synced 2026-04-05 05:51:07 +00:00

WIP. Saving so I can merge in latest TEdit.

This commit is contained in:
Frank Halasz
2026-02-11 15:10:48 -08:00
parent 5a79b56a4f
commit 3fcb7e0819
4 changed files with 325 additions and 153 deletions

View File

@@ -1,12 +1,15 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "24-Mar-2025 10:31:37" {WMEDLEY}<doctools>IMINDEX.;10 37350
(FILECREATED " 5-Feb-2026 21:20:12" {DSK}<home>frank>il>medley>doctools>IMINDEX.;8 40990
:EDIT-BY rmk
:EDIT-BY "FGH"
:CHANGES-TO (FNS IM.INDEX.EDIT)
:CHANGES-TO (FNS IM.INDEX.DISPLAYFN IM.CHAP.DISPLAYFN IM.CHAP.CREATEOBJ IM.INDEX.BUTTONEVENTFN
IM.CHAP.GETFN)
(VARS IMINDEXCOMS)
(RECORDS IM.INDEX.DATA)
:PREVIOUS-DATE "17-Mar-2025 12:07:55" {WMEDLEY}<doctools>IMINDEX.;9)
:PREVIOUS-DATE "24-Mar-2025 10:31:37" {DSK}<home>frank>il>medley>doctools>IMINDEX.;1)
(PRETTYCOMPRINT IMINDEXCOMS)
@@ -24,6 +27,7 @@
(INITVARS (IM.INDEX.OBJECT.IMAGEFNS NIL)
(IM.CHAP.OBJECT.IMAGEFNS NIL)
(IM.INDEX.BUTTONEVENTFN.MENU NIL)
(IM.TOC.BUTTONEVENTFN.MENU NIL)
[IM.INDEX.OBJECT.DISPLAY.FONT (FONTCREATE '(MODERN 8 MRR 0 DISPLAY]
(IM.INDEX.DEFAULT.SUBSEC))
(RECORDS IM.INDEX.DATA)
@@ -87,7 +91,9 @@
'|...|])
(IM.INDEX.DISPLAYFN
[LAMBDA (OBJ STREAM STREAMTYPE HOSTSTREAM) (* ; "Edited 4-Apr-2024 23:17 by rmk")
[LAMBDA (OBJ STREAM STREAMTYPE HOSTSTREAM) (* ; "Edited 5-Feb-2026 21:08 by FGH")
(* ; "Edited 4-Feb-2026 00:03 by FGH")
(* ; "Edited 4-Apr-2024 23:17 by rmk")
(* ; "Edited 8-Dec-91 15:12 by jds")
(* ;; "only print index if you are going to display")
@@ -156,8 +162,9 @@
(* ;; "for now, always set the chapter/subsection from the document:")
[REPLACE (IM.INDEX.DATA SUBSEC) OF (IMAGEOBJPROP OBJ 'OBJECTDATUM)
WITH (LIST (TEXTPROP HOSTSTREAM 'INDEXING-CHAPTER]
(CL:UNLESS [EQ 'TOC (CAR (fetch (IM.INDEX.DATA TYPE) of (IMAGEOBJPROP OBJ 'OBJECTDATUM]
[replace (IM.INDEX.DATA SUBSEC) of (IMAGEOBJPROP OBJ 'OBJECTDATUM)
with (LIST (TEXTPROP HOSTSTREAM 'INDEXING-CHAPTER])
(PRIN4 (IMAGEOBJPROP OBJ 'OBJECTDATUM)
PTRFILE)
(TERPRI PTRFILE])
@@ -271,16 +278,41 @@
(IM.INDEX.BUTTONEVENTFN
[LAMBDA (OBJ WINDOWSTREAM SEL RELX RELY WIN HOSTSTREAM BUTTON)
(* ; "Edited 4-Feb-2026 23:16 by FGH")
(* mjs " 8-Aug-86 15:23")
(COND
([MENU (COND
(IM.INDEX.BUTTONEVENTFN.MENU)
(T (SETQ IM.INDEX.BUTTONEVENTFN.MENU (create MENU
ITEMS _ '((Edit% Index 'Edit% Index
(IF [EQ 'TOC (CAR (fetch (IM.INDEX.DATA TYPE) of (IMAGEOBJPROP OBJ 'OBJECTDATUM]
then (SELECTQ [MENU (COND
(IM.TOC.BUTTONEVENTFN.MENU)
(T (SETQ IM.TOC.BUTTONEVENTFN.MENU (create
MENU
ITEMS _
'((Set% Level 'SetLevel
"Set the level for this TOC object."
)
(Update% TOC 'Update
"Update the TOC Numbering for all documents"
))
MENUOFFSET _ (CREATEPOSITION
-5 -5]
(SetLevel (LET [(LVL (MENU (create MENU
ITEMS _ (LIST 1 2 3 4 5]
(if (NUMBERP LVL)
then (replace (IM.INDEX.DATA LEVEL) of (IMAGEOBJPROP OBJ
'OBJECTDATUM)
withÿ<02>ÿ LVL))))
(Update (IM.INDEX.UPDATE.TOC.NUMBERING HOSTSTREAM 3))
NIL)
else (COND
([MENU (COND
(IM.INDEX.BUTTONEVENTFN.MENU)
(T (SETQ IM.INDEX.BUTTONEVENTN.MENU (create MENU
ITEMS _
'((Edit% Index 'Edit% Index
"Selecting this item will create a window editing the contents of this index image object."
))
MENUOFFSET _ (CREATEPOSITION -5 -5]
(IM.INDEX.EDIT OBJ HOSTSTREAM])
))
MENUOFFSET _ (CREATEPOSITION
-5 -5]
(IM.INDEX.EDIT OBJ HOSTSTREAM])
)
(DEFINEQ
@@ -490,6 +522,8 @@
(RPAQ? IM.INDEX.BUTTONEVENTFN.MENU NIL)
(RPAQ? IM.TOC.BUTTONEVENTFN.MENU NIL)
(RPAQ? IM.INDEX.OBJECT.DISPLAY.FONT (FONTCREATE '(MODERN 8 MRR 0 DISPLAY)))
(RPAQ? IM.INDEX.DEFAULT.SUBSEC )
@@ -498,7 +532,15 @@
(RECORD IM.INDEX.DATA (NAME TYPE SAV INFO SUBSEC PAGE# . PROPLIST)
SUBSEC _ IM.INDEX.DEFAULT.SUBSEC (TYPE? (AND (LISTP DATUM)
(IGEQ (LENGTH DATUM)
6))))
6)))
(SYNONYM SAV (TEXT))
[ACCESSFNS IM.INDEX.DATA
((CHAPTER (CAR (LAST (fetch (IM.INDEX.DATA SUBSEC) of DATUM)))
(RPLACA (LAST (fetch (IM.INDEX.DATA SUBSEC) of DATUM))
NEWVALUE))
(LEVEL (LENGTH (fetch (IM.INDEX.DATA SUBSEC) of DATUM))
(replace (IM.INDEX.DATA SUBSEC) of DATUM
with (for i from 1 to NEWVALUE collect 0])
)
(RPAQQ IM.INDEX.OBJ.FREEMENU.SPECS
@@ -545,26 +587,29 @@
(IM.INDEX.CREATEOBJ (COPYALL (IMAGEOBJPROP OBJ 'OBJECTDATUM])
(IM.CHAP.CREATEOBJ
[LAMBDA (DATA) (* ; "Edited 8-Dec-91 14:40 by jds")
[LAMBDA (DATA) (* ; "Edited 5-Feb-2026 16:33 by FGH")
(* ; "Edited 8-Dec-91 14:40 by jds")
(IMAGEOBJCREATE DATA (if IM.CHAP.OBJECT.IMAGEFNS
else (SETQ IM.CHAP.OBJECT.IMAGEFNS (IMAGEFNSCREATE
(FUNCTION IM.CHAP.DISPLAYFN)
(FUNCTION IM.CHAP.SIZEFN)
(FUNCTION IM.CHAP.PUTFN)
(FUNCTION IM.CHAP.GETFN)
(FUNCTION IM.CHAP.COPYFN)
(FUNCTION IM.CHAP.BUTTONEVENTFN)
'NILL
'NILL
'NILL
'NILL
'NILL
'NILL
'NILL
'IM.CHAP.OBJECT])
else (SETQ IM.CHAP.OBJECT.IMAGEFNS (IMAGEFNSCREATE (FUNCTION
IM.CHAP.DISPLAYFN)
(FUNCTION IM.CHAP.SIZEFN)
(FUNCTION IM.CHAP.PUTFN)
(FUNCTION IM.CHAP.GETFN)
(FUNCTION IM.CHAP.COPYFN)
(FUNCTION IM.CHAP.BUTTONEVENTFN)
'NILL
'NILL
(FUNCTION IM.CHAP.WHENINSERTEDFN
)
'NILL
'NILL
'NILL
'NILL
'IM.CHAP.OBJECT])
(IM.CHAP.DISPLAYFN
[LAMBDA (OBJ STREAM STREAMTYPE HOSTSTREAM) (* ; "Edited 12-Feb-92 12:28 by jds")
[LAMBDA (OBJ STREAM STREAMTYPE HOSTSTREAM) (* ; "Edited 5-Feb-2026 20:51 by FGH")
(* ; "Edited 12-Feb-92 12:28 by jds")
(* ;; "only print CHAPTER MARKER if you are going to display")
@@ -600,11 +645,9 @@
BOTTOM 1 'INVERT STREAM)
(IMAGEOBJPROP OBJ 'REGION REGION)))
(T
(* ;; "HARDCOPYING; DO NOTHING BUT SET ")
(* ;; "HARDCOPYING; DO NOTHING")
(TEXTPROP (TEXTOBJ (OR HOSTSTREAM TEXTOBJ))
'INDEXING-CHAPTER
(IMAGEOBJPROP OBJ 'OBJECTDATUM])
NIL])
(IM.CHAP.SIZEFN
[LAMBDA (OBJ STREAM CURX RIGHTMARGIN) (* ; "Edited 8-Dec-91 14:38 by jds")
@@ -631,7 +674,8 @@
STREAM])
(IM.CHAP.GETFN
[LAMBDA (FILE TEXTSTREAM) (* ; "Edited 8-Dec-91 14:40 by jds")
[LAMBDA (FILE TEXTSTREAM) (* ; "Edited 18-Jan-2026 17:54 by FGH")
(* ; "Edited 8-Dec-91 14:40 by jds")
(IM.CHAP.CREATEOBJ (READ FILE])
(IM.CHAP.BUTTONEVENTFN
@@ -642,13 +686,13 @@
(IM.INDEX.INIT)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1677 15659 (IM.INDEX.CLOSEF 1687 . 2378) (IM.INDEX.COPYFN 2380 . 2565) (
IM.INDEX.CREATEOBJ 2567 . 3913) (IM.INDEX.DISPLAY.STRING 3915 . 4336) (IM.INDEX.DISPLAYFN 4338 . 8435)
(IM.INDEX.EDIT 8437 . 12206) (IM.INDEX.LIST.FROM.STRING 12208 . 13242) (IM.INDEX.SIZEFN 13244 . 14004
) (IM.INDEX.STRING.FROM.LIST 14006 . 14251) (IM.INDEX.PUTFN 14253 . 14599) (IM.INDEX.GETFN 14601 .
14898) (IM.INDEX.BUTTONEVENTFN 14900 . 15657)) (15660 17730 (IM.INDEX.INIT 15670 . 17728)) (17731
29647 (IM.INDEX.MENU 17741 . 19429) (IM.INDEX.MENU.WHENSELECTEDFN 19431 . 26186) (
IM.INDEX.OBJ.FREEMENU.SELECTEDFN 26188 . 29645)) (32163 37306 (IM.CHAP.COPYFN 32173 . 32353) (
IM.CHAP.CREATEOBJ 32355 . 33781) (IM.CHAP.DISPLAYFN 33783 . 35743) (IM.CHAP.SIZEFN 35745 . 36747) (
IM.CHAP.PUTFN 36749 . 36933) (IM.CHAP.GETFN 36935 . 37096) (IM.CHAP.BUTTONEVENTFN 37098 . 37304)))))
(FILEMAP (NIL (1939 18284 (IM.INDEX.CLOSEF 1949 . 2640) (IM.INDEX.COPYFN 2642 . 2827) (
IM.INDEX.CREATEOBJ 2829 . 4175) (IM.INDEX.DISPLAY.STRING 4177 . 4598) (IM.INDEX.DISPLAYFN 4600 . 9034)
(IM.INDEX.EDIT 9036 . 12805) (IM.INDEX.LIST.FROM.STRING 12807 . 13841) (IM.INDEX.SIZEFN 13843 . 14603
) (IM.INDEX.STRING.FROM.LIST 14605 . 14850) (IM.INDEX.PUTFN 14852 . 15198) (IM.INDEX.GETFN 15200 .
15497) (IM.INDEX.BUTTONEVENTFN 15499 . 18282)) (18285 20355 (IM.INDEX.INIT 18295 . 20353)) (20356
32272 (IM.INDEX.MENU 20366 . 22054) (IM.INDEX.MENU.WHENSELECTEDFN 22056 . 28811) (
IM.INDEX.OBJ.FREEMENU.SELECTEDFN 28813 . 32270)) (35458 40946 (IM.CHAP.COPYFN 35468 . 35648) (
IM.CHAP.CREATEOBJ 35650 . 37327) (IM.CHAP.DISPLAYFN 37329 . 39270) (IM.CHAP.SIZEFN 39272 . 40274) (
IM.CHAP.PUTFN 40276 . 40460) (IM.CHAP.GETFN 40462 . 40736) (IM.CHAP.BUTTONEVENTFN 40738 . 40944)))))
STOP