SchemeSelect.tip
Copyright Ó 1990 by Xerox Corporation. All rights reserved.
Last tweaked by Mike Spreitzer on March 24, 1992 12:59 pm PST
OPTIONS
Fast;
All the Tioga macros:
[DEF,ClickTime,(200)]
[DEF,DownClick,(~1 Down BEFORE [ClickTime])]
[DEF,UpClick,(~1 Up BEFORE [ClickTime])]
[DEF,Click,([UpClick,~1] AND [DownClick,~1])]
[DEF,BothUp,(~1 Up WHILE ~2 Up)]
[DEF,WhileThreeUp,
(WHILE ~1 Up WHILE ~2 Up WHILE ~3 Up)]
[DEF,ThreeUp,(~1 Up WHILE ~2 Up WHILE ~3 Up)]
[DEF,FourUp,(~1 Up WHILE ~2 Up WHILE ~3 Up WHILE ~4 Up)]
[DEF,WhileFiveUp,
(WHILE ~1 Up WHILE ~2 Up WHILE ~3 Up WHILE ~4 Up WHILE ~5 Up)]
[DEF,WhileSixUp,
(WHILE ~1 Up WHILE ~2 Up WHILE ~3 Up WHILE ~4 Up WHILE ~5 Up WHILE ~6 Up)]
[DEF,CTRL,(Ctrl Down | Spare3 Down)]
[DEF,WhileCTRLUp,(WHILE Ctrl Up WHILE Spare3 Up)]
[DEF,WhenCTRLUp,(
Ctrl Up WHILE Spare3 Up ~1 => ~2;
Spare3 Up WHILE Ctrl Up ~1 => ~2)]
[DEF,SHIFT,(LeftShift Down | RightShift Down | Copy Down)]
[DEF,SHIFTUp,[ThreeUp,LeftShift,RightShift,Copy]]
[DEF,WhenSHIFTUp,(
LeftShift Up WHILE RightShift Up WHILE Copy Up ~1 => ~2;
RightShift Up WHILE LeftShift Up WHILE Copy Up ~1 => ~2;
Copy Up WHILE LeftShift Up WHILE RightShift Up ~1 => ~2)]
[DEF,IfShift,(SELECT ENABLE FROM
[SHIFT] => ~1;
ENDCASE => ~2)]
[DEF,IfCtrl,(SELECT ENABLE FROM
[CTRL] => ~1;
ENDCASE => ~2)]
My macros:
[DEF,Scheme,LeftAlt]
[DEF,WhileScheme,(WHILE [Scheme] Down)]
SELECT TRIGGER FROM -- top level trigger select
Mouse buttons and mouse movement
[DEF,Sel,(SELECT ENABLE FROM
[CTRL] => [IfShift,
{ ~2 SelSecondary ToPrimary SelPendDel PARAM Coords ~1 },
{ ~2 ToLimbo SelPendDel PARAM Coords ~1 }];
[SHIFT] => { ~2 SelSecondary ToPrimary SelNotPendDel PARAM Coords ~1 };
ENDCASE => { ~2 SelNotPendDel PARAM Coords ~1 })]
[DEF,ClickSel,(SELECT ENABLE FROM
[SHIFT] [WhileCTRLUp] => [Sel,~1,~2 ForceSelNotPendDel];
ENDCASE => [Sel,~1,~2])]
[DEF,MouseClick,(SELECT TRIGGER FROM
[Click,~1] => [ClickSel,~3,~1Mouse];
ENDCASE => [ClickSel,~2,~1Mouse])]
DEL Down [WhileScheme] => EditAbort;
Red Down [WhileScheme] => [MouseClick,Red,SchemeSelect0,SchemeSelect2];
Yellow Down [WhileScheme] => SELECT ENABLE FROM
Red Up => [MouseClick,Yellow,SchemeSelect1,SchemeSelect3];
ENDCASE;
[DEF,Extend,(
[IfShift,[Sel,ExtendSchemeSelect ~1,BlueMouse],[Sel,ExtendSchemeSelect ~1,BlueMouse ForceSelPendDel]])]
Blue Down [WhileScheme] => SELECT ENABLE FROM
[BothUp,Red,Yellow] => [Extend];
ENDCASE;
Mouse [WhileScheme] => SELECT ENABLE FROM
Red Down => [Sel,TrackSchemeSelect0];
Yellow Down => [Sel,TrackSchemeSelect1];
Blue Down => { PARAM Coords ExtendSchemeSelect };
ENDCASE;
[DEF,ButtonUp,(SELECT ENABLE FROM
[SHIFTUp] [WhileCTRLUp] WHILE [BothUp,~1,~2] => SELECT ENABLE FROM
ESC Down => Repeat;
ENDCASE => DoEdit;
ENDCASE)]
Red Up [WhileScheme] => SELECT ENABLE FROM
Blue Down => [Extend,ForceSelPendDel];
ENDCASE => [ButtonUp,Blue,Yellow];
Yellow Up [WhileScheme] => SELECT ENABLE FROM
Blue Down WHILE Red Up => [Extend,ForceSelPendDel];
ENDCASE => [ButtonUp,Red,Blue];
Blue Up [WhileScheme] => [ButtonUp,Red,Yellow];
ENDCASE.
SELECT TRIGGER FROM -- top level trigger select
Red Down WHILE Spare1 Down => {PARAM Coords SchemeSelectForm};
Yellow Down WHILE Spare1 Down => {PARAM Coords SchemeSelectParent};
Blue Down WHILE Spare1 Down => {PARAM Coords SchemeSelectExtend};
Mouse WHILE Spare1 Down => SELECT ENABLE FROM
Red Down => {PARAM Coords SchemeSelectForm};
Yellow Down => {PARAM Coords SchemeSelectParent};
Blue Down => {PARAM Coords SchemeSelectExtend};
ENDCASE => KbdNull;
Red Up WHILE Spare1 Down => KbdNull;
Yellow Up WHILE Spare1 Down => KbdNull;
Blue Up WHILE Spare1 Down => KbdNull;
ENDCASE.