You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ge...@apache.org on 2018/02/20 08:39:54 UTC
[incubator-netbeans] branch master updated: NETBEANS-357: corrected
the target folder for toolbar link for action (#409)
This is an automated email from the ASF dual-hosted git repository.
geertjan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new b10076d NETBEANS-357: corrected the target folder for toolbar link for action (#409)
b10076d is described below
commit b10076d5487b13cca967a5c15cde2e0d9ec51bb3
Author: Svatopluk Dedic <sv...@oracle.com>
AuthorDate: Tue Feb 20 09:39:52 2018 +0100
NETBEANS-357: corrected the target folder for toolbar link for action (#409)
Thanks.
---
editor.lib2/nbproject/project.xml | 9 +++++
.../lib2/EditorActionRegistrationProcessor.java | 3 +-
.../EditorActionRegistrationTest.java | 40 ++++++++++++++++++++++
3 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/editor.lib2/nbproject/project.xml b/editor.lib2/nbproject/project.xml
index 859f2d2..a05fa92 100644
--- a/editor.lib2/nbproject/project.xml
+++ b/editor.lib2/nbproject/project.xml
@@ -170,6 +170,15 @@
</test-dependency>
<test-dependency>
<code-name-base>org.openide.loaders</code-name-base>
+ <compile-dependency/>
+ </test-dependency>
+ <test-dependency>
+ <code-name-base>org.openide.nodes</code-name-base>
+ <compile-dependency/>
+ </test-dependency>
+ <test-dependency>
+ <code-name-base>org.netbeans.modules.editor</code-name-base>
+ <compile-dependency/>
</test-dependency>
<test-dependency>
<code-name-base>org.openide.util.ui</code-name-base>
diff --git a/editor.lib2/src/org/netbeans/modules/editor/lib2/EditorActionRegistrationProcessor.java b/editor.lib2/src/org/netbeans/modules/editor/lib2/EditorActionRegistrationProcessor.java
index e567464..ac999de 100644
--- a/editor.lib2/src/org/netbeans/modules/editor/lib2/EditorActionRegistrationProcessor.java
+++ b/editor.lib2/src/org/netbeans/modules/editor/lib2/EditorActionRegistrationProcessor.java
@@ -257,10 +257,11 @@ public final class EditorActionRegistrationProcessor extends LayerGeneratingProc
int toolBarPosition = annotation.toolBarPosition();
if (toolBarPosition != Integer.MAX_VALUE) {
StringBuilder toolBarPresenterFilePath = new StringBuilder(50);
- toolBarPresenterFilePath.append("Editors/Toolbar/");
+ toolBarPresenterFilePath.append("Editors/");
if (mimeType.length() > 0) {
toolBarPresenterFilePath.append(mimeType).append("/");
}
+ toolBarPresenterFilePath.append("Toolbars/Default/");
toolBarPresenterFilePath.append(actionName).append(".shadow");
LayerBuilder.File toolBarPresenterShadowFile = layer.file(toolBarPresenterFilePath.toString());
toolBarPresenterShadowFile.stringvalue("originalFile", actionFilePath);
diff --git a/editor.lib2/test/unit/src/org/netbeans/modules/editor/lib2/testactionsregistration/EditorActionRegistrationTest.java b/editor.lib2/test/unit/src/org/netbeans/modules/editor/lib2/testactionsregistration/EditorActionRegistrationTest.java
index fb6e65b..b410029 100644
--- a/editor.lib2/test/unit/src/org/netbeans/modules/editor/lib2/testactionsregistration/EditorActionRegistrationTest.java
+++ b/editor.lib2/test/unit/src/org/netbeans/modules/editor/lib2/testactionsregistration/EditorActionRegistrationTest.java
@@ -21,10 +21,12 @@ package org.netbeans.modules.editor.lib2.testactionsregistration;
import java.awt.event.ActionEvent;
import java.io.ByteArrayOutputStream;
+import java.util.List;
import javax.swing.AbstractAction;
import javax.swing.Action;
import org.netbeans.junit.NbTestCase;
import org.netbeans.api.editor.EditorActionRegistration;
+import org.netbeans.modules.editor.impl.ToolbarActionsProvider;
import org.netbeans.modules.editor.lib2.actions.EditorActionUtilities;
import org.netbeans.modules.editor.lib2.actions.SearchableEditorKit;
import org.netbeans.spi.editor.AbstractEditorAction;
@@ -32,6 +34,8 @@ import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import org.openide.util.test.AnnotationProcessorTestUtils;
+import org.openide.loaders.DataShadow;
+
/**
* Test registration of editor actions through an annotation.
*
@@ -93,6 +97,29 @@ public class EditorActionRegistrationTest extends NbTestCase {
assertTrue((Boolean) a.getValue(AbstractEditorAction.NO_ICON_IN_MENU));
assertTrue((Boolean) a.getValue(AbstractEditorAction.NO_KEY_BINDING));
}
+
+ public void testToolbarRegistration() throws Exception {
+ FileObject toolbarDir = FileUtil.getConfigFile("/Editors/text/foo/Toolbars/Default");
+ assertNotNull("text/base toolbar directory is null", toolbarDir);
+ FileObject toolbarLink = toolbarDir.getFileObject(EditorTestActionToolbar.id + ".shadow"); // NOI18N
+ assertNotNull("Action link in toolbar must exist", toolbarLink);
+ FileObject orig = DataShadow.findOriginal(toolbarLink);
+ assertNotNull("Action registration must exist", orig);
+
+ List items = ToolbarActionsProvider.getToolbarItems("text/foo");
+ assertFalse("At least one registration must be present", items.isEmpty());
+ for (Object o : items) {
+ if (!(o instanceof Action)) {
+ continue;
+ }
+ Action a = (Action)o;
+ String name = (String)a.getValue(Action.NAME);
+ if (EditorTestActionToolbar.id.equals(name)) {
+ return; // OK
+ }
+ }
+ fail("Registered action not found");
+ }
public void testNonPublicClass() throws Exception {
String nonPublicClassSource =
@@ -201,5 +228,18 @@ public class EditorActionRegistrationTest extends NbTestCase {
}
}
+
+ @EditorActionRegistration(name = "ToolbarIcon", shortDescription = "",
+ mimeType="text/foo", toolBarPosition = 1000)
+ public static final class EditorTestActionToolbar extends AbstractAction {
+ static final String id = "ToolbarIcon";
+ public EditorTestActionToolbar() {
+ }
+ @Override
+ public void actionPerformed(ActionEvent evt) {
+ }
+
+ }
+
}
--
To stop receiving notification emails like this one, please contact
geertjan@apache.org.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists