X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fgui%2FSwingInterface.java;h=3652388494d6076bd8855086269b8bcced504d57;hb=7a6a3c1c08be242d176b141f261e25b16fee84aa;hp=0a945db5755bb5985184af5532c8dd0b0f78e756;hpb=f58c676a286a7cd8d37c3f510e787144a9bff5ad;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/gui/SwingInterface.java b/src/net/pterodactylus/jsite/gui/SwingInterface.java index 0a945db..3652388 100644 --- a/src/net/pterodactylus/jsite/gui/SwingInterface.java +++ b/src/net/pterodactylus/jsite/gui/SwingInterface.java @@ -45,6 +45,7 @@ import javax.swing.UnsupportedLookAndFeelException; import net.pterodactylus.jsite.core.Core; import net.pterodactylus.jsite.core.CoreListener; +import net.pterodactylus.jsite.core.NoNodeException; import net.pterodactylus.jsite.core.Node; import net.pterodactylus.jsite.core.Project; import net.pterodactylus.jsite.core.Request; @@ -144,6 +145,9 @@ public class SwingInterface implements CoreListener, LoggingListener { /** The list of all defined nodes. */ private List nodeList = Collections.synchronizedList(new ArrayList()); + /** The request table model. */ + private RequestTableModel requestTableModel = new RequestTableModel(); + // // CONFIGURATION // @@ -217,7 +221,6 @@ public class SwingInterface implements CoreListener, LoggingListener { if ((mainWindowX != -1) && (mainWindowY != -1) && (mainWindowWidth != -1) && (mainWindowHeight != -1)) { mainWindow.setLocation(mainWindowX, mainWindowY); mainWindow.setSize(mainWindowWidth, mainWindowHeight); - mainWindow.validate(); } logWindow = new LogWindow(); } @@ -371,6 +374,15 @@ public class SwingInterface implements CoreListener, LoggingListener { return deleteProjectAction; } + /** + * Returns the request table model. + * + * @return The request table model + */ + RequestTableModel getRequestTableModel() { + return requestTableModel; + } + // // ACTIONS // @@ -805,9 +817,17 @@ public class SwingInterface implements CoreListener, LoggingListener { * Adds a project. */ private void addProject() { - Project project = new Project(); - project.setName("New Project"); - project.setDescription(""); + try { + Project project = core.createProject("New Project"); + System.out.println("private: " + project.getPrivateKey() + ", public: " + project.getPublicKey()); + mainWindow.addProject(project); + } catch (NoNodeException nne1) { + /* TODO - add i18n */ + JOptionPane.showMessageDialog(mainWindow, I18n.get(""), I18n.get(""), JOptionPane.ERROR_MESSAGE); + } catch (IOException e) { + /* TODO - add i18n */ + JOptionPane.showMessageDialog(mainWindow, I18n.get(""), I18n.get(""), JOptionPane.ERROR_MESSAGE); + } } /** @@ -951,7 +971,7 @@ public class SwingInterface implements CoreListener, LoggingListener { JOptionPane.showMessageDialog(mainWindow, I18n.get("mainWindow.error.nodeConnectionFailed.message", node.getName(), node.getHostname(), node.getPort(), (cause != null) ? cause.getMessage() : "no reason given"), I18n.get("mainWindow.error.nodeConnectionFailed.title"), JOptionPane.ERROR_MESSAGE); mainWindow.refreshNodeMenuItems(); } - + /** * {@inheritDoc} */ @@ -967,17 +987,24 @@ public class SwingInterface implements CoreListener, LoggingListener { /** * {@inheritDoc} */ - public void requestAdded(Node node, Request request) { - logger.log(Level.INFO, "request added to node: " + request + ", " + node); + public void requestAdded(Request request) { + logger.log(Level.INFO, "request added to node: " + request + ", " + request.getNode()); /* TODO - implement */ + requestTableModel.addRequest(request); } /** * {@inheritDoc} */ - public void requestProgressed(Request request, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) { + public void requestProgressed(Request request) { /* TODO - update table model */ - mainWindow.setStatusBarText(request.getIdentifier() + " @ " + ((10000 * successfulBlocks / requiredBlocks) / 100.0) + "%"); + } + + /** + * @see net.pterodactylus.jsite.core.CoreListener#requestRemoved(net.pterodactylus.jsite.core.Request) + */ + public void requestRemoved(Request request) { + requestTableModel.removeRequest(request); } //