GROOVY-9101: Add context menus to Console's input & output areas (closes #918)
diff --git a/subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy b/subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy
index d18fc3f..1dfc15e 100644
--- a/subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy
+++ b/subprojects/groovy-console/src/main/groovy/groovy/ui/Console.groovy
@@ -1269,7 +1269,7 @@
}
void selectAll(EventObject evt = null) {
- invokeTextAction(evt, { source -> source.selectAll() })
+ invokeTextAction(evt, { source -> source.selectAll() }, copyFromComponent ?: inputEditor.textEditor)
}
void setRowNumAndColNum() {
diff --git a/subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleView.groovy b/subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleView.groovy
index 8463c3e..5a1ddb1 100644
--- a/subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleView.groovy
+++ b/subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleView.groovy
@@ -68,6 +68,24 @@
build(statusBarClass)
}
+inputEditor.textEditor.componentPopupMenu = popupMenu {
+ menuItem(cutAction)
+ menuItem(copyAction)
+ menuItem(pasteAction)
+ menuItem(selectAllAction)
+ separator()
+ menuItem(undoAction)
+ menuItem(redoAction)
+ separator()
+ menuItem(runAction)
+ menuItem(runSelectionAction)
+}
+
+outputArea.componentPopupMenu = popupMenu {
+ menuItem(copyAction)
+ menuItem(selectAllAction)
+ menuItem(clearOutputAction)
+}
controller.promptStyle = promptStyle
controller.commandStyle = commandStyle