From: <aki...@us...> - 2007-01-08 22:10:04
|
Revision: 1517 http://svn.sourceforge.net/gridarta/?rev=1517&view=rev Author: akirschbaum Date: 2007-01-08 14:10:03 -0800 (Mon, 08 Jan 2007) Log Message: ----------- Simplify PickmapSelectionListener; do not crash if no pickmap exists. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainView.java trunk/crossfire/src/cfeditor/gui/pickmapchooser/PickmapChooserControl.java trunk/crossfire/src/cfeditor/gui/pickmapchooser/PickmapSelectionListener.java trunk/daimonin/src/daieditor/CMainView.java trunk/daimonin/src/daieditor/gui/pickmapchooser/PickmapChooserControl.java trunk/daimonin/src/daieditor/gui/pickmapchooser/PickmapSelectionListener.java Modified: trunk/crossfire/src/cfeditor/CMainView.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainView.java 2007-01-08 21:48:15 UTC (rev 1516) +++ trunk/crossfire/src/cfeditor/CMainView.java 2007-01-08 22:10:03 UTC (rev 1517) @@ -215,7 +215,6 @@ // initialize pickmap panel (needed early during the loading process) pickmapChooserControl = new PickmapChooserControl(pickmapPanel); pickmapPanel.setBorder(BorderFactory.createEmptyBorder(IGUIConstants.SPACE_PICKARCH_TOP, 0, 0, 0)); - PickmapChooserControl.getInstance().addPickmapSelectionListener(pickmapPanel); statusBar = new StatusBar(mainControl); getContentPane().add(statusBar, BorderLayout.SOUTH); Modified: trunk/crossfire/src/cfeditor/gui/pickmapchooser/PickmapChooserControl.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/pickmapchooser/PickmapChooserControl.java 2007-01-08 21:48:15 UTC (rev 1516) +++ trunk/crossfire/src/cfeditor/gui/pickmapchooser/PickmapChooserControl.java 2007-01-08 22:10:03 UTC (rev 1517) @@ -85,6 +85,7 @@ view = new PickmapChooserView(tabpane); actions = new Actions(this); actions.init(); + tabpane.addChangeListener(new PickmapSelectionListener(this)); } /** @@ -297,15 +298,6 @@ } /** - * Add the PickmapSelectionListener to the pickmap tabbed panel. - * @param pickpane the panel with pickmaps - * @todo this method's name is a Bad Thing - */ - public void addPickmapSelectionListener(final JTabbedPane pickpane) { - pickpane.addChangeListener(new PickmapSelectionListener(this, pickpane)); - } - - /** * Add the ArchNPickChangeListener to the panel containing both * archlist and pickmaps. * @param pane the left-side panel Modified: trunk/crossfire/src/cfeditor/gui/pickmapchooser/PickmapSelectionListener.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/pickmapchooser/PickmapSelectionListener.java 2007-01-08 21:48:15 UTC (rev 1516) +++ trunk/crossfire/src/cfeditor/gui/pickmapchooser/PickmapSelectionListener.java 2007-01-08 22:10:03 UTC (rev 1517) @@ -20,7 +20,6 @@ package cfeditor.gui.pickmapchooser; -import javax.swing.JTabbedPane; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -32,21 +31,12 @@ private final PickmapChooserControl control; - private final String activePickmap; // file-name of active pickmap - - private final JTabbedPane tabpane; - - public PickmapSelectionListener(final PickmapChooserControl control, final JTabbedPane pane) { + public PickmapSelectionListener(final PickmapChooserControl control) { this.control = control; - tabpane = pane; - activePickmap = null; } public void stateChanged(final ChangeEvent e) { - if (activePickmap == null || activePickmap.length() <= 0 || !tabpane.getTitleAt(tabpane.getSelectedIndex()).equals(activePickmap)) { - // new pickmap is active - control.updateActivePickmap(); - } + control.updateActivePickmap(); } } // class PickmapSelectionListener Modified: trunk/daimonin/src/daieditor/CMainView.java =================================================================== --- trunk/daimonin/src/daieditor/CMainView.java 2007-01-08 21:48:15 UTC (rev 1516) +++ trunk/daimonin/src/daieditor/CMainView.java 2007-01-08 22:10:03 UTC (rev 1517) @@ -224,7 +224,6 @@ pickmapChooserControl = new PickmapChooserControl(pickmapPanel); pickmapPanel.setComponentPopupMenu(ACTION_FACTORY.createPopupMenu(true, "pickmaps")); pickmapPanel.setBorder(BorderFactory.createEmptyBorder(IGUIConstants.SPACE_PICKARCH_TOP, 0, 0, 0)); - PickmapChooserControl.getInstance().addPickmapSelectionListener(pickmapPanel); statusBar = new StatusBar(mainControl); archPanel = new InsertionObjectChooser(mainControl); Modified: trunk/daimonin/src/daieditor/gui/pickmapchooser/PickmapChooserControl.java =================================================================== --- trunk/daimonin/src/daieditor/gui/pickmapchooser/PickmapChooserControl.java 2007-01-08 21:48:15 UTC (rev 1516) +++ trunk/daimonin/src/daieditor/gui/pickmapchooser/PickmapChooserControl.java 2007-01-08 22:10:03 UTC (rev 1517) @@ -83,6 +83,7 @@ view = new PickmapChooserView(tabpane); actions = new Actions(this); actions.init(); + tabpane.addChangeListener(new PickmapSelectionListener(this, mainControl)); } /** @@ -333,15 +334,6 @@ } /** - * Add the PickmapSelectionListener to the pickmap tabbed panel. - * @param pickpane the panel with pickmaps - * @todo this method's name is a Bad Thing - */ - public void addPickmapSelectionListener(final JTabbedPane pickpane) { - pickpane.addChangeListener(new PickmapSelectionListener(this, mainControl, pickpane)); - } - - /** * Add the ArchNPickChangeListener to the panel containing both * archlist and pickmaps. * @param pane the left-side panel Modified: trunk/daimonin/src/daieditor/gui/pickmapchooser/PickmapSelectionListener.java =================================================================== --- trunk/daimonin/src/daieditor/gui/pickmapchooser/PickmapSelectionListener.java 2007-01-08 21:48:15 UTC (rev 1516) +++ trunk/daimonin/src/daieditor/gui/pickmapchooser/PickmapSelectionListener.java 2007-01-08 22:10:03 UTC (rev 1517) @@ -21,7 +21,7 @@ package daieditor.gui.pickmapchooser; import daieditor.CMainControl; -import javax.swing.JTabbedPane; +import daieditor.map.MapControl; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -35,23 +35,17 @@ private final CMainControl mainControl; - private final String activePickmap; // file-name of active pickmap - - private final JTabbedPane tabpane; - - public PickmapSelectionListener(final PickmapChooserControl control, final CMainControl mainControl, final JTabbedPane pane) { + public PickmapSelectionListener(final PickmapChooserControl control, final CMainControl mainControl) { this.control = control; this.mainControl = mainControl; - tabpane = pane; - activePickmap = null; } public void stateChanged(final ChangeEvent e) { - if (activePickmap == null || activePickmap.length() <= 0 || !tabpane.getTitleAt(tabpane.getSelectedIndex()).equals(activePickmap)) { - // new pickmap is active - control.updateActivePickmap(); + control.updateActivePickmap(); + final MapControl pickmap = control.getCurrentPickmap(); + if (pickmap != null) { + pickmap.getMapViewFrame().unHighlight(); } - control.getCurrentPickmap().getMapViewFrame().unHighlight(); mainControl.showArchPanelQuickObject(null); // send it to quick view } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |