public GlassLayer(final GuiEditor editor) { myEditor = editor; enableEvents(AWTEvent.KEY_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK); registerKeyboardAction(new MoveSelectionToRightAction(myEditor, false, false), IdeActions.ACTION_EDITOR_MOVE_CARET_RIGHT); registerKeyboardAction(new MoveSelectionToLeftAction(myEditor, false, false), IdeActions.ACTION_EDITOR_MOVE_CARET_LEFT); registerKeyboardAction(new MoveSelectionToUpAction(myEditor, false, false), IdeActions.ACTION_EDITOR_MOVE_CARET_UP); registerKeyboardAction(new MoveSelectionToDownAction(myEditor, false, false), IdeActions.ACTION_EDITOR_MOVE_CARET_DOWN); registerKeyboardAction(new MoveSelectionToRightAction(myEditor, true, false), "EditorRightWithSelection"); registerKeyboardAction(new MoveSelectionToLeftAction(myEditor, true, false), "EditorLeftWithSelection"); registerKeyboardAction(new MoveSelectionToUpAction(myEditor, true, false), "EditorUpWithSelection"); registerKeyboardAction(new MoveSelectionToDownAction(myEditor, true, false), "EditorDownWithSelection"); registerKeyboardAction(new MoveSelectionToRightAction(myEditor, false, true), "EditorLineEnd"); registerKeyboardAction(new MoveSelectionToLeftAction(myEditor, false, true), "EditorLineStart"); registerKeyboardAction(new MoveSelectionToUpAction(myEditor, false, true), "EditorPageUp"); registerKeyboardAction(new MoveSelectionToDownAction(myEditor, false, true), "EditorPageDown"); registerKeyboardAction(new MoveSelectionToRightAction(myEditor, true, true), "EditorLineEndWithSelection"); registerKeyboardAction(new MoveSelectionToLeftAction(myEditor, true, true), "EditorLineStartWithSelection"); registerKeyboardAction(new MoveSelectionToUpAction(myEditor, true, true), "EditorPageUpWithSelection"); registerKeyboardAction(new MoveSelectionToDownAction(myEditor, true, true), "EditorPageDownWithSelection"); registerKeyboardAction(new MoveComponentAction(-1, 0, 0, 0), "EditorScrollUp"); registerKeyboardAction(new MoveComponentAction(1, 0, 0, 0), "EditorScrollDown"); registerKeyboardAction(new MoveComponentAction(0, -1, 0, 0), "EditorPreviousWord"); registerKeyboardAction(new MoveComponentAction(0, 1, 0, 0), "EditorNextWord"); registerKeyboardAction(new MoveComponentAction(0, 0, -1, 0), IdeActions.ACTION_MOVE_STATEMENT_UP_ACTION); registerKeyboardAction(new MoveComponentAction(0, 0, 1, 0), IdeActions.ACTION_MOVE_STATEMENT_DOWN_ACTION); registerKeyboardAction(new MoveComponentAction(0, 0, 0, -1), "EditorPreviousWordWithSelection"); registerKeyboardAction(new MoveComponentAction(0, 0, 0, 1), "EditorNextWordWithSelection"); registerKeyboardAction(new SelectAllComponentsAction(), "$SelectAll"); // F2 should start inplace editing final StartInplaceEditingAction startInplaceEditingAction = new StartInplaceEditingAction(editor); startInplaceEditingAction.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0)), this); }