|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 112248 (0x1b678)
Types: TextFile
Names: »B«
└─⟦6ac9a67ca⟧ Bits:30000548 8mm tape, Rational 1000, access 1_0_1
└─⟦78f173837⟧ »DATA«
└─⟦687a7d38f⟧
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦687a7d38f⟧
└─⟦ac87b4c51⟧
└─⟦this⟧
-- Rational_Access universal keymap
-- Keymap Version 1_0_1 11/20/92
--
-- Do not move these comments.
with Access_List;
with Activity;
with Ada;
with Cmvc;
with Command;
with Common;
with Compilation;
with Debug;
with Design_Implementation;
with Editor;
with Io;
with Job;
with Library;
with Mail;
with Menu_Operations;
with Operator;
with Queue;
with Speller;
with System_Utilities;
with Text;
with What;
with Rational_Access_Key_Names;
procedure Rational_Access_Commands is
use Rational_Access_Key_Names;
type Intent is (Interrupt, Prompt, Execute);
Action : Intent;
Key1, Key2, Key3, Key4, Key5, Key6 : Key_Names;
begin
case Action is
when Interrupt =>
case Key1 is
when C_G | Cs_G =>
Job.Interrupt;
when M_G | Ms_G =>
Job.Kill (0);
when others =>
null;
end case;
when Prompt =>
case Key1 is
when M_H | Ms_H =>
case Key2 is
when 'c' | 'C' =>
What.Does (Name => "<CURSOR>");
when others =>
null;
end case;
when M_O | Ms_O =>
case Key2 is
when 'f' | 'F' =>
Editor.Image.Find (Name => "");
when others =>
null;
end case;
when F1 | Help =>
What.Does (Name => "<CURSOR>");
when others =>
null;
end case;
when Execute =>
case Key1 is
when S_F1 | S_Help =>
Editor.Key.Prompt (Key_Code => "");
when F2 =>
Menu_Operations.File.Open;
when S_F2 =>
Common.Edit;
when F3 =>
Common.Explain;
when S_F3 =>
Common.Clear_Underlining;
when F4 =>
Menu_Operations.Cm.Check_Out;
when S_F4 =>
Menu_Operations.Cm.Check_In;
when F5 =>
Common.Definition
(Name => "<CURSOR>", In_Place => False, Visible => True);
when S_F5 =>
Common.Definition
(Name => "<CURSOR>", In_Place => True, Visible => True);
when F6 =>
Common.Create_Command;
when S_F6 =>
Common.Complete;
when F7 =>
Common.Enclosing (In_Place => False, Library => False);
when S_F7 =>
Common.Enclosing (In_Place => True, Library => False);
when F8 =>
Menu_Operations.Compile.Promote;
when S_F8 =>
Menu_Operations.Compile.Demote;
when F9 =>
Common.Format;
when S_F9 =>
Common.Semanticize;
--when F10 =>
-- Reserved for Motif Menu bar
when S_F10 =>
What.Home_Library;
when F11 =>
Menu_Operations.File.New_File;
when S_F11 =>
Common.Object.Insert;
when F12 =>
Editor.Cursor.Next (Prompt => True, Underline => True);
when S_F12 =>
Editor.Cursor.Previous (Prompt => True, Underline => True);
-- Item/Operation keys for compatibility with the old way
when Object | C_Help => -- C_Help is alternative to C_F1
case Key2 is
when '!' | '1' =>
Common.Expand;
when '.' | '>' =>
Common.Elide;
when '/' | '?' =>
Common.Explain;
when 'A' | 'a' =>
Common.Object.First_Child;
when 'B' | 'b' =>
Common.Object.First_Child;
when 'C' | 'c' =>
Common.Object.Copy;
when 'D' | 'K' | 'd' | 'k' =>
Common.Object.Delete;
when 'E' | 'e' =>
Common.Object.Last_Child;
when 'G' | 'g' =>
Common.Abandon;
when 'H' | 'h' =>
Common.Object.Parent;
when 'I' | 'i' =>
Common.Object.Insert;
when 'J' | 'j' =>
Common.Object.Child;
when 'M' | 'm' =>
Common.Object.Move;
when 'N' | 'n' =>
Common.Object.Next;
when 'R' | 'r' =>
Common.Redo;
when 'S' | 's' =>
Common.Sort_Image;
when 'U' | 'u' =>
Common.Undo;
when 'V' | 'v' =>
Common.Redo;
when 'X' | 'x' =>
Common.Release;
when Tab =>
Editor.Char.Tab_To_Comment;
when Carriage_Return | S_Carriage_Return =>
Common.Commit;
when Up | S_Up =>
Common.Object.Previous;
when Down | S_Down =>
Common.Object.Next;
when Left | S_Left =>
Common.Object.Parent;
when Right | S_Right =>
Common.Object.Child;
when others =>
null;
end case;
when Region =>
case Key2 is
when '"' | ''' | '6' | '^' =>
Editor.Region.Capitalize;
when '(' | '9' | '[' | '{' =>
Editor.Region.Start;
when ')' | '0' | ']' | '}' =>
Editor.Region.Finish;
when '+' | '=' =>
Editor.Region.Uncomment;
when ',' | '<' =>
Editor.Region.Lower_Case;
when '-' | '_' =>
Editor.Region.Comment;
when '.' | '>' =>
Editor.Region.Upper_Case;
when 'A' | 'a' | Begin_Of =>
Editor.Region.Beginning_Of;
when 'B' | 'b' =>
Editor.Region.Beginning_Of;
when 'C' | 'c' =>
Editor.Region.Copy;
when 'D' | 'K' | 'd' | 'k' =>
Editor.Region.Delete;
when 'E' | 'e' | End_Key =>
Editor.Region.End_Of;
when 'F' | 'f' =>
Editor.Region.Fill;
when 'H' | 'h' =>
Editor.Hold_Stack.Previous;
when 'J' | 'j' =>
Editor.Hold_Stack.Next;
when 'M' | 'm' =>
Editor.Region.Move;
when 'N' | 'n' =>
Editor.Hold_Stack.Push;
when 'P' | 'p' =>
Editor.Hold_Stack.Copy_Top;
when 'Q' | 'q' =>
Editor.Region.Justify;
when 'R' | 'r' =>
Editor.Hold_Stack.Rotate;
when 'T' | 't' =>
Editor.Hold_Stack.Swap;
when 'U' | 'u' =>
Editor.Hold_Stack.Top;
when 'X' | 'x' =>
Editor.Region.Off;
when Delete | S_Delete =>
Editor.Hold_Stack.Delete_Top;
when Up | S_Up =>
Editor.Hold_Stack.Top;
when Down | S_Down =>
Editor.Hold_Stack.Push;
when Left | S_Left =>
Editor.Hold_Stack.Previous;
when Right | S_Right =>
Editor.Hold_Stack.Next;
when others =>
null;
end case;
when Window =>
case Key2 is
when '!' | '1' =>
Editor.Window.Expand;
when '.' | '>' =>
Editor.Window.Expand (-4);
when '/' | '?' =>
Editor.Window.Directory;
when 'A' | 'a' =>
Editor.Window.Beginning_Of;
when 'B' | 'b' =>
Editor.Window.Beginning_Of;
when 'C' | 'c' =>
Editor.Window.Copy;
when 'D' | 'K' | 'W' | 'X' | 'd' | 'k' | 'w' | 'x' =>
Editor.Window.Delete;
when 'E' | 'e' =>
Editor.Window.End_Of;
when 'F' | 'f' =>
Editor.Window.Focus;
when 'H' | 'h' =>
Common.Enclosing (In_Place => False,
Library => False);
when 'J' | 'j' =>
Editor.Window.Join (1);
when 'M' | 'Z' | 'm' | 'z' |
Carriage_Return | S_Carriage_Return =>
Editor.Window.Promote;
when 'N' | 'n' =>
Editor.Window.Next;
when 'O' | 'o' =>
Editor.Window.Join (1);
when 'T' | 't' =>
Editor.Window.Transpose;
when 'U' | 'u' =>
Editor.Window.Previous;
when 'V' | 'v' =>
Editor.Window.Child;
when 'Y' | 'y' =>
Editor.Window.Demote;
when Delete | S_Delete =>
Editor.Window.Join (-1);
when Up | S_Up =>
Editor.Window.Previous;
when Down | S_Down =>
Editor.Window.Next;
when Left | S_Left =>
Editor.Window.Parent;
when Right | S_Right =>
Editor.Window.Child;
when others =>
null;
end case;
when Image =>
case Key2 is
when 'A' | 'a' | Begin_Of =>
Editor.Image.Beginning_Of;
when 'B' | 'b' =>
Editor.Image.Beginning_Of;
when 'E' | 'e' =>
Editor.Image.End_Of;
when 'F' | 'f' =>
Editor.Set.Fill_Mode (True);
when 'H' | 'h' =>
Editor.Image.Left;
when 'I' | 'i' =>
Editor.Set.Insert_Mode (True);
when 'J' | 'j' =>
Editor.Image.Right;
when 'N' | 'n' =>
Editor.Image.Down;
when 'O' | 'o' =>
Editor.Set.Insert_Mode (False);
when 'U' | 'u' =>
Editor.Image.Up;
when 'X' | 'x' =>
Editor.Set.Fill_Mode (False);
when Up | S_Up =>
Editor.Image.Up;
when Down | S_Down =>
Editor.Image.Down;
when Left | S_Left =>
Editor.Image.Left;
when Right | S_Right =>
Editor.Image.Right;
when others =>
null;
end case;
when Line =>
case Key2 is
when '$' | '4' =>
Editor.Line.Center;
when ',' | '<' =>
Editor.Line.Lower_Case;
when '.' | '>' =>
Editor.Line.Upper_Case;
when '/' | '?' =>
What.Line;
when '6' | '^' =>
Editor.Line.Capitalize;
when 'A' | 'a' | Begin_Of =>
Editor.Line.Beginning_Of;
when 'B' | 'b' =>
Editor.Line.Beginning_Of;
when 'C' | 'c' =>
Editor.Line.Copy;
when 'D' | 'd' =>
Editor.Line.Delete;
when 'E' | 'e' | End_Key =>
Editor.Line.End_Of;
when 'I' | 'i' =>
Editor.Line.Insert (1);
when 'J' | 'j' =>
Editor.Line.Join;
when 'K' | 'k' =>
Editor.Line.Delete_Forward;
when 'O' | 'o' =>
Editor.Line.Open;
when 'T' | 't' =>
Editor.Line.Transpose;
when Delete | S_Delete =>
Editor.Line.Delete_Backward;
when others =>
null;
end case;
when Word =>
case Key2 is
when ',' | '<' =>
Editor.Word.Lower_Case;
when '.' | '>' =>
Editor.Word.Upper_Case;
when '/' | '?' =>
Speller.Check_Text (Data => "<TEXT>");
when '6' | '^' =>
Editor.Word.Capitalize;
when 'A' | 'a' | Begin_Of =>
Editor.Word.Beginning_Of;
when 'B' | 'b' =>
Editor.Word.Beginning_Of;
when 'D' | 'd' =>
Editor.Word.Delete;
when 'E' | 'e' =>
Editor.Word.End_Of;
when 'I' | 'i' =>
Speller.Learn_Word
(The_Word => "", Dictionary => 0);
when 'J' | 'j' =>
Editor.Word.Next;
when 'K' | 'k' =>
Editor.Word.Delete_Forward;
when 'M' | 'm' =>
Speller.Check_Image;
when 'N' | 'n' =>
Speller.Explain_Next;
when 'R' | 'r' =>
Speller.Learn_Replacement
(The_Word => "", Choice => 1, Dictionary => 0);
when 'T' | 't' =>
Editor.Word.Transpose;
when 'W' =>
Speller.Speller_Window (In_Place => True);
when 'X' | 'x' =>
Speller.Exchange_Word (Choice => 1);
when 'w' =>
Speller.Speller_Window (In_Place => False);
when Delete | S_Delete =>
Editor.Word.Delete_Forward;
when C_0 =>
Speller.Exchange_Word (Choice => 10);
when C_1 =>
Speller.Exchange_Word (Choice => 1);
when C_2 =>
Speller.Exchange_Word (Choice => 2);
when C_3 =>
Speller.Exchange_Word (Choice => 3);
when C_4 =>
Speller.Exchange_Word (Choice => 4);
when C_5 =>
Speller.Exchange_Word (Choice => 5);
when C_6 =>
Speller.Exchange_Word (Choice => 6);
when C_7 =>
Speller.Exchange_Word (Choice => 7);
when C_8 =>
Speller.Exchange_Word (Choice => 8);
when C_9 =>
Speller.Exchange_Word (Choice => 9);
when Down | S_Down =>
Speller.Explain_Next;
when Left | S_Left =>
Editor.Word.Previous;
when Right | S_Right =>
Editor.Word.Next;
when C_W | Cs_W =>
Speller.Speller_Window (In_Place => False);
when others =>
null;
end case;
when Mark =>
case Key2 is
when '(' | '9' | 'A' | '[' | 'a' | '{' | Begin_Of =>
Editor.Macro.Start;
when ')' | '0' | 'E' | ']' | 'e' | '}' | End_Key =>
Editor.Macro.Finish;
when 'B' | 'b' =>
Editor.Macro.Start;
when 'F' | 'f' =>
Editor.Macro.Bind;
when 'H' | 'h' =>
Editor.Mark.Previous;
when 'J' | 'j' =>
Editor.Mark.Next;
when 'M' | 'X' | 'm' | 'x' |
Carriage_Return | S_Carriage_Return =>
Editor.Macro.Execute;
when 'N' | 'n' =>
Editor.Mark.Push;
when 'P' | 'p' =>
Editor.Mark.Copy_Top;
when 'R' | 'r' =>
Editor.Mark.Rotate;
when 'T' | 't' =>
Editor.Mark.Swap;
when 'U' | 'u' =>
Editor.Mark.Top;
when Delete | S_Delete | Backspace | S_Backspace =>
Editor.Mark.Delete_Top;
when Up | S_Up =>
Editor.Mark.Top;
when Down | S_Down =>
Editor.Mark.Push;
when Left | S_Left =>
Editor.Mark.Previous;
when Right | S_Right =>
Editor.Mark.Next;
when others =>
null;
end case;
-- misc characters.
when ' ' | S_Space =>
Editor.Char.Insert_Character (1, ' ');
when C_0 =>
Editor.Set.Argument_Digit (0);
when C_1 =>
Editor.Set.Argument_Digit (1);
when C_2 =>
Editor.Set.Argument_Digit (2);
when C_3 =>
Editor.Set.Argument_Digit (3);
when C_4 =>
Editor.Set.Argument_Digit (4);
when C_5 =>
Editor.Set.Argument_Digit (5);
when C_6 =>
Editor.Set.Argument_Digit (6);
when C_7 =>
Editor.Set.Argument_Digit (7);
when C_8 =>
Editor.Set.Argument_Digit (8);
when C_9 =>
Editor.Set.Argument_Digit (9);
when C_Minus | C_Underline =>
Editor.Set.Argument_Minus;
when M_Minus | M_Underline =>
Editor.Cursor.Previous (Prompt => False, Underline => True);
-- when Cm_Minus | Cm_Underline =>
-- Editor.Cursor.Previous (Prompt => True, Underline => True);
when Carriage_Return | S_Carriage_Return =>
Editor.Line.Indent;
when C_Carriage_Return =>
Common.Commit;
when M_Carriage_Return =>
Command.Debug;
when Up =>
Editor.Cursor.Up;
when S_Up =>
Editor.Image.Up;
when C_Up =>
Common.Object.Previous;
when M_Up =>
Editor.Cursor.Previous (Prompt => True, Underline => True);
when Cm_Up =>
Editor.Window.Previous;
when Down =>
Editor.Cursor.Down;
when S_Down =>
Editor.Image.Down;
when C_Down =>
Common.Object.Next;
when M_Down =>
Editor.Cursor.Next (Prompt => True, Underline => True);
when Cm_Down =>
Editor.Window.Next;
when Left =>
Editor.Cursor.Left;
when S_Left =>
Editor.Image.Left;
when C_Left =>
Common.Object.Parent;
when M_Left =>
Editor.Word.Previous;
when Cm_Left =>
Common.Enclosing (In_Place => True, Library => False);
when Right =>
Editor.Cursor.Right;
when S_Right =>
Editor.Image.Right;
when C_Right =>
Common.Object.Child;
when M_Right =>
Editor.Word.Next;
when Cm_Right =>
Common.Definition
(Name => "<CURSOR>", In_Place => True, Visible => False);
when Tab | S_Tab =>
Editor.Char.Tab_Forward;
-- when M_Tab => -- Motif defined
--Editor.Char.Tab_To_Comment;
when Cm_Tab =>
What.Tabs;
when Begin_Of =>
Editor.Line.Beginning_Of;
when S_Begin_Of =>
Editor.Image.Beginning_Of;
when C_Begin_Of =>
-- what line info
Menu_Operations.Dispatch (26);
when Cm_Begin_Of =>
Editor.Window.Beginning_Of;
when End_Key =>
Editor.Line.End_Of;
when S_End_Key =>
Editor.Image.End_Of;
when C_End_Key =>
Text.End_Of_Input;
when Cm_End_Key =>
Editor.Window.End_Of;
when Page_Down =>
Editor.Image.Down;
when S_Page_Down =>
Editor.Image.End_Of;
when Page_Up =>
Editor.Image.Up;
when S_Page_Up =>
Editor.Image.Beginning_Of;
when Delete =>
Editor.Char.Delete_Backward;
when Backspace =>
Editor.Char.Delete_Backward;
when S_Delete | S_Backspace =>
Editor.Region.Delete;
when C_Backspace | C_Delete =>
Editor.Line.Delete_Forward (Repeat => 1);
when M_Backspace | M_Delete =>
Editor.Word.Delete_Backward;
when Cm_Delete | Cm_Backspace =>
Editor.Char.Delete_Spaces;
-- Non-Alpha
when C_Less_Than | C_Comma =>
Editor.Window.Expand (Lines => -4);
when M_Less_Than | M_Comma =>
Editor.Word.Lower_Case;
when Cm_Less_Than | Cm_Comma =>
Common.Undo;
when C_Greater_Than | C_Period =>
Editor.Window.Expand (Lines => 4);
when M_Greater_Than | M_Period =>
Editor.Word.Upper_Case;
when Cm_Greater_Than | Cm_Period =>
Common.Redo;
when C_Left_Bracket =>
Editor.Region.Start;
when M_Left_Bracket =>
Editor.Macro.Start;
when C_Right_Bracket =>
Editor.Region.Finish;
when M_Right_Bracket =>
Editor.Macro.Finish;
when M_Exclam | M_1 =>
Common.Expand;
when C_Colon | C_Semicolon =>
Editor.Char.Insert_String (Value => ":=");
when Cm_Exclam =>
Editor.Window.Expand (Lines => 4);
when C_At_Sign =>
Editor.Mark.Push;
when C_Left_Paren =>
Editor.Char.Insert_String (Value => "(" & Ascii.Quotation);
when C_Right_Paren =>
Editor.Char.Insert_String (Value => Ascii.Quotation & ")");
when M_Right_Paren | M_0 =>
Common.Elide;
when Cm_Right_Paren =>
Editor.Window.Expand (Lines => -4);
when C_Plus | C_Equal =>
Editor.Char.Insert_String (Value => "=>");
when M_Plus | M_Equal =>
Editor.Cursor.Next
(Repeat => 1, Prompt => False, Underline => True);
when Cm_Plus | Cm_Equal =>
Editor.Macro.Bind;
when C_Bar =>
Editor.Char.Insert_String (Value => "--|");
when C_Backslash =>
Editor.Region.Off;
when M_Slash | M_Question =>
Common.Explain; -- mostly for compatibility
when C_Slash | C_Question =>
Editor.Window.Directory;
when C_Quotation | C_Tick => -- differ fromRat
Editor.Char.Quote;
-- Alphabetic
when C_A | Cs_A =>
Editor.Line.Beginning_Of;
when C_B | Cs_B =>
Editor.Cursor.Backward;
when C_C | Cs_C =>
Menu_Operations.Edit.Copy;
when M_C | Ms_C =>
Common.Create_Command;
when Cm_C | Cms_C =>
Editor.Line.Copy;
when C_D | Cs_D =>
Editor.Char.Delete_Forward;
when M_D | Ms_D =>
Editor.Word.Delete;
when Cm_D | Cms_D =>
Editor.Line.Delete;
when C_E | Cs_E =>
Editor.Line.End_Of;
when Cm_E | Cms_E =>
Editor.Window.Demote;
when C_F | Cs_F =>
Editor.Cursor.Forward;
when C_H | Cs_H =>
Editor.Cursor.Left;
when M_J | Ms_J =>
Editor.Word.Next;
when C_J | Cs_J =>
Editor.Cursor.Right;
when C_K | Cs_K =>
Editor.Line.Delete_Forward;
when M_K | Ms_K =>
Editor.Word.Delete_Forward;
when Cm_K | Cms_K =>
Editor.Window.Delete;
when C_L | Cs_L =>
Editor.Screen.Redraw;
when M_L | Ms_L =>
Editor.Screen.Clear;
when C_M | Cs_M =>
Editor.Mark.Push;
when Cm_M | Cms_M =>
Editor.Mark.Previous;
when C_N | Cs_N =>
Editor.Cursor.Down;
when M_N | Ms_N =>
Editor.Cursor.Next (Prompt => True, Underline => True);
when Cm_N | Cms_N =>
Editor.Window.Next;
when C_O | Cs_O =>
Editor.Line.Open;
when Cm_P | Cms_P =>
Editor.Window.Promote;
when C_Q | Cs_Q =>
Editor.Key.Name;
when M_Q | Ms_Q =>
Editor.Key.Prompt (Key_Code => "");
when C_R | Cs_R =>
Editor.Search.Previous (Target => "", Wildcard => False);
when Cm_R | Cms_R =>
Editor.Search.Replace_Previous (Target => "",
Replacement => "",
Repeat => 1,
Wildcard => False);
when C_S | Cs_S =>
Editor.Search.Next (Target => "", Wildcard => False);
when Cm_S | Cms_S =>
Editor.Search.Replace_Next (Target => "",
Replacement => "",
Repeat => 1,
Wildcard => False);
when C_T | Cs_T =>
Editor.Char.Transpose;
when Cm_T | Cms_T =>
Editor.Line.Transpose;
when M_T | Ms_T =>
Editor.Word.Transpose;
when C_U | Cs_U =>
Editor.Cursor.Up;
when M_U | Ms_U =>
Editor.Cursor.Previous (Prompt => True, Underline => True);
when Cm_U | Cms_U =>
Editor.Window.Previous;
when C_V | Cs_V =>
Editor.Image.Down;
when M_V | Ms_V =>
Editor.Image.Up;
when C_W | Cs_W =>
Editor.Region.Delete;
when C_X | Cs_X =>
Editor.Set.Designation_Off;
when M_X | Ms_X =>
Editor.Macro.Execute;
when C_Y | Cs_Y =>
Editor.Hold_Stack.Top;
when M_Y | Ms_Y =>
Editor.Hold_Stack.Next;
when C_Z | Cs_Z =>
Editor.Image.Up;
-- the next 8 are the left-hand function keys on
-- a sun keyboard. Disable them. The top two
-- (L1, L2) leave alone as they are mapped to F11, F12
when Props =>
Editor.Noop;
when Undo =>
Editor.Noop;
when Front =>
Editor.Noop;
when Copy =>
Editor.Noop;
when Open =>
Editor.Noop;
when Paste =>
Editor.Noop;
when Find =>
Editor.Noop;
when Cut =>
Editor.Noop;
when M_2 | M_At_Sign =>
case Key2 is
when 'C' | 'c' =>
Editor.Char.Insert_String ("--| @COMPONENT_KIND ");
when 'D' | 'd' =>
Editor.Char.Insert_String ("--| @DECOMPOSITION ");
when 'N' | 'n' =>
Editor.Char.Insert_String ("--| @NOTE ");
when 'R' | 'r' =>
case Key3 is
when 'A' | 'a' =>
Editor.Char.Insert_String ("--| @RAISES ");
when 'F' | 'f' =>
Editor.Char.Insert_String
("--| @REQUIREMENT FUNCTION ");
when 'I' | 'i' =>
Editor.Char.Insert_String
("--| @REQUIREMENT INTERFACE ");
when 'S' | 's' =>
Editor.Char.Insert_String
("--| @REQUIREMENT SUBFUNCTION ");
when others =>
null;
end case;
when 'S' | 's' =>
Editor.Char.Insert_String ("--| @STATES (");
when M_2 | M_At_Sign =>
Editor.Char.Insert_String ("--| @");
when others =>
null;
end case;
when M_6 | M_Circumflex =>
Editor.Word.Capitalize (Repeat => 1);
---------------
-- Menu maps --
---------------
when M_B | Ms_B => -- debug menu
case Key2 is
when 's' | 'S' =>
Command.Debug;
when 'w' | 'W' =>
Debug.Current_Debugger;
when 'f' | 'F' =>
Debug.Debug_Off (True);
when 'd' | 'D' =>
Debug.Debug_Off (False);
when 'p' | 'P' =>
-- bring up the palette ...
case Key3 is
-- debug palette stuff
when 'a' | 'A' =>
Debug.Execute (Name => "all");
when 'b' | 'B' =>
-- breakpoint frame
case Key4 is
when 'a' | 'A' =>
-- Activate all breaks
Debug.Activate (Breakpoint => 0);
when 'b' | 'B' =>
-- break here
Debug.Break
(Location => "<SELECTION>",
Stack_Frame => 0,
Count => 1,
In_Task => "",
Default_Lifetime => True);
when 'd' | 'D' =>
-- delete all breaks
Debug.Remove (Breakpoint => 0,
Delete => True);
when 'k' | 'K' =>
-- break
Menu_Operations.Debug.Break;
when 't' | 'T' =>
-- Temp break here
Debug.Break
(Location => "<SELECTION>",
Stack_Frame => 0,
Count => 1,
In_Task => "",
Default_Lifetime => False);
when 'v' | 'V' =>
-- deactivate all breaks
Debug.Remove (Breakpoint => 0,
Delete => False);
when others =>
null;
end case;
when 'c' | 'C' =>
Debug.Execute (Name => "");
when 'd' | 'D' =>
-- display frame
case Key4 is
when 'b' | 'B' =>
-- Show all debugger state
Debug.Show (Values_For =>
Debug.All_State);
when 'e' | 'E' =>
-- Show Execeptions
Debug.Show (Values_For =>
Debug.Exceptions);
when 'l' | 'L' =>
-- Show libraries
Debug.Show (Values_For =>
Debug.Libraries);
when others =>
null;
end case;
when 'e' | 'E' =>
Debug.Source (Location => "",
Stack_Frame => 0);
when 'g' | 'G' =>
-- tracing frame
case Key4 is
when 'a' | 'A' =>
-- Activate all tracing
Debug.Trace
(On => True,
Event => Debug.All_Events,
In_Task => "",
At_Location => "",
Stack_Frame => 0);
when 'd' | 'D' =>
-- Deactivate all tracing
Debug.Trace
(On => False,
Event => Debug.All_Events,
In_Task => "",
At_Location => "<SELECTION>",
Stack_Frame => 0);
when 's' | 'S' =>
-- Show tracing
Debug.Show (Values_For =>
Debug.Traces);
when 't' | 'T' =>
-- trace control
Menu_Operations.Dispatch (41);
when others =>
null;
end case;
when 'i' | 'I' =>
Debug.Stop (Name => "all");
when 'j' | 'J' =>
-- debug put...
Menu_Operations.Dispatch (40);
when 'k' | 'K' =>
Debug.Stack
(For_Task => "", Start => 0, Count => 0);
when 'l' | 'L' =>
Debug.Run (Stop_At => Debug.Local_Statement,
Count => 1,
In_Task => "");
when 'm' | 'M' =>
Menu_Operations.Debug.Modify;
when 'o' | 'O' =>
Debug.Stop (Name => "");
when 'q' | 'Q' =>
-- quit frame
case Key4 is
when 'd' | 'D' =>
-- detach
Debug.Debug_Off (Kill_Job => False);
when 'k' | 'K' =>
-- kill job being debugged
Debug.Debug_Off (Kill_Job => True);
when 't' | 'T' =>
-- terminate debugger
Debug.Kill (Job => True,
Debugger => True);
when others =>
null;
end case;
when 'r' | 'R' =>
Debug.Run (Stop_At => Debug.Returned,
Count => 1,
In_Task => "");
when 's' | 'S' =>
Debug.Run (Stop_At => Debug.Statement,
Count => 1,
In_Task => "");
when 't' | 'T' =>
-- task / task info frame
case Key4 is
when 'a' | 'A' =>
-- Show all tasks
Debug.Task_Display
(For_Task => "",
Task_Set => Debug.All_Tasks);
when 'b' | 'B' =>
-- List blocked tasks
Debug.Task_Display
(For_Task => "",
Task_Set => Debug.Blocked);
when 'd' | 'D' =>
-- List held tasks
Debug.Task_Display
(For_Task => "",
Task_Set => Debug.Held);
when 'h' | 'H' =>
-- Hold all tasks
Debug.Hold (Name => "all");
when 'i' | 'I' =>
-- Show space info - all tasks
Debug.Information
(Info_Type => Debug.Space,
For_Task => "all");
when 'l' | 'L' =>
-- Release all
Debug.Release (Name => "all");
when 'n' | 'N' =>
-- List tasks not running
Debug.Task_Display
(For_Task => "",
Task_Set => Debug.Not_Running);
when 'o' | 'O' =>
-- Show holds
Debug.Show
(Values_For =>
Debug.Stops_And_Holds);
when 'p' | 'P' =>
-- List stopped
Debug.Task_Display
(For_Task => "",
Task_Set => Debug.Stopped);
when 't' | 'T' =>
-- List all tasks
Debug.Task_Display
(For_Task => "",
Task_Set => Debug.All_Tasks);
when 'u' | 'U' =>
-- List running tasks
Debug.Task_Display
(For_Task => "",
Task_Set => Debug.Running);
when 'x' | 'X' =>
-- Show exceptions - all tasks
Debug.Information
(Info_Type => Debug.Exceptions,
For_Task => "all");
when 'z' | 'Z' =>
-- Show rendezvous info - all tasks
Debug.Information
(Info_Type => Debug.Rendezvous,
For_Task => "all");
when others =>
null;
end case;
when 'w' | 'W' =>
case Key4 is
-- target frame
when 'a' | 'A' =>
-- Attach process
Debug.Attach_Process
(Name => "", Options => "");
when 'c' | 'C' =>
-- Connect
Debug.Connect (Remote_Machine => "",
Target => "");
when 'i' | 'I' =>
-- invoke
Menu_Operations.Dispatch (49);
when 'r' | 'R' =>
-- reconnect
Debug.Reconnect;
when 't' | 'T' =>
-- target request
Menu_Operations.Dispatch (50);
when others =>
null;
end case;
when 'x' | 'X' =>
-- Control / Context frame
case Key4 is
when 'b' | 'B' =>
-- Enable ...
Menu_Operations.Dispatch (52);
when 'c' | 'C' =>
-- Set control context
Menu_Operations.Debug.
Context_Control;
when 'd' | 'D' =>
-- Disable ...
Menu_Operations.Dispatch (53);
when 'e' | 'E' =>
-- Set evaluation context
Menu_Operations.Debug.
Context_Evaluation;
when 'p' | 'P' =>
-- Clear stepping
Debug.Clear_Stepping
(For_Task => "");
when 'r' | 'R' =>
-- Reset to defaults
Debug.Reset_Defaults;
when 's' | 'S' =>
-- Show evaluation context
Debug.Show (Values_For =>
Debug.Contexts);
when 't' | 'T' =>
-- debug set ...
Menu_Operations.Dispatch (51);
when 'w' | 'W' =>
-- show debug switches
Debug.Show (Values_For =>
Debug.Flags);
when others =>
null;
end case;
when 'y' | 'Y' =>
-- memory frame
case Key4 is
when 'a' | 'A' =>
-- address to location
Menu_Operations.Dispatch (47);
when 'd' | 'D' =>
-- Memory_Display
Menu_Operations.Dispatch (54);
when 'e' | 'E' =>
-- exception to name
Menu_Operations.Dispatch (48);
when 'g' | 'G' =>
-- Register_Modify
Menu_Operations.Dispatch (57);
when 'l' | 'L' =>
-- location to address
Menu_Operations.Dispatch (45);
when 'o' | 'O' =>
-- object address
Menu_Operations.Dispatch (46);
when 'r' | 'R' =>
-- Register_Display
Menu_Operations.Dispatch (55);
when 'y' | 'Y' =>
-- Memory_Modify
Menu_Operations.Dispatch (56);
when others =>
null;
end case;
when 'z' | 'Z' =>
-- exception frame
case Key4 is
when 'a' | 'A' =>
-- Forget all
Debug.Forget (Name => "all",
In_Task => "",
At_Location => "");
when 'c' | 'C' =>
-- Catch...
Menu_Operations.Dispatch (43);
when 'f' | 'F' =>
-- Forget ...
Menu_Operations.Dispatch (42);
when 'h' | 'H' =>
-- Catch unlisted
Debug.Catch (Name => "<selection>",
In_Task => "",
At_Location => "");
when 'p' | 'P' =>
-- Propagate ...
Menu_Operations.Dispatch (44);
when 'u' | 'U' =>
-- Propagate unlisted
Debug.Propagate (Name => "",
In_Task => "",
At_Location => "");
when others =>
null;
end case;
when others =>
null;
end case;
when others =>
null;
end case;
when M_P | Ms_P => -- Program/Compilation menu
case Key2 is
when 'f' | 'F' =>
Common.Format;
when 'm' | 'M' =>
Common.Complete;
when 'z' | 'Z' =>
Common.Semanticize;
when 'p' | 'P' =>
Menu_Operations.Compile.Promote;
when 'c' | 'C' =>
Menu_Operations.Dispatch (20);
when M_C | Ms_C =>
-- Menu_Operations.Compile.Code; -- JustDoIt Mode
Menu_Operations.Dispatch (113);
when 'i' | 'I' =>
Menu_Operations.Dispatch (21);
when M_I | Ms_I =>
-- Menu_Operations.Compile.Install; -- JustDoIt Mode
Menu_Operations.Dispatch (114);
when 's' | 'S' =>
--Menu_Operations.Compile.Source;
Menu_Operations.Dispatch (22);
when M_S | Ms_S =>
-- Menu_Operations.Compile.Source; -- JustDoIt Mode
Menu_Operations.Dispatch (115);
when 'd' | 'D' =>
Menu_Operations.Compile.Demote;
when 'e' | 'E' =>
--Menu_Operations.Compile.Install;
Menu_Operations.Dispatch (23);
when M_E | Ms_E =>
-- Menu_Operations.Compile.Install; -- JustDoIt Mode
Menu_Operations.Dispatch (116);
when 'o' | 'O' =>
--Menu_Operations.Compile.Source;
Menu_Operations.Dispatch (24);
when M_O | Ms_O =>
-- Menu_Operations.Compile.Source; -- JustDoIt Mode
Menu_Operations.Dispatch (117);
when 't' | 'T' =>
--Menu_Operations.Compile.Archive;
Menu_Operations.Dispatch (25);
when M_T | Ms_T =>
-- Menu_Operations.Compile.Archive; -- JustDoIt Mode
Menu_Operations.Dispatch (118);
when 'n' | 'N' =>
case Key3 is
when 'i' | 'I' =>
-- compile incrementatl insert
Menu_Operations.Dispatch (2);
when 'e' | 'E' =>
-- compile incremental edit
Menu_Operations.Dispatch (3);
when 'd' | 'D' =>
-- compile incremental dispatch
Menu_Operations.Dispatch (4);
when 'p' | 'P' =>
-- compile incremental promote
Menu_Operations.Dispatch (5);
when others =>
null;
end case;
when 'u' | 'U' =>
Menu_Operations.Compile.Show_Usage;
when 'w' | 'W' =>
Menu_Operations.Compile.Show_Unused;
when 'b' | 'B' =>
case Key3 is
when 'l' | 'L' =>
Menu_Operations.Compile.Load;
when 'f' | 'F' =>
Menu_Operations.Compile.Parse;
when 'p' | 'P' =>
Menu_Operations.Compile.Build_Private_Part;
when 'b' | 'B' =>
Menu_Operations.Compile.Build_Body;
when 's' | 'S' =>
Menu_Operations.Compile.Make_Separate;
when 'i' | 'I' =>
Menu_Operations.Compile.Make_Inline;
when 'w' | 'W' =>
Ada.Withdraw;
when others =>
null;
end case;
when 'l' | 'L' =>
Menu_Operations.Compile.Options;
when others =>
null;
end case;
when M_E | Ms_E => -- edit menu
case Key2 is
when 'a' | 'A' =>
-- add entry...
Common.Object.Insert;
when 'c' | 'C' =>
Editor.Hold_Stack.Push;
when 'd' | 'D' =>
-- delete entry...
Common.Object.Delete;
when 'e' | 'E' =>
-- edit entry...
Menu_Operations.Dispatch (17);
when 'f' | 'F' =>
-- fill...
Menu_Operations.Region.Fill;
when 'j' | 'J' =>
-- justify...
Menu_Operations.Region.Justify;
when 'l' | 'L' =>
-- deselect...
Editor.Set.Designation_Off;
when 'm' | 'M' =>
Menu_Operations.Region.Make_Comment;
when 'n' | 'N' =>
Menu_Operations.Edit.Underlines_Off;
when 'o' | 'O' =>
Menu_Operations.Region.Uncomment;
when 'p' | 'P' =>
Editor.Hold_Stack.Top;
when 'r' | 'R' =>
-- search/replace...
Menu_Operations.Dispatch (18);
when 's' | 'S' =>
-- spelling...
case Key3 is
when 'w' | 'W' =>
Speller.Check_Text;
when 'i' | 'I' =>
Speller.Check_Image;
when 'r' | 'R' =>
Speller.Exchange_Word;
when 'a' | 'A' =>
Speller.Learn_Word;
when 'l' | 'L' =>
Speller.Learn_Replacement (The_Word => "",
Choice => 1,
Dictionary => 0);
when 'n' | 'N' =>
Speller.Explain_Next;
when others =>
null;
end case;
when 't' | 'T' =>
Editor.Region.Delete;
when 'u' | 'U' =>
Menu_Operations.Region.Uppercase;
when 'w' | 'W' =>
Menu_Operations.Region.Lowercase;
when 'y' | 'Y' =>
-- Typing Modes...
Menu_Operations.Dispatch (16);
when 'z' | 'Z' =>
Menu_Operations.Region.Capitalize;
when others =>
null;
end case;
when M_F | Ms_F => -- File menu
case Key2 is
when 'n' | 'N' =>
case Key3 is
when 'f' | 'F' =>
Menu_Operations.File.New_File;
when 'a' | 'A' =>
Menu_Operations.File.New_Ada;
when 'w' | 'W' =>
Menu_Operations.File.New_World;
when 'd' | 'D' =>
Menu_Operations.File.New_Directory;
when 's' | 'S' =>
Menu_Operations.File.New_Subsystem;
when 'v' | 'V' =>
Menu_Operations.File.New_Working_View;
when 'p' | 'P' =>
Menu_Operations.File.New_Spec_View;
when 'r' | 'R' =>
Menu_Operations.File.New_Release_View;
when 'c' | 'C' =>
Menu_Operations.File.New_Code_View;
when 't' | 'T' =>
Menu_Operations.File.New_Switch_File;
when 'y' | 'Y' =>
Menu_Operations.File.New_Activity;
when 'm' | 'M' =>
Menu_Operations.File.New_Mailbox;
when 'u' | 'U' =>
Menu_Operations.File.New_Venture;
when 'o' | 'O' =>
Menu_Operations.File.New_Work_Order;
when 'l' | 'L' =>
Menu_Operations.File.New_Work_Order_List;
when 'e' | 'E' =>
Menu_Operations.File.New_System;
when others =>
null;
end case;
when 'o' | 'O' =>
Menu_Operations.File.Open;
when 'b' | 'B' =>
-- file browse
Menu_Operations.Dispatch (1);
when 'c' | 'C' =>
Menu_Operations.File.Close;
when 's' | 'S' =>
Menu_Operations.File.Save;
when 'v' | 'V' =>
Menu_Operations.File.Revert;
when 'p' | 'P' =>
Menu_Operations.File.Print;
when M_P | Ms_P =>
Menu_Operations.Dispatch (110); -- JustDoIt mode
when 't' | 'T' =>
Menu_Operations.File.Properties;
when 'y' | 'Y' =>
Menu_Operations.File.Copy;
when 'm' | 'M' =>
Menu_Operations.File.Move;
when 'd' | 'D' =>
Menu_Operations.File.Delete;
when 'i' | 'I' =>
Menu_Operations.Edit.Insert_File;
when 'r' | 'R' =>
Menu_Operations.File.Run;
when 'e' | 'E' =>
-- windows quit
null;
when 'q' | 'Q' => -- for S_F2 on F key palette
Common.Edit;
when others =>
null;
end case;
when M_H | Ms_H => -- Help menu
case Key2 is
when 'u' | 'U' =>
Menu_Operations.Help.Explain_Underline;
when 'k' | 'K' =>
Editor.Key.Name (Key_Code => "");
when 'h' | 'H' =>
Menu_Operations.Help.On_Help;
when others =>
null;
end case;
when M_M | Ms_M => -- CM menu
case Key2 is
when 'o' | 'O' =>
Menu_Operations.Cm.Check_Out;
when M_O | Ms_O =>
Menu_Operations.Dispatch (111); -- JustDoIt Mode
when 'i' | 'I' =>
Menu_Operations.Cm.Check_In;
when M_I | Ms_I =>
Menu_Operations.Dispatch (112); -- JustDoIt Mode
when 'b' | 'B' =>
Menu_Operations.Cm.Abandon;
when 'a' | 'A' =>
Menu_Operations.Cm.Accept_Changes;
when M_A | Ms_A =>
Menu_Operations.Dispatch (119); -- JustDoIt Mode
when 'j' | 'J' =>
Menu_Operations.Cm.Join;
when 's' | 'S' =>
Menu_Operations.Cm.Sever;
when 'm' | 'M' =>
Menu_Operations.Cm.Imports;
when 'e' | 'E' =>
Menu_Operations.Cm.Properties;
when 'c' | 'C' =>
-- cm control
Menu_Operations.Dispatch (7);
when 'g' | 'G' =>
-- cm revert
Menu_Operations.Dispatch (8);
when 'r' | 'R' => -- report...
case Key3 is
when 'c' | 'C' =>
Cmvc.Show_All_Controlled
(In_View => "<CURSOR>");
when 'u' | 'U' =>
Cmvc.Show_All_Uncontrolled
(In_View => "<CURSOR>");
when 'd' | 'D' =>
Cmvc.Show_Out_Of_Date_Objects;
when 'o' | 'O' =>
Cmvc.Show_All_Checked_Out;
when 'i' | 'I' =>
Cmvc.Information
(For_View => "<CURSOR>",
Show_Model => False,
Show_Whether_Frozen => False,
Show_View_Kind => False,
Show_Creation_Time => False,
Show_Imports => True,
Show_Referencers => False,
Show_Unit_Summary => False,
Show_Controlled_Objects => False,
Show_Last_Release_Numbers => False,
Show_Path_Name => False,
Show_Subpath_Name => False,
Show_Switches => False,
Show_Exported_Units => False,
Response => "<PROFILE>");
when 'r' | 'R' =>
Cmvc.Information
(For_View => "<CURSOR>",
Show_Model => False,
Show_Whether_Frozen => False,
Show_View_Kind => False,
Show_Creation_Time => False,
Show_Imports => False,
Show_Referencers => True,
Show_Unit_Summary => False,
Show_Controlled_Objects => False,
Show_Last_Release_Numbers => False,
Show_Path_Name => False,
Show_Subpath_Name => False,
Show_Switches => False,
Show_Exported_Units => False,
Response => "<PROFILE>");
when 'e' | 'E' =>
Cmvc.Information
(For_View => "<CURSOR>",
Show_Model => False,
Show_Whether_Frozen => False,
Show_View_Kind => False,
Show_Creation_Time => False,
Show_Imports => False,
Show_Referencers => False,
Show_Unit_Summary => False,
Show_Controlled_Objects => False,
Show_Last_Release_Numbers => False,
Show_Path_Name => False,
Show_Subpath_Name => False,
Show_Switches => False,
Show_Exported_Units => True,
Response => "<PROFILE>");
when 'm' | 'M' =>
Cmvc.Information
(For_View => "<CURSOR>",
Show_Model => True,
Show_Whether_Frozen => False,
Show_View_Kind => False,
Show_Creation_Time => False,
Show_Imports => False,
Show_Referencers => False,
Show_Unit_Summary => False,
Show_Controlled_Objects => False,
Show_Last_Release_Numbers => False,
Show_Path_Name => False,
Show_Subpath_Name => False,
Show_Switches => False,
Show_Exported_Units => False,
Response => "<PROFILE>");
when 'h' | 'H' =>
-- history box
Menu_Operations.Dispatch (6);
when others =>
null;
end case;
when 't' | 'T' =>
Activity.Edit;
when others =>
null;
end case;
when M_O | Ms_O => -- Tools menu
case Key2 is
when 'c' | 'C' =>
case Key3 is
when 'b' | 'B' =>
Editor.Macro.Start;
when 'e' | 'E' =>
Editor.Macro.Finish;
when 'x' | 'X' =>
Editor.Macro.Execute;
when 'k' | 'K' =>
Editor.Macro.Bind (Key => "");
when others =>
null;
end case;
when 'd' | 'D' =>
-- RDF menu
case Key3 is
when 'd' | 'D' =>
-- Pdl Definition
Menu_Operations.Dispatch (70);
when 'e' | 'E' =>
-- Pdl Enclosing
Menu_Operations.Dispatch (71);
when 'u' | 'U' =>
-- Pdl Show User
Menu_Operations.Dispatch (72);
when 'x' | 'X' =>
-- Pdl Explain
Menu_Operations.Dispatch (73);
when 'c' | 'C' =>
--Pdl Complete
Menu_Operations.Dispatch (74);
when 'a' | 'A' =>
-- Pdl Complete Optional
Menu_Operations.Dispatch (75);
when 'k' | 'K' =>
-- Target Key/Phase...
Menu_Operations.Dispatch (76);
when 'g' | 'G' =>
-- Generate Document...
Menu_Operations.Dispatch (77);
when 'i' | 'I' =>
-- Display Hierarchy...
Menu_Operations.Dispatch (78);
when 'h' | 'H' =>
-- Check Consistency...
Menu_Operations.Dispatch (79);
when 'm' | 'M' =>
-- Component Hierarchy...
Menu_Operations.Dispatch (80);
when 'n' | 'N' =>
-- New 2167A Component...
Menu_Operations.Dispatch (81);
when others =>
null;
end case;
when 'f' | 'F' =>
case Key3 is
when 'n' | 'N' =>
What.Object;
when 's' | 'S' | 'l' | 'L' =>
Menu_Operations.Tools.Show_Locks;
when others =>
null;
end case;
when 'i' | 'I' =>
-- insight submenu
case Key3 is
when 'i' | 'I' =>
-- insight invoke
Menu_Operations.Dispatch (60);
when 'c' | 'C' =>
-- insight create
Menu_Operations.Dispatch (61);
when 'd' | 'D' =>
-- insight delete
Menu_Operations.Dispatch (62);
when 'p' | 'P' =>
-- insight print
Menu_Operations.Dispatch (63);
when others =>
null;
end case;
when 'm' | 'M' =>
case Key3 is
when 'r' | 'R' =>
Menu_Operations.Tools.Read_Mail;
when 'n' | 'N' =>
Mail.Send;
when 's' | 'S' =>
Common.Promote;
when 'p' | 'P' =>
Mail.Reply (To_All => False);
when 'a' | 'A' =>
Mail.Reply (To_All => True);
when 'f' | 'F' =>
Mail.Forward;
when 'm' | 'M' =>
Mail.Remail;
when 'd' | 'D' =>
Common.Object.Delete;
when 'u' | 'U' =>
Common.Undo;
when 'c' | 'C' =>
Common.Semanticize;
when 'e' | 'E' =>
Mail.Expunge;
when 't' | 'T' =>
-- mail sorting options...
Menu_Operations.Dispatch (14);
when others =>
null;
end case;
when 'o' | 'O' =>
case Key3 is
when 'b' | 'B' =>
Menu_Operations.Tools.Operator_Backup;
when 'v' | 'V' =>
Menu_Operations.Tools.
Operator_Verify_Backup;
when 'h' | 'H' =>
Menu_Operations.Tools.
Operator_Backup_History;
when 'u' | 'U' =>
Menu_Operations.Tools.Operator_Edit_User;
when 'g' | 'G' =>
Menu_Operations.Tools.Operator_Edit_Group;
when 'f' | 'F' =>
Menu_Operations.Tools.Operator_Force_Logoff;
when 'r' | 'R' =>
Menu_Operations.Tools.System_Manager_Report;
when 's' | 'S' =>
Menu_Operations.Tools.
System_Manager_Shutdown;
when 'c' | 'C' =>
Menu_Operations.Tools.
System_Manager_Cancel_Shutdown;
when others =>
null;
end case;
when 'p' | 'P' =>
-- RPI menu
case Key3 is
when 'p' | 'P' =>
-- RPI put changes
Menu_Operations.Dispatch (90);
when 'a' | 'A' =>
-- RPI accept changes
Menu_Operations.Dispatch (91);
when 'o' | 'O' =>
-- show out of date
Menu_Operations.Dispatch (92);
when 'e' | 'E' =>
case Key4 is
when 'd' | 'D' =>
-- create doc gateway
Menu_Operations.Dispatch (93);
when 'v' | 'V' =>
-- create view gateway
Menu_Operations.Dispatch (94);
when 'f' | 'F' =>
-- create file gateway
Menu_Operations.Dispatch (95);
when 'g' | 'G' =>
-- create graphic gateway
Menu_Operations.Dispatch (96);
when others =>
null;
end case;
when 'c' | 'C' =>
-- RPI connect
Menu_Operations.Dispatch (97);
when 'd' | 'D' =>
-- RPI disconnect
Menu_Operations.Dispatch (98);
when 'v' | 'V' =>
-- Save archive
Menu_Operations.Dispatch (99);
when 'r' | 'R' =>
-- Restore archive
Menu_Operations.Dispatch (100);
when others =>
null;
end case;
when 's' | 'S' =>
case Key3 is
when 'u' | 'U' =>
Menu_Operations.Session.Users;
when 'd' | 'D' =>
Operator.Disk_Space;
when 'c' | 'C' =>
Menu_Operations.Session.Machine_Information;
when 's' | 'S' =>
What.Load;
when others =>
null;
end case;
when 't' | 'T' =>
-- RTI menu
case Key3 is
when 'm' | 'M' =>
-- Import model
Menu_Operations.Dispatch (120);
when 'a' | 'A' =>
-- RTI accept changes
Menu_Operations.Dispatch (121);
when 'p' | 'P' =>
-- Prepare document
Menu_Operations.Dispatch (122);
when 's' | 'S' =>
-- show out of date
Menu_Operations.Dispatch (123);
when 'b' | 'B' =>
-- Baseline model
Menu_Operations.Dispatch (124);
when 'i' | 'I' =>
-- Increment Model
Menu_Operations.Dispatch (125);
when 'd' | 'D' =>
-- Destroy model
Menu_Operations.Dispatch (126);
when 'o' | 'O' =>
-- Options
Menu_Operations.Dispatch (127);
when others =>
null;
end case;
when others =>
null;
end case;
when M_S | Ms_S => -- session menu
case Key2 is
when 'p' | 'P' =>
Menu_Operations.Session.Profile;
when 'l' | 'L' =>
Menu_Operations.Session.Search_List;
when 's' | 'S' =>
Menu_Operations.Session.Switches;
when 'j' | 'J' =>
case Key3 is
when 'j' | 'J' =>
What.Users (False);
when 'a' | 'A' =>
What.Users (True);
when 'd' | 'D' =>
Menu_Operations.Session.Disable_Job;
when 'e' | 'E' =>
Menu_Operations.Session.Enable_Job;
when 'k' | 'K' =>
Menu_Operations.Session.Kill_Job;
when 'c' | 'C' =>
-- job.connect
Menu_Operations.Dispatch (15);
when others =>
null;
end case;
when 'e' | 'E' =>
Menu_Operations.Session.End_Of_Input;
when 'n' | 'N' =>
case Key3 is
when 'h' | 'H' =>
Menu_Operations.Tools.Screen_Push;
when 'p' | 'P' =>
Menu_Operations.Tools.Screen_Pop;
when 'w' | 'W' =>
-- set window frames
Menu_Operations.Dispatch (13);
when others =>
null;
end case;
when others =>
null;
end case;
when M_I | Ms_I => -- Navigate menu
case Key2 is
when 'n' | 'N' =>
Editor.Cursor.Next (Repeat => 1,
Prompt => False,
Underline => True);
when 'p' | 'P' =>
Editor.Cursor.Previous (Repeat => 1,
Prompt => False,
Underline => True);
when 'i' | 'I' =>
Menu_Operations.Traverse.Previous_Item;
when 'm' | 'M' =>
Menu_Operations.Traverse.Next_Item;
when 'd' | 'D' =>
Menu_Operations.Traverse.Definition;
when 'e' | 'E' =>
Menu_Operations.Traverse.Enclosing;
when 't' | 'T' =>
Menu_Operations.Region.Beginning_Of;
when 'b' | 'B' =>
Menu_Operations.Region.End_Of;
when 'o' | 'O' =>
Menu_Operations.Traverse.Other_Part;
when 'h' | 'H' =>
Menu_Operations.Traverse.Home_Library;
when 'r' | 'R' =>
Menu_Operations.Traverse.Resolve_Name;
when others =>
null;
end case;
-- Window panel buttons and other functions
when Menu_Pick =>
case Key2 is
when 'b' =>
case Key3 is
when 'a' =>
Editor.Window.Demote;
when 'b' =>
Editor.Window.Delete;
when 'c' =>
Editor.Image.End_Of;
when 'd' =>
Editor.Window.Join (Repeat => 99);
when 'e' =>
Editor.Image.Beginning_Of;
when 'f' =>
Menu_Operations.Dispatch (19);
-- Editor.Window.Promote;
-- want to do this twice to ensure that the
-- window is locked...
when 'g' =>
Editor.Image.Left;
when 'h' =>
Editor.Image.Right;
when 'i' =>
Editor.Window.Copy;
when 'j' =>
Editor.Window.Join;
when 'k' =>
Editor.Window.Join (-1);
when 'l' =>
Editor.Window.Expand;
when 'm' =>
Editor.Window.Expand (-4);
when 'n' =>
Editor.Window.Focus;
when 'o' =>
Editor.Image.Down;
when 'p' =>
Editor.Image.Up;
when 'q' =>
-- dialog box completion
Menu_Operations.Click_Ok;
when others =>
null;
end case;
when 'c' =>
case Key3 is
when 'a' =>
Menu_Operations.Load_Image_Palette;
when 'b' =>
-- get version info
Menu_Operations.Dispatch (9);
when others =>
null;
end case;
when 'q' =>
case Key3 is
when 'r' | 'R' =>
-- for F? bar support
Menu_Operations.Dispatch (12);
when 'p' | 'P' =>
Editor.Key.Prompt (Key_Code => "");
when 'd' | 'D' =>
Common.Definition (Name => "<CURSOR>",
In_Place => True,
Visible => True);
when 'c' | 'C' =>
Common.Create_Command;
when 'e' | 'E' =>
Common.Enclosing (In_Place => True,
Library => False);
when others =>
null;
end case;
when 'w' =>
case Key3 is
when '!' =>
Editor.Window.Expand;
when '>' =>
Editor.Window.Expand (-4);
when '?' =>
Editor.Window.Directory;
when 'b' =>
Editor.Window.Beginning_Of;
when 'c' =>
Editor.Window.Copy;
when 'd' =>
Editor.Window.Delete;
when 'e' =>
Editor.Window.End_Of;
when 'f' =>
Editor.Window.Focus;
when 'h' =>
Common.Enclosing (In_Place => False,
Library => False);
when 'j' =>
Editor.Window.Join (1);
when 'm' =>
Editor.Window.Promote;
when 'n' =>
Editor.Window.Next;
when 'o' =>
Editor.Window.Join (-1);
when 't' =>
Editor.Window.Transpose;
when 'u' =>
Editor.Window.Previous;
when 'v' =>
Editor.Window.Child;
when 'y' =>
Editor.Window.Demote;
when 'l' =>
Editor.Window.Parent;
when others =>
null;
end case;
when 'i' =>
case Key3 is
when 'b' =>
Editor.Image.Beginning_Of;
when 'e' =>
Editor.Image.End_Of;
when 'f' =>
Editor.Set.Fill_Mode (True);
when 'h' =>
Editor.Image.Left;
when 'i' =>
Editor.Set.Insert_Mode (True);
when 'j' =>
Editor.Image.Right;
when 'n' =>
Editor.Image.Down;
when 'o' =>
Editor.Set.Insert_Mode (False);
when 'u' =>
Editor.Image.Up;
when 'x' =>
Editor.Set.Fill_Mode (False);
when others =>
null;
end case;
when 'l' =>
case Key3 is
when '$' =>
Editor.Line.Center;
when '<' =>
Editor.Line.Lower_Case;
when '>' =>
Editor.Line.Upper_Case;
when '?' =>
What.Line;
when '^' =>
Editor.Line.Capitalize;
when 'b' =>
Editor.Line.Beginning_Of;
when 'c' =>
Editor.Line.Copy;
when 'd' =>
Editor.Line.Delete;
when 'e' =>
Editor.Line.End_Of;
when 'i' =>
Editor.Line.Insert (1);
when 'j' =>
Editor.Line.Join;
when 'k' =>
Editor.Line.Delete_Forward;
when 'o' =>
Editor.Line.Open;
when 't' =>
Editor.Line.Transpose;
when 'x' =>
Editor.Line.Delete_Backward;
when others =>
null;
end case;
when 'm' =>
case Key3 is
when 'a' =>
Editor.Macro.Start;
when 'e' =>
Editor.Macro.Finish;
when 'f' =>
Editor.Macro.Bind;
when 'h' =>
Editor.Mark.Previous;
when 'j' =>
Editor.Mark.Next;
when 'x' =>
Editor.Macro.Execute;
when 'n' =>
Editor.Mark.Push;
when 'p' =>
Editor.Mark.Copy_Top;
when 'r' =>
Editor.Mark.Rotate;
when 't' =>
Editor.Mark.Swap;
when 'u' =>
Editor.Mark.Top;
when 'o' =>
Editor.Mark.Delete_Top;
when others =>
null;
end case;
when 'o' =>
case Key3 is
when '!' =>
Common.Expand;
when '>' =>
Common.Elide;
when '?' =>
Common.Explain;
when 'c' =>
Common.Object.Copy;
when 'd' =>
Common.Object.Delete;
when 'e' =>
Common.Object.Last_Child;
when 'g' =>
Common.Abandon;
when 'h' =>
Common.Object.Parent;
when 'i' =>
Common.Object.Insert;
when 'j' =>
Common.Object.Child;
when 'm' =>
Common.Object.Move;
when 'n' =>
Common.Object.Next;
when 'r' =>
Common.Redo;
when 's' =>
Common.Sort_Image;
when 'u' =>
Common.Undo;
when 'x' =>
Common.Release;
when 't' =>
Editor.Char.Tab_To_Comment;
when 'f' =>
Common.Commit;
when 'p' =>
Common.Object.Previous;
when others =>
null;
end case;
when 'r' =>
case Key3 is
when '^' =>
Editor.Region.Capitalize;
when '[' =>
Editor.Region.Start;
when ']' =>
Editor.Region.Finish;
when '+' =>
Editor.Region.Uncomment;
when '<' =>
Editor.Region.Lower_Case;
when '-' =>
Editor.Region.Comment;
when '>' =>
Editor.Region.Upper_Case;
when 'b' =>
Editor.Region.Beginning_Of;
when 'c' =>
Editor.Region.Copy;
when 'd' =>
Editor.Region.Delete;
when 'e' =>
Editor.Region.End_Of;
when 'f' =>
Editor.Region.Fill;
when 'h' =>
Editor.Hold_Stack.Previous;
when 'j' =>
Editor.Hold_Stack.Next;
when 'm' =>
Editor.Region.Move;
when 'n' =>
Editor.Hold_Stack.Push;
when 'p' =>
Editor.Hold_Stack.Copy_Top;
when 'q' =>
Editor.Region.Justify;
when 'r' =>
Editor.Hold_Stack.Rotate;
when 't' =>
Editor.Hold_Stack.Swap;
when 'u' =>
Editor.Hold_Stack.Top;
when 'x' =>
Editor.Region.Off;
when 'z' =>
Editor.Hold_Stack.Delete_Top;
when others =>
null;
end case;
when 'd' =>
case Key3 is
when '<' =>
Editor.Word.Lower_Case;
when '>' =>
Editor.Word.Upper_Case;
when '?' =>
Speller.Check_Text (Data => "<TEXT>");
when '^' =>
Editor.Word.Capitalize;
when 'b' =>
Editor.Word.Beginning_Of;
when 'd' =>
Editor.Word.Delete;
when 'e' =>
Editor.Word.End_Of;
when 'i' =>
Speller.Learn_Word
(The_Word => "", Dictionary => 0);
when 'j' =>
Editor.Word.Next;
when 'k' =>
Editor.Word.Delete_Forward;
when 'm' =>
Speller.Check_Image;
when 'n' =>
Speller.Explain_Next;
when 'r' =>
Speller.Learn_Replacement (The_Word => "",
Choice => 1,
Dictionary => 0);
when 't' =>
Editor.Word.Transpose;
when 'W' =>
Speller.Speller_Window (In_Place => True);
when 'x' =>
Speller.Exchange_Word (Choice => 1);
when 'w' =>
Speller.Speller_Window (In_Place => False);
when 'z' =>
Editor.Word.Delete_Forward;
when others =>
null;
end case;
when others =>
null;
end case;
-- Mouse button mapping
when Mouse_Down =>
Editor.Screen.Down;
when Mouse_Right =>
Editor.Screen.Right;
when Mouse_Image_Down =>
Editor.Image.Down;
when Mouse_Image_Right =>
Editor.Image.Right;
when Mouse_Button1 =>
Editor.Set.Input_Logging_Off;
when Mouse_Button1_Dbl =>
Common.Definition
(Name => "<CURSOR>", In_Place => False, Visible => True);
-- when Mouse_Button2_Dbl =>
-- Common.Object.Parent (Repeat => 1);
when Mouse_Button3 =>
Editor.Noop;
when Mouse_Button3_Dbl =>
Common.Enclosing (In_Place => False, Library => False);
when Mouse_Button4_Dbl =>
Common.Definition
(Name => "<CURSOR>", In_Place => True, Visible => True);
when Mouse_Button6_Dbl =>
Common.Enclosing (In_Place => True, Library => False);
when Mouse_Button7 =>
Editor.Region.Start;
when Mouse_Button7_Up =>
Editor.Region.Finish;
when Mouse_Button7_Dbl =>
Common.Object.Parent (Repeat => 1);
when Mouse_Button8 =>
Editor.Region.Copy;
when Mouse_Button9 =>
Editor.Region.Finish;
when Mouse_Button9_Dbl =>
Common.Object.Child (Repeat => 1);
when Mouse_Minus =>
Editor.Set.Argument_Minus;
when Mouse_0 =>
Editor.Set.Argument_Digit (Argument => 0);
when Mouse_1 =>
Editor.Set.Argument_Digit (Argument => 1);
when Mouse_2 =>
Editor.Set.Argument_Digit (Argument => 2);
when Mouse_3 =>
Editor.Set.Argument_Digit (Argument => 3);
when Mouse_4 =>
Editor.Set.Argument_Digit (Argument => 4);
when Mouse_5 =>
Editor.Set.Argument_Digit (Argument => 5);
when Mouse_6 =>
Editor.Set.Argument_Digit (Argument => 6);
when Mouse_7 =>
Editor.Set.Argument_Digit (Argument => 7);
when Mouse_8 =>
Editor.Set.Argument_Digit (Argument => 8);
when Mouse_9 =>
Editor.Set.Argument_Digit (Argument => 9);
when Menu_Return =>
Editor.Line.Insert (1);
when X_No_Op =>
Editor.Noop;
when X_Screen_Height =>
Editor.Screen.Set_Lines (24);
when X_Screen_Width =>
Editor.Screen.Set_Columns (80);
when others =>
null;
end case;
end case;
end Rational_Access_Commands;