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/14 05:49:51 UTC
[groovy] branch GROOVY_4_0_X updated: GROOVY-10686: Additional refactoring - prev/next card buttons
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
The following commit(s) were added to refs/heads/GROOVY_4_0_X by this push:
new 0cffc3c8b6 GROOVY-10686: Additional refactoring - prev/next card buttons
0cffc3c8b6 is described below
commit 0cffc3c8b69d405de909e3d1f0fe538d4156ad41
Author: Paul King <pa...@asert.com.au>
AuthorDate: Thu Jul 14 14:40:22 2022 +1000
GROOVY-10686: Additional refactoring - prev/next card buttons
---
.../groovy/groovy/console/ui/AstBrowser.groovy | 1 +
.../groovy/groovy/console/ui/ConsoleActions.groovy | 2 +-
.../groovy/groovy/console/ui/ObjectBrowser.groovy | 24 +++++++++++++++++++--
.../groovy/console/ui/icons/resultset_next.png | Bin 0 -> 395 bytes
.../groovy/console/ui/icons/resultset_previous.png | Bin 0 -> 389 bytes
5 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/AstBrowser.groovy b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/AstBrowser.groovy
index 3637f2216b..99954b9628 100644
--- a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/AstBrowser.groovy
+++ b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/AstBrowser.groovy
@@ -388,6 +388,7 @@ class AstBrowser {
))
menuItem(action(
name: 'Browse',
+ enabled: table.model.getValueAt(table.selectedRow, valueCol) != null,
closure: outer.&launchAction.curry(table, valueCol, pathClosure),
smallIcon: imageIcon(resource: 'icons/page_white_go.png', class: this),
shortDescription: 'Browse'
diff --git a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ConsoleActions.groovy b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ConsoleActions.groovy
index e05ced94ce..5d72714d74 100644
--- a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ConsoleActions.groovy
+++ b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/ConsoleActions.groovy
@@ -404,7 +404,7 @@ smartHighlighterAction = action(
aboutAction = action(
name: 'About',
- closure: controller.&aboutAction,
+ closure: controller.&showAbout,
smallIcon: imageIcon(resource: 'icons/information.png', class: this),
mnemonic: 'A'
)
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 fefae63d20..3c436b0b9f 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
@@ -26,6 +26,7 @@ import groovy.swing.table.TableSorter
import javax.swing.ToolTipManager
import javax.swing.WindowConstants
import java.awt.FlowLayout
+import java.awt.Insets
import java.awt.Toolkit
import java.awt.datatransfer.StringSelection
import java.awt.event.MouseAdapter
@@ -132,7 +133,11 @@ class ObjectBrowser {
border: emptyBorder([5, 10, 5, 10]),
constraints: NORTH) {
flowLayout(alignment: FlowLayout.LEFT)
- def props = inspector.classProps
+ def props = inspector.classProps.findAll{ it != 'implements ' }
+ try {
+ def module = inspector.object.class.module.name
+ if (module) props.add(0, 'module ' + module)
+ } catch(Exception ignore) {}
def classLabel = '<html>' + props.join('<br>')
label(classLabel)
}
@@ -262,8 +267,17 @@ class ObjectBrowser {
border: emptyBorder([5, 10, 5, 10]),
constraints: SOUTH) {
boxLayout(axis: 2)
+ button(icon: imageIcon(resource: 'icons/resultset_previous.png', class: this),
+ margin: [5, 5, 5, 5] as Insets,
+ actionPerformed: { tracker.current--; show() },
+ enabled: bind { tracker.current > 0 })
label('Path: ')
textField(editable: false, text: path)
+ button(icon: imageIcon(resource: 'icons/resultset_next.png', class: this),
+ margin: [5, 5, 5, 5] as Insets,
+ actionPerformed: { tracker.current++; show() },
+ enabled: bind { tracker.current < pathCount - 1 }
+ )
}
}
}
@@ -299,12 +313,14 @@ class ObjectBrowser {
))
menuItem(action(
name: 'Browse',
+ enabled: table.model.getValueAt(table.selectedRow, valueCol) != null,
closure: outer.&launchAction.curry(table, valueCol, false, pathClosure),
smallIcon: imageIcon(resource: 'icons/page_white_stack.png', class: this),
shortDescription: 'Browse'
))
menuItem(action(
name: 'Browse in new window',
+ enabled: table.model.getValueAt(table.selectedRow, valueCol) != null,
closure: outer.&launchAction.curry(table, valueCol, true, pathClosure),
smallIcon: imageIcon(resource: 'icons/page_white_go.png', class: this),
shortDescription: 'Browse window'
@@ -339,7 +355,11 @@ class ObjectBrowser {
void showAction(int idx, EventObject evt) {
tracker.current = idx
- cards.layout.show(cards, 'path' + idx)
+ show()
+ }
+
+ void show() {
+ cards.layout.show(cards, 'path' + tracker.current)
cards.revalidate()
}
diff --git a/subprojects/groovy-console/src/main/resources/groovy/console/ui/icons/resultset_next.png b/subprojects/groovy-console/src/main/resources/groovy/console/ui/icons/resultset_next.png
new file mode 100644
index 0000000000..e252606d3e
Binary files /dev/null and b/subprojects/groovy-console/src/main/resources/groovy/console/ui/icons/resultset_next.png differ
diff --git a/subprojects/groovy-console/src/main/resources/groovy/console/ui/icons/resultset_previous.png b/subprojects/groovy-console/src/main/resources/groovy/console/ui/icons/resultset_previous.png
new file mode 100644
index 0000000000..18f9cc1094
Binary files /dev/null and b/subprojects/groovy-console/src/main/resources/groovy/console/ui/icons/resultset_previous.png differ