1
0
mirror of synced 2026-01-13 15:37:38 +00:00
Interlisp.medley/lispusers/OBJECTWINDOW.TEDIT
rmkaplan 792edfdad5
Rmk14: Browsers for COMPAREDIRECTORIES, COMPARESOURCES, COMPARETEXT for TEDIT files (#642)
* TEXTOFD:  Property OBJECTBYTE returned instead of image objects

This allows COMPARETEXT to work on TEDIT files

* ATBL: Default reader environment uses *DEFAULT-EXTERNALFORMAT* instead of :XCCS constant

* CMLEXEC:  Fix FILETYPE property

It had CL:COMPILE-FILE, but the directory had LCOMs.  Changed to :FAKE-COMPILE-FILE.

* FILEIO:  single place for EOL specification

Now only in SETFILEINFO, not separately in \DO.PARAMS.AT.OPEN

* WINDOWOBJ:  COPYINSERT now uniformly allows lists of objects

It was incomplete.

* COMPARETEXT: Now works for TEDIT files

* EXAMINEDEFS: side-by-side attached SEDIT windows for comparing alternative definitions

* OBJECTWINDOW:  container for arbitrary image objects

* ATBL: fixed typo

* MODERNIZEP: pass shape and move to main window if PASSTOMAINCOMS

* EXAMINEDEFS:  Remove EXAMINEDEFS-REGION

Replaced by equivalent functionality in new package REGIONMANAGER

* TEDIT:  adjustments to give caller control of window region

* Revert "TEDIT:  adjustments to give caller control of window region"

This reverts commit aec12b41f0877d4d8b0864bdabc7cc412a313bc9.

* Revert "EXAMINEDEFS:  Remove EXAMINEDEFS-REGION"

This reverts commit 0c670bbc564499f72c17bbfbc0eb24a7da4059b4.

* TEDIT, TEDITWINDOW:  Adjustments for propagating (typed) regions

* EXAMINEDEFS: added EXAMINEFILES for looking viewing files side-by-side

Fix titling glitch, add EXAMINEFILES

* OBJECTWINDOW: minor cleanup

* REGIONMANAGER: new package for managing typed regions, relative regions, and constellation regions

* TEDIT-PF-SEE:  commands for scrollable PF and SEE alternatives

* COREIO:  Fixed bug in \CORE.SETFILEINFO

* COMPAREDIRECTORIES:  Added CDBROWSER

and associated reworking

* COMPARESOURCES:  Added CSBROWSER

and associated reworking

* COMPARETEXT:  Reworked for TEDIT files

Also for better window management
2022-01-09 09:17:17 -08:00

40 lines
5.9 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Medley OBJECTWINDOW2
4
1
OBJECTWINDOW
1
4
By:
Ron Kaplan
This document edited on
December 21, 2021
An "object window" is a window that contains a sequence of arbitrary image objects arranged either vertically or horizontally. The OBJECTWINDOW package provides the functions for creating such a window, adding objects and manipulating them in various ways, and invoking their IMAGEFNS functions according to mouse or other signals.
An object window is created by the function OBJ.CREATEW:
(OBJ.CREATEW WINDOWTYPE REGION/WINDOW TITLE BORDERSIZE NOOPENFLG SEPDIST BOXFN DISPLAYFN BUTTONINFN ) [Function]
The arrangement of objects is determined by the obligatory WINDOWTYPE, either VERTICAL or HORIZONTAL. The other arguments are optional. REGION/WINDOW, TITLE, BORDERSIZE, and NOOPENFLG are passed to CREATEW to create the window. If REGION/WINDOW is a window, it is converted to an object window with TITLE. Otherwise, a new window with region REGION/WINDOW if non-NIL. The objects in the window will be separated (vertically or horizontally) by SEPDIST points, defaulting to 0. The arguments BOXFN, DISPLAYFN, and BUTTONINFN are provided as default functions if is convenient to insert objects whose IMAGEFNS are not fully fleshed out. HARDCOPYFN overrides the default hardcopy function for the window, and HCPYHEADING is used instead of TITLE for hardcopy output.
(OBJWINDOWP WINDOW) [Function]
True if WINDOW is an object window.
(OBJ.ADDTOW WINDOW OBJECT) [Function]
Adds OBJECT at the end of the object sequence in WINDOW.
(OBJ.ADDMANYTOW WINDOW OBJECTS) [Function]
Equivalent to calling OBJ.ADDTOW for each object in OBJECTS.
(OBJ.INSERTOBJECTS WINDOW NEWOBJECTS OLDOBJECT WHERE) [Function]
Inserts NEWOBJECTS at position WHERE (BEFORE or AFTER) with respect to OLDOBJECT.
(OBJ.CLEARW WINDOW) [Function]
Clears the visible objects in WINDOW.
(OBJ.DELFROMW WINDOW OBJECT) [Function]
OBJECT is removed from WINDOW.
(OBJ.REPLACE WINDOW OLD.OBJECT NEW.OBJECT DONT.REDISPLAY.FLG) [Function]
Replaces OLD.OBJECT with NEW.OBJECT in WINDOW, redisplaying the visible objects unless DONT.REDISPLAY.FLG.
(OBJ.FIND.REGION WINDOW SEARCHOBJECT) [Function]
Returns the region in WINDOW occupied by SEARCHOBJECT.
(OBJ.MAP.OBJECTS WINDOW MAPFN) [Function]
Applies MAPFN to each object OBJ in WINDOW. If MAPFN returns an image object, that object replaces OBJ in WINDOW.
(OBJ.OBJECTS WINDOW) [Function]
Returns the list of objects in WINDOW.(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))4<01><01>4<01><01>4<01><01>.<01>.<00><00>8.<00><00>8J<01><01> PAGEHEADING RUNNINGHEADTERMINAL
TIMESROMAN$TERMINALMODERN
MODERN MODERN
MODERN

 HRULE.GETFN HRULE.GETFNMODERN
 HRULE.GETFNMODERN

 HRULE.GETFNMODERN  HRULE.GETFNMODERN  <00> <00>0, { <00>

 <00>) L
= '
5

 = 

*%
 
/ <09><00>z<EFBFBD>