|
@@ -446,9 +446,9 @@ public class GUI<E> implements CategoryListener {
|
|
mnNewMenu_2.add(mntmEditEdges);
|
|
mnNewMenu_2.add(mntmEditEdges);
|
|
|
|
|
|
mnNewMenu_2.add(mntmResetCategory);
|
|
mnNewMenu_2.add(mntmResetCategory);
|
|
-
|
|
|
|
|
|
+
|
|
mnNewMenu_2.add(mnSimulationSpeed);
|
|
mnNewMenu_2.add(mnSimulationSpeed);
|
|
-
|
|
|
|
|
|
+
|
|
mnSimulationSpeed.add(simulationSpeedField);
|
|
mnSimulationSpeed.add(simulationSpeedField);
|
|
mntmResetCategory.addActionListener(new ActionListener() {
|
|
mntmResetCategory.addActionListener(new ActionListener() {
|
|
|
|
|
|
@@ -533,9 +533,9 @@ public class GUI<E> implements CategoryListener {
|
|
* RIGHT CONTAINER (INFORMATION)
|
|
* RIGHT CONTAINER (INFORMATION)
|
|
**********************/
|
|
**********************/
|
|
// Set up of the HolonElements section
|
|
// Set up of the HolonElements section
|
|
- Object[] columnNamesMulti = { "Object", "Device", "Energy", "Quantity", "Activated" };
|
|
|
|
|
|
+ Object[] columnNamesMulti = { "Object", "ID", "Device", "Energy", "Quantity", "Activated" };
|
|
tableModelHolonElementMulti.setColumnIdentifiers(columnNamesMulti);
|
|
tableModelHolonElementMulti.setColumnIdentifiers(columnNamesMulti);
|
|
- Object[] columnNamesSingle = { "Device", "Energy", "Quantity", "Activated" };
|
|
|
|
|
|
+ Object[] columnNamesSingle = { "ID", "Device", "Energy", "Quantity", "Activated" };
|
|
tableModelHolonElementSingle.setColumnIdentifiers(columnNamesSingle);
|
|
tableModelHolonElementSingle.setColumnIdentifiers(columnNamesSingle);
|
|
tableHolonElement.setBorder(null);
|
|
tableHolonElement.setBorder(null);
|
|
|
|
|
|
@@ -630,6 +630,7 @@ public class GUI<E> implements CategoryListener {
|
|
refreshTableHolonElement();
|
|
refreshTableHolonElement();
|
|
refreshTableProperties();
|
|
refreshTableProperties();
|
|
}
|
|
}
|
|
|
|
+ holonEleNamesDisplayed = "None ";
|
|
}
|
|
}
|
|
});
|
|
});
|
|
/*
|
|
/*
|
|
@@ -705,10 +706,10 @@ public class GUI<E> implements CategoryListener {
|
|
int selectedValueBY = (int) Math.floor(yBMouse / 16);
|
|
int selectedValueBY = (int) Math.floor(yBMouse / 16);
|
|
if (model.getSelectedCpsObjects().size() > 1) {
|
|
if (model.getSelectedCpsObjects().size() > 1) {
|
|
// Multiple Selection
|
|
// Multiple Selection
|
|
- int selectedValueX = (int) Math.floor(xTHIS / (tableHolonElement.getWidth() / 5));
|
|
|
|
- int selectedValueBX = (int) Math.floor(xBTHIS / (tableHolonElement.getWidth() / 5));
|
|
|
|
|
|
+ int selectedValueX = (int) Math.floor(xTHIS / (tableHolonElement.getWidth() / 6));
|
|
|
|
+ int selectedValueBX = (int) Math.floor(xBTHIS / (tableHolonElement.getWidth() / 6));
|
|
if (getHolonObj(yMouse) != null) {
|
|
if (getHolonObj(yMouse) != null) {
|
|
- if (selectedValueBX == 4) {
|
|
|
|
|
|
+ if (selectedValueBX == 5) {
|
|
HolonElement eleBTemp = getActualHolonElement(null, yBMouse, 0);
|
|
HolonElement eleBTemp = getActualHolonElement(null, yBMouse, 0);
|
|
String newBStuff = tableModelHolonElementMulti
|
|
String newBStuff = tableModelHolonElementMulti
|
|
.getValueAt(selectedValueBY, selectedValueBX).toString();
|
|
.getValueAt(selectedValueBY, selectedValueBX).toString();
|
|
@@ -718,14 +719,12 @@ public class GUI<E> implements CategoryListener {
|
|
HolonElement eleTemp = getActualHolonElement(null, yMouse, 0);
|
|
HolonElement eleTemp = getActualHolonElement(null, yMouse, 0);
|
|
String newStuff = tableModelHolonElementMulti.getValueAt(selectedValueY, selectedValueX)
|
|
String newStuff = tableModelHolonElementMulti.getValueAt(selectedValueY, selectedValueX)
|
|
.toString();
|
|
.toString();
|
|
- // Small bug, when it comes to edit the name of
|
|
|
|
- // the HolonElement
|
|
|
|
- if (selectedValueX == 1) {
|
|
|
|
|
|
+ if (selectedValueX == 2) {
|
|
eleTemp.setEleName(newStuff);
|
|
eleTemp.setEleName(newStuff);
|
|
- } else if (selectedValueX == 2) {
|
|
|
|
|
|
+ } else if (selectedValueX == 3) {
|
|
Float ftemp = Float.parseFloat(newStuff);
|
|
Float ftemp = Float.parseFloat(newStuff);
|
|
eleTemp.setEnergy(ftemp);
|
|
eleTemp.setEnergy(ftemp);
|
|
- } else if (selectedValueX == 3) {
|
|
|
|
|
|
+ } else if (selectedValueX == 4) {
|
|
Integer iTemp = Integer.parseInt(newStuff);
|
|
Integer iTemp = Integer.parseInt(newStuff);
|
|
eleTemp.setAmount(iTemp);
|
|
eleTemp.setAmount(iTemp);
|
|
}
|
|
}
|
|
@@ -733,10 +732,10 @@ public class GUI<E> implements CategoryListener {
|
|
}
|
|
}
|
|
} else if (model.getSelectedCpsObjects().size() == 1) {
|
|
} else if (model.getSelectedCpsObjects().size() == 1) {
|
|
// Single Selection
|
|
// Single Selection
|
|
- int selectedValueX = (int) Math.floor(xTHIS / (tableHolonElement.getWidth() / 4));
|
|
|
|
- int selectedValueBX = (int) Math.floor(xBTHIS / (tableHolonElement.getWidth() / 4));
|
|
|
|
|
|
+ int selectedValueX = (int) Math.floor(xTHIS / (tableHolonElement.getWidth() / 5));
|
|
|
|
+ int selectedValueBX = (int) Math.floor(xBTHIS / (tableHolonElement.getWidth() / 5));
|
|
if (getActualCps() != null && getActualCps().getClass() == HolonObject.class) {
|
|
if (getActualCps() != null && getActualCps().getClass() == HolonObject.class) {
|
|
- if (selectedValueBX == 3) {
|
|
|
|
|
|
+ if (selectedValueBX == 4) {
|
|
HolonElement eleBTemp = getActualHolonElement((HolonObject) getActualCps(), yBMouse, 0);
|
|
HolonElement eleBTemp = getActualHolonElement((HolonObject) getActualCps(), yBMouse, 0);
|
|
String newBStuff = tableModelHolonElementSingle
|
|
String newBStuff = tableModelHolonElementSingle
|
|
.getValueAt(selectedValueBY, selectedValueBX).toString();
|
|
.getValueAt(selectedValueBY, selectedValueBX).toString();
|
|
@@ -746,15 +745,12 @@ public class GUI<E> implements CategoryListener {
|
|
HolonElement eleTemp = getActualHolonElement((HolonObject) getActualCps(), yMouse, 0);
|
|
HolonElement eleTemp = getActualHolonElement((HolonObject) getActualCps(), yMouse, 0);
|
|
String newStuff = tableModelHolonElementSingle
|
|
String newStuff = tableModelHolonElementSingle
|
|
.getValueAt(selectedValueY, selectedValueX).toString();
|
|
.getValueAt(selectedValueY, selectedValueX).toString();
|
|
- // Small bug, when it comes to edit the name of
|
|
|
|
- // the HolonElement
|
|
|
|
- if (selectedValueX == 0) {
|
|
|
|
- System.out.println(eleTemp.getEleName());
|
|
|
|
|
|
+ if (selectedValueX == 1) {
|
|
eleTemp.setEleName(newStuff);
|
|
eleTemp.setEleName(newStuff);
|
|
- } else if (selectedValueX == 1) {
|
|
|
|
|
|
+ } else if (selectedValueX == 2) {
|
|
Float ftemp = Float.parseFloat(newStuff);
|
|
Float ftemp = Float.parseFloat(newStuff);
|
|
eleTemp.setEnergy(ftemp);
|
|
eleTemp.setEnergy(ftemp);
|
|
- } else if (selectedValueX == 2) {
|
|
|
|
|
|
+ } else if (selectedValueX == 3) {
|
|
Integer iTemp = Integer.parseInt(newStuff);
|
|
Integer iTemp = Integer.parseInt(newStuff);
|
|
eleTemp.setAmount(iTemp);
|
|
eleTemp.setAmount(iTemp);
|
|
}
|
|
}
|
|
@@ -1423,7 +1419,7 @@ public class GUI<E> implements CategoryListener {
|
|
tableHolonElementScrollPane.setBorder(null);
|
|
tableHolonElementScrollPane.setBorder(null);
|
|
|
|
|
|
frmCyberPhysical.getContentPane().add(timePanel, BorderLayout.SOUTH);
|
|
frmCyberPhysical.getContentPane().add(timePanel, BorderLayout.SOUTH);
|
|
-
|
|
|
|
|
|
+
|
|
simulationSpeedField.setText(Integer.toString(timePanel.getTimerSpeed()));
|
|
simulationSpeedField.setText(Integer.toString(timePanel.getTimerSpeed()));
|
|
btnApply.addActionListener(new ActionListener() {
|
|
btnApply.addActionListener(new ActionListener() {
|
|
public void actionPerformed(ActionEvent e) {
|
|
public void actionPerformed(ActionEvent e) {
|
|
@@ -1432,7 +1428,7 @@ public class GUI<E> implements CategoryListener {
|
|
mnSimulationSpeed.setPopupMenuVisible(false);
|
|
mnSimulationSpeed.setPopupMenuVisible(false);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+
|
|
mnSimulationSpeed.add(btnApply);
|
|
mnSimulationSpeed.add(btnApply);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1533,41 +1529,46 @@ public class GUI<E> implements CategoryListener {
|
|
*/
|
|
*/
|
|
public HolonElement getActualHolonElement(HolonObject obj, int yValue, int toMultiHash) {
|
|
public HolonElement getActualHolonElement(HolonObject obj, int yValue, int toMultiHash) {
|
|
final int yTemp = (int) Math.floor(yValue / 16);
|
|
final int yTemp = (int) Math.floor(yValue / 16);
|
|
- int rowsTotal = tableModelHolonElementSingle.getRowCount();
|
|
|
|
|
|
+ int rowsTotal = 0;
|
|
if (obj == null) {
|
|
if (obj == null) {
|
|
rowsTotal = tableModelHolonElementMulti.getRowCount();
|
|
rowsTotal = tableModelHolonElementMulti.getRowCount();
|
|
|
|
+ } else {
|
|
|
|
+ rowsTotal = tableModelHolonElementSingle.getRowCount();
|
|
}
|
|
}
|
|
HolonObject obtTemp = null;
|
|
HolonObject obtTemp = null;
|
|
- String eleTempName = "";
|
|
|
|
|
|
+ HolonElement toReturnEle = null;
|
|
|
|
+ int id = 0;
|
|
if (rowsTotal != 0 && rowsTotal > yTemp) {
|
|
if (rowsTotal != 0 && rowsTotal > yTemp) {
|
|
if (obj == null) {
|
|
if (obj == null) {
|
|
- String temp = tableModelHolonElementMulti.getValueAt(yTemp, 0).toString();
|
|
|
|
- int idTemp = Integer.parseInt(temp.split(", ")[1]);
|
|
|
|
- obtTemp = (HolonObject) controller.searchByID(idTemp);
|
|
|
|
- eleTempName = tableModelHolonElementMulti.getValueAt(yTemp, 1).toString();
|
|
|
|
|
|
+ String tempStringObj = tableModelHolonElementMulti.getValueAt(yTemp, 0).toString();
|
|
|
|
+ int idTempObj = Integer.parseInt(tempStringObj.split(", ")[1]);
|
|
|
|
+ obtTemp = (HolonObject) controller.searchByID(idTempObj);
|
|
|
|
+ id = Integer.parseInt(tableModelHolonElementMulti.getValueAt(yTemp, 1).toString());
|
|
ArrayList<HolonElement> eleTemp = new ArrayList<HolonElement>();
|
|
ArrayList<HolonElement> eleTemp = new ArrayList<HolonElement>();
|
|
- if (eleToDelete.containsKey(idTemp) && toMultiHash == 2) {
|
|
|
|
- eleTemp = eleToDelete.get(idTemp);
|
|
|
|
- if (!eleTemp.contains(obtTemp.searchElement(eleTempName))) {
|
|
|
|
- eleTemp.add(obtTemp.searchElement(eleTempName));
|
|
|
|
- eleToDelete.replace(idTemp, eleTemp);
|
|
|
|
|
|
+ if (eleToDelete.containsKey(idTempObj) && toMultiHash == 2) {
|
|
|
|
+ eleTemp = eleToDelete.get(idTempObj);
|
|
|
|
+ if (!eleTemp.contains(obtTemp.searchElementById(id))) {
|
|
|
|
+ eleTemp.add(obtTemp.searchElementById(id));
|
|
|
|
+ eleToDelete.replace(idTempObj, eleTemp);
|
|
|
|
|
|
}
|
|
}
|
|
} else if (toMultiHash == 2) {
|
|
} else if (toMultiHash == 2) {
|
|
- eleTemp.add(obtTemp.searchElement(eleTempName));
|
|
|
|
- eleToDelete.put(idTemp, eleTemp);
|
|
|
|
|
|
+ eleTemp.add(obtTemp.searchElementById(id));
|
|
|
|
+ eleToDelete.put(idTempObj, eleTemp);
|
|
} else if (toMultiHash == 1) {
|
|
} else if (toMultiHash == 1) {
|
|
eleToDelete = new HashMap<Integer, ArrayList<HolonElement>>();
|
|
eleToDelete = new HashMap<Integer, ArrayList<HolonElement>>();
|
|
- eleTemp.add(obtTemp.searchElement(eleTempName));
|
|
|
|
- eleToDelete.put(idTemp, eleTemp);
|
|
|
|
|
|
+ eleTemp.add(obtTemp.searchElementById(id));
|
|
|
|
+ eleToDelete.put(idTempObj, eleTemp);
|
|
|
|
+ } else if (toMultiHash == 0) {
|
|
|
|
+ toReturnEle = obtTemp.searchElementById(id);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
eleToDelete = new HashMap<Integer, ArrayList<HolonElement>>();
|
|
eleToDelete = new HashMap<Integer, ArrayList<HolonElement>>();
|
|
- obtTemp = obj;
|
|
|
|
- eleTempName = tableModelHolonElementSingle.getValueAt(yTemp, 0).toString();
|
|
|
|
|
|
+ id = Integer.parseInt(tableModelHolonElementSingle.getValueAt(yTemp, 0).toString());
|
|
|
|
+ toReturnEle = obj.searchElementById(id);
|
|
}
|
|
}
|
|
- model.setSelectedHolonElement(obtTemp.searchElement(eleTempName));
|
|
|
|
- return obtTemp.searchElement(eleTempName);
|
|
|
|
|
|
+ model.setSelectedHolonElement(toReturnEle);
|
|
|
|
+ return toReturnEle;
|
|
} else {
|
|
} else {
|
|
eleToDelete = new HashMap<Integer, ArrayList<HolonElement>>();
|
|
eleToDelete = new HashMap<Integer, ArrayList<HolonElement>>();
|
|
model.setSelectedHolonElement(null);
|
|
model.setSelectedHolonElement(null);
|
|
@@ -1626,7 +1627,7 @@ public class GUI<E> implements CategoryListener {
|
|
for (CpsObject o : objects) {
|
|
for (CpsObject o : objects) {
|
|
if (o instanceof HolonObject) {
|
|
if (o instanceof HolonObject) {
|
|
for (HolonElement he : ((HolonObject) o).getElements()) {
|
|
for (HolonElement he : ((HolonObject) o).getElements()) {
|
|
- Object[] temp = { o.getName() + ", " + o.getID(), he.getEleName(), he.getEnergy(),
|
|
|
|
|
|
+ Object[] temp = { o.getName() + ", " + o.getID(), he.getId(), he.getEleName(), he.getEnergy(),
|
|
he.getAmount(), he.getActive() };
|
|
he.getAmount(), he.getActive() };
|
|
tableModelHolonElementMulti.addRow(temp);
|
|
tableModelHolonElementMulti.addRow(temp);
|
|
}
|
|
}
|
|
@@ -1636,7 +1637,7 @@ public class GUI<E> implements CategoryListener {
|
|
CpsObject o = objects.get(0);
|
|
CpsObject o = objects.get(0);
|
|
if (o instanceof HolonObject) {
|
|
if (o instanceof HolonObject) {
|
|
for (HolonElement he : ((HolonObject) o).getElements()) {
|
|
for (HolonElement he : ((HolonObject) o).getElements()) {
|
|
- Object[] temp = { he.getEleName(), he.getEnergy(), he.getAmount(), he.getActive() };
|
|
|
|
|
|
+ Object[] temp = { he.getId(), he.getEleName(), he.getEnergy(), he.getAmount(), he.getActive() };
|
|
tableModelHolonElementSingle.addRow(temp);
|
|
tableModelHolonElementSingle.addRow(temp);
|
|
}
|
|
}
|
|
}
|
|
}
|