Coverage Report - org.dishevelled.venn.cytoscape.VennDiagrams
 
Classes in this File Line Coverage Branch Coverage Complexity
VennDiagrams
0%
0/4
N/A
1
VennDiagrams$1
0%
0/9
N/A
1
 
 1  
 /*
 2  
 
 3  
     dsh-venn-cytoscape-plugin  Cytoscape plugin for venn diagrams.
 4  
     Copyright (c) 2010-2012 held jointly by the individual authors.
 5  
 
 6  
     This library is free software; you can redistribute it and/or modify it
 7  
     under the terms of the GNU Lesser General Public License as published
 8  
     by the Free Software Foundation; either version 3 of the License, or (at
 9  
     your option) any later version.
 10  
 
 11  
     This library is distributed in the hope that it will be useful, but WITHOUT
 12  
     ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or
 13  
     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 14  
     License for more details.
 15  
 
 16  
     You should have received a copy of the GNU Lesser General Public License
 17  
     along with this library;  if not, write to the Free Software Foundation,
 18  
     Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
 19  
 
 20  
     > http://www.fsf.org/licensing/licenses/lgpl.html
 21  
     > http://www.opensource.org/licenses/lgpl-license.php
 22  
 
 23  
 */
 24  
 package org.dishevelled.venn.cytoscape;
 25  
 
 26  
 import static javax.swing.SwingUtilities.windowForComponent;
 27  
 import static org.dishevelled.venn.cytoscape.VennDiagramsUtils.installCloseKeyBinding;
 28  
 
 29  
 import java.awt.Component;
 30  
 import java.awt.event.ActionEvent;
 31  
 
 32  
 import javax.swing.AbstractAction;
 33  
 import javax.swing.Action;
 34  
 import javax.swing.JDialog;
 35  
 import javax.swing.JFrame;
 36  
 
 37  
 import cytoscape.Cytoscape;
 38  
 
 39  
 import cytoscape.plugin.CytoscapePlugin;
 40  
 
 41  
 /**
 42  
  * Cytoscape plugin for venn diagrams.
 43  
  *
 44  
  * @author  Michael Heuer
 45  
  * @version $Revision$ $Date$
 46  
  */
 47  
 public final class VennDiagrams
 48  
     extends CytoscapePlugin
 49  
 {
 50  
     /** Venn diagrams action. */
 51  0
     private final Action vennDiagrams = new AbstractAction("Venn Diagrams...")
 52  0
         {
 53  
             /** {@inheritDoc} */
 54  
             public void actionPerformed(final ActionEvent event)
 55  
             {
 56  0
                 JFrame frame = (JFrame) windowForComponent((Component) event.getSource());
 57  0
                 JDialog dialog = new JDialog(frame, "Venn/Euler Diagrams"); // i18n
 58  0
                 dialog.setContentPane(new GroupsView());
 59  0
                 dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
 60  0
                 installCloseKeyBinding(dialog);
 61  0
                 dialog.setBounds(200, 200, 400, 400);
 62  0
                 dialog.setVisible(true);
 63  0
             }
 64  
         };
 65  
 
 66  
 
 67  
     /**
 68  
      * Create a new cytoscape plugin for venn diagrams.
 69  
      */
 70  
     public VennDiagrams()
 71  0
     {
 72  
         // todo:  check if on AWT event thread
 73  0
         Cytoscape.getDesktop().getCyMenus().getOperationsMenu().add(vennDiagrams);
 74  0
     }
 75  
 }