You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2022/07/13 14:17:06 UTC

[groovy] 01/03: Help > Usage menu item and dialog.

This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch GROOVY_4_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 76062005147239012ccd0c7b2c3f9b63e801c180
Author: Sandip Chitale <sa...@gmail.com>
AuthorDate: Tue Jul 12 16:54:43 2022 -0700

    Help > Usage menu item and dialog.
---
 .../src/main/groovy/groovy/console/ui/ObjectBrowser.groovy | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ObjectBrowser.groovy b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ObjectBrowser.groovy
index 1da9fd3310..a73f815a7e 100644
--- a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ObjectBrowser.groovy
+++ b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ObjectBrowser.groovy
@@ -96,6 +96,7 @@ class ObjectBrowser {
                     menuItem { action(name: path.toString(), enabled: bind{ tracker.current != idx }, closure: this.&switchCard.curry(idx)) }
                 }
                 menu(text: 'Help') {
+                    menuItem { action(name: 'Usage', closure: this.&showUsage) }
                     menuItem { action(name: 'About', closure: this.&showAbout) }
                 }
             }
@@ -295,6 +296,19 @@ class ObjectBrowser {
         cards.revalidate()
     }
 
+    void showUsage(EventObject evt) {
+        def pane = swing.optionPane()
+        // work around GROOVY-1048
+        pane.setMessage(
+            'Double-click on a row to drill-down into the child level.\n' +
+            'A new card is created for the child level. The cards can\n' +
+            'be selected using menu items in the Path menu.\n' +
+            'Shift-double-click on a row to launch new Object Browser\n' +
+            'window.')
+        def dialog = pane.createDialog(frame, 'Object Browser Usage')
+        dialog.show()
+    }
+
     void showAbout(EventObject evt) {
         def pane = swing.optionPane()
         // work around GROOVY-1048