package com.vividsolutions.jump.workbench.ui.style; import com.vividsolutions.jump.I18N; import com.vividsolutions.jump.workbench.WorkbenchContext; import com.vividsolutions.jump.workbench.model.Layer; import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn; import com.vividsolutions.jump.workbench.plugin.EnableCheckFactory; import com.vividsolutions.jump.workbench.plugin.MultiEnableCheck; import com.vividsolutions.jump.workbench.plugin.PlugInContext; import com.vividsolutions.jump.workbench.ui.images.IconLoader; import java.util.Collection; import javax.swing.ImageIcon; /** * Copies the styles for a layer to a paste buffer * @author Martin Davis * @version 1.0 */ public class CopyStylesPlugIn extends AbstractPlugIn { static Collection stylesBuffer = null; public CopyStylesPlugIn() { } public String getName() { return I18N.get("ui.style.CopyStylesPlugIn.copy-styles"); } public ImageIcon getIcon() { return IconLoader.icon("Palette_in.gif"); } public static MultiEnableCheck createEnableCheck( final WorkbenchContext workbenchContext) { EnableCheckFactory checkFactory = new EnableCheckFactory(workbenchContext); return new MultiEnableCheck().add(checkFactory.createWindowWithLayerNamePanelMustBeActiveCheck()) .add(checkFactory.createExactlyNLayersMustBeSelectedCheck(1)); } public boolean execute(PlugInContext context) throws Exception { reportNothingToUndoYet(context); final Layer layer = context.getSelectedLayer(0); stylesBuffer = layer.cloneStyles(); return true; } }