X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FNodeManagerPage.java;h=8e44129a9a511cb687ed29b7d69e530aa13c392c;hb=e47e15fdbb7515f5a3757c3f5df8c1d0950aee8e;hp=0f38a5547f65ded72aa8560f19cc4188e015126e;hpb=bb1eccdace92539e122c9e4b3b8bd1486615d688;p=jSite.git diff --git a/src/de/todesbaum/jsite/gui/NodeManagerPage.java b/src/de/todesbaum/jsite/gui/NodeManagerPage.java index 0f38a55..8e44129 100644 --- a/src/de/todesbaum/jsite/gui/NodeManagerPage.java +++ b/src/de/todesbaum/jsite/gui/NodeManagerPage.java @@ -1,6 +1,5 @@ /* - * jSite-0.7 - - * Copyright (C) 2006 David Roden + * jSite - NodeManagerPage.java - Copyright © 2006–2012 David Roden * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -144,6 +143,18 @@ public class NodeManagerPage extends TWizardPage implements ListSelectionListene } /** + * Notifies all listeners that a new node was selected. + * + * @param node + * The newly selected node + */ + protected void fireNodeSelected(Node node) { + for (NodeManagerListener nodeManagerListener : nodeManagerListeners) { + nodeManagerListener.nodeSelected(node); + } + } + + /** * Creates all actions. */ private void createActions() { @@ -347,8 +358,10 @@ public class NodeManagerPage extends TWizardPage implements ListSelectionListene if (JOptionPane.showConfirmDialog(wizard, I18n.getMessage("jsite.node-manager.delete-node.warning"), null, JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.CANCEL_OPTION) { return; } + int nodeIndex = nodeListModel.indexOf(node); nodeListModel.removeElement(node); nodeList.repaint(); + fireNodeSelected((Node) nodeListModel.get(Math.min(nodeIndex, nodeListModel.size() - 1))); fireNodesUpdated(getNodes()); deleteNodeAction.setEnabled(nodeListModel.size() > 1); wizard.setNextEnabled(nodeListModel.size() > 0); @@ -428,6 +441,7 @@ public class NodeManagerPage extends TWizardPage implements ListSelectionListene JSpinner sourceSpinner = (JSpinner) source; if ("node-port".equals(sourceSpinner.getName())) { selectedNode.setPort((Integer) sourceSpinner.getValue()); + fireNodeSelected(selectedNode); nodeList.repaint(); } }