+ public void updateI18n() {
+ swingInterface.getConfigureAction().updateI18n();
+ swingInterface.getImportConfigAction().updateI18n();
+ swingInterface.getQuitAction().updateI18n();
+ swingInterface.getManageNodesAction().updateI18n();
+ swingInterface.getNodeConnectAction().updateI18n();
+ connectMenu.updateI18n();
+ swingInterface.getNodeDisconnectAction().updateI18n();
+ disconnectMenu.updateI18n();
+ swingInterface.getAddProjectAction().updateI18n();
+ swingInterface.getCloneProjectAction().updateI18n();
+ swingInterface.getDeleteProjectAction().updateI18n();
+ swingInterface.getHelpAboutAction().updateI18n();
+ jSiteMenu.updateI18n();
+ nodeMenu.updateI18n();
+ languageMenu.updateI18n();
+ for (I18nAction languageAction: swingInterface.getLanguageActions()) {
+ languageAction.updateI18n();
+ }
+ helpMenu.updateI18n();
+ getJMenuBar().revalidate();
+ projectOverviewPanel.setName(I18n.get("mainWindow.pane.overview.title"));
+ for (int componentIndex = 0; componentIndex < projectPane.getTabCount(); componentIndex++) {
+ projectPane.setTitleAt(componentIndex, projectPane.getComponentAt(componentIndex).getName());
+ }
+ refreshNodeMenuItems();
+ SwingUtils.repackCentered(this);
+ }
+
+ //
+ // INTERFACE WindowListener
+ //
+
+ /**
+ * {@inheritDoc}
+ */
+ public void windowActivated(WindowEvent e) {
+ /* do nothing. */
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void windowClosed(WindowEvent e) {
+ /* do nothing. */
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void windowClosing(WindowEvent e) {
+ swingInterface.getQuitAction().actionPerformed(null);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void windowDeactivated(WindowEvent e) {
+ /* do nothing. */
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void windowDeiconified(WindowEvent e) {
+ /* do nothing. */
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void windowIconified(WindowEvent e) {
+ /* do nothing. */
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void windowOpened(WindowEvent e) {
+ /* do nothing. */
+ }
+
+ //
+ // INTERFACE PropertyChangeListener
+ //
+
+ /**
+ * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+ */
+ public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
+ Object eventSource = propertyChangeEvent.getSource();
+ String propertyName = propertyChangeEvent.getPropertyName();
+ if (eventSource instanceof Project) {
+ /* if a project was changed, update the tab title and tooltip. */
+ if (Project.PROPERTY_NAME.equals(propertyName) || Project.PROPERTY_DESCRIPTION.equals(propertyName)) {
+ Project project = (Project) eventSource;
+ int tabCount = projectPane.getTabCount();
+ for (int tabIndex = 0; tabIndex < tabCount; tabIndex++) {
+ Component tabComponent = projectPane.getComponentAt(tabIndex);
+ if (tabComponent instanceof ProjectPanel) {
+ Project tabProject = ((ProjectPanel) tabComponent).getProject();
+ if (tabProject.equals(project)) {
+ projectPane.setTitleAt(tabIndex, project.getName());
+ projectPane.setToolTipTextAt(tabIndex, project.getDescription());
+ projectPane.repaint();
+ }
+ }
+ }
+ }
+ }