01: /*
02: * The Unified Mapping Platform (JUMP) is an extensible, interactive GUI
03: * for visualizing and manipulating spatial features with geometry and attributes.
04: *
05: * JUMP is Copyright (C) 2003 Vivid Solutions
06: *
07: * This program implements extensions to JUMP and is
08: * Copyright (C) 2004 Integrated Systems Analysts, Inc.
09: *
10: * This program is free software; you can redistribute it and/or
11: * modify it under the terms of the GNU General Public License
12: * as published by the Free Software Foundation; either version 2
13: * of the License, or (at your option) any later version.
14: *
15: * This program is distributed in the hope that it will be useful,
16: * but WITHOUT ANY WARRANTY; without even the implied warranty of
17: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18: * GNU General Public License for more details.
19: *
20: * You should have received a copy of the GNU General Public License
21: * along with this program; if not, write to the Free Software
22: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23: *
24: * For more information, contact:
25: *
26: * Integrated Systems Analysts, Inc.
27: * 630C Anchors St., Suite 101
28: * Fort Walton Beach, Florida
29: * USA
30: *
31: * (850)862-7321
32: * www.ashs.isa.com
33: */
34:
35: package org.openjump.core.ui.plugin.tools;
36:
37: import javax.swing.Icon;
38: import javax.swing.ImageIcon;
39:
40: import com.vividsolutions.jump.I18N;
41: import com.vividsolutions.jump.workbench.WorkbenchContext;
42: import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn;
43: import com.vividsolutions.jump.workbench.plugin.EnableCheckFactory;
44: import com.vividsolutions.jump.workbench.plugin.MultiEnableCheck;
45: import com.vividsolutions.jump.workbench.plugin.PlugInContext;
46: import com.vividsolutions.jump.workbench.ui.MenuNames;
47:
48: public class MeasureM_FPlugIn extends AbstractPlugIn {
49: MeasureM_FTool measureTool;
50: private final static String sMeasureInFeets = I18N
51: .get("org.openjump.core.ui.plugin.tools.MeasureM_FPlugIn.Measure-In-Feets");
52: private final static String sErrorSeeOutputWindow = I18N
53: .get("org.openjump.core.ui.plugin.tools.MeasureM_FPlugIn.Error-see-output-window");
54:
55: public void initialize(PlugInContext context) throws Exception {
56:
57: //context.getWorkbenchContext().getWorkbench().getFrame().getToolBar().addPlugIn(getIcon(), this, new MultiEnableCheck(), context.getWorkbenchContext());
58: context.getFeatureInstaller().addMainMenuItemWithJava14Fix(
59: this , new String[] { MenuNames.TOOLS },
60: sMeasureInFeets, false, null,
61: createEnableCheck(context.getWorkbenchContext()));
62: measureTool = new MeasureM_FTool();
63: }
64:
65: public boolean execute(PlugInContext context) throws Exception {
66: try {
67: context.getLayerViewPanel().setCurrentCursorTool(
68: measureTool);
69: return true;
70: } catch (Exception e) {
71: context.getWorkbenchFrame().warnUser(sErrorSeeOutputWindow);
72: context.getWorkbenchFrame().getOutputFrame()
73: .createNewDocument();
74: context.getWorkbenchFrame().getOutputFrame().addText(
75: "MeasureM_FPlugIn Exception:" + e.toString());
76: return false;
77: }
78: }
79:
80: private Icon getIcon() {
81: return new ImageIcon(getClass().getResource("RulerM_F.gif"));
82: }
83:
84: public MultiEnableCheck createEnableCheck(
85: final WorkbenchContext workbenchContext) {
86: EnableCheckFactory checkFactory = new EnableCheckFactory(
87: workbenchContext);
88: return new MultiEnableCheck().add(checkFactory
89: .createTaskWindowMustBeActiveCheck());
90: }
91: }
|