1
package org.helioviewer.jhv.gui.actions;
3
import java.awt.event.ActionEvent;
4
import java.awt.event.KeyEvent;
6
import javax.swing.AbstractAction;
7
import javax.swing.KeyStroke;
9
import org.helioviewer.jhv.gui.IconBank;
10
import org.helioviewer.jhv.gui.ImageViewerGui;
11
import org.helioviewer.jhv.gui.IconBank.JHVIcon;
12
import org.helioviewer.jhv.gui.controller.ZoomController;
13
import org.helioviewer.jhv.layers.LayersModel;
14
import org.helioviewer.viewmodel.view.MetaDataView;
15
import org.helioviewer.viewmodel.view.RegionView;
18
* Action to zoom, such that the active layer fits completely in the viewport.
20
* @author Markus Langenberg
22
public class ZoomFitAction extends AbstractAction {
24
private static final long serialVersionUID = 1L;
25
ZoomController zoomController;
31
* - if true, chooses a small (16x16), otherwise a large (24x24)
34
public ZoomFitAction(boolean small) {
35
super("Zoom to Fit", small ? IconBank.getIcon(JHVIcon.ZOOM_FIT_SMALL) : IconBank.getIcon(JHVIcon.ZOOM_FIT));
36
putValue(SHORT_DESCRIPTION, "Zoom to Fit");
37
putValue(MNEMONIC_KEY, KeyEvent.VK_F);
38
putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_K, KeyEvent.ALT_MASK));
44
public void actionPerformed(ActionEvent arg0) {
45
if (zoomController == null) {
46
zoomController = new ZoomController();
48
zoomController.zoomFit(LayersModel.getSingletonInstance().getActiveView().getAdapter(MetaDataView.class), ImageViewerGui.getSingletonInstance().getMainView().getAdapter(RegionView.class));
b'\\ No newline at end of file'