From f0d40d695e6c14db5a4cbe69f08c35d273c7439f Mon Sep 17 00:00:00 2001 From: VogelT Date: Fri, 7 Feb 2025 12:08:15 +0100 Subject: [PATCH 1/2] Update Matirx --- pom.xml | 2 +- .../nanoleaf/panelconfig/NanoPANENode.java | 74 +++++++++++++ .../nanoleaf/panelconfig/PanelConfigBean.java | 100 ++++++++++++++++-- .../nanoleaf/panelconfig/panelconfig.xml | 11 +- src/main/webapp/workplace/home.xml | 8 +- 5 files changed, 181 insertions(+), 14 deletions(-) create mode 100644 src/main/java/de/games/nanoleaf/panelconfig/NanoPANENode.java diff --git a/pom.xml b/pom.xml index 1cfd457..1af7c46 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ - 20240910 + 20250128 diff --git a/src/main/java/de/games/nanoleaf/panelconfig/NanoPANENode.java b/src/main/java/de/games/nanoleaf/panelconfig/NanoPANENode.java new file mode 100644 index 0000000..2abdffa --- /dev/null +++ b/src/main/java/de/games/nanoleaf/panelconfig/NanoPANENode.java @@ -0,0 +1,74 @@ +package de.games.nanoleaf.panelconfig; + +import org.eclnt.jsfserver.elements.componentnodes.COLDISTANCENode; +import org.eclnt.jsfserver.elements.componentnodes.LABELNode; +import org.eclnt.jsfserver.elements.componentnodes.PANENode; +import org.eclnt.jsfserver.elements.componentnodes.ROWDISTANCENode; +import org.eclnt.jsfserver.elements.componentnodes.ROWNode; + +public class NanoPANENode extends PANENode { + + private PanelInfo m_panelInfo = null; + + public PanelInfo getPanelInfo() { + return m_panelInfo; + } + + public void setPanelInfo(PanelInfo panelInfo) { + m_panelInfo = panelInfo; + } + + public NanoPANENode(PanelInfo panelInfo) { + this.m_panelInfo = panelInfo; + + createInnerPane(); + } + + private void createInnerPane() { + + this.setDragsend("NANOLEAF:ID_" + getPanelInfo().getPanelID()); + this.setHeight(80); + this.setWidth(80); + this.setBorder("left:2;right:2;top:2;bottom:2;color:#ff0000"); + ROWDISTANCENode rowdistanceNode = new ROWDISTANCENode(); + this.addSubNode(rowdistanceNode); + + ROWNode row = new ROWNode(); + + COLDISTANCENode coldistanceNode = new COLDISTANCENode(); + row.addSubNode(coldistanceNode); + + LABELNode labelPaneID = new LABELNode(); + labelPaneID.setText("ID: " + getPanelInfo().getPanelID()); + + row.addSubNode(labelPaneID); + + this.addSubNode(row); + + row = new ROWNode(); + coldistanceNode = new COLDISTANCENode(); + row.addSubNode(coldistanceNode); + labelPaneID = new LABELNode(); + labelPaneID.setText("Nano ID: "); + + row.addSubNode(labelPaneID); + + this.addSubNode(row); + + row = new ROWNode(); + coldistanceNode = new COLDISTANCENode(); + row.addSubNode(coldistanceNode); + labelPaneID = new LABELNode(); + if (getPanelInfo().getPanelNanoleafID() == null) { + labelPaneID.setText("unbek."); + } else { + labelPaneID.setText(getPanelInfo().getPanelNanoleafID()); + } + + row.addSubNode(labelPaneID); + + this.addSubNode(row); + + } + +} diff --git a/src/main/java/de/games/nanoleaf/panelconfig/PanelConfigBean.java b/src/main/java/de/games/nanoleaf/panelconfig/PanelConfigBean.java index 84ce7ae..9ba6bd1 100644 --- a/src/main/java/de/games/nanoleaf/panelconfig/PanelConfigBean.java +++ b/src/main/java/de/games/nanoleaf/panelconfig/PanelConfigBean.java @@ -1,17 +1,27 @@ package de.games.nanoleaf.panelconfig; import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; import org.eclnt.editor.annotations.CCGenClass; +import org.eclnt.jsfserver.base.faces.event.ActionEvent; +import org.eclnt.jsfserver.defaultscreens.Statusbar; import org.eclnt.jsfserver.elements.componentnodes.COLDISTANCENode; import org.eclnt.jsfserver.elements.componentnodes.PANENode; import org.eclnt.jsfserver.elements.componentnodes.ROWNode; +import org.eclnt.jsfserver.elements.events.BaseActionEventDrop; +import org.eclnt.jsfserver.elements.events.BaseActionEventInvoke; import org.eclnt.jsfserver.elements.impl.DYNAMICCONTENTBinding; +import org.eclnt.jsfserver.elements.impl.ROWDYNAMICCONTENTBinding; import org.eclnt.jsfserver.pagebean.PageBean; @CCGenClass (expressionBase="#{d.PanelConfigBean}") public class PanelConfigBean extends PageBean implements Serializable { + ROWDYNAMICCONTENTBinding m_dynMatrixPanels = new ROWDYNAMICCONTENTBinding(); + public ROWDYNAMICCONTENTBinding getDynMatrixPanels() { return m_dynMatrixPanels; } + String m_nanoleafToken = "LAG28BQWrXK2p79NbHMQsvcYYCN1TcD4"; public String getNanoleafToken() { return m_nanoleafToken; } @@ -38,10 +48,68 @@ public class PanelConfigBean extends PageBean implements Serializable { } public void onCheckAndCreate(org.eclnt.jsfserver.base.faces.event.ActionEvent event) { - + createPanelMatrix(getAnzahlPanels(), getMatrixX(), getMatrixY()); } - int m_matrixY = 3; + private void createPanelMatrix(int anzahlPanels, int matrixX, int matrixY) { + + int anzahlPanelMatrix = 0; + + anzahlPanelMatrix = matrixX * matrixY; + + //List componentNodeList = new ArrayList(); + ROWNode row = null; + PANENode rootPaneNode = new PANENode(); + rootPaneNode.setRowdistance("5"); + PANENode paneNode = null; + COLDISTANCENode coldistanceNode = null; + + for (int x = 0; x < matrixX; x++) { + row = new ROWNode(); + for (int y = 0; y < matrixY; y++) { + paneNode = new PANENode(); + paneNode.setWidth(50); + paneNode.setHeight(50); + paneNode.setBorder("left:2;right:2;top:2;bottom:2;color:#000000"); + paneNode.setDropreceive("NANOLEAF"); + paneNode.setReference("REF_XY:" + x + "|" + y); + paneNode.setActionListener("#{d.PanelConfigBean.onCashierActions}"); + coldistanceNode = new COLDISTANCENode(); + coldistanceNode.setWidth(5); + + row.addSubNode(paneNode); + row.addSubNode(coldistanceNode); + } + + rootPaneNode.addSubNode(row); + } + + getDynMatrixPanels().setContentNode(rootPaneNode); + + } + + + public void onCashierActions(ActionEvent event) + { + if (event instanceof BaseActionEventDrop) + { + Statusbar.outputSuccess("Drop-Event was processed: " + event.getClass().getName()); + BaseActionEventDrop baed = (BaseActionEventDrop)event; + String dragInfo = baed.getDragInfo(); + if (dragInfo.startsWith("NANOLEAF:")) + { + System.out.println("Ziel: "); + System.out.println("Drop: " + dragInfo); + } + } + else if (event instanceof BaseActionEventInvoke) + { + Statusbar.outputSuccess("Cashier Icon was pressed!"); + } + } + + + int m_matrixY = 3; public int getMatrixY() { return m_matrixY; } public void setMatrixY(int value) { this.m_matrixY = value; } @@ -80,26 +148,38 @@ public class PanelConfigBean extends PageBean implements Serializable { public PanelConfigBean() { createPanelsList(1); } + + private List m_nanoPaneNodeList = null; + public List getNanoPaneNodeList() { + if (m_nanoPaneNodeList == null) { + m_nanoPaneNodeList = new ArrayList(); + } + return m_nanoPaneNodeList; + } + + public NanoPANENode getNanoPaneNode(int id) { + return getNanoPaneNodeList().get(id); + } - private void createPanelsList(int countPanels) { + + private void createPanelsList(int countPanels) { ROWNode row = new ROWNode(); COLDISTANCENode coldistanceNode = null; - PANENode paneNode = null; + NanoPANENode paneNode = null; PanelInfo panelInfo = null; for (int p = 0; p < countPanels; p++) { panelInfo = new PanelInfo(p); - paneNode = new PANENode(); - paneNode.setHeight(80); - paneNode.setWidth(80); - paneNode.setBorder("left:2;right:2;top:2;bottom:2;color:#ff0000"); + paneNode = new NanoPANENode(panelInfo); + row.addSubNode(paneNode); coldistanceNode = new COLDISTANCENode(); - coldistanceNode.setWidth(20); - paneNode.addSubNode(coldistanceNode); + coldistanceNode.setWidth(10); + + row.addSubNode(coldistanceNode); } getDynPanelList().setContentNode(row); diff --git a/src/main/webapp/games/nanoleaf/panelconfig/panelconfig.xml b/src/main/webapp/games/nanoleaf/panelconfig/panelconfig.xml index bc7e139..caab100 100644 --- a/src/main/webapp/games/nanoleaf/panelconfig/panelconfig.xml +++ b/src/main/webapp/games/nanoleaf/panelconfig/panelconfig.xml @@ -5,7 +5,7 @@ - + @@ -90,7 +90,14 @@ - + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/workplace/home.xml b/src/main/webapp/workplace/home.xml index da144c0..878febe 100644 --- a/src/main/webapp/workplace/home.xml +++ b/src/main/webapp/workplace/home.xml @@ -4,6 +4,12 @@ - + + + + + + + \ No newline at end of file From e3a1fae4ff0578e9c5b8059171824e35a1fcae2a Mon Sep 17 00:00:00 2001 From: VogelT Date: Mon, 24 Mar 2025 07:32:29 +0100 Subject: [PATCH 2/2] Neue Version --- .ccEclipseSynch | 1 - .classpath | 1 + .settings/org.eclipse.wst.common.component | 28 ++++++++++++------- .../nanoleaf/panelconfig/MatrixInfo.java | 2 -- .../nanoleaf/panelconfig/NanoPANENode.java | 1 - .../nanoleaf/panelconfig/PanelConfigBean.java | 1 + .../games/nanoleaf/panelconfig/PanelInfo.java | 14 ---------- 7 files changed, 20 insertions(+), 28 deletions(-) delete mode 100644 .ccEclipseSynch diff --git a/.ccEclipseSynch b/.ccEclipseSynch deleted file mode 100644 index 033a451..0000000 --- a/.ccEclipseSynch +++ /dev/null @@ -1 +0,0 @@ -Src changed \ No newline at end of file diff --git a/.classpath b/.classpath index f3bce31..e68d17e 100644 --- a/.classpath +++ b/.classpath @@ -27,6 +27,7 @@ + diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 79c4e85..8c8dc28 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,20 +1,28 @@ - + + - + + - + + - + + - + + - - + + - + + - - + + + + diff --git a/src/main/java/de/games/nanoleaf/panelconfig/MatrixInfo.java b/src/main/java/de/games/nanoleaf/panelconfig/MatrixInfo.java index b2c9af4..4daf985 100644 --- a/src/main/java/de/games/nanoleaf/panelconfig/MatrixInfo.java +++ b/src/main/java/de/games/nanoleaf/panelconfig/MatrixInfo.java @@ -36,6 +36,4 @@ public class MatrixInfo { m_countPanels = countPanels; } - - } diff --git a/src/main/java/de/games/nanoleaf/panelconfig/NanoPANENode.java b/src/main/java/de/games/nanoleaf/panelconfig/NanoPANENode.java index 2abdffa..a5f50b6 100644 --- a/src/main/java/de/games/nanoleaf/panelconfig/NanoPANENode.java +++ b/src/main/java/de/games/nanoleaf/panelconfig/NanoPANENode.java @@ -70,5 +70,4 @@ public class NanoPANENode extends PANENode { this.addSubNode(row); } - } diff --git a/src/main/java/de/games/nanoleaf/panelconfig/PanelConfigBean.java b/src/main/java/de/games/nanoleaf/panelconfig/PanelConfigBean.java index 9ba6bd1..62b1686 100644 --- a/src/main/java/de/games/nanoleaf/panelconfig/PanelConfigBean.java +++ b/src/main/java/de/games/nanoleaf/panelconfig/PanelConfigBean.java @@ -133,6 +133,7 @@ public class PanelConfigBean extends PageBean implements Serializable { /* Listener to the user of the page bean. */ public interface IListener extends Serializable { + } // ------------------------------------------------------------------------ diff --git a/src/main/java/de/games/nanoleaf/panelconfig/PanelInfo.java b/src/main/java/de/games/nanoleaf/panelconfig/PanelInfo.java index 1847606..c989ec5 100644 --- a/src/main/java/de/games/nanoleaf/panelconfig/PanelInfo.java +++ b/src/main/java/de/games/nanoleaf/panelconfig/PanelInfo.java @@ -19,8 +19,6 @@ public class PanelInfo { public int getPanelID() { return m_panelID; } - - public void setPanelID(int panelID) { m_panelID = panelID; } @@ -29,8 +27,6 @@ public class PanelInfo { public String getPanelNanoleafID() { return m_panelNanoleafID; } - - public void setPanelNanoleafID(String panelNanoleafID) { m_panelNanoleafID = panelNanoleafID; } @@ -39,8 +35,6 @@ public class PanelInfo { public int getPanelMatrixPosX() { return m_panelMatrixPosX; } - - public void setPanelMatrixPosX(int panelMatrixPosX) { m_panelMatrixPosX = panelMatrixPosX; } @@ -49,8 +43,6 @@ public class PanelInfo { public int getPanelMatrixPosY() { return m_panelMatrixPosY; } - - public void setPanelMatrixPosY(int panelMatrixPosY) { m_panelMatrixPosY = panelMatrixPosY; } @@ -59,8 +51,6 @@ public class PanelInfo { public String getPanelColor() { return m_panelColor; } - - public void setPanelColor(String panelColor) { m_panelColor = panelColor; } @@ -69,8 +59,6 @@ public class PanelInfo { public boolean getPanelActiv() { return m_panelActiv; } - - public void setPanelActiv(boolean panelActiv) { m_panelActiv = panelActiv; } @@ -79,8 +67,6 @@ public class PanelInfo { public boolean getPanelInit() { return m_panelInit; } - - public void setPanelInit(boolean panelInit) { m_panelInit = panelInit; }