This is an automated email from the ASF dual-hosted git repository.
cgarcia pushed a commit to branch feature/app
in repository https://gitbox.apache.org/repos/asf/plc4x-extras.git
The following commit(s) were added to refs/heads/feature/app by this push:
new 01f3a25 Test Node LogicalView.
01f3a25 is described below
commit 01f3a251e65cac0e5653953e806dd22b3314ef37
Author: César García <[email protected]>
AuthorDate: Wed Feb 11 10:26:14 2026 -0400
Test Node LogicalView.
---
.../tools/malbec/application/nb-configuration.xml | 2 +-
plc4j/tools/malbec/application/pom.xml | 5 ++
.../hmi => malbec-core/core-css}/pom.xml | 85 +++++++++++-------
.../css/impl/PhoebusOptionsPanelController.java | 86 ++++++++++++++++++
.../plc4x/malbec/core/css/impl/PhoebusPanel.form | 49 +++++++++++
.../plc4x/malbec/core/css/impl/PhoebusPanel.java | 64 ++++++++++++++
.../plc4x/malbec/core/css/impl}/package-info.java | 17 +++-
.../malbec-core/core-css/src/main/nbm/manifest.mf | 3 +
.../plc4x/malbec/core/css/impl/Bundle.properties | 6 ++
.../apache/plc4x/malbec/core/css/impl/CCS_logo.png | Bin 0 -> 690 bytes
.../apache/plc4x/malbec/core/css/impl/CSS_logo.png | Bin 0 -> 690 bytes
.../plc4x/malbec/core/css/impl/telemetryView32.png | Bin 0 -> 1463 bytes
plc4j/tools/malbec/malbec-core/pom.xml | 3 +
plc4j/tools/malbec/nb-configuration.xml | 2 +-
.../malbec/projecttype/comms/nb-configuration.xml | 2 +-
plc4j/tools/malbec/projecttype/comms/pom.xml | 1 +
.../impl/Plc4xCommsSubProjectFactoryImpl.java | 2 +-
...lc4xCommsSubProjectLogicalViewProviderImpl.java | 2 +-
.../impl/Plc4xCommsSubProjectProviderImpl.java | 29 +++---
.../Plc4xCommsSubProjectNodeFactoryImpl.java | 9 +-
.../malbec/projecttype/events/nb-configuration.xml | 2 +-
...c4xEventsSubProjectLogicalViewProviderImpl.java | 2 +-
.../impl/Plc4xEventsSubProjectProviderImpl.java | 20 ++---
.../Plc4xEventsSubProjectNodeFactoryImpl.java | 7 +-
.../malbec/projecttype/hmi/nb-configuration.xml | 2 +-
plc4j/tools/malbec/projecttype/hmi/pom.xml | 64 +++++++++-----
.../plc4x/malbec/hmi/ftype/package-info.java | 2 +-
...Mpl.java => Plc4xHMISubProjectFactoryImpl.java} | 10 +--
.../malbec/hmi/impl/Plc4xHMISubProjectImpl.java | 12 ++-
.../hmi/impl/Plc4xHMISubProjectProviderImpl.java | 32 +++++--
.../Plc4xHMISubProjectNodeFactoryImpl.java | 38 +++++---
.../malbec/projecttype/{comms => htc}/pom.xml | 9 +-
.../htc/impl/Plc4xHtcSubProjectFactoryImpl.java} | 10 +--
.../malbec/htc/impl/Plc4xHtcSubProjectImpl.java} | 33 +++----
...Plc4xHtcSubProjectLogicalViewProviderImpl.java} | 12 +--
.../htc/impl/Plc4xHtcSubProjectProviderImpl.java} | 33 ++++---
.../nodes/Plc4xHtcSubProjectNodeFactoryImpl.java} | 28 +++---
.../projecttype/htc/src/main/nbm/manifest.mf | 3 +
.../apache/plc4x/malbec/htc/impl/Bundle.properties | 6 ++
.../plc4x/malbec/htc/nodes/FolderBlue-Open.png | Bin 0 -> 437 bytes
.../apache/plc4x/malbec/htc/nodes/FolderBlue.png | Bin 0 -> 246 bytes
.../projecttype/impl/Plc4xProjectFactoryImpl.java | 2 +-
.../malbec/projecttype/impl/Plc4xProjectImpl.java | 6 +-
.../nodes/Plc4xProjectNodeFactoryImpl.java | 19 +---
.../malbec/projecttype/nodes/TextsNodeFactory.java | 98 ---------------------
.../malbec/projecttype/{comms => pics}/pom.xml | 9 +-
.../pics/impl/Plc4xPicsSubProjectFactoryImpl.java} | 10 +--
.../malbec/pics/impl/Plc4xPicsSubProjectImpl.java} | 33 +++----
...lc4xPicsSubProjectLogicalViewProviderImpl.java} | 12 +--
.../impl/Plc4xPicsSubProjectProviderImpl.java} | 33 ++++---
.../nodes/Plc4xPicsSubProjectNodeFactoryImpl.java} | 21 ++---
.../projecttype/pics/src/main/nbm/manifest.mf | 3 +
.../plc4x/malbec/pics/impl/Bundle.properties | 6 ++
.../plc4x/malbec/pics/nodes/FolderBlue-Open.png | Bin 0 -> 437 bytes
.../apache/plc4x/malbec/pics/nodes/FolderBlue.png | Bin 0 -> 246 bytes
plc4j/tools/malbec/projecttype/pom.xml | 2 +
.../projecttype/recipes/nb-configuration.xml | 2 +-
.../impl/Plc4xRecipesSubProjectProviderImpl.java | 21 +++--
.../Plc4xRecipesSubProjectNodeFactoryImpl.java | 5 +-
59 files changed, 581 insertions(+), 393 deletions(-)
diff --git a/plc4j/tools/malbec/application/nb-configuration.xml
b/plc4j/tools/malbec/application/nb-configuration.xml
index a9d1710..b248b9d 100644
--- a/plc4j/tools/malbec/application/nb-configuration.xml
+++ b/plc4j/tools/malbec/application/nb-configuration.xml
@@ -14,6 +14,6 @@ That way multiple projects can share the same settings
(useful for formatting ru
Any value defined here will override the pom.xml file value but is only
applicable to the current project.
-->
<com-github-philippefichet-sonarlint4netbeans.excludedRules>[{"repository":"php","rule":"S3335"},{"repository":"php","rule":"S3336"},{"repository":"php","rule":"S2002"},{"repository":"php","rule":"S2005"},{"repository":"php","rule":"S3333"},{"repository":"php","rule":"S3334"},{"repository":"Web","rule":"ImgWithoutWidthOrHeightCheck"},{"repository":"php","rule":"S1151"},{"repository":"php","rule":"S3332"},{"repository":"php","rule":"S2001"},{"repository":"Web","rule":"UnclosedTagC
[...]
- <netbeans.hint.jdkPlatform>Zulu_21.0.9_10</netbeans.hint.jdkPlatform>
+ <netbeans.hint.jdkPlatform>JDK_21__System_</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>
diff --git a/plc4j/tools/malbec/application/pom.xml
b/plc4j/tools/malbec/application/pom.xml
index 92e6eba..debb972 100644
--- a/plc4j/tools/malbec/application/pom.xml
+++ b/plc4j/tools/malbec/application/pom.xml
@@ -186,6 +186,11 @@
<artifactId>comms</artifactId>
<version>0.13.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.plc4x.malbec.core.css</groupId>
+ <artifactId>core-css</artifactId>
+ <version>0.13.0-SNAPSHOT</version>
+ </dependency>
</dependencies>
<build>
diff --git a/plc4j/tools/malbec/projecttype/hmi/pom.xml
b/plc4j/tools/malbec/malbec-core/core-css/pom.xml
similarity index 75%
copy from plc4j/tools/malbec/projecttype/hmi/pom.xml
copy to plc4j/tools/malbec/malbec-core/core-css/pom.xml
index ae3bf05..52e4b29 100644
--- a/plc4j/tools/malbec/projecttype/hmi/pom.xml
+++ b/plc4j/tools/malbec/malbec-core/core-css/pom.xml
@@ -2,12 +2,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>malbec-projecttype</artifactId>
+ <groupId>org.apache.plc4x.malbec.core</groupId>
+ <artifactId>malbec-core</artifactId>
<version>0.13.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.plc4x.malbec.hmi</groupId>
- <artifactId>hmi</artifactId>
+ <groupId>org.apache.plc4x.malbec.core.css</groupId>
+ <artifactId>core-css</artifactId>
<packaging>nbm</packaging>
<build>
<plugins>
@@ -15,12 +15,6 @@
<groupId>org.apache.netbeans.utilities</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<extensions>true</extensions>
- <configuration>
- <publicPackages>
-
<publicPackage>org.apache.plc4x.malbec.hmi.ftype</publicPackage>
-
<publicPackage>org.apache.plc4x.malbec.hmi.impl</publicPackage>
- </publicPackages>
- </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -39,100 +33,125 @@
<showDeprecation>false</showDeprecation>
<proc>full</proc>
</configuration>
- </plugin>
+ </plugin>
</plugins>
</build>
<dependencies>
+ <!-- Common Annotations - org.netbeans.api.annotations.common -->
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-api-annotations-common</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- Datasystems API - org.openide.loader -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-netbeans-api-templates</artifactId>
+ <artifactId>org-openide-loaders</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- Dialogs API - org.openide.dialogs -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-filesystems</artifactId>
+ <artifactId>org-openide-dialogs</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- File System API - org.openide.filesystems -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-loaders</artifactId>
+ <artifactId>org-openide-filesystems</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+ <!-- Lookup API - org.openide.util.lookup -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-nodes</artifactId>
+ <artifactId>org-openide-util-lookup</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+ <!-- Nodes API - org.openide.nodes -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-util</artifactId>
+ <artifactId>org-openide-nodes</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- Project API - org.netbeans.modules.projectapi -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-util-lookup</artifactId>
+ <artifactId>org-netbeans-modules-projectapi</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- Project UI API - org.netbeans.modules.projectuiapi -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-util-ui</artifactId>
+ <artifactId>org-netbeans-modules-projectuiapi</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+ <!-- UI Utilities - org.openide.awt -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-windows</artifactId>
+ <artifactId>org-openide-util-ui</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+ <!-- UI Utilities - org.openide.util -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-text</artifactId>
+ <artifactId>org-openide-util</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-netbeans-core-multiview</artifactId>
+ <artifactId>org-netbeans-api-templates</artifactId>
<version>${netbeans.version}</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-awt</artifactId>
+ <artifactId>org-openide-windows</artifactId>
<version>${netbeans.version}</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-dialogs</artifactId>
+ <artifactId>org-openide-text</artifactId>
<version>${netbeans.version}</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-netbeans-modules-projectapi</artifactId>
+ <artifactId>org-netbeans-core-multiview</artifactId>
<version>${netbeans.version}</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-netbeans-modules-projectuiapi</artifactId>
+ <artifactId>org-openide-awt</artifactId>
<version>${netbeans.version}</version>
- <type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.plc4x.malbec.comms</groupId>
<artifactId>comms</artifactId>
- <version>0.13.0-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.plc4x.malbec.recipes</groupId>
<artifactId>recipes</artifactId>
- <version>0.13.0-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.plc4x.malbec.events</groupId>
<artifactId>events</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x.malbec.pics</groupId>
+ <artifactId>pics</artifactId>
<version>0.13.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.plc4x.malbec.htc</groupId>
+ <artifactId>htc</artifactId>
+ <version>0.13.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.netbeans.api</groupId>
+ <artifactId>org-netbeans-modules-options-api</artifactId>
+ <version>${netbeans.version}</version>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git
a/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusOptionsPanelController.java
b/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusOptionsPanelController.java
new file mode 100644
index 0000000..c266723
--- /dev/null
+++
b/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusOptionsPanelController.java
@@ -0,0 +1,86 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt
to change this license
+ * Click
nbfs://nbhost/SystemFileSystem/Templates/NetBeansModuleDevelopment-files/template_mypluginOptionsPanelController.java
to edit this template
+ */
+package org.apache.plc4x.malbec.core.css.impl;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import javax.swing.JComponent;
+import javax.swing.SwingUtilities;
+import org.netbeans.spi.options.OptionsPanelController;
+import org.openide.util.HelpCtx;
+import org.openide.util.Lookup;
+
[email protected](
+ location = "CSS",
+ displayName = "#AdvancedOption_DisplayName_Phoebus",
+ keywords = "#AdvancedOption_Keywords_Phoebus",
+ keywordsCategory = "CSS/Phoebus"
+)
[email protected]({"AdvancedOption_DisplayName_Phoebus=Phoebus",
"AdvancedOption_Keywords_Phoebus=Phoebus"})
+public final class PhoebusOptionsPanelController extends
OptionsPanelController {
+
+ private PhoebusPanel panel;
+ private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
+ private boolean changed;
+
+ public void update() {
+ getPanel().load();
+ changed = false;
+ }
+
+ public void applyChanges() {
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ getPanel().store();
+ changed = false;
+ }
+ });
+ }
+
+ public void cancel() {
+ // need not do anything special, if no changes have been persisted yet
+ }
+
+ public boolean isValid() {
+ return getPanel().valid();
+ }
+
+ public boolean isChanged() {
+ return changed;
+ }
+
+ public HelpCtx getHelpCtx() {
+ return null; // new HelpCtx("...ID") if you have a help set
+ }
+
+ public JComponent getComponent(Lookup masterLookup) {
+ return getPanel();
+ }
+
+ public void addPropertyChangeListener(PropertyChangeListener l) {
+ pcs.addPropertyChangeListener(l);
+ }
+
+ public void removePropertyChangeListener(PropertyChangeListener l) {
+ pcs.removePropertyChangeListener(l);
+ }
+
+ private PhoebusPanel getPanel() {
+ if (panel == null) {
+ panel = new PhoebusPanel(this);
+ }
+ return panel;
+ }
+
+ void changed() {
+ if (!changed) {
+ changed = true;
+ pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false,
true);
+ }
+ pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
+ }
+
+}
diff --git
a/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusPanel.form
b/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusPanel.form
new file mode 100644
index 0000000..26c71bd
--- /dev/null
+++
b/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusPanel.form
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<Form version="1.3" maxVersion="1.9"
type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+ <AuxValues>
+ <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer"
value="1"/>
+ <AuxValue name="FormSettings_autoSetComponentName"
type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean"
value="true"/>
+ <AuxValue name="FormSettings_generateMnemonicsCode"
type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean"
value="true"/>
+ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer"
value="1"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle"
type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean"
value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer"
value="2"/>
+ </AuxValues>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <EmptySpace min="0" pref="202" max="32767" attributes="0"/>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <EmptySpace min="0" pref="68" max="32767" attributes="0"/>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+</Form>
diff --git
a/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusPanel.java
b/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusPanel.java
new file mode 100644
index 0000000..5f98b64
--- /dev/null
+++
b/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/PhoebusPanel.java
@@ -0,0 +1,64 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt
to change this license
+ * Click
nbfs://nbhost/SystemFileSystem/Templates/NetBeansModuleDevelopment-files/template_mypluginPanel.java
to edit this template
+ */
+package org.apache.plc4x.malbec.core.css.impl;
+
+final class PhoebusPanel extends javax.swing.JPanel {
+
+ private final PhoebusOptionsPanelController controller;
+
+ PhoebusPanel(PhoebusOptionsPanelController controller) {
+ this.controller = controller;
+ initComponents();
+ // TODO listen to changes in form fields and call controller.changed()
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the
form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc="Generated
Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+ this.setLayout(layout);
+ layout.setHorizontalGroup(
+
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 202, Short.MAX_VALUE)
+ );
+ layout.setVerticalGroup(
+
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 68, Short.MAX_VALUE)
+ );
+ }// </editor-fold>//GEN-END:initComponents
+
+ void load() {
+ // TODO read settings and initialize GUI
+ // Example:
+ //
someCheckBox.setSelected(Preferences.userNodeForPackage(PhoebusPanel.class).getBoolean("someFlag",
false));
+ // or for org.openide.util with API spec. version >= 7.4:
+ //
someCheckBox.setSelected(NbPreferences.forModule(PhoebusPanel.class).getBoolean("someFlag",
false));
+ // or:
+ //
someTextField.setText(SomeSystemOption.getDefault().getSomeStringProperty());
+ }
+
+ void store() {
+ // TODO store modified settings
+ // Example:
+ //
Preferences.userNodeForPackage(PhoebusPanel.class).putBoolean("someFlag",
someCheckBox.isSelected());
+ // or for org.openide.util with API spec. version >= 7.4:
+ // NbPreferences.forModule(PhoebusPanel.class).putBoolean("someFlag",
someCheckBox.isSelected());
+ // or:
+ //
SomeSystemOption.getDefault().setSomeStringProperty(someTextField.getText());
+ }
+
+ boolean valid() {
+ // TODO check whether form is consistent and complete
+ return true;
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ // End of variables declaration//GEN-END:variables
+}
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/ftype/package-info.java
b/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/package-info.java
similarity index 58%
copy from
plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/ftype/package-info.java
copy to
plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/package-info.java
index 06d66f1..78635a4 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/ftype/package-info.java
+++
b/plc4j/tools/malbec/malbec-core/core-css/src/main/java/org/apache/plc4x/malbec/core/css/impl/package-info.java
@@ -16,7 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-@TemplateRegistration(folder = "pictures", content =
"Plc4xBobFileTypeTemplate.bob")
-package org.apache.plc4x.malbec.hmi.ftype;
[email protected](
+ id = "CSS",
+ categoryName = "#OptionsCategory_Name_CSS",
+ iconBase =
"org/apache/plc4x/malbec/core/css/impl/telemetryView32.png",
+ keywords = "#OptionsCategory_Keywords_CSS",
+ keywordsCategory = "CSS",
+ position = 3000)
[email protected](value = {
+ "OptionsCategory_Name_CSS=CSS",
+ "OptionsCategory_Keywords_CSS=css CSS Phoebus"
+})
+package org.apache.plc4x.malbec.core.css.impl;
-import org.netbeans.api.templates.TemplateRegistration;
+import org.netbeans.spi.options.OptionsPanelController;
+import org.openide.util.NbBundle;
diff --git a/plc4j/tools/malbec/malbec-core/core-css/src/main/nbm/manifest.mf
b/plc4j/tools/malbec/malbec-core/core-css/src/main/nbm/manifest.mf
new file mode 100644
index 0000000..90999bd
--- /dev/null
+++ b/plc4j/tools/malbec/malbec-core/core-css/src/main/nbm/manifest.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+OpenIDE-Module-Localizing-Bundle:
org/apache/plc4x/malbec/core/css/impl/Bundle.properties
+
diff --git
a/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/Bundle.properties
b/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/Bundle.properties
new file mode 100644
index 0000000..988520a
--- /dev/null
+++
b/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/Bundle.properties
@@ -0,0 +1,6 @@
+#Localized module labels. Defaults taken from POM (<name>, <description>,
<groupId>) if unset.
+#OpenIDE-Module-Name=
+#OpenIDE-Module-Short-Description=
+#OpenIDE-Module-Long-Description=
+#OpenIDE-Module-Display-Category=
+#Sun Feb 08 19:36:12 GMT-04:00 2026
diff --git
a/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/CCS_logo.png
b/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/CCS_logo.png
new file mode 100644
index 0000000..4205f09
Binary files /dev/null and
b/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/CCS_logo.png
differ
diff --git
a/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/CSS_logo.png
b/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/CSS_logo.png
new file mode 100644
index 0000000..4205f09
Binary files /dev/null and
b/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/CSS_logo.png
differ
diff --git
a/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/telemetryView32.png
b/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/telemetryView32.png
new file mode 100644
index 0000000..f0ce25f
Binary files /dev/null and
b/plc4j/tools/malbec/malbec-core/core-css/src/main/resources/org/apache/plc4x/malbec/core/css/impl/telemetryView32.png
differ
diff --git a/plc4j/tools/malbec/malbec-core/pom.xml
b/plc4j/tools/malbec/malbec-core/pom.xml
index ce9b190..05b4a0c 100644
--- a/plc4j/tools/malbec/malbec-core/pom.xml
+++ b/plc4j/tools/malbec/malbec-core/pom.xml
@@ -9,4 +9,7 @@
<groupId>org.apache.plc4x.malbec.core</groupId>
<artifactId>malbec-core</artifactId>
<packaging>pom</packaging>
+ <modules>
+ <module>core-css</module>
+ </modules>
</project>
\ No newline at end of file
diff --git a/plc4j/tools/malbec/nb-configuration.xml
b/plc4j/tools/malbec/nb-configuration.xml
index 583af25..6dee979 100644
--- a/plc4j/tools/malbec/nb-configuration.xml
+++ b/plc4j/tools/malbec/nb-configuration.xml
@@ -14,7 +14,7 @@ That way multiple projects can share the same settings
(useful for formatting ru
Any value defined here will override the pom.xml file value but is only
applicable to the current project.
-->
<com-github-philippefichet-sonarlint4netbeans.excludedRules>[{"repository":"php","rule":"S3335"},{"repository":"php","rule":"S3336"},{"repository":"php","rule":"S2002"},{"repository":"php","rule":"S2005"},{"repository":"php","rule":"S3333"},{"repository":"php","rule":"S3334"},{"repository":"Web","rule":"ImgWithoutWidthOrHeightCheck"},{"repository":"php","rule":"S1151"},{"repository":"php","rule":"S3332"},{"repository":"php","rule":"S2001"},{"repository":"Web","rule":"UnclosedTagC
[...]
- <netbeans.hint.jdkPlatform>Zulu_21.0.9_10</netbeans.hint.jdkPlatform>
+ <netbeans.hint.jdkPlatform>JDK_21__System_</netbeans.hint.jdkPlatform>
<com-github-philippefichet-sonarlint4netbeans.sonarlint-preference-scope>global</com-github-philippefichet-sonarlint4netbeans.sonarlint-preference-scope>
<com-github-philippefichet-sonarlint4netbeans.extraProperties>{}</com-github-philippefichet-sonarlint4netbeans.extraProperties>
<org-netbeans-modules-javascript2-requirejs.enabled>true</org-netbeans-modules-javascript2-requirejs.enabled>
diff --git a/plc4j/tools/malbec/projecttype/comms/nb-configuration.xml
b/plc4j/tools/malbec/projecttype/comms/nb-configuration.xml
index 996b1a3..b3f4de9 100644
--- a/plc4j/tools/malbec/projecttype/comms/nb-configuration.xml
+++ b/plc4j/tools/malbec/projecttype/comms/nb-configuration.xml
@@ -13,6 +13,6 @@ You can copy and paste the single properties, into the
pom.xml file and the IDE
That way multiple projects can share the same settings (useful for formatting
rules for example).
Any value defined here will override the pom.xml file value but is only
applicable to the current project.
-->
- <netbeans.hint.jdkPlatform>Zulu_21.0.9_10</netbeans.hint.jdkPlatform>
+ <netbeans.hint.jdkPlatform>JDK_21__System_</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>
diff --git a/plc4j/tools/malbec/projecttype/comms/pom.xml
b/plc4j/tools/malbec/projecttype/comms/pom.xml
index cd14f4b..078b786 100644
--- a/plc4j/tools/malbec/projecttype/comms/pom.xml
+++ b/plc4j/tools/malbec/projecttype/comms/pom.xml
@@ -18,6 +18,7 @@
<configuration>
<publicPackages>
<publicPackage>org.apache.plc4x.malbec.comms.impl</publicPackage>
+
<publicPackage>org.apache.plc4x.malbec.comms.nodes</publicPackage>
</publicPackages>
</configuration>
</plugin>
diff --git
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
b/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
index 43c3577..79ec7ce 100644
---
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
@@ -32,7 +32,7 @@ public class Plc4xCommsSubProjectFactoryImpl implements
ProjectFactory {
@Override
public boolean isProject(FileObject fo) {
- boolean isCommsFolder =
fo.getName().equalsIgnoreCase(COMMS_SUBPROJECT_DIRECTORY) && fo.isFolder();
+ boolean isCommsFolder =
fo.getName().equalsIgnoreCase(COMMS_SUBPROJECT_DIRECTORY) && fo.isFolder();
return isCommsFolder;
}
diff --git
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
b/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
index 494f122..28f7456 100644
---
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
@@ -45,7 +45,7 @@ public class Plc4xCommsSubProjectLogicalViewProviderImpl
implements LogicalView
private final Project project;
public Plc4xCommsSubProjectLogicalViewProviderImpl(Project project) {
- this.project = null;
+ this.project = project;
}
@Override
diff --git
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectProviderImpl.java
b/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectProviderImpl.java
index e1a11cf..931596f 100644
---
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectProviderImpl.java
@@ -56,25 +56,20 @@ public class Plc4xCommsSubProjectProviderImpl implements
SubprojectProvider {
public Set loadProjects(FileObject dir) {
Set newProjects = new HashSet();
- FileObject reportsFolder =
dir.getFileObject(COMMS_SUBPROJECT_DIRECTORY);
- System.out.println("2>> " + dir.getName());
- System.out.println("3>> " + dir.getPath());
- if (reportsFolder != null) {
- System.out.println("4>> " + reportsFolder.getName());
- for (FileObject childFolder : reportsFolder.getChildren()) {
- try {
- System.out.println("5>> " + childFolder.getName());
- Project subp = ProjectManager.getDefault().
- findProject(reportsFolder);
- if (subp != null && subp instanceof
Plc4xCommsSubProjectImpl) {
- newProjects.add((Plc4xCommsSubProjectImpl) subp);
- }
- } catch (IOException ex) {
- Exceptions.printStackTrace(ex);
- } catch (IllegalArgumentException ex) {
- Exceptions.printStackTrace(ex);
+ FileObject reportsFolder =
dir.getFileObject(COMMS_SUBPROJECT_DIRECTORY);
+ if (reportsFolder != null) {
+ try {
+ Project subp = ProjectManager.getDefault().
+ findProject(reportsFolder);
+ if (subp != null && subp instanceof Plc4xCommsSubProjectImpl)
{
+ newProjects.add((Plc4xCommsSubProjectImpl) subp);
}
+ } catch (IOException ex) {
+ Exceptions.printStackTrace(ex);
+ } catch (IllegalArgumentException ex) {
+ Exceptions.printStackTrace(ex);
}
+
}
return Collections.unmodifiableSet(newProjects);
}
diff --git
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectNodeFactoryImpl.java
b/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/nodes/Plc4xCommsSubProjectNodeFactoryImpl.java
similarity index 94%
rename from
plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectNodeFactoryImpl.java
rename to
plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/nodes/Plc4xCommsSubProjectNodeFactoryImpl.java
index 4a6a293..7626539 100644
---
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectNodeFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/nodes/Plc4xCommsSubProjectNodeFactoryImpl.java
@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.comms.impl;
+package org.apache.plc4x.malbec.comms.nodes;
import java.awt.Image;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.swing.event.ChangeListener;
+import org.apache.plc4x.malbec.comms.impl.Plc4xCommsSubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
import org.netbeans.spi.project.ui.support.NodeFactory;
@@ -34,7 +35,7 @@ import org.openide.nodes.Node;
import org.openide.util.Exceptions;
import org.openide.util.ImageUtilities;
[email protected](projectType = "org-plc4x-hmi-project", position = 20)
[email protected](projectType = "org-plc4x-hmi-project", position =
2000)
public class Plc4xCommsSubProjectNodeFactoryImpl implements NodeFactory {
@StaticResource()
@@ -44,7 +45,7 @@ public class Plc4xCommsSubProjectNodeFactoryImpl implements
NodeFactory {
public NodeList<?> createNodes(Project project) {
Plc4xCommsSubProjectProviderImpl rsp = project.getLookup().
lookup(Plc4xCommsSubProjectProviderImpl.class);
- assert rsp != null;
+ assert rsp != null;
return new ProjectsNodeList(rsp.getSubprojects());
}
@@ -76,7 +77,7 @@ public class Plc4xCommsSubProjectNodeFactoryImpl implements
NodeFactory {
@Override
public Node node(Project k) {
- FilterNode fn = null;
+ FilterNode fn = null;
try {
fn = new FilterNode(DataObject.find(k.
getProjectDirectory()).getNodeDelegate()){
diff --git a/plc4j/tools/malbec/projecttype/events/nb-configuration.xml
b/plc4j/tools/malbec/projecttype/events/nb-configuration.xml
index 996b1a3..b3f4de9 100644
--- a/plc4j/tools/malbec/projecttype/events/nb-configuration.xml
+++ b/plc4j/tools/malbec/projecttype/events/nb-configuration.xml
@@ -13,6 +13,6 @@ You can copy and paste the single properties, into the
pom.xml file and the IDE
That way multiple projects can share the same settings (useful for formatting
rules for example).
Any value defined here will override the pom.xml file value but is only
applicable to the current project.
-->
- <netbeans.hint.jdkPlatform>Zulu_21.0.9_10</netbeans.hint.jdkPlatform>
+ <netbeans.hint.jdkPlatform>JDK_21__System_</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>
diff --git
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectLogicalViewProviderImpl.java
b/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectLogicalViewProviderImpl.java
index 57e45a8..0f41155 100644
---
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectLogicalViewProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectLogicalViewProviderImpl.java
@@ -45,7 +45,7 @@ public class Plc4xEventsSubProjectLogicalViewProviderImpl
implements LogicalVie
private final Project project;
public Plc4xEventsSubProjectLogicalViewProviderImpl(Project project) {
- this.project = null;
+ this.project = project;
}
@Override
diff --git
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
b/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
index 0adadd5..c78a194 100644
---
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
@@ -58,18 +58,16 @@ public class Plc4xEventsSubProjectProviderImpl implements
SubprojectProvider {
Set newProjects = new HashSet();
FileObject reportsFolder =
dir.getFileObject(EVENTS_SUBPROJECT_DIRECTORY);
if (reportsFolder != null) {
- for (FileObject childFolder : reportsFolder.getChildren()) {
- try {
- Project subp = ProjectManager.getDefault().
- findProject(reportsFolder);
- if (subp != null && subp instanceof
Plc4xEventsSubProjectImpl) {
- newProjects.add((Plc4xEventsSubProjectImpl) subp);
- }
- } catch (IOException ex) {
- Exceptions.printStackTrace(ex);
- } catch (IllegalArgumentException ex) {
- Exceptions.printStackTrace(ex);
+ try {
+ Project subp = ProjectManager.getDefault().
+ findProject(reportsFolder);
+ if (subp != null && subp instanceof Plc4xEventsSubProjectImpl)
{
+ newProjects.add((Plc4xEventsSubProjectImpl) subp);
}
+ } catch (IOException ex) {
+ Exceptions.printStackTrace(ex);
+ } catch (IllegalArgumentException ex) {
+ Exceptions.printStackTrace(ex);
}
}
return Collections.unmodifiableSet(newProjects);
diff --git
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectNodeFactoryImpl.java
b/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/nodes/Plc4xEventsSubProjectNodeFactoryImpl.java
similarity index 96%
rename from
plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectNodeFactoryImpl.java
rename to
plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/nodes/Plc4xEventsSubProjectNodeFactoryImpl.java
index e3741e1..b39510d 100644
---
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectNodeFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/nodes/Plc4xEventsSubProjectNodeFactoryImpl.java
@@ -1,3 +1,5 @@
+package org.apache.plc4x.malbec.events.nodes;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -16,13 +18,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.events.impl;
+
import java.awt.Image;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.swing.event.ChangeListener;
+import org.apache.plc4x.malbec.events.impl.Plc4xEventsSubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
import org.netbeans.spi.project.ui.support.NodeFactory;
@@ -34,7 +37,7 @@ import org.openide.nodes.Node;
import org.openide.util.Exceptions;
import org.openide.util.ImageUtilities;
[email protected](projectType = "org-plc4x-hmi-project", position = 20)
[email protected](projectType = "org-plc4x-hmi-project", position =
3000)
public class Plc4xEventsSubProjectNodeFactoryImpl implements NodeFactory {
@StaticResource()
diff --git a/plc4j/tools/malbec/projecttype/hmi/nb-configuration.xml
b/plc4j/tools/malbec/projecttype/hmi/nb-configuration.xml
index 174ab38..eaca969 100644
--- a/plc4j/tools/malbec/projecttype/hmi/nb-configuration.xml
+++ b/plc4j/tools/malbec/projecttype/hmi/nb-configuration.xml
@@ -17,6 +17,6 @@ Any value defined here will override the pom.xml file value
but is only applicab
<com-github-philippefichet-sonarlint4netbeans.sonarlint-preference-scope>global</com-github-philippefichet-sonarlint4netbeans.sonarlint-preference-scope>
<com-github-philippefichet-sonarlint4netbeans.extraProperties>{}</com-github-philippefichet-sonarlint4netbeans.extraProperties>
<org-netbeans-modules-javascript2-requirejs.enabled>true</org-netbeans-modules-javascript2-requirejs.enabled>
- <netbeans.hint.jdkPlatform>Zulu_21.0.9_10</netbeans.hint.jdkPlatform>
+ <netbeans.hint.jdkPlatform>JDK_21__System_</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>
diff --git a/plc4j/tools/malbec/projecttype/hmi/pom.xml
b/plc4j/tools/malbec/projecttype/hmi/pom.xml
index ae3bf05..86a6b8d 100644
--- a/plc4j/tools/malbec/projecttype/hmi/pom.xml
+++ b/plc4j/tools/malbec/projecttype/hmi/pom.xml
@@ -43,95 +43,115 @@
</plugins>
</build>
<dependencies>
+ <!-- Common Annotations - org.netbeans.api.annotations.common -->
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-api-annotations-common</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- Datasystems API - org.openide.loader -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-netbeans-api-templates</artifactId>
+ <artifactId>org-openide-loaders</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- Dialogs API - org.openide.dialogs -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-filesystems</artifactId>
+ <artifactId>org-openide-dialogs</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- File System API - org.openide.filesystems -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-loaders</artifactId>
+ <artifactId>org-openide-filesystems</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+ <!-- Lookup API - org.openide.util.lookup -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-nodes</artifactId>
+ <artifactId>org-openide-util-lookup</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+ <!-- Nodes API - org.openide.nodes -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-util</artifactId>
+ <artifactId>org-openide-nodes</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- Project API - org.netbeans.modules.projectapi -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-util-lookup</artifactId>
+ <artifactId>org-netbeans-modules-projectapi</artifactId>
<version>${netbeans.version}</version>
</dependency>
+ <!-- Project UI API - org.netbeans.modules.projectuiapi -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-util-ui</artifactId>
+ <artifactId>org-netbeans-modules-projectuiapi</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+ <!-- UI Utilities - org.openide.awt -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-windows</artifactId>
+ <artifactId>org-openide-util-ui</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+ <!-- UI Utilities - org.openide.util -->
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-text</artifactId>
+ <artifactId>org-openide-util</artifactId>
<version>${netbeans.version}</version>
- </dependency>
+ </dependency>
+
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-netbeans-core-multiview</artifactId>
+ <artifactId>org-netbeans-api-templates</artifactId>
<version>${netbeans.version}</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-awt</artifactId>
+ <artifactId>org-openide-windows</artifactId>
<version>${netbeans.version}</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-openide-dialogs</artifactId>
+ <artifactId>org-openide-text</artifactId>
<version>${netbeans.version}</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-netbeans-modules-projectapi</artifactId>
+ <artifactId>org-netbeans-core-multiview</artifactId>
<version>${netbeans.version}</version>
</dependency>
<dependency>
<groupId>org.netbeans.api</groupId>
- <artifactId>org-netbeans-modules-projectuiapi</artifactId>
+ <artifactId>org-openide-awt</artifactId>
<version>${netbeans.version}</version>
- <type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.plc4x.malbec.comms</groupId>
<artifactId>comms</artifactId>
- <version>0.13.0-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.plc4x.malbec.recipes</groupId>
<artifactId>recipes</artifactId>
- <version>0.13.0-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.plc4x.malbec.events</groupId>
<artifactId>events</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x.malbec.pics</groupId>
+ <artifactId>pics</artifactId>
+ <version>0.13.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.plc4x.malbec.htc</groupId>
+ <artifactId>htc</artifactId>
<version>0.13.0-SNAPSHOT</version>
</dependency>
</dependencies>
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/ftype/package-info.java
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/ftype/package-info.java
index 06d66f1..0e1fc1d 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/ftype/package-info.java
+++
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/ftype/package-info.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-@TemplateRegistration(folder = "pictures", content =
"Plc4xBobFileTypeTemplate.bob")
+@TemplateRegistration(folder = "pictures", content =
"PLc4xBobFileTypeTemplate.bob")
package org.apache.plc4x.malbec.hmi.ftype;
import org.netbeans.api.templates.TemplateRegistration;
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectFactoryIMpl.java
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectFactoryImpl.java
similarity index 87%
rename from
plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectFactoryIMpl.java
rename to
plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectFactoryImpl.java
index d3ba3db..c5e6195 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectFactoryIMpl.java
+++
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectFactoryImpl.java
@@ -26,13 +26,13 @@ import org.openide.filesystems.FileObject;
import org.openide.util.lookup.ServiceProvider;
@ServiceProvider(service=ProjectFactory.class)
-public class Plc4xHMISubProjectFactoryImpl implements ProjectFactory {
-
- public static final String HMI_SUBPROJECT_DIRECTORY = "hmi";
+public class Plc4xHMISubProjectFactoryImpl implements ProjectFactory {
+
+ public static final String HMI_PROJECT_DIRECTORY = "hmi";
@Override
- public boolean isProject(FileObject fo) {
- boolean isHMIFolder =
fo.getName().equalsIgnoreCase(HMI_SUBPROJECT_DIRECTORY) && fo.isFolder();
+ public boolean isProject(FileObject fo) {
+ boolean isHMIFolder =
fo.getName().equalsIgnoreCase(HMI_PROJECT_DIRECTORY) && fo.isFolder();
return isHMIFolder;
}
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
index 636af24..24ee4d0 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
+++
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
@@ -23,6 +23,8 @@ import javax.swing.Icon;
import javax.swing.ImageIcon;
import org.apache.plc4x.malbec.comms.impl.Plc4xCommsSubProjectProviderImpl;
import org.apache.plc4x.malbec.events.impl.Plc4xEventsSubProjectProviderImpl;
+import org.apache.plc4x.malbec.htc.impl.Plc4xHtcSubProjectProviderImpl;
+import org.apache.plc4x.malbec.pics.impl.Plc4xPicsSubProjectProviderImpl;
import org.apache.plc4x.malbec.recipes.impl.Plc4xRecipesSubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
@@ -55,11 +57,13 @@ public class Plc4xHMISubProjectImpl implements Project {
lkp = Lookups.fixed(new Object[]{
// register your features here
new Plc4xHMISubProjectInformation(),
+ new Plc4xHMICustomizerProviderImpl(this),
new Plc4xHMISubProjectLogicalViewProviderImpl(this),
- new Plc4xHMICustomizerProviderImpl(this),
- new Plc4xCommsSubProjectProviderImpl(this),
- new Plc4xEventsSubProjectProviderImpl(this),
- new Plc4xRecipesSubProjectProviderImpl(this),
+ new Plc4xPicsSubProjectProviderImpl(this),
+ new Plc4xCommsSubProjectProviderImpl(this),
+ new Plc4xEventsSubProjectProviderImpl(this),
+ new Plc4xHtcSubProjectProviderImpl(this),
+ new Plc4xRecipesSubProjectProviderImpl(this),
});
}
return lkp;
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectProviderImpl.java
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectProviderImpl.java
index bbb3c36..73993f6 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectProviderImpl.java
@@ -41,6 +41,13 @@ public class Plc4xHMISubProjectProviderImpl implements
SubprojectProvider {
@Override
public Set<? extends Project> getSubprojects() {
+// System.out.println(".HMI: getSubProjects...");
+// Set newProjects = new HashSet();
+// var sf =
project.getProjectDirectory().getFileObject("/").getFolders(true);
+// sf.asIterator().forEachRemaining(fo ->
System.out.println(fo.getName()));
+// sf.asIterator().forEachRemaining(this);
+
+
return loadProjects(project.getProjectDirectory());
}
@@ -54,21 +61,32 @@ public class Plc4xHMISubProjectProviderImpl implements
SubprojectProvider {
//
}
- /*
+ /*
*
*/
public Set loadProjects(FileObject dir) {
Set newProjects = new HashSet();
+ Project subp = null;
FileObject reportsFolder = dir.getFileObject(HMI_SUBPROJECT_DIRECTORY);
- System.out.println("2> " + dir.getName());
- System.out.println("3> " + dir.getPath());
+ try {
+ subp = ProjectManager.getDefault().findProject(reportsFolder);
+ if (subp != null && subp instanceof Plc4xHMISubProjectImpl) {
+ newProjects.add((Plc4xHMISubProjectImpl) subp);
+ }
+ } catch (IOException ex) {
+ Exceptions.printStackTrace(ex);
+ } catch (IllegalArgumentException ex) {
+ Exceptions.printStackTrace(ex);
+ }
+
+
if (reportsFolder != null) {
for (FileObject childFolder : reportsFolder.getChildren()) {
try {
- Project subp = ProjectManager.getDefault().
- findProject(reportsFolder);
- if (subp != null && subp instanceof
Plc4xHMISubProjectImpl) {
- newProjects.add((Plc4xHMISubProjectImpl) subp);
+ subp =
ProjectManager.getDefault().findProject(childFolder);
+ if (null != subp) System.out.println(">> " +
subp.getProjectDirectory().getPath());
+ if (subp != null) {
+ newProjects.add(subp);
}
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectNodeFactoryImpl.java
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/nodes/Plc4xHMISubProjectNodeFactoryImpl.java
similarity index 71%
copy from
plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectNodeFactoryImpl.java
copy to
plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/nodes/Plc4xHMISubProjectNodeFactoryImpl.java
index db33a0a..53e278c 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectNodeFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/nodes/Plc4xHMISubProjectNodeFactoryImpl.java
@@ -16,15 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.hmi.impl;
+package org.apache.plc4x.malbec.hmi.nodes;
import java.awt.Image;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.swing.event.ChangeListener;
+import org.apache.plc4x.malbec.hmi.impl.Plc4xHMISubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
+import org.netbeans.api.project.ProjectManager;
+import org.netbeans.spi.project.ui.LogicalViewProvider;
import org.netbeans.spi.project.ui.support.NodeFactory;
import org.netbeans.spi.project.ui.support.NodeList;
import org.openide.loaders.DataObject;
@@ -77,20 +80,27 @@ public class Plc4xHMISubProjectNodeFactoryImpl implements
NodeFactory{
@Override
public Node node(Project k) {
- FilterNode fn = null;
+ FilterNode fn = null;
try {
- fn = new FilterNode(DataObject.find(k.
- getProjectDirectory()).getNodeDelegate()){
- @Override
- public Image getIcon(int type) {
- return ImageUtilities.loadImage(HMI_SUBPROJECT_ICON );
- }
- @Override
- public Image getOpenedIcon(int type) {
- return ImageUtilities.loadImage(HMI_SUBPROJECT_ICON );
- }
- };
- } catch (DataObjectNotFoundException ex) {
+ System.out.println("....K:" +
k.getProjectDirectory().getPath());
+// var n =
DataObject.find(k.getProjectDirectory()).getNodeDelegate();
+ var lvp = (LogicalViewProvider)
k.getLookup().lookup(LogicalViewProvider.class);
+ fn = new FilterNode(lvp.createLogicalView());
+// fn = new FilterNode(n){
+// @Override
+// public Image getIcon(int type) {
+//// return
ImageUtilities.loadImage(HMI_SUBPROJECT_ICON );
+// return lvp.createLogicalView().getIcon(type);
+// }
+// @Override
+// public Image getOpenedIcon(int type) {
+//// return
ImageUtilities.loadImage(HMI_SUBPROJECT_ICON );
+// return lvp.createLogicalView().getOpenedIcon(type);
+// }
+// };
+
+
+ } catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
return fn;
diff --git a/plc4j/tools/malbec/projecttype/comms/pom.xml
b/plc4j/tools/malbec/projecttype/htc/pom.xml
similarity index 93%
copy from plc4j/tools/malbec/projecttype/comms/pom.xml
copy to plc4j/tools/malbec/projecttype/htc/pom.xml
index cd14f4b..827fcbf 100644
--- a/plc4j/tools/malbec/projecttype/comms/pom.xml
+++ b/plc4j/tools/malbec/projecttype/htc/pom.xml
@@ -6,8 +6,8 @@
<artifactId>malbec-projecttype</artifactId>
<version>0.13.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.plc4x.malbec.comms</groupId>
- <artifactId>comms</artifactId>
+ <groupId>org.apache.plc4x.malbec.htc</groupId>
+ <artifactId>htc</artifactId>
<packaging>nbm</packaging>
<build>
<plugins>
@@ -17,7 +17,8 @@
<extensions>true</extensions>
<configuration>
<publicPackages>
-
<publicPackage>org.apache.plc4x.malbec.comms.impl</publicPackage>
+
<publicPackage>org.apache.plc4x.malbec.htc.impl</publicPackage>
+
<publicPackage>org.apache.plc4x.malbec.htc.nodes</publicPackage>
</publicPackages>
</configuration>
</plugin>
@@ -38,7 +39,7 @@
<showDeprecation>false</showDeprecation>
<proc>full</proc>
</configuration>
- </plugin>
+ </plugin>
</plugins>
</build>
<dependencies>
diff --git
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectFactoryImpl.java
similarity index 79%
copy from
plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
copy to
plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectFactoryImpl.java
index 43c3577..c496092 100644
---
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectFactoryImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.comms.impl;
+package org.apache.plc4x.malbec.htc.impl;
import java.io.IOException;
import org.netbeans.api.project.Project;
@@ -26,19 +26,19 @@ import org.openide.filesystems.FileObject;
import org.openide.util.lookup.ServiceProvider;
@ServiceProvider(service=ProjectFactory.class)
-public class Plc4xCommsSubProjectFactoryImpl implements ProjectFactory {
+public class Plc4xHtcSubProjectFactoryImpl implements ProjectFactory {
- public static final String COMMS_SUBPROJECT_DIRECTORY = "comms";
+ public static final String HTC_SUBPROJECT_DIRECTORY = "htc";
@Override
public boolean isProject(FileObject fo) {
- boolean isCommsFolder =
fo.getName().equalsIgnoreCase(COMMS_SUBPROJECT_DIRECTORY) && fo.isFolder();
+ boolean isCommsFolder =
fo.getName().equalsIgnoreCase(HTC_SUBPROJECT_DIRECTORY) && fo.isFolder();
return isCommsFolder;
}
@Override
public Project loadProject(FileObject fo, ProjectState ps) throws
IOException {
- return isProject(fo) ? new Plc4xCommsSubProjectImpl(fo, ps) : null;
+ return isProject(fo) ? new Plc4xHtcSubProjectImpl(fo, ps) : null;
}
@Override
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectImpl.java
similarity index 68%
copy from
plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
copy to
plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectImpl.java
index 636af24..f98123f 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
+++
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectImpl.java
@@ -16,14 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.hmi.impl;
+package org.apache.plc4x.malbec.htc.impl;
import java.beans.PropertyChangeListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
-import org.apache.plc4x.malbec.comms.impl.Plc4xCommsSubProjectProviderImpl;
-import org.apache.plc4x.malbec.events.impl.Plc4xEventsSubProjectProviderImpl;
-import org.apache.plc4x.malbec.recipes.impl.Plc4xRecipesSubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
import org.netbeans.api.project.ProjectInformation;
@@ -33,17 +30,17 @@ import org.openide.util.ImageUtilities;
import org.openide.util.Lookup;
import org.openide.util.lookup.Lookups;
-public class Plc4xHMISubProjectImpl implements Project {
+public class Plc4xHtcSubProjectImpl implements Project {
private final FileObject projectDir;
private final ProjectState state;
- private Lookup lkp;
+ private Lookup lkp;
- public Plc4xHMISubProjectImpl(FileObject projectDir, ProjectState state) {
+ public Plc4xHtcSubProjectImpl(FileObject projectDir, ProjectState state) {
this.projectDir = projectDir;
this.state = state;
}
-
+
@Override
public FileObject getProjectDirectory() {
return projectDir;
@@ -54,21 +51,17 @@ public class Plc4xHMISubProjectImpl implements Project {
if (lkp == null) {
lkp = Lookups.fixed(new Object[]{
// register your features here
- new Plc4xHMISubProjectInformation(),
- new Plc4xHMISubProjectLogicalViewProviderImpl(this),
- new Plc4xHMICustomizerProviderImpl(this),
- new Plc4xCommsSubProjectProviderImpl(this),
- new Plc4xEventsSubProjectProviderImpl(this),
- new Plc4xRecipesSubProjectProviderImpl(this),
+ new Plc4xHtcSubProjectInformation(),
+ new Plc4xHtcSubProjectLogicalViewProviderImpl(this),
});
}
return lkp;
}
- private class Plc4xHMISubProjectInformation implements ProjectInformation {
+ private class Plc4xHtcSubProjectInformation implements ProjectInformation {
@StaticResource()
- public static final String HMI_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/hmi/nodes/PanelOperador.png";
+ public static final String HTC_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/htc/nodes/FolderBlue.png";
@Override
public String getName() {
@@ -82,12 +75,12 @@ public class Plc4xHMISubProjectImpl implements Project {
@Override
public Icon getIcon() {
- return new
ImageIcon(ImageUtilities.loadImage(HMI_SUBPROJECT_ICON));
+ return new
ImageIcon(ImageUtilities.loadImage(HTC_SUBPROJECT_ICON));
}
@Override
public Project getProject() {
- return Plc4xHMISubProjectImpl.this;
+ return Plc4xHtcSubProjectImpl.this;
}
@Override
@@ -100,8 +93,6 @@ public class Plc4xHMISubProjectImpl implements Project {
//
}
- }
-
-
+ }
}
diff --git
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectLogicalViewProviderImpl.java
similarity index 89%
copy from
plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
copy to
plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectLogicalViewProviderImpl.java
index 494f122..2cddc3a 100644
---
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectLogicalViewProviderImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.comms.impl;
+package org.apache.plc4x.malbec.htc.impl;
import java.awt.Image;
import javax.swing.Action;
@@ -37,15 +37,15 @@ import org.openide.util.Lookup;
import org.openide.util.lookup.Lookups;
import org.openide.util.lookup.ProxyLookup;
-public class Plc4xCommsSubProjectLogicalViewProviderImpl implements
LogicalViewProvider {
+public class Plc4xHtcSubProjectLogicalViewProviderImpl implements
LogicalViewProvider {
@StaticResource()
- public static final String COMMS_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/comms/nodes/FolderBlue.png";
+ public static final String HTC_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/htc/nodes/FolderBlue.png";
private final Project project;
- public Plc4xCommsSubProjectLogicalViewProviderImpl(Project project) {
- this.project = null;
+ public Plc4xHtcSubProjectLogicalViewProviderImpl(Project project) {
+ this.project = project;
}
@Override
@@ -98,7 +98,7 @@ public class Plc4xCommsSubProjectLogicalViewProviderImpl
implements LogicalView
@Override
public Image getIcon(int type) {
- return ImageUtilities.loadImage(COMMS_SUBPROJECT_ICON);
+ return ImageUtilities.loadImage(HTC_SUBPROJECT_ICON);
}
@Override
diff --git
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectProviderImpl.java
similarity index 64%
copy from
plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
copy to
plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectProviderImpl.java
index 0adadd5..e436582 100644
---
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/impl/Plc4xHtcSubProjectProviderImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.events.impl;
+package org.apache.plc4x.malbec.htc.impl;
import java.io.IOException;
import java.util.Collections;
@@ -29,13 +29,13 @@ import org.netbeans.spi.project.SubprojectProvider;
import org.openide.filesystems.FileObject;
import org.openide.util.Exceptions;
-public class Plc4xEventsSubProjectProviderImpl implements SubprojectProvider {
+public class Plc4xHtcSubProjectProviderImpl implements SubprojectProvider {
- public static final String EVENTS_SUBPROJECT_DIRECTORY = "events";
+ public static final String HTC_SUBPROJECT_DIRECTORY = "htc";
private final Project project;
- public Plc4xEventsSubProjectProviderImpl(Project project) {
+ public Plc4xHtcSubProjectProviderImpl(Project project) {
this.project = project;
}
@@ -56,21 +56,20 @@ public class Plc4xEventsSubProjectProviderImpl implements
SubprojectProvider {
public Set loadProjects(FileObject dir) {
Set newProjects = new HashSet();
- FileObject reportsFolder =
dir.getFileObject(EVENTS_SUBPROJECT_DIRECTORY);
- if (reportsFolder != null) {
- for (FileObject childFolder : reportsFolder.getChildren()) {
- try {
- Project subp = ProjectManager.getDefault().
- findProject(reportsFolder);
- if (subp != null && subp instanceof
Plc4xEventsSubProjectImpl) {
- newProjects.add((Plc4xEventsSubProjectImpl) subp);
- }
- } catch (IOException ex) {
- Exceptions.printStackTrace(ex);
- } catch (IllegalArgumentException ex) {
- Exceptions.printStackTrace(ex);
+ FileObject reportsFolder =
dir.getFileObject(HTC_SUBPROJECT_DIRECTORY);
+ if (reportsFolder != null) {
+ try {
+ Project subp = ProjectManager.getDefault().
+ findProject(reportsFolder);
+ if (subp != null && subp instanceof Plc4xHtcSubProjectImpl) {
+ newProjects.add((Plc4xHtcSubProjectImpl) subp);
}
+ } catch (IOException ex) {
+ Exceptions.printStackTrace(ex);
+ } catch (IllegalArgumentException ex) {
+ Exceptions.printStackTrace(ex);
}
+
}
return Collections.unmodifiableSet(newProjects);
}
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectNodeFactoryImpl.java
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/nodes/Plc4xHtcSubProjectNodeFactoryImpl.java
similarity index 81%
rename from
plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectNodeFactoryImpl.java
rename to
plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/nodes/Plc4xHtcSubProjectNodeFactoryImpl.java
index db33a0a..22f05ba 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectNodeFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/htc/src/main/java/org/apache/plc4x/malbec/htc/nodes/Plc4xHtcSubProjectNodeFactoryImpl.java
@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.hmi.impl;
+package org.apache.plc4x.malbec.htc.nodes;
import java.awt.Image;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.swing.event.ChangeListener;
+import org.apache.plc4x.malbec.htc.impl.Plc4xHtcSubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
import org.netbeans.spi.project.ui.support.NodeFactory;
@@ -31,21 +32,20 @@ import org.openide.loaders.DataObject;
import org.openide.loaders.DataObjectNotFoundException;
import org.openide.nodes.FilterNode;
import org.openide.nodes.Node;
-import static org.openide.nodes.NodeTransfer.node;
import org.openide.util.Exceptions;
import org.openide.util.ImageUtilities;
[email protected](projectType = "org-plc4x-project", position = 10)
-public class Plc4xHMISubProjectNodeFactoryImpl implements NodeFactory{
-
- @StaticResource()
- public static final String HMI_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/hmi/nodes/PanelOperador.png";
[email protected](projectType = "org-plc4x-hmi-project", position =
5000)
+public class Plc4xHtcSubProjectNodeFactoryImpl implements NodeFactory {
+ @StaticResource()
+ public static final String HTC_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/htc/nodes/FolderBlue.png";
+
@Override
public NodeList<?> createNodes(Project project) {
- Plc4xHMISubProjectProviderImpl rsp = project.getLookup().
- lookup(Plc4xHMISubProjectProviderImpl.class);
- assert rsp != null;
+ Plc4xHtcSubProjectProviderImpl rsp = project.getLookup().
+ lookup(Plc4xHtcSubProjectProviderImpl.class);
+ assert rsp != null;
return new ProjectsNodeList(rsp.getSubprojects());
}
@@ -78,16 +78,17 @@ public class Plc4xHMISubProjectNodeFactoryImpl implements
NodeFactory{
@Override
public Node node(Project k) {
FilterNode fn = null;
+
try {
fn = new FilterNode(DataObject.find(k.
getProjectDirectory()).getNodeDelegate()){
@Override
public Image getIcon(int type) {
- return ImageUtilities.loadImage(HMI_SUBPROJECT_ICON );
+ return ImageUtilities.loadImage(HTC_SUBPROJECT_ICON );
}
@Override
public Image getOpenedIcon(int type) {
- return ImageUtilities.loadImage(HMI_SUBPROJECT_ICON );
+ return ImageUtilities.loadImage(HTC_SUBPROJECT_ICON );
}
};
} catch (DataObjectNotFoundException ex) {
@@ -105,7 +106,6 @@ public class Plc4xHMISubProjectNodeFactoryImpl implements
NodeFactory{
public void removeNotify() {
//
}
- }
-
+ }
}
diff --git a/plc4j/tools/malbec/projecttype/htc/src/main/nbm/manifest.mf
b/plc4j/tools/malbec/projecttype/htc/src/main/nbm/manifest.mf
new file mode 100644
index 0000000..d8eb280
--- /dev/null
+++ b/plc4j/tools/malbec/projecttype/htc/src/main/nbm/manifest.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+OpenIDE-Module-Localizing-Bundle:
org/apache/plc4x/malbec/htc/impl/Bundle.properties
+
diff --git
a/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/impl/Bundle.properties
b/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/impl/Bundle.properties
new file mode 100644
index 0000000..98403f5
--- /dev/null
+++
b/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/impl/Bundle.properties
@@ -0,0 +1,6 @@
+#Localized module labels. Defaults taken from POM (<name>, <description>,
<groupId>) if unset.
+#OpenIDE-Module-Name=
+#OpenIDE-Module-Short-Description=
+#OpenIDE-Module-Long-Description=
+#OpenIDE-Module-Display-Category=
+#Sun Feb 08 17:03:58 GMT-04:00 2026
diff --git
a/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/nodes/FolderBlue-Open.png
b/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/nodes/FolderBlue-Open.png
new file mode 100644
index 0000000..2225cb0
Binary files /dev/null and
b/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/nodes/FolderBlue-Open.png
differ
diff --git
a/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/nodes/FolderBlue.png
b/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/nodes/FolderBlue.png
new file mode 100644
index 0000000..91800c1
Binary files /dev/null and
b/plc4j/tools/malbec/projecttype/htc/src/main/resources/org/apache/plc4x/malbec/htc/nodes/FolderBlue.png
differ
diff --git
a/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/impl/Plc4xProjectFactoryImpl.java
b/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/impl/Plc4xProjectFactoryImpl.java
index 19d2e86..a4bdc19 100644
---
a/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/impl/Plc4xProjectFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/impl/Plc4xProjectFactoryImpl.java
@@ -28,7 +28,7 @@ import org.openide.util.lookup.ServiceProvider;
@ServiceProvider(service=ProjectFactory.class)
public class Plc4xProjectFactoryImpl implements ProjectFactory {
- public static final String PROJECT_FILE = "customer.txt";
+ public static final String PROJECT_FILE = "config.cfg";
@Override
public boolean isProject(FileObject fo) {
diff --git
a/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/impl/Plc4xProjectImpl.java
b/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/impl/Plc4xProjectImpl.java
index 893c16e..e5253d2 100644
---
a/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/impl/Plc4xProjectImpl.java
+++
b/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/impl/Plc4xProjectImpl.java
@@ -62,7 +62,11 @@ public class Plc4xProjectImpl implements Project{
new Plc4xProjectLogicalViewImpl(this),
new Plc4xCustomizerProviderImpl(this),
new Plc4xGeneralPropertiesImpl(),
- new Plc4xHMISubProjectProviderImpl(this),
+ new Plc4xHMISubProjectProviderImpl(this),
+// new Plc4xCommsSubProjectProviderImpl(this),
+// new Plc4xEventsSubProjectProviderImpl(this),
+// new Plc4xRecipesSubProjectProviderImpl(this),
+
});
}
return lkp;
diff --git
a/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/nodes/Plc4xProjectNodeFactoryImpl.java
b/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/nodes/Plc4xProjectNodeFactoryImpl.java
index 1be8ea2..869c8a3 100644
---
a/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/nodes/Plc4xProjectNodeFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/nodes/Plc4xProjectNodeFactoryImpl.java
@@ -50,24 +50,7 @@ public class Plc4xProjectNodeFactoryImpl implements
NodeFactory {
@Override
public List<Node> keys() {
- List<Node> result = new ArrayList<Node>();
-
- Node node1 = new Plc4xHMINode(Children.LEAF);
- node1.setDisplayName("X1");
- result.add(node1);
-
- Node node2 = new Plc4xLanguageNode(Children.LEAF);
- node2.setDisplayName("X2");
- result.add(node2);
-
- Node node3 = new Plc4xUDTNode(Children.LEAF);
- node3.setDisplayName("X3");
- result.add(node3);
-
- Node node4 = new Plc4xVersionControlNode(Children.LEAF);
- node4.setDisplayName("X4");
- result.add(node4);
-
+ List<Node> result = new ArrayList<Node>();
return result;
}
diff --git
a/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/nodes/TextsNodeFactory.java
b/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/nodes/TextsNodeFactory.java
deleted file mode 100644
index 1b80522..0000000
---
a/plc4j/tools/malbec/projecttype/malbec-projecttype/src/main/java/org/apache/plc4x/malbec/projecttype/nodes/TextsNodeFactory.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.plc4x.malbec.projecttype.nodes;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import javax.swing.event.ChangeListener;
-import org.apache.plc4x.malbec.projecttype.impl.Plc4xProjectImpl;
-import org.netbeans.api.project.Project;
-import org.netbeans.spi.project.ui.support.NodeFactory;
-import org.netbeans.spi.project.ui.support.NodeList;
-import org.openide.filesystems.FileObject;
-import org.openide.loaders.DataObject;
-import org.openide.loaders.DataObjectNotFoundException;
-import org.openide.nodes.FilterNode;
-import org.openide.nodes.Node;
-import org.openide.util.Exceptions;
-
[email protected](projectType = "org-plc4x-project", position = 10)
-public class TextsNodeFactory implements NodeFactory {
-
- @Override
- public NodeList<?> createNodes(Project prjct) {
- Plc4xProjectImpl p = prjct.getLookup().lookup(Plc4xProjectImpl.class);
- assert p != null;
- return new TextsNodeList(p);
- }
-
- private class TextsNodeList implements NodeList<Node> {
-
- Plc4xProjectImpl project;
-
- public TextsNodeList(Plc4xProjectImpl project) {
- this.project = project;
- }
-
- @Override
- public List<Node> keys() {
- FileObject textsFolder =
- project.getProjectDirectory().getFileObject("texts");
-
- List<Node> result = new ArrayList<Node>();
-
- if (textsFolder != null) {
- for (FileObject textsFolderFile : textsFolder.getChildren()) {
- try {
-
result.add(DataObject.find(textsFolderFile).getNodeDelegate());
- } catch (DataObjectNotFoundException ex) {
- Exceptions.printStackTrace(ex);
- } catch (IOException ex) {
- Exceptions.printStackTrace(ex);
- }
- }
- }
- return result;
- }
-
- @Override
- public Node node(Node node) {
- return new FilterNode(node);
- }
-
- @Override
- public void addNotify() {
- }
-
- @Override
- public void removeNotify() {
- }
-
- @Override
- public void addChangeListener(ChangeListener cl) {
- }
-
- @Override
- public void removeChangeListener(ChangeListener cl) {
- }
-
- }
-
-}
diff --git a/plc4j/tools/malbec/projecttype/comms/pom.xml
b/plc4j/tools/malbec/projecttype/pics/pom.xml
similarity index 93%
copy from plc4j/tools/malbec/projecttype/comms/pom.xml
copy to plc4j/tools/malbec/projecttype/pics/pom.xml
index cd14f4b..372d929 100644
--- a/plc4j/tools/malbec/projecttype/comms/pom.xml
+++ b/plc4j/tools/malbec/projecttype/pics/pom.xml
@@ -6,8 +6,8 @@
<artifactId>malbec-projecttype</artifactId>
<version>0.13.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.plc4x.malbec.comms</groupId>
- <artifactId>comms</artifactId>
+ <groupId>org.apache.plc4x.malbec.pics</groupId>
+ <artifactId>pics</artifactId>
<packaging>nbm</packaging>
<build>
<plugins>
@@ -17,7 +17,8 @@
<extensions>true</extensions>
<configuration>
<publicPackages>
-
<publicPackage>org.apache.plc4x.malbec.comms.impl</publicPackage>
+
<publicPackage>org.apache.plc4x.malbec.pics.impl</publicPackage>
+
<publicPackage>org.apache.plc4x.malbec.pics.nodes</publicPackage>
</publicPackages>
</configuration>
</plugin>
@@ -38,7 +39,7 @@
<showDeprecation>false</showDeprecation>
<proc>full</proc>
</configuration>
- </plugin>
+ </plugin>
</plugins>
</build>
<dependencies>
diff --git
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectFactoryImpl.java
similarity index 82%
copy from
plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
copy to
plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectFactoryImpl.java
index 43c3577..47ace20 100644
---
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectFactoryImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.comms.impl;
+package org.apache.plc4x.malbec.pics.impl;
import java.io.IOException;
import org.netbeans.api.project.Project;
@@ -26,19 +26,19 @@ import org.openide.filesystems.FileObject;
import org.openide.util.lookup.ServiceProvider;
@ServiceProvider(service=ProjectFactory.class)
-public class Plc4xCommsSubProjectFactoryImpl implements ProjectFactory {
+public class Plc4xPicsSubProjectFactoryImpl implements ProjectFactory {
- public static final String COMMS_SUBPROJECT_DIRECTORY = "comms";
+ public static final String COMMS_SUBPROJECT_DIRECTORY = "pics";
@Override
public boolean isProject(FileObject fo) {
- boolean isCommsFolder =
fo.getName().equalsIgnoreCase(COMMS_SUBPROJECT_DIRECTORY) && fo.isFolder();
+ boolean isCommsFolder =
fo.getName().equalsIgnoreCase(COMMS_SUBPROJECT_DIRECTORY) && fo.isFolder();
return isCommsFolder;
}
@Override
public Project loadProject(FileObject fo, ProjectState ps) throws
IOException {
- return isProject(fo) ? new Plc4xCommsSubProjectImpl(fo, ps) : null;
+ return isProject(fo) ? new Plc4xPicsSubProjectImpl(fo, ps) : null;
}
@Override
diff --git
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectImpl.java
similarity index 66%
copy from
plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
copy to
plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectImpl.java
index 636af24..e0e48a8 100644
---
a/plc4j/tools/malbec/projecttype/hmi/src/main/java/org/apache/plc4x/malbec/hmi/impl/Plc4xHMISubProjectImpl.java
+++
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectImpl.java
@@ -16,14 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.hmi.impl;
+package org.apache.plc4x.malbec.pics.impl;
import java.beans.PropertyChangeListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
-import org.apache.plc4x.malbec.comms.impl.Plc4xCommsSubProjectProviderImpl;
-import org.apache.plc4x.malbec.events.impl.Plc4xEventsSubProjectProviderImpl;
-import org.apache.plc4x.malbec.recipes.impl.Plc4xRecipesSubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
import org.netbeans.api.project.ProjectInformation;
@@ -33,17 +30,17 @@ import org.openide.util.ImageUtilities;
import org.openide.util.Lookup;
import org.openide.util.lookup.Lookups;
-public class Plc4xHMISubProjectImpl implements Project {
+public class Plc4xPicsSubProjectImpl implements Project {
private final FileObject projectDir;
private final ProjectState state;
- private Lookup lkp;
+ private Lookup lkp;
- public Plc4xHMISubProjectImpl(FileObject projectDir, ProjectState state) {
+ public Plc4xPicsSubProjectImpl(FileObject projectDir, ProjectState state) {
this.projectDir = projectDir;
this.state = state;
}
-
+
@Override
public FileObject getProjectDirectory() {
return projectDir;
@@ -54,21 +51,17 @@ public class Plc4xHMISubProjectImpl implements Project {
if (lkp == null) {
lkp = Lookups.fixed(new Object[]{
// register your features here
- new Plc4xHMISubProjectInformation(),
- new Plc4xHMISubProjectLogicalViewProviderImpl(this),
- new Plc4xHMICustomizerProviderImpl(this),
- new Plc4xCommsSubProjectProviderImpl(this),
- new Plc4xEventsSubProjectProviderImpl(this),
- new Plc4xRecipesSubProjectProviderImpl(this),
+ new Plc4xPicsSubProjectInformation(),
+ new Plc4xPicsSubProjectLogicalViewProviderImpl(this),
});
}
return lkp;
}
- private class Plc4xHMISubProjectInformation implements ProjectInformation {
+ private class Plc4xPicsSubProjectInformation implements ProjectInformation
{
@StaticResource()
- public static final String HMI_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/hmi/nodes/PanelOperador.png";
+ public static final String PICS_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/pics/nodes/FolderBlue.png";
@Override
public String getName() {
@@ -82,12 +75,12 @@ public class Plc4xHMISubProjectImpl implements Project {
@Override
public Icon getIcon() {
- return new
ImageIcon(ImageUtilities.loadImage(HMI_SUBPROJECT_ICON));
+ return new
ImageIcon(ImageUtilities.loadImage(PICS_SUBPROJECT_ICON));
}
@Override
public Project getProject() {
- return Plc4xHMISubProjectImpl.this;
+ return Plc4xPicsSubProjectImpl.this;
}
@Override
@@ -100,8 +93,6 @@ public class Plc4xHMISubProjectImpl implements Project {
//
}
- }
-
-
+ }
}
diff --git
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectLogicalViewProviderImpl.java
similarity index 89%
copy from
plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
copy to
plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectLogicalViewProviderImpl.java
index 494f122..0e25593 100644
---
a/plc4j/tools/malbec/projecttype/comms/src/main/java/org/apache/plc4x/malbec/comms/impl/Plc4xCommsSubProjectLogicalViewProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectLogicalViewProviderImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.comms.impl;
+package org.apache.plc4x.malbec.pics.impl;
import java.awt.Image;
import javax.swing.Action;
@@ -37,15 +37,15 @@ import org.openide.util.Lookup;
import org.openide.util.lookup.Lookups;
import org.openide.util.lookup.ProxyLookup;
-public class Plc4xCommsSubProjectLogicalViewProviderImpl implements
LogicalViewProvider {
+public class Plc4xPicsSubProjectLogicalViewProviderImpl implements
LogicalViewProvider {
@StaticResource()
- public static final String COMMS_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/comms/nodes/FolderBlue.png";
+ public static final String PICS_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/pics/nodes/FolderBlue.png";
private final Project project;
- public Plc4xCommsSubProjectLogicalViewProviderImpl(Project project) {
- this.project = null;
+ public Plc4xPicsSubProjectLogicalViewProviderImpl(Project project) {
+ this.project = project;
}
@Override
@@ -98,7 +98,7 @@ public class Plc4xCommsSubProjectLogicalViewProviderImpl
implements LogicalView
@Override
public Image getIcon(int type) {
- return ImageUtilities.loadImage(COMMS_SUBPROJECT_ICON);
+ return ImageUtilities.loadImage(PICS_SUBPROJECT_ICON);
}
@Override
diff --git
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectProviderImpl.java
similarity index 64%
copy from
plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
copy to
plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectProviderImpl.java
index 0adadd5..974a289 100644
---
a/plc4j/tools/malbec/projecttype/events/src/main/java/org/apache/plc4x/malbec/events/impl/Plc4xEventsSubProjectProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/impl/Plc4xPicsSubProjectProviderImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.events.impl;
+package org.apache.plc4x.malbec.pics.impl;
import java.io.IOException;
import java.util.Collections;
@@ -29,13 +29,13 @@ import org.netbeans.spi.project.SubprojectProvider;
import org.openide.filesystems.FileObject;
import org.openide.util.Exceptions;
-public class Plc4xEventsSubProjectProviderImpl implements SubprojectProvider {
+public class Plc4xPicsSubProjectProviderImpl implements SubprojectProvider {
- public static final String EVENTS_SUBPROJECT_DIRECTORY = "events";
+ public static final String PICS_SUBPROJECT_DIRECTORY = "pics";
private final Project project;
- public Plc4xEventsSubProjectProviderImpl(Project project) {
+ public Plc4xPicsSubProjectProviderImpl(Project project) {
this.project = project;
}
@@ -56,21 +56,20 @@ public class Plc4xEventsSubProjectProviderImpl implements
SubprojectProvider {
public Set loadProjects(FileObject dir) {
Set newProjects = new HashSet();
- FileObject reportsFolder =
dir.getFileObject(EVENTS_SUBPROJECT_DIRECTORY);
- if (reportsFolder != null) {
- for (FileObject childFolder : reportsFolder.getChildren()) {
- try {
- Project subp = ProjectManager.getDefault().
- findProject(reportsFolder);
- if (subp != null && subp instanceof
Plc4xEventsSubProjectImpl) {
- newProjects.add((Plc4xEventsSubProjectImpl) subp);
- }
- } catch (IOException ex) {
- Exceptions.printStackTrace(ex);
- } catch (IllegalArgumentException ex) {
- Exceptions.printStackTrace(ex);
+ FileObject reportsFolder =
dir.getFileObject(PICS_SUBPROJECT_DIRECTORY);
+ if (reportsFolder != null) {
+ try {
+ Project subp = ProjectManager.getDefault().
+ findProject(reportsFolder);
+ if (subp != null && subp instanceof Plc4xPicsSubProjectImpl) {
+ newProjects.add((Plc4xPicsSubProjectImpl) subp);
}
+ } catch (IOException ex) {
+ Exceptions.printStackTrace(ex);
+ } catch (IllegalArgumentException ex) {
+ Exceptions.printStackTrace(ex);
}
+
}
return Collections.unmodifiableSet(newProjects);
}
diff --git
a/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectNodeFactoryImpl.java
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/nodes/Plc4xPicsSubProjectNodeFactoryImpl.java
similarity index 82%
copy from
plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectNodeFactoryImpl.java
copy to
plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/nodes/Plc4xPicsSubProjectNodeFactoryImpl.java
index 9c4ec5d..eb7d8c6 100644
---
a/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectNodeFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/pics/src/main/java/org/apache/plc4x/malbec/pics/nodes/Plc4xPicsSubProjectNodeFactoryImpl.java
@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.recipes.impl;
+package org.apache.plc4x.malbec.pics.nodes;
import java.awt.Image;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.swing.event.ChangeListener;
+import org.apache.plc4x.malbec.pics.impl.Plc4xPicsSubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
import org.netbeans.spi.project.ui.support.NodeFactory;
@@ -34,17 +35,17 @@ import org.openide.nodes.Node;
import org.openide.util.Exceptions;
import org.openide.util.ImageUtilities;
[email protected](projectType = "org-plc4x-hmi-project", position = 30)
-public class Plc4xRecipesSubProjectNodeFactoryImpl implements NodeFactory {
[email protected](projectType = "org-plc4x-hmi-project", position =
1000)
+public class Plc4xPicsSubProjectNodeFactoryImpl implements NodeFactory {
@StaticResource()
- public static final String RECIPES_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/recipes/nodes/FolderBlue.png";
+ public static final String PICS_SUBPROJECT_ICON =
"org/apache/plc4x/malbec/pics/nodes/FolderBlue.png";
@Override
public NodeList<?> createNodes(Project project) {
- Plc4xRecipesSubProjectProviderImpl rsp = project.getLookup().
- lookup(Plc4xRecipesSubProjectProviderImpl.class);
- assert rsp != null;
+ Plc4xPicsSubProjectProviderImpl rsp = project.getLookup().
+ lookup(Plc4xPicsSubProjectProviderImpl.class);
+ assert rsp != null;
return new ProjectsNodeList(rsp.getSubprojects());
}
@@ -76,17 +77,17 @@ public class Plc4xRecipesSubProjectNodeFactoryImpl
implements NodeFactory {
@Override
public Node node(Project k) {
- FilterNode fn = null;
+ FilterNode fn = null;
try {
fn = new FilterNode(DataObject.find(k.
getProjectDirectory()).getNodeDelegate()){
@Override
public Image getIcon(int type) {
- return
ImageUtilities.loadImage(RECIPES_SUBPROJECT_ICON );
+ return ImageUtilities.loadImage(PICS_SUBPROJECT_ICON );
}
@Override
public Image getOpenedIcon(int type) {
- return
ImageUtilities.loadImage(RECIPES_SUBPROJECT_ICON );
+ return ImageUtilities.loadImage(PICS_SUBPROJECT_ICON );
}
};
} catch (DataObjectNotFoundException ex) {
diff --git a/plc4j/tools/malbec/projecttype/pics/src/main/nbm/manifest.mf
b/plc4j/tools/malbec/projecttype/pics/src/main/nbm/manifest.mf
new file mode 100644
index 0000000..7ae5bee
--- /dev/null
+++ b/plc4j/tools/malbec/projecttype/pics/src/main/nbm/manifest.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+OpenIDE-Module-Localizing-Bundle:
org/apache/plc4x/malbec/pics/impl/Bundle.properties
+
diff --git
a/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/impl/Bundle.properties
b/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/impl/Bundle.properties
new file mode 100644
index 0000000..269d85d
--- /dev/null
+++
b/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/impl/Bundle.properties
@@ -0,0 +1,6 @@
+#Localized module labels. Defaults taken from POM (<name>, <description>,
<groupId>) if unset.
+#OpenIDE-Module-Name=
+#OpenIDE-Module-Short-Description=
+#OpenIDE-Module-Long-Description=
+#OpenIDE-Module-Display-Category=
+#Sun Feb 08 14:42:20 GMT-04:00 2026
diff --git
a/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/nodes/FolderBlue-Open.png
b/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/nodes/FolderBlue-Open.png
new file mode 100644
index 0000000..2225cb0
Binary files /dev/null and
b/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/nodes/FolderBlue-Open.png
differ
diff --git
a/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/nodes/FolderBlue.png
b/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/nodes/FolderBlue.png
new file mode 100644
index 0000000..91800c1
Binary files /dev/null and
b/plc4j/tools/malbec/projecttype/pics/src/main/resources/org/apache/plc4x/malbec/pics/nodes/FolderBlue.png
differ
diff --git a/plc4j/tools/malbec/projecttype/pom.xml
b/plc4j/tools/malbec/projecttype/pom.xml
index 144dc80..2670c04 100644
--- a/plc4j/tools/malbec/projecttype/pom.xml
+++ b/plc4j/tools/malbec/projecttype/pom.xml
@@ -19,5 +19,7 @@
<module>udt</module>
<module>events</module>
<module>hmi</module>
+ <module>pics</module>
+ <module>htc</module>
</modules>
</project>
\ No newline at end of file
diff --git a/plc4j/tools/malbec/projecttype/recipes/nb-configuration.xml
b/plc4j/tools/malbec/projecttype/recipes/nb-configuration.xml
index 996b1a3..b3f4de9 100644
--- a/plc4j/tools/malbec/projecttype/recipes/nb-configuration.xml
+++ b/plc4j/tools/malbec/projecttype/recipes/nb-configuration.xml
@@ -13,6 +13,6 @@ You can copy and paste the single properties, into the
pom.xml file and the IDE
That way multiple projects can share the same settings (useful for formatting
rules for example).
Any value defined here will override the pom.xml file value but is only
applicable to the current project.
-->
- <netbeans.hint.jdkPlatform>Zulu_21.0.9_10</netbeans.hint.jdkPlatform>
+ <netbeans.hint.jdkPlatform>JDK_21__System_</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>
diff --git
a/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectProviderImpl.java
b/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectProviderImpl.java
index 1508b67..5e6041c 100644
---
a/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectProviderImpl.java
+++
b/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectProviderImpl.java
@@ -58,20 +58,19 @@ public class Plc4xRecipesSubProjectProviderImpl implements
SubprojectProvider {
Set newProjects = new HashSet();
FileObject reportsFolder =
dir.getFileObject(RECIPES_SUBPROJECT_DIRECTORY);
if (reportsFolder != null) {
- for (FileObject childFolder : reportsFolder.getChildren()) {
- try {
- Project subp = ProjectManager.getDefault().
- findProject(reportsFolder);
- if (subp != null && subp instanceof
Plc4xRecipesSubProjectImpl) {
- newProjects.add((Plc4xRecipesSubProjectImpl) subp);
- }
- } catch (IOException ex) {
- Exceptions.printStackTrace(ex);
- } catch (IllegalArgumentException ex) {
- Exceptions.printStackTrace(ex);
+ try {
+ Project subp = ProjectManager.getDefault().
+ findProject(reportsFolder);
+ if (subp != null && subp instanceof
Plc4xRecipesSubProjectImpl) {
+ newProjects.add((Plc4xRecipesSubProjectImpl) subp);
}
+ } catch (IOException ex) {
+ Exceptions.printStackTrace(ex);
+ } catch (IllegalArgumentException ex) {
+ Exceptions.printStackTrace(ex);
}
}
+
return Collections.unmodifiableSet(newProjects);
}
diff --git
a/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectNodeFactoryImpl.java
b/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/nodes/Plc4xRecipesSubProjectNodeFactoryImpl.java
similarity index 96%
rename from
plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectNodeFactoryImpl.java
rename to
plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/nodes/Plc4xRecipesSubProjectNodeFactoryImpl.java
index 9c4ec5d..577de04 100644
---
a/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/impl/Plc4xRecipesSubProjectNodeFactoryImpl.java
+++
b/plc4j/tools/malbec/projecttype/recipes/src/main/java/org/apache/plc4x/malbec/recipes/nodes/Plc4xRecipesSubProjectNodeFactoryImpl.java
@@ -16,13 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.plc4x.malbec.recipes.impl;
+package org.apache.plc4x.malbec.recipes.nodes;
import java.awt.Image;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.swing.event.ChangeListener;
+import org.apache.plc4x.malbec.recipes.impl.Plc4xRecipesSubProjectProviderImpl;
import org.netbeans.api.annotations.common.StaticResource;
import org.netbeans.api.project.Project;
import org.netbeans.spi.project.ui.support.NodeFactory;
@@ -34,7 +35,7 @@ import org.openide.nodes.Node;
import org.openide.util.Exceptions;
import org.openide.util.ImageUtilities;
[email protected](projectType = "org-plc4x-hmi-project", position = 30)
[email protected](projectType = "org-plc4x-hmi-project", position =
4000)
public class Plc4xRecipesSubProjectNodeFactoryImpl implements NodeFactory {
@StaticResource()