package medsavant.variantannotation;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
import org.ut.biolab.medsavant.client.api.MedSavantClinicApp;
import org.ut.biolab.medsavant.client.view.component.RoundedPanel;
import org.ut.biolab.medsavant.client.view.util.ViewUtil;
/**
* Imports VCFs into database with functional annotations.
*
* @author rammar
*/
public class VariantAnnotationApp extends MedSavantClinicApp {
private int TOP_MARGIN= 0;
private int SIDE_MARGIN= 100;
private int BOTTOM_MARGIN= 400;
private static final String iconroot= "/medsavant/variantannotation/icon/";
private JPanel mainview;
private RoundedPanel workview;
private VCFAnnotationWizard vaw;
private JButton importButton;
@Override
public JPanel getContent() {
if (mainview == null) {
/* Display setup */
mainview= ViewUtil.getClearPanel();;
mainview.setLayout(new BorderLayout());
mainview.setBorder(BorderFactory.createEmptyBorder(TOP_MARGIN, SIDE_MARGIN, BOTTOM_MARGIN, SIDE_MARGIN));
workview= new RoundedPanel(10);
importButton= new JButton("Add variants to database...");
importButton.addActionListener(
new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
vaw= new VCFAnnotationWizard();
vaw.setVisible(true);
}
}
);
workview.add(importButton, BorderLayout.CENTER);
mainview.add(workview, BorderLayout.CENTER);
}
return mainview;
}
/**
* Title which will appear on plugin's tab in Savant user interface.
*/
@Override
public String getTitle() {
return "Import VCFs";
}
@Override
public void viewDidLoad() {
}
@Override
public void viewDidUnload() {
}
@Override
public ImageIcon getIcon() {
return getIcon(iconroot + "icon.png");
}
public ImageIcon getIcon(String resourcePath) {
return new ImageIcon(getClass().getResource(resourcePath));
}
}