Skip to content
Snippets Groups Projects
Select Git revision
  • 2e432564f4f9a0645ea579d695bc11de603a61bc
  • master default protected
  • icy-3.0.0
  • v2.0.0-a.1
  • v1.2.1
5 results

ChainingModule.java

Blame
  • ChainingModule.java 10.08 KiB
    package plugins.nherve.toolbox.imageanalysis.impl;
    
    import icy.gui.component.PopupPanel;
    import icy.gui.dialog.MessageDialog;
    import icy.gui.util.GuiUtil;
    import icy.sequence.Sequence;
    import icy.system.thread.ThreadUtil;
    
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.RenderingHints;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    
    import javax.swing.BorderFactory;
    import javax.swing.Box;
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JPanel;
    import javax.swing.border.TitledBorder;
    
    import plugins.nherve.maskeditor.MaskEditor;
    import plugins.nherve.toolbox.NherveToolbox;
    import plugins.nherve.toolbox.image.mask.MaskStack;
    import plugins.nherve.toolbox.imageanalysis.ImageAnalysisContext;
    import plugins.nherve.toolbox.imageanalysis.ImageAnalysisException;
    import plugins.nherve.toolbox.imageanalysis.ImageAnalysisModule;
    import plugins.nherve.toolbox.imageanalysis.ImageAnalysisModuleListener;
    import plugins.nherve.toolbox.imageanalysis.ImageAnalysisParameters;
    import plugins.nherve.toolbox.imageanalysis.ImageAnalysisProcessListener;
    
    public abstract class ChainingModule extends ModuleGroup implements ActionListener, ImageAnalysisProcessListener {
    
    	private class LaunchButton extends JButton implements ImageAnalysisModuleListener {
    		private static final long serialVersionUID = -7597996048640565055L;
    
    		public LaunchButton(ImageAnalysisModule module) {
    			super(NherveToolbox.playIcon);
    
    			setToolTipText("Launch " + module.getName());
    			setName("Launch");
    
    			module.addListener(this);
    		}
    
    		@Override
    		public void statutsChanged(ImageAnalysisModule m) {
    			final ImageAnalysisModule m2 = m;
    			ThreadUtil.invokeLater(new Runnable() {
    				@Override
    				public void run() {
    					switch (m2.getState()) {
    					case ImageAnalysisModule.STOPPED:
    						setEnabled(true);
    						break;
    					case ImageAnalysisModule.RUNNING:
    						setEnabled(false);
    						break;
    					case ImageAnalysisModule.FINISHED:
    						setEnabled(false);