+ public void nodeAdded(final Node node) {
+ logger.log(Level.INFO, "node added: " + node);
+ nodeList.add(node);
+ node.addPropertyChangeListener(this);
+ logger.log(Level.FINE, "nodeList.size(): " + nodeList.size());
+ nodeConnectActions.put(node, new I18nAction("mainWindow.menu.node.item.connect") {
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent e) {
+ nodeConnect(node);
+ }
+ });
+ nodeDisconnectActions.put(node, new I18nAction("mainWindow.menu.node.item.disconnect") {
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent e) {
+ nodeDisconnect(node);
+ }
+ });
+ nodeDisconnectActions.get(node).setEnabled(false);
+ nodeEditActions.put(node, new I18nAction("mainWindow.menu.node.item.edit") {
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent actionEvent) {
+ editNode(node);
+ }
+ });
+ nodeDeleteActions.put(node, new I18nAction("mainWindow.menu.node.item.remove") {
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent actionEvent) {
+ deleteNode(node);
+ }
+ });
+ mainWindow.addNode(node);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void nodeRemoved(Node node) {
+ logger.log(Level.INFO, "node removed: " + node);
+ nodeList.remove(node);
+ node.removePropertyChangeListener(this);
+ nodeConnectActions.remove(node);
+ nodeDisconnectActions.remove(node);
+ nodeEditActions.remove(node);
+ nodeDeleteActions.remove(node);
+ mainWindow.removeNode(node);
+ }
+
+ /**
+ * {@inheritDoc}
+ */