View Javadoc
1   package com.github.celldynamics.quimp.plugin.protanalysis;
2   
3   import java.awt.event.ActionEvent;
4   
5   import javax.swing.AbstractAction;
6   
7   import org.slf4j.Logger;
8   import org.slf4j.LoggerFactory;
9   
10  import com.github.celldynamics.quimp.utils.UiTools;
11  
12  /**
13   * Abstract actions for Prot_Analysis UI.
14   * 
15   * @author baniu
16   *
17   */
18  @SuppressWarnings("serial")
19  public abstract class ProtAnalysisAbstractAction extends AbstractAction {
20    protected final Logger logger = LoggerFactory.getLogger(this.getClass().getName());
21    protected ProtAnalysisUi ui;
22    // helpers retrieved from ui
23    protected Prot_Analysis model;
24    protected ProtAnalysisOptions options;
25  
26    /**
27     * Constructor for calling actions without AbstractAction (as Listener but not Action).
28     * 
29     * <p>Allows to pass only reference to window and use it as in {@link ActionClearPoints}.
30     * 
31     * @param ui reference to window
32     */
33    public ProtAnalysisAbstractAction(ProtAnalysisUi ui) {
34      this.ui = ui;
35      this.model = ui.getModel();
36      this.options = (ProtAnalysisOptions) model.getOptions();
37    }
38  
39    /**
40     * Default action.
41     * 
42     * @param name name of the action
43     * @param desc description
44     * @param ui reference to UI object
45     */
46    public ProtAnalysisAbstractAction(String name, String desc, ProtAnalysisUi ui) {
47      super(name);
48      putValue(SHORT_DESCRIPTION, UiTools.getToolTipString(desc));
49      this.ui = ui;
50      this.model = ui.getModel();
51      this.options = (ProtAnalysisOptions) model.getOptions();
52    }
53  
54    /**
55     * Helper for updating current frame.
56     */
57    public void updateCurrentView() {
58      ui.updateOverlay(ui.getImagePlus().getCurrentSlice());
59    }
60  
61    /*
62     * (non-Javadoc)
63     * 
64     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
65     */
66    @Override
67    public abstract void actionPerformed(ActionEvent e);
68  
69  }