Select Git revision
ModuleOverrider.java
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;
}
}