01: package com.tagtraum.perf.gcviewer.action;
02:
03: import com.tagtraum.perf.gcviewer.GCViewer;
04: import com.tagtraum.perf.gcviewer.util.NumberParser;
05:
06: import javax.swing.*;
07: import java.awt.*;
08: import java.awt.event.ActionEvent;
09:
10: /**
11: *
12: * @author <a href="mailto:hs@tagtraum.com">Hendrik Schreiber</a>
13: * Date: May 20, 2005
14: * Time: 2:06:04 PM
15: *
16: */
17: public class Zoom extends AbstractAction {
18: private GCViewer gcViewer;
19:
20: public Zoom(final GCViewer gcViewer) {
21: this .gcViewer = gcViewer;
22: putValue(NAME, GCViewer.localStrings.getString("action_zoom"));
23: putValue(SHORT_DESCRIPTION, GCViewer.localStrings
24: .getString("action_zoom_hint"));
25: //putValue(Action.MNEMONIC_KEY, new Integer(localStrings.getString("main_frame_menuitem_mnemonic_export").charAt(0)));
26: putValue(ACTION_COMMAND_KEY, "zoom");
27: //putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('E', java.awt.Event.CTRL_MASK ));
28: setEnabled(false);
29: }
30:
31: public void actionPerformed(final ActionEvent e) {
32: final ItemSelectable is = (ItemSelectable) e.getSource();
33: final Object[] o = is.getSelectedObjects();
34: try {
35: String item = (String) o[0];
36: if (item.endsWith("%"))
37: item = item.substring(0, item.length() - 1);
38: final int zoomFactor = NumberParser.parseInt(item.trim());
39: if (zoomFactor > 0)
40: gcViewer.getSelectedGCDocument().getModelChart()
41: .setScaleFactor(zoomFactor / 1000.0);
42: } catch (NumberFormatException nfe) {
43: //nfe.printStackTrace();
44: }
45: }
46: }
|