+ // ACTIONS
+ //
+
+ /**
+ * Refreshes the menu items in the “connect” and “disconnect” menus.
+ */
+ void refreshNodeMenuItems() {
+ connectMenu.removeAll();
+ for (Action nodeConnectAction: swingInterface.getNodeConnectActions()) {
+ connectMenu.add(nodeConnectAction);
+ }
+ if (connectMenu.getMenuComponentCount() == 0) {
+ JMenuItem noNodeAvailableItem = new JMenuItem(I18n.get("mainWindow.menu.connectNoNodeAvailable.name"));
+ noNodeAvailableItem.setEnabled(false);
+ connectMenu.add(noNodeAvailableItem);
+ }
+ disconnectMenu.removeAll();
+ for (Action nodeDisconnectAction: swingInterface.getNodeDisconnectActions()) {
+ disconnectMenu.add(nodeDisconnectAction);
+ }
+ if (disconnectMenu.getMenuComponentCount() == 0) {
+ JMenuItem noNodeAvailableItem = new JMenuItem(I18n.get("mainWindow.menu.disconnectNoNodeAvailable.name"));
+ noNodeAvailableItem.setEnabled(false);
+ disconnectMenu.add(noNodeAvailableItem);
+ }
+ }
+
+ /**
+ * Adds a project to the project pane.
+ *
+ * @param project
+ * The project to add
+ * @param switchToProject
+ * <code>true</code> to switch to the new panel,
+ * <code>false</code> to not change the current panel
+ */
+ void addProject(Project project, boolean switchToProject) {
+ ProjectPanel projectPanel = new ProjectPanel(swingInterface, project);
+ int newTabIndex = projectPane.getTabCount();
+ projectPane.add(project.getName(), projectPanel);
+ projectPane.setToolTipTextAt(newTabIndex, project.getDescription());
+ project.addPropertyChangeListener(this);
+ if (switchToProject) {
+ projectPane.setSelectedIndex(newTabIndex);
+ }
+ }
+
+ //