EditToolExtra2Impl.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Doug Wyatt on January 13, 1984 2:46 pm
Russ Atkinson (RRA) June 18, 1985 4:54:54 pm PDT
DIRECTORY
Buttons USING [ButtonProc],
EditToolBuilder USING [BuildButton, Layout, ToNext],
EditToolPrivate USING [DoList, Info],
Rope USING [ROPE];
EditToolExtra2Impl: CEDAR PROGRAM
IMPORTS EditToolPrivate, EditToolBuilder
EXPORTS EditToolPrivate =
{ OPEN EditToolPrivate, EditToolBuilder;
----------------------------
BuildExtraOverflow: PUBLIC PROC [info: Info] = {
{ OPEN info;
BuildOne: PROC [info: Layout, name: Rope.ROPE, proc: Buttons.ButtonProc] = {
[] ← BuildButton[info: info, name: name, proc: proc, gapAfter: FALSE] };
BuildOne[layout, "BackSpace", BackSpace];
BuildOne[layout, "BackWord", BackWord];
BuildOne[layout, "DeleteNextChar", DeleteNextChar];
BuildOne[layout, "DeleteNextWord", DeleteNextWord];
ToNext[layout,TRUE];
BuildOne[layout, "Add( )", ParenBrackets];
BuildOne[layout, "Add< >", AngleBrackets];
BuildOne[layout, "Add{ }", CurlyBrackets];
BuildOne[layout, "Add[ ]", SquareBrackets];
BuildOne[layout, "Add\" \"", DoubleQuoteBrackets];
BuildOne[layout, "Add\' \'", SingleQuoteBrackets];
BuildOne[layout, "Add- -", DashBrackets];
BuildOne[layout, "Add ", PlaceholderBrackets];
ToNext[layout,TRUE];
BuildOne[layout, "AllCaps", AllCaps];
BuildOne[layout, "AllLower", AllLower];
BuildOne[layout, "InitialCaps", InitialCaps];
BuildOne[layout, "FirstCap", FirstCap];
ToNext[layout,TRUE];
BuildOne[layout, "MakeOctalCharacter", MakeOctalCharacter];
BuildOne[layout, "MakeControlCharacter", MakeControlCharacter];
ToNext[layout,TRUE];
BuildOne[layout, "UnMakeOctalCharacter", UnMakeOctalCharacter];
BuildOne[layout, "UnMakeControlCharacter", UnMakeControlCharacter];
ToNext[layout,TRUE];
BuildOne[layout, "Break", Break];
BuildOne[layout, "Join", Join];
BuildOne[layout, "Nest", Nest];
BuildOne[layout, "UnNest", UnNest];
ToNext[layout,TRUE];
BuildOne[layout, "CommentNode", SetComment];
BuildOne[layout, "NotCommentNode", SetNotComment];
BuildOne[layout, "ExpandAbbreviation", ExpandAbbrev];
BuildOne[layout, "MesaFormatting", SetMesaLooks];
ToNext[layout,TRUE];
BuildOne[layout, "Command 0", Command0];
BuildOne[layout, " 1", Command1];
BuildOne[layout, " 2", Command2];
BuildOne[layout, " 3", Command3];
BuildOne[layout, " 4", Command4];
BuildOne[layout, " 5", Command5];
BuildOne[layout, " 6", Command6];
BuildOne[layout, " 7", Command7];
BuildOne[layout, " 8", Command8];
BuildOne[layout, " 9", Command9];
ToNext[layout,TRUE] }};
int: PROC [i: INT] RETURNS [REF] = { RETURN [NEW[INT ← i]] };
backspace: LIST OF REF ANY = LIST[int[1],$BackSpace];
BackSpace: Buttons.ButtonProc = {DoList[backspace]};
backword: LIST OF REF ANY = LIST[int[1],$BackWord];
BackWord: Buttons.ButtonProc = {DoList[backword]};
deletenextchar: LIST OF REF ANY = LIST[int[1],$DeleteNextChar];
DeleteNextChar: Buttons.ButtonProc = {DoList[deletenextchar]};
deletenextword: LIST OF REF ANY = LIST[int[1],$DeleteNextWord];
DeleteNextWord: Buttons.ButtonProc = {DoList[deletenextword]};
parenbrackets: LIST OF REF ANY = LIST[$ParenBrackets];
ParenBrackets: Buttons.ButtonProc = {DoList[parenbrackets]};
dashbrackets: LIST OF REF ANY = LIST[$DashBrackets];
DashBrackets: Buttons.ButtonProc = {DoList[dashbrackets]};
anglebrackets: LIST OF REF ANY = LIST[$AngleBrackets];
AngleBrackets: Buttons.ButtonProc = {DoList[anglebrackets]};
doublequotebrackets: LIST OF REF ANY = LIST[$DoubleQuoteBrackets];
DoubleQuoteBrackets: Buttons.ButtonProc = {DoList[doublequotebrackets]};
singlequotebrackets: LIST OF REF ANY = LIST[$SingleQuoteBrackets];
SingleQuoteBrackets: Buttons.ButtonProc = {DoList[singlequotebrackets]};
curlybrackets: LIST OF REF ANY = LIST[$CurlyBrackets];
CurlyBrackets: Buttons.ButtonProc = {DoList[curlybrackets]};
squarebrackets: LIST OF REF ANY = LIST[$SquareBrackets];
SquareBrackets: Buttons.ButtonProc = {DoList[squarebrackets]};
placeholderbrackets: LIST OF REF ANY = LIST[$PlaceholderBrackets];
PlaceholderBrackets: Buttons.ButtonProc = {DoList[placeholderbrackets]};
allcaps: LIST OF REF ANY = LIST[$AllCaps];
AllCaps: Buttons.ButtonProc = {DoList[allcaps]};
alllower: LIST OF REF ANY = LIST[$AllLower];
AllLower: Buttons.ButtonProc = {DoList[alllower]};
initialcaps: LIST OF REF ANY = LIST[$InitialCaps];
InitialCaps: Buttons.ButtonProc = {DoList[initialcaps]};
firstcap: LIST OF REF ANY = LIST[$FirstCap];
FirstCap: Buttons.ButtonProc = {DoList[firstcap]};
makeoctalcharacter: LIST OF REF ANY = LIST[$MakeOctalCharacter];
MakeOctalCharacter: Buttons.ButtonProc = {DoList[makeoctalcharacter]};
makecontrolcharacter: LIST OF REF ANY = LIST[$MakeControlCharacter];
MakeControlCharacter: Buttons.ButtonProc = {DoList[makecontrolcharacter]};
unmakeoctalcharacter: LIST OF REF ANY = LIST[$UnMakeOctalCharacter];
UnMakeOctalCharacter: Buttons.ButtonProc = {DoList[unmakeoctalcharacter]};
unmakecontrolcharacter: LIST OF REF ANY = LIST[$UnMakeControlCharacter];
UnMakeControlCharacter: Buttons.ButtonProc = {DoList[unmakecontrolcharacter]};
expandabbrev: LIST OF REF ANY = LIST[$ExpandAbbrev];
ExpandAbbrev: Buttons.ButtonProc = {DoList[expandabbrev]};
setmesalooks: LIST OF REF ANY = LIST[$SetMesaLooks];
SetMesaLooks: Buttons.ButtonProc = {DoList[setmesalooks]};
setcomment: LIST OF REF ANY = LIST[$SetComment];
SetComment: Buttons.ButtonProc = {DoList[setcomment]};
setnotcomment: LIST OF REF ANY = LIST[$SetNotComment];
SetNotComment: Buttons.ButtonProc = {DoList[setnotcomment]};
break: LIST OF REF ANY = LIST[$Break];
Break: Buttons.ButtonProc = {DoList[break]};
join: LIST OF REF ANY = LIST[$Join];
Join: Buttons.ButtonProc = {DoList[join]};
nest: LIST OF REF ANY = LIST[$Nest];
Nest: Buttons.ButtonProc = {DoList[nest]};
unnest: LIST OF REF ANY = LIST[$UnNest];
UnNest: Buttons.ButtonProc = {DoList[unnest]};
command0: LIST OF REF ANY = LIST[$Command0];
Command0: Buttons.ButtonProc = {DoList[command0]};
command1: LIST OF REF ANY = LIST[$Command1];
Command1: Buttons.ButtonProc = {DoList[command1]};
command2: LIST OF REF ANY = LIST[$Command2];
Command2: Buttons.ButtonProc = {DoList[command2]};
command3: LIST OF REF ANY = LIST[$Command3];
Command3: Buttons.ButtonProc = {DoList[command3]};
command4: LIST OF REF ANY = LIST[$Command4];
Command4: Buttons.ButtonProc = {DoList[command4]};
command5: LIST OF REF ANY = LIST[$Command5];
Command5: Buttons.ButtonProc = {DoList[command5]};
command6: LIST OF REF ANY = LIST[$Command6];
Command6: Buttons.ButtonProc = {DoList[command6]};
command7: LIST OF REF ANY = LIST[$Command7];
Command7: Buttons.ButtonProc = {DoList[command7]};
command8: LIST OF REF ANY = LIST[$Command8];
Command8: Buttons.ButtonProc = {DoList[command8]};
command9: LIST OF REF ANY = LIST[$Command9];
Command9: Buttons.ButtonProc = {DoList[command9]};
}.
..