//$HeadURL: svn+ssh://aschmitz@wald.intevation.org/deegree/base/trunk/resources/eclipse/files_template.xml $ /*---------------------------------------------------------------------------- This file is part of deegree, http://deegree.org/ Copyright (C) 2001-2011 by: - Department of Geography, University of Bonn - and - lat/lon GmbH - This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact information: lat/lon GmbH Aennchenstr. 19, 53177 Bonn Germany http://lat-lon.de/ Department of Geography, University of Bonn Prof. Dr. Klaus Greve Postfach 1147, 53001 Bonn Germany http://www.geographie.uni-bonn.de/deegree/ e-mail: info@deegree.org ----------------------------------------------------------------------------*/ package org.deegree.igeo.modules.georef; import java.awt.Container; import org.deegree.igeo.ApplicationContainer; import org.deegree.igeo.desktop.IGeoDesktopEventHandler; import org.deegree.igeo.mapmodel.MapModel; import org.deegree.igeo.mapmodel.MapModelCollection; import org.deegree.igeo.modules.DefaultMapModule; import org.deegree.igeo.modules.DefaultModule; import org.deegree.igeo.modules.IModule; import org.deegree.igeo.views.swing.georef.GeoreferencingControlWindow; /** * * @author <a href="mailto:schmitz@lat-lon.de">Andreas Schmitz</a> * @author last edited by: $Author: stranger $ * * @version $Revision: $, $Date: $ */ public class GeoreferencingModule extends DefaultModule<Container> { public void open() { this.componentStateAdapter.setClosed( false ); createIView(); // whyever one needs to set the window visible oneself (digitizer does not seem to need to do it) GeoreferencingControlWindow wnd = (GeoreferencingControlWindow) getViewForm(); wnd.setVisible( true ); ApplicationContainer<Container> igeo = getApplicationContainer(); MapModelCollection mms = igeo.getMapModelCollection(); MapModel right = null; MapModel left = null; for ( MapModel mm2 : mms.getMapModels() ) { if ( mm2.getName().equals( "georef" ) ) { right = mm2; } else { left = mm2; } } if ( right == null ) { IGeoDesktopEventHandler.addMapModel( igeo, "georef" ); for ( MapModel mm2 : mms.getMapModels() ) { if ( mm2.getName().equals( "georef" ) ) { right = mm2; } } } DefaultMapModule<?> rightModule = null, leftModule = null; for ( IModule<?> m : igeo.getModules() ) { if ( m instanceof DefaultMapModule ) { DefaultMapModule<?> dmm2 = (DefaultMapModule<?>) m; if ( dmm2.getInitParameter( "assignedMapModel" ).equals( right.getIdentifier().getValue() ) ) { rightModule = dmm2; } else { leftModule = dmm2; } } } Container c = (Container) rightModule.getViewForm(); c.setVisible( true ); wnd.setMapModel( leftModule, left, rightModule, right ); } }