https://github.com/F1000Research/GASOLINE
Raw File
Tip revision: b311a55a1126c2d961686f08fe5b341f930db7e5 authored by GMicale on 12 June 2014, 16:41:05 UTC
Update README.md
Tip revision: b311a55
ResultsPanel.java
import java.awt.Font;
import java.awt.GridLayout;
import java.util.Vector;
import java.util.List;
import java.awt.Component;
import javax.swing.*;
import org.cytoscape.app.swing.CySwingAppAdapter;
import org.cytoscape.application.swing.CytoPanelName;
import org.cytoscape.work.Task;
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.work.swing.PanelTaskManager;
import org.cytoscape.work.TaskIterator;
import org.cytoscape.application.swing.CytoPanelComponent;
import org.cytoscape.model.CyTable;

public class ResultsPanel extends JPanel implements CytoPanelComponent
{
	private CySwingAppAdapter adapter;
	private OrderedList<Allineamento> rankAlign;
	private JScrollPane scrollPane;
	private JPanel pane;
	private List<Grafo> gList;
	private Vector<String> ontFiles;
    
	public ResultsPanel(OrderedList<Allineamento> rankAlign, List<Grafo> gList, Vector<String> ontFiles, CySwingAppAdapter adapter)
	{
		this.rankAlign=rankAlign;
		this.gList=gList;
		this.ontFiles=ontFiles;
		this.adapter=adapter;
		initComponents();
		setPane();
		setVisible(true);
	}
    
	public Component getComponent() 
	{
		return this;
	}
	public CytoPanelName getCytoPanelName() 
	{
		return CytoPanelName.EAST;
	}
	public String getTitle() 
	{
		return "Alignment results";
	}
	public Icon getIcon() 
	{
		return null;
	}
	
	private void initComponents()
	{
		pane=new JPanel();
		pane.setLayout(new GridLayout(0,4,10,10));
		scrollPane=new JScrollPane(pane);
		scrollPane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
		this.setLayout(layout);
		layout.setHorizontalGroup(
			layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addComponent(scrollPane)
		);
		layout.setVerticalGroup(
			layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addComponent(scrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 933, Short.MAX_VALUE)
		);
	}
    
	private void setPane()
	{
		JLabel align=new JLabel("Alignment #");
		align.setFont(new Font("Serif", Font.BOLD, 15));
		pane.add(align);
		JLabel complexSize=new JLabel("Complex Size");
		complexSize.setFont(new Font("Serif", Font.BOLD, 15));
		pane.add(complexSize);
		JLabel score=new JLabel("ISC Score");
		score.setFont(new Font("Serif", Font.BOLD, 15));
		pane.add(score);
		pane.add(new JLabel(""));
        
		NodoOrdList<Allineamento> aux=rankAlign.getMax();
		int count=1;
        
		while(aux!=null)
		{
			final int cont=count;
			final Allineamento a=aux.getInfo();
			pane.add(new JLabel("- Alignment "+count));
			pane.add(new JLabel(new Integer(a.getComplexSize()).toString()));
			double weight=a.getIsc()*1000;
			weight=Math.round(weight);
			weight=weight/1000;
			if(weight==0.0)
				weight=0.001;
			pane.add(new JLabel(new Double(weight).toString()));
			JButton showButton=new JButton("Show");
			showButton.addActionListener(new java.awt.event.ActionListener() 
			{
				public void actionPerformed(java.awt.event.ActionEvent evt) 
				{
					CreateSubGraphTask taskSub = new CreateSubGraphTask(gList,a,cont,adapter,ontFiles);
					CyServiceRegistrar csr=adapter.getCyServiceRegistrar();
					PanelTaskManager ptm=csr.getService(PanelTaskManager.class);
					TaskIterator taskIt=new TaskIterator();
					taskIt.append(taskSub);
					ptm.execute(taskIt);
				}
			});
			pane.add(showButton);
			aux=aux.getNext();
			count++;
		}
	}
}
back to top