Skip to content

Commit 8323b1f

Browse files
authored
Improved REGIONMANAGER reference coordinates (#1998)
Additional ways of specifying the anchor for the reference (window, region, position)
2 parents 16e9910 + 6c3f0d8 commit 8323b1f

File tree

3 files changed

+57
-33
lines changed

3 files changed

+57
-33
lines changed

lispusers/REGIONMANAGER

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED "27-Oct-2024 21:59:33" {WMEDLEY}<lispusers>REGIONMANAGER.;134 41230
3+
(FILECREATED "25-Nov-2024 17:59:00" {WMEDLEY}<lispusers>REGIONMANAGER.;135 42008
44

55
:EDIT-BY rmk
66

7-
:CHANGES-TO (FNS CLOSE-TYPED-W)
7+
:CHANGES-TO (FNS \RELCREATEREGION.REF)
88

9-
:PREVIOUS-DATE " 2-Nov-2023 23:48:28" {WMEDLEY}<lispusers>REGIONMANAGER.;133)
9+
:PREVIOUS-DATE "27-Oct-2024 21:59:33" {WMEDLEY}<lispusers>REGIONMANAGER.;134)
1010

1111

1212
(PRETTYCOMPRINT REGIONMANAGERCOMS)
@@ -446,7 +446,8 @@
446446
(DEFINEQ
447447

448448
(\RELCREATEREGION.REF
449-
[LAMBDA (REF WHICH) (* ; "Edited 27-Feb-2022 08:43 by rmk")
449+
[LAMBDA (REF WHICH) (* ; "Edited 25-Nov-2024 17:47 by rmk")
450+
(* ; "Edited 27-Feb-2022 08:43 by rmk")
450451
(* ; "Edited 23-Jan-2022 20:20 by rmk")
451452
(* ; "Edited 2-Jan-2022 11:01 by rmk")
452453

@@ -474,6 +475,10 @@
474475
'REGION))
475476
(FETCH (REGION BOTTOM) OF (WINDOWPROP (WFROMDS T)
476477
'REGION)))
478+
ELSEIF (REGIONP REF)
479+
THEN (CL:IF (EQ WHICH 'X)
480+
(FETCH (REGION LEFT) OF REF)
481+
(FETCH (REGION BOTTOM) OF REF))
477482
ELSEIF [AND (LISTP REF)
478483
(SETQ ANCHOR (OR (REGIONP (CAR REF))
479484
(AND (WINDOWP (CAR REF))
@@ -510,6 +515,15 @@
510515
(CL:WHEN (CADR SPEC)
511516
(ADD VAL (CADR SPEC)))
512517
VAL
518+
ELSEIF (WINDOWP REF)
519+
THEN (SETQ REF (WINDOWPROP REF 'REGION))
520+
(CL:IF (EQ WHICH 'X)
521+
(FETCH (REGION LEFT) OF REF)
522+
(FETCH (REGION BOTTOM) OF REF))
523+
ELSEIF (POSITIONP REF)
524+
THEN (CL:IF (EQ WHICH 'X)
525+
(FETCH (POSITION XCOORD) OF REF)
526+
(FETCH (POSITION YCOORD) OF REF))
513527
ELSE (\ILLEGAL.ARG REF])
514528

515529
(\RELCREATEREGION.SIZE
@@ -732,11 +746,11 @@
732746
)
733747
)
734748
(DECLARE%: DONTCOPY
735-
(FILEMAP (NIL (1615 6733 (SET-TYPED-REGIONS 1625 . 3800) (GRAB-TYPED-REGION 3802 . 4828) (
736-
REGISTER-TYPED-REGION 4830 . 6127) (REGION-TYPE 6129 . 6731)) (6734 14803 (RM-CREATEW 6744 . 8867) (
737-
RM-CLOSEW 8869 . 11887) (RM-GETREGION 11889 . 14038) (CLOSE-TYPED-W 14040 . 14801)) (15446 22925 (
738-
RELCREATEREGION 15456 . 20079) (RELGETREGION 20081 . 22688) (RELCREATEPOSITION 22690 . 22923)) (22926
739-
29730 (\RELCREATEREGION.REF 22936 . 26687) (\RELCREATEREGION.SIZE 26689 . 29728)) (29783 39125 (
740-
RM-ATTACHWINDOW 29793 . 39123)) (39126 40860 (CLOSEWITH 39136 . 39663) (CLOSEWITH.DOIT 39665 . 39945)
741-
(MOVEWITH 39947 . 40470) (MOVEWITH.DOIT 40472 . 40858)))))
749+
(FILEMAP (NIL (1622 6740 (SET-TYPED-REGIONS 1632 . 3807) (GRAB-TYPED-REGION 3809 . 4835) (
750+
REGISTER-TYPED-REGION 4837 . 6134) (REGION-TYPE 6136 . 6738)) (6741 14810 (RM-CREATEW 6751 . 8874) (
751+
RM-CLOSEW 8876 . 11894) (RM-GETREGION 11896 . 14045) (CLOSE-TYPED-W 14047 . 14808)) (15453 22932 (
752+
RELCREATEREGION 15463 . 20086) (RELGETREGION 20088 . 22695) (RELCREATEPOSITION 22697 . 22930)) (22933
753+
30508 (\RELCREATEREGION.REF 22943 . 27465) (\RELCREATEREGION.SIZE 27467 . 30506)) (30561 39903 (
754+
RM-ATTACHWINDOW 30571 . 39901)) (39904 41638 (CLOSEWITH 39914 . 40441) (CLOSEWITH.DOIT 40443 . 40723)
755+
(MOVEWITH 40725 . 41248) (MOVEWITH.DOIT 41250 . 41636)))))
742756
STOP

lispusers/REGIONMANAGER.LCOM

162 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)