/* * Created on 04.01.2006 for PIROL * * SVN header information: * $Author: LBST-PF-3\orahn $ * $Rev: 2509 $ * $Date: 2006-10-06 10:01:50 +0000 (Fr, 06 Okt 2006) $ * $Id: ToggleRasterImageVisibility.java 2509 2006-10-06 10:01:50Z LBST-PF-3\orahn $ */ package org.openjump.core.ui.plugin.layer.pirolraster; import javax.swing.JCheckBoxMenuItem; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; import org.openjump.core.apitools.LayerTools; import org.openjump.core.rasterimage.RasterImageLayer; import com.vividsolutions.jump.I18N; import com.vividsolutions.jump.workbench.WorkbenchContext; import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn; import com.vividsolutions.jump.workbench.plugin.PlugInContext; /** * TODO: comment class * * @author Ole Rahn * <br> * <br>FH Osnabrück - University of Applied Sciences Osnabrück, * <br>Project: PIROL (2006), * <br>Subproject: Daten- und Wissensmanagement * * @version $Rev: 2509 $ * [sstein] - 22.Feb.2009 - modified to work in OpenJUMP */ public class ToggleRasterImageVisibility extends AbstractPlugIn implements PopupMenuListener { protected WorkbenchContext wbContext = null; protected JCheckBoxMenuItem menuItem = null; public ToggleRasterImageVisibility(WorkbenchContext wbContext) { //super(new PersonalLogger(DebugUserIds.OLE)); this.wbContext = wbContext; } /** *@inheritDoc */ public String getIconString() { return "visibility.png"; } /** *@inheritDoc */ public String getName() { return I18N.get("org.openjump.core.ui.plugin.layer.pirolraster.ToggleRasterImageVisibility.Toggle-Raster-Image-Visibility"); } /** *@inheritDoc */ public boolean execute(PlugInContext context) throws Exception { RasterImageLayer rLayer = (RasterImageLayer) LayerTools.getSelectedLayerable(context, RasterImageLayer.class); if (rLayer==null){ context.getWorkbenchFrame().warnUser(I18N.get("pirol.plugIns.EditAttributeByFormulaPlugIn.no-layer-selected")); //$NON-NLS-1$ return false; } rLayer.setVisible(!rLayer.isVisible()); rLayer.fireAppearanceChanged(); return true; } /** *@param arg0 */ public void popupMenuCanceled(PopupMenuEvent arg0) { } /** *@param arg0 */ public void popupMenuWillBecomeInvisible(PopupMenuEvent arg0) { } /** *@param arg0 */ public void popupMenuWillBecomeVisible(PopupMenuEvent arg0) { RasterImageLayer rLayer = (RasterImageLayer) LayerTools.getSelectedLayerable(this.wbContext.createPlugInContext(), RasterImageLayer.class); if (rLayer==null) return; if (this.menuItem!=null) menuItem.setSelected(rLayer.isVisible()); } public JCheckBoxMenuItem getMenuItem() { return menuItem; } public void setMenuItem(JCheckBoxMenuItem menuItem) { this.menuItem = menuItem; } }