Skip to content
Snippets Groups Projects
Select Git revision
  • ad7f9eb49665a51d10d6f2c052997e954dd575c6
  • master default protected
  • release/1.1.4
  • release/1.1.3
  • release/1.1.1
  • 1.4.2
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.1
  • 1.2.0
  • 1.1.5
  • 1.1.4
  • 1.1.3
  • 1.1.1
  • 1.1.0
  • 1.0.9
  • 1.0.8
  • 1.0.7
  • v1.0.5
  • 1.0.5
21 results

ModuleOverrider.java

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    MainPanel.java 2.18 KiB
    package de.hhu.ba.yoshikoWrapper.gui;
    
    import java.awt.Component;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.Icon;
    import javax.swing.JButton;
    import javax.swing.JFileChooser;
    import javax.swing.JPanel;
    import org.cytoscape.application.swing.CytoPanelComponent;
    import org.cytoscape.application.swing.CytoPanelName;
    
    import de.hhu.ba.yoshikoWrapper.core.YoshikoInterface;
    
    /**This class describes the Swing Panel that the user interacts with in cytoscape
     * @author Philipp Spohr, Aug 6, 2017
     *
     */
    public class MainPanel extends JPanel implements CytoPanelComponent {
    
    	/**
    	 * Unique identifier for serialization
    	 */
    	private static final long serialVersionUID = 6214827920591046457L;
    	
    	//SYMBOLIC LINKS
    	private YoshikoInterface yoshikoInterface = YoshikoInterface.getInstance();
    	private MainPanel self = this; //for lambda function references
    	//SWING COMPONENTS
    	
    	private LibStatusPanel libStatusPanel;
    	private JButton searchLibButton;
    
    	/**
    	 * Main constructor, creates a new Panel and intializes subcomponents
    	 */
    	public MainPanel() {
    		
    		//SWING COMPONENT INITIALIZATION
    		
    		libStatusPanel = new LibStatusPanel();
    		libStatusPanel.setStyle(yoshikoInterface.isLibraryLoaded());
    		this.add(libStatusPanel);
    		
    		searchLibButton = new JButton("SHOW YOSHIKO LIB");
    		searchLibButton.addActionListener(new ActionListener() {
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				final YLibChooser c = new YLibChooser();
    				int returnVal = c.showOpenDialog(self);
    				if (returnVal == JFileChooser.APPROVE_OPTION) {
    					yoshikoInterface.loadLibrary(c.getSelectedFile().getAbsolutePath());
    				}
    			}
    			
    		});
    		this.add(searchLibButton);
    		
    		this.setVisible(true);
    	}
    
    
    	public Component getComponent() {
    		return this;
    	}
    
    
    	/* (non-Javadoc)
    	 * @see org.cytoscape.application.swing.CytoPanelComponent#getCytoPanelName()
    	 */
    	public CytoPanelName getCytoPanelName() {
    		//By convention most plugins that provide a "toolbox"-like interface use the WEST orientation
    		return CytoPanelName.WEST;
    	}
    
    	public String getTitle() {
    		//TODO: Be creative I guess
    		return "Yoshiko Wrapper Panel";
    	}
    
    
    	public Icon getIcon() {
    		//TODO: 
    		return null;
    	}
    }