Last Version

master
VogelT 11 months ago
parent dacdae229b
commit 1e19e5aed8

@ -1,13 +1,18 @@
package de.games.nanoleaf.panelconfig; package de.games.nanoleaf.panelconfig;
import java.io.Serializable; import java.io.Serializable;
import java.util.Iterator; import java.util.ArrayList;
import java.util.List;
import org.eclnt.editor.annotations.CCGenClass; 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.COLDISTANCENode;
import org.eclnt.jsfserver.elements.componentnodes.LABELNode; import org.eclnt.jsfserver.elements.componentnodes.LABELNode;
import org.eclnt.jsfserver.elements.componentnodes.PANENode; import org.eclnt.jsfserver.elements.componentnodes.PANENode;
import org.eclnt.jsfserver.elements.componentnodes.ROWNode; 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.DYNAMICCONTENTBinding;
import org.eclnt.jsfserver.elements.impl.ROWDYNAMICCONTENTBinding; import org.eclnt.jsfserver.elements.impl.ROWDYNAMICCONTENTBinding;
import org.eclnt.jsfserver.pagebean.PageBean; import org.eclnt.jsfserver.pagebean.PageBean;
@ -15,8 +20,8 @@ import org.eclnt.jsfserver.pagebean.PageBean;
@CCGenClass (expressionBase="#{d.PanelConfigBean}") @CCGenClass (expressionBase="#{d.PanelConfigBean}")
public class PanelConfigBean extends PageBean implements Serializable { public class PanelConfigBean extends PageBean implements Serializable {
ROWDYNAMICCONTENTBinding m_dynNanoleafLayout = new ROWDYNAMICCONTENTBinding(); ROWDYNAMICCONTENTBinding m_dynMatrixPanels = new ROWDYNAMICCONTENTBinding();
public ROWDYNAMICCONTENTBinding getDynNanoleafLayout() { return m_dynNanoleafLayout; } public ROWDYNAMICCONTENTBinding getDynMatrixPanels() { return m_dynMatrixPanels; }
public void onPanelsOff(org.eclnt.jsfserver.base.faces.event.ActionEvent event) {} public void onPanelsOff(org.eclnt.jsfserver.base.faces.event.ActionEvent event) {}
@ -39,6 +44,17 @@ public class PanelConfigBean extends PageBean implements Serializable {
public String getHostname() { return m_hostname; } public String getHostname() { return m_hostname; }
public void setHostname(String value) { this.m_hostname = value; } public void setHostname(String value) { this.m_hostname = value; }
private List<NanoPANENode> m_nanoPaneNodeList = null;
public List<NanoPANENode> getNanoPaneNodeList() {
if (m_nanoPaneNodeList == null) {
m_nanoPaneNodeList = new ArrayList<NanoPANENode>();
}
return m_nanoPaneNodeList;
}
public NanoPANENode getNanoPaneNode(int id) {
return getNanoPaneNodeList().get(id);
}
DYNAMICCONTENTBinding m_dynPanelList = new DYNAMICCONTENTBinding(); DYNAMICCONTENTBinding m_dynPanelList = new DYNAMICCONTENTBinding();
public DYNAMICCONTENTBinding getDynPanelList() { return m_dynPanelList; } public DYNAMICCONTENTBinding getDynPanelList() { return m_dynPanelList; }
@ -49,7 +65,7 @@ public class PanelConfigBean extends PageBean implements Serializable {
public void onCheckAndCreate(org.eclnt.jsfserver.base.faces.event.ActionEvent event) { public void onCheckAndCreate(org.eclnt.jsfserver.base.faces.event.ActionEvent event) {
createNanoleafLayoutList(getMatrixX(), getMatrixY()); createPanelMatrix(getAnzahlPanels(), getMatrixX(), getMatrixY());
} }
int m_matrixY = 3; int m_matrixY = 3;
@ -101,8 +117,8 @@ public class PanelConfigBean extends PageBean implements Serializable {
LABELNode labelNode = null; LABELNode labelNode = null;
for (int p = 0; p < countPanels; p++) { for (int p = 0; p < countPanels; p++) {
panelInfo = new PanelInfo(56253 + p); panelInfo = new PanelInfo(p);
paneNode = new PANENode(); paneNode = new NanoPANENode(panelInfo);
paneNode.setHeight(60); paneNode.setHeight(60);
paneNode.setWidth(60); paneNode.setWidth(60);
paneNode.setBorder("left:2;right:2;top:2;bottom:2;color:#ff0000"); paneNode.setBorder("left:2;right:2;top:2;bottom:2;color:#ff0000");
@ -127,51 +143,61 @@ public class PanelConfigBean extends PageBean implements Serializable {
} }
private void createNanoleafLayoutList(int xPanels, int yPanels) { private void createPanelMatrix(int anzahlPanels, int matrixX, int matrixY) {
ROWNode row = new ROWNode(); int anzahlPanelMatrix = 0;
COLDISTANCENode coldistanceNode = null;
anzahlPanelMatrix = matrixX * matrixY;
//List<ComponentNode> componentNodeList = new ArrayList<ComponentNode>();
ROWNode row = null;
PANENode rootPaneNode = new PANENode();
rootPaneNode.setRowdistance("5");
PANENode paneNode = null; PANENode paneNode = null;
PanelInfo panelInfo = null; COLDISTANCENode coldistanceNode = null;
PANENode paneNodeRoot = new PANENode();
for (int x = 0; x < xPanels; x++) { for (int x = 0; x < matrixX; x++) {
row = new ROWNode(); row = new ROWNode();
for (int y = 0; y < yPanels; y++) { for (int y = 0; y < matrixY; y++) {
paneNode = new PANENode(); paneNode = new PANENode();
paneNode.setHeight(60); paneNode.setWidth(50);
paneNode.setWidth(60); paneNode.setHeight(50);
paneNode.setBorder("left:2;right:2;top:2;bottom:2;color:#ff0000"); paneNode.setBorder("left:2;right:2;top:2;bottom:2;color:#000000");
paneNode.setDragsend("Nanoleaf:"); paneNode.setDropreceive("NANOLEAF");
paneNode.setReference("REF_XY:" + x + "|" + y);
row.addSubNode(paneNode); paneNode.setActionListener("#{d.PanelConfigBean.onCashierActions}");
coldistanceNode = new COLDISTANCENode(); coldistanceNode = new COLDISTANCENode();
coldistanceNode.setWidth(5); coldistanceNode.setWidth(5);
row.addSubNode(coldistanceNode);
row.addSubNode(paneNode);
row.addSubNode(coldistanceNode);
} }
paneNodeRoot.addSubNode(row);
rootPaneNode.addSubNode(row);
} }
getDynNanoleafLayout().setContentNode(paneNodeRoot); getDynMatrixPanels().setContentNode(rootPaneNode);
// for (int p = 0; p < countPanels; p++) {
// panelInfo = new PanelInfo(p);
// paneNode = new PANENode();
// paneNode.setHeight(60);
// paneNode.setWidth(60);
// paneNode.setBorder("left:2;right:2;top:2;bottom:2;color:#ff0000");
// paneNode.setDragsend("Nanoleaf:");
//
// row.addSubNode(paneNode);
// coldistanceNode = new COLDISTANCENode();
// coldistanceNode.setWidth(20);
// row.addSubNode(coldistanceNode);
// }
getDynPanelList().setContentNode(row);
} }
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!");
}
}
public String getPageName() { return "/games/nanoleaf/panelconfig/panelconfig.xml"; } public String getPageName() { return "/games/nanoleaf/panelconfig/panelconfig.xml"; }
public String getRootExpressionUsedInPage() { return "#{d.PanelConfigBean}"; } public String getRootExpressionUsedInPage() { return "#{d.PanelConfigBean}"; }

@ -98,7 +98,7 @@
<t:pane id="g_87" > <t:pane id="g_87" >
<t:row id="g_88" /> <t:row id="g_88" />
<t:rowdistance id="g_91" height="50%" /> <t:rowdistance id="g_91" height="50%" />
<t:rowdynamiccontent id="g_89" contentbinding="#{d.PanelConfigBean.dynNanoleafLayout}" /> <t:rowdynamiccontent id="g_89" contentbinding="#{d.PanelConfigBean.dynMatrixPanels}" />
</t:pane> </t:pane>
</t:row> </t:row>
</t:rowbodypane> </t:rowbodypane>

Loading…
Cancel
Save