You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by lk...@apache.org on 2022/08/31 01:30:05 UTC
[netbeans] branch master updated: Added multiview [Source|History] for Dockerfile-s
This is an automated email from the ASF dual-hosted git repository.
lkishalmi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new a8f7024d72 Added multiview [Source|History] for Dockerfile-s
a8f7024d72 is described below
commit a8f7024d72051006c124489430a961afbcdf346a
Author: Laszlo Kishalmi <la...@gmail.com>
AuthorDate: Fri Aug 26 22:36:49 2022 -0700
Added multiview [Source|History] for Dockerfile-s
---
ide/docker.editor/nbproject/project.xml | 17 ++++++
.../modules/docker/editor/DockerfileLanguage.java | 22 +++++++-
.../modules/docker/editor/DockerfileResolver.java | 61 ++++++++++++++++++++++
.../org/netbeans/modules/docker/editor/layer.xml | 59 ---------------------
4 files changed, 98 insertions(+), 61 deletions(-)
diff --git a/ide/docker.editor/nbproject/project.xml b/ide/docker.editor/nbproject/project.xml
index b7f3286ca6..2bf2f75d8f 100644
--- a/ide/docker.editor/nbproject/project.xml
+++ b/ide/docker.editor/nbproject/project.xml
@@ -43,6 +43,15 @@
<specification-version>1.47</specification-version>
</run-dependency>
</dependency>
+ <dependency>
+ <code-name-base>org.netbeans.core.multiview</code-name-base>
+ <build-prerequisite/>
+ <compile-dependency/>
+ <run-dependency>
+ <release-version>1</release-version>
+ <specification-version>1.61</specification-version>
+ </run-dependency>
+ </dependency>
<dependency>
<code-name-base>org.netbeans.modules.csl.api</code-name-base>
<build-prerequisite/>
@@ -163,6 +172,14 @@
<specification-version>9.6</specification-version>
</run-dependency>
</dependency>
+ <dependency>
+ <code-name-base>org.openide.windows</code-name-base>
+ <build-prerequisite/>
+ <compile-dependency/>
+ <run-dependency>
+ <specification-version>6.94</specification-version>
+ </run-dependency>
+ </dependency>
</module-dependencies>
<public-packages/>
</data>
diff --git a/ide/docker.editor/src/org/netbeans/modules/docker/editor/DockerfileLanguage.java b/ide/docker.editor/src/org/netbeans/modules/docker/editor/DockerfileLanguage.java
index 95e13fce9f..47c65b6d75 100644
--- a/ide/docker.editor/src/org/netbeans/modules/docker/editor/DockerfileLanguage.java
+++ b/ide/docker.editor/src/org/netbeans/modules/docker/editor/DockerfileLanguage.java
@@ -19,6 +19,8 @@
package org.netbeans.modules.docker.editor;
import org.netbeans.api.lexer.Language;
+import org.netbeans.core.spi.multiview.MultiViewElement;
+import org.netbeans.core.spi.multiview.text.MultiViewEditorElement;
import org.netbeans.modules.csl.api.CodeCompletionHandler;
import org.netbeans.modules.csl.spi.DefaultLanguageConfig;
import org.netbeans.modules.csl.spi.LanguageRegistration;
@@ -26,14 +28,16 @@ import org.netbeans.modules.docker.editor.completion.DockerfileCompletion;
import org.netbeans.modules.docker.editor.lexer.DockerfileTokenId;
import org.netbeans.modules.docker.editor.parser.DockerfileParser;
import org.netbeans.modules.parsing.spi.Parser;
+import org.openide.util.Lookup;
import org.openide.util.NbBundle;
+import org.openide.windows.TopComponent;
/**
*
* @author Tomas Zezula
*/
-@LanguageRegistration(mimeType = DockerfileResolver.MIME_TYPE)
-@NbBundle.Messages({"Dockerfile=Docker Build Files"})
+@NbBundle.Messages("Dockerfile=Docker Build Files")
+@LanguageRegistration(mimeType = DockerfileResolver.MIME_TYPE, useMultiview = true)
public final class DockerfileLanguage extends DefaultLanguageConfig {
@Override
@@ -60,4 +64,18 @@ public final class DockerfileLanguage extends DefaultLanguageConfig {
public String getLineCommentPrefix() {
return "#"; //NOI18N
}
+
+ @NbBundle.Messages("Source=&Source")
+ @MultiViewElement.Registration(
+ displayName = "#Source",
+ iconBase = "org/netbeans/modules/docker/editor/resources/docker_file.png",
+ persistenceType = TopComponent.PERSISTENCE_ONLY_OPENED,
+ mimeType = DockerfileResolver.MIME_TYPE,
+ preferredID = "dockerfile.source",
+ position = 100
+ )
+ public static MultiViewEditorElement createMultiViewEditorElement(Lookup context) {
+ return new MultiViewEditorElement(context);
+ }
+
}
diff --git a/ide/docker.editor/src/org/netbeans/modules/docker/editor/DockerfileResolver.java b/ide/docker.editor/src/org/netbeans/modules/docker/editor/DockerfileResolver.java
index 87e855e956..54c183992d 100644
--- a/ide/docker.editor/src/org/netbeans/modules/docker/editor/DockerfileResolver.java
+++ b/ide/docker.editor/src/org/netbeans/modules/docker/editor/DockerfileResolver.java
@@ -20,6 +20,9 @@ package org.netbeans.modules.docker.editor;
import org.netbeans.api.annotations.common.CheckForNull;
import org.netbeans.api.annotations.common.NonNull;
+import org.openide.awt.ActionID;
+import org.openide.awt.ActionReference;
+import org.openide.awt.ActionReferences;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.MIMEResolver;
import org.openide.util.lookup.ServiceProvider;
@@ -28,6 +31,64 @@ import org.openide.util.lookup.ServiceProvider;
*
* @author Tomas Zezula
*/
+@ActionReferences({
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "System", id = "org.openide.actions.OpenAction"),
+ position = 100,
+ separatorAfter = 200
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "Edit", id = "org.openide.actions.CutAction"),
+ position = 300
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "Edit", id = "org.openide.actions.CopyAction"),
+ position = 400
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "Edit", id = "org.openide.actions.PasteAction"),
+ position = 500,
+ separatorAfter = 600
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "Edit", id = "org.openide.actions.DeleteAction"),
+ position = 700
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "System", id = "org.openide.actions.RenameAction"),
+ position = 800,
+ separatorAfter = 900
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "System", id = "org.openide.actions.SaveAsTemplateAction"),
+ position = 1000,
+ separatorAfter = 1100
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "System", id = "org.openide.actions.FileSystemAction"),
+ position = 1200,
+ separatorAfter = 1300
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "System", id = "org.openide.actions.ToolsAction"),
+ position = 1400
+ ),
+ @ActionReference(
+ path = "Loaders/text/x-dockerfile/Actions",
+ id = @ActionID(category = "System", id = "org.openide.actions.PropertiesAction"),
+ position = 1500
+ )
+})
+
@ServiceProvider(service = MIMEResolver.class)
public final class DockerfileResolver extends MIMEResolver {
diff --git a/ide/docker.editor/src/org/netbeans/modules/docker/editor/layer.xml b/ide/docker.editor/src/org/netbeans/modules/docker/editor/layer.xml
index a5e546f705..0d30df98e2 100644
--- a/ide/docker.editor/src/org/netbeans/modules/docker/editor/layer.xml
+++ b/ide/docker.editor/src/org/netbeans/modules/docker/editor/layer.xml
@@ -24,66 +24,7 @@
<folder name="Loaders">
<folder name="text">
<folder name="x-dockerfile">
- <attr name="SystemFileSystem.icon" urlvalue="nbresloc:/org/netbeans/modules/docker/editor/resources/docker_file.png"/>
<attr name="iconBase" stringvalue="org/netbeans/modules/docker/editor/resources/docker_file.png"/>
- <folder name="Actions">
- <file name="OpenAction.shadow">
- <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-OpenAction.instance"/>
- <attr name="position" intvalue="100"/>
- </file>
- <file name="Separator1.instance">
- <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
- <attr name="position" intvalue="200"/>
- </file>
- <file name="CutAction.shadow">
- <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-CutAction.instance"/>
- <attr name="position" intvalue="300"/>
- </file>
- <file name="CopyAction.shadow">
- <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-CopyAction.instance"/>
- <attr name="position" intvalue="400"/>
- </file>
- <file name="PasteAction.shadow">
- <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-PasteAction.instance"/>
- <attr name="position" intvalue="500"/>
- </file>
- <file name="Separator2.instance">
- <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
- <attr name="position" intvalue="600"/>
- </file>
- <file name="NewAction.shadow">
- <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-NewAction.instance"/>
- <attr name="position" intvalue="700"/>
- </file>
- <file name="DeleteAction.shadow">
- <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-DeleteAction.instance"/>
- <attr name="position" intvalue="800"/>
- </file>
- <file name="SaveAsTemplateAction.shadow">
- <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-SaveAsTemplateAction.instance"/>
- <attr name="position" intvalue="1100"/>
- </file>
- <file name="Separator3.instance">
- <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
- <attr name="position" intvalue="1200"/>
- </file>
- <file name="FileSystemAction.shadow">
- <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-FileSystemAction.instance"/>
- <attr name="position" intvalue="1300"/>
- </file>
- <file name="Separator4.instance">
- <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
- <attr name="position" intvalue="1400"/>
- </file>
- <file name="ToolsAction.shadow">
- <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-ToolsAction.instance"/>
- <attr name="position" intvalue="1500"/>
- </file>
- <file name="PropertiesAction.shadow">
- <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-PropertiesAction.instance"/>
- <attr name="position" intvalue="1600"/>
- </file>
- </folder>
</folder>
</folder>
</folder>
---------------------------------------------------------------------
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