JAL-3032 upgrade to Jmol 14.29.17; clearing of src2 directory
[jalview.git] / src2 / fr / orsay / lri / varna / views / VueMenu.java
diff --git a/src2/fr/orsay/lri/varna/views/VueMenu.java b/src2/fr/orsay/lri/varna/views/VueMenu.java
deleted file mode 100644 (file)
index f7ee43f..0000000
+++ /dev/null
@@ -1,495 +0,0 @@
-/*
- VARNA is a tool for the automated drawing, visualization and annotation of the secondary structure of RNA, designed as a companion software for web servers and databases.
- Copyright (C) 2008  Kevin Darty, Alain Denise and Yann Ponty.
- electronic mail : Yann.Ponty@lri.fr
- paper mail : LRI, bat 490 Universit� Paris-Sud 91405 Orsay Cedex France
-
- This file is part of VARNA version 3.1.
- VARNA version 3.1 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
- VARNA version 3.1 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with VARNA version 3.1.
- If not, see http://www.gnu.org/licenses.
- */
-package fr.orsay.lri.varna.views;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.Font;
-import java.awt.Point;
-import java.awt.event.KeyEvent;
-import java.util.ArrayList;
-
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-import javax.swing.JPopupMenu;
-import javax.swing.JSeparator;
-import javax.swing.KeyStroke;
-
-import fr.orsay.lri.varna.VARNAPanel;
-import fr.orsay.lri.varna.controlers.ControleurMenu;
-import fr.orsay.lri.varna.models.rna.RNA;
-
-public class VueMenu extends JPopupMenu {
-       /**
-        * 
-        */
-       private static final long serialVersionUID = 1L;
-
-       private VARNAPanel _vp;
-
-       private ControleurMenu _controlerMenu;
-
-       private JCheckBoxMenuItem _itemOptionSpecialBaseColored = new JCheckBoxMenuItem(
-                       "Custom colored", false);
-       private JCheckBoxMenuItem _itemShowWarnings = new JCheckBoxMenuItem(
-                       "Show warnings", false);
-       private JCheckBoxMenuItem _itemDrawBackbone = new JCheckBoxMenuItem(
-                       "Draw backbone", true);
-       private JCheckBoxMenuItem _itemOptionGapsBaseColored = new JCheckBoxMenuItem(
-                       "Custom colored", false);
-       private JCheckBoxMenuItem _itemOptionBondsColored = new JCheckBoxMenuItem(
-                       "Use base color for base-pairs", false);
-       private JCheckBoxMenuItem _itemShowNCBP = new JCheckBoxMenuItem(
-                       "Show non-canonical BPs", true);
-       private JCheckBoxMenuItem _itemShowOnlyPlanar = new JCheckBoxMenuItem(
-                       "Hide tertiary BPs", false);
-       private JCheckBoxMenuItem _itemFlatExteriorLoop = new JCheckBoxMenuItem(
-                       "Flat exterior loop", false);
-       
-       private JCheckBoxMenuItem _itemShowColorMap = new JCheckBoxMenuItem(
-                       "Show color map", false);
-       private JMenuItem _dashBasesColor;
-
-       private ArrayList<JComponent> _disabled = new ArrayList<JComponent>();
-
-       private JMenuItem _rotation;
-       private JMenuItem _bpHeightIncrement;
-
-       private Point _spawnOrigin = new Point(-1,-1);
-       
-       public VueMenu(VARNAPanel vp) {
-               _vp = vp;
-               _controlerMenu = new ControleurMenu(_vp, this);
-       }
-
-       private void addTitle(String title, boolean keep) {
-               // TOD BH SwingJS -- this should not be necessary
-               JSeparator sep = new JPopupMenu.Separator(); // BH SWingJS needs JPopupMenu.Separator
-               //JSeparator sep = new JSeparator();
-               JMenuItem titleItem = new JMenuItem(" " + title);//BH SwingJS was JLabel -- need to be able to do this.
-               // titleItem.setAlignmentX(0.5f);
-               Font previousFont = titleItem.getFont();
-               Font futureFont = previousFont.deriveFont(Font.BOLD).deriveFont(
-                               (float) previousFont.getSize() + 1.0f);
-
-               titleItem.setFont(futureFont);
-               Color current = titleItem.getForeground();
-               Color future = current.brighter().brighter();
-               // titleItem.setBackground(future);
-               titleItem.setForeground(future);
-               add(titleItem);
-               add(sep);
-               if (!keep) {
-                       _disabled.add(sep);
-                       _disabled.add(titleItem);
-               }
-       }
-       
-       private void configMenuItem(JMenuItem mi, String command, String keyStroke, Container par)
-       { configMenuItem(mi,command,keyStroke,par,false); }
-
-       private void configMenuItem(JMenuItem mi, String command, String keyStroke, Container par, boolean disabled)
-       { 
-               mi.setActionCommand(command);
-               mi.addActionListener(_controlerMenu);
-               if (keyStroke!=null)
-                       if (!keyStroke.equals(""))
-                               mi.setAccelerator(KeyStroke.getKeyStroke(keyStroke));
-               if (disabled)
-               { _disabled.add(mi);}
-               par.add(mi);
-       }
-       
-       private JMenuItem createMenuItem(String caption, String command, String keyStroke, Container par, boolean disabled)
-       {
-               JMenuItem mi = new JMenuItem(caption);
-               configMenuItem(mi, command,keyStroke, par, disabled);
-               return mi;
-       }
-
-       private JMenuItem createMenuItem(String caption, String command, String keyStroke, Container par)
-       { return createMenuItem(caption, command, keyStroke, par,false); }
-
-
-       public void updateDialog() {
-               for (int i = 0; i < _disabled.size(); i++) {
-                       JComponent j = _disabled.get(i);
-                       j.setVisible(_vp.isModifiable());
-               }
-               _itemOptionSpecialBaseColored.setState(_vp.getColorSpecialBases());
-               _itemShowWarnings.setState(_vp.getShowWarnings());
-               _itemOptionGapsBaseColored.setState(_vp.getColorGapsBases());
-               _itemOptionGapsBaseColored.setEnabled(_vp.isComparisonMode());
-               _dashBasesColor.setEnabled(_vp.isComparisonMode());
-               
-               _rotation.setEnabled(_vp.getDrawMode() != RNA.DRAW_MODE_LINEAR);
-               _bpHeightIncrement.setEnabled(_vp.getDrawMode() == RNA.DRAW_MODE_LINEAR);
-
-               _itemOptionBondsColored.setState(_vp.getUseBaseColorsForBPs());
-               _itemShowNCBP.setState(_vp.getShowNonCanonicalBP());
-               _itemShowOnlyPlanar.setState(!_vp.getShowNonPlanarBP());
-               _itemShowColorMap.setState(_vp.getColorMapVisible());
-               _itemFlatExteriorLoop.setState(_vp.getFlatExteriorLoop());
-               _itemFlatExteriorLoop.setEnabled(_vp.getDrawMode() == RNA.DRAW_MODE_RADIATE);
-       }
-
-       /**
-        * Builds the popup menu
-        */
-       public void buildPopupMenu() {
-               addTitle("File", true);
-               fileMenu();
-               exportMenu();
-               createMenuItem("Print...", "print", "control P", this);
-               addSeparator();
-
-               addTitle("Display", true);
-               viewMenu();
-               displayMenu();
-               //JSeparator sep = new JSeparator();
-               // TODO BH SwingJS - this should not be necessary
-               JSeparator sep = new JPopupMenu.Separator(); // BH SWingJS needs JPopupMenu.Separator
-               add(sep);
-               _disabled.add(sep);
-
-               addTitle("Edit", false);
-               editRNAMenu();
-               redrawMenu();
-               colorClassesMenu();
-               annotationMenu();
-               _disabled.add(_itemShowNCBP);
-               _disabled.add(_itemShowOnlyPlanar);
-               aboutMenu();
-       }
-
-       private void annotationMenu() {
-               JMenu submenuAnnotations = new JMenu("Annotations");
-               JMenu addAnnotations = new JMenu("New");
-               createMenuItem("Here", "annotationsaddPosition", "", addAnnotations);
-               createMenuItem("Base", "annotationsaddBase", "", addAnnotations);
-               createMenuItem("Loop", "annotationsaddLoop", "", addAnnotations);
-               createMenuItem("Helix", "annotationsaddHelix", "", addAnnotations);
-               //JSeparator sep = new JSeparator();
-               JSeparator sep = new JPopupMenu.Separator(); // BH SWingJS needs JPopupMenu.Separator
-
-               addAnnotations.add(sep);
-               createMenuItem("Region", "annotationsaddRegion", "", addAnnotations);
-               createMenuItem("Chem. prob.", "annotationsaddChemProb", "", addAnnotations);
-               submenuAnnotations.add(addAnnotations);
-               createMenuItem("Edit from list...", "annotationsedit", "", submenuAnnotations);
-               createMenuItem("Remove from list...", "annotationsremove", "", submenuAnnotations);
-               submenuAnnotations.addSeparator();
-               createMenuItem("Auto 5'/3'", "annotationsautoextremites", "control alt Q", submenuAnnotations);
-               createMenuItem("Auto helices", "annotationsautohelices", "control Q", submenuAnnotations);
-               createMenuItem("Auto interior loops", "annotationsautointerior", "alt shift Q", submenuAnnotations);
-               createMenuItem("Auto terminal loops", "annotationsautoterminal", "control shift Q", submenuAnnotations);
-               add(submenuAnnotations);
-       }
-
-       private void fileMenu() {
-               createMenuItem("New...", "userInput", "control N", this,true);
-               createMenuItem("Open...", "file", "control O", this,true);
-               createMenuItem("Save...", "saveas", "control S", this,true);
-               JMenu submenuSave = new JMenu("Save as");
-               createMenuItem("DBN (Vienna)", "dbn", "", submenuSave);
-               createMenuItem("BPSEQ", "bpseq", "", submenuSave);
-               createMenuItem("CT", "ct", "", submenuSave);
-               add(submenuSave);
-       }
-
-       private void exportMenu() {
-               // Export menu
-               JMenu submenuExport = new JMenu("Export");
-               createMenuItem("SVG", "svg", "", submenuExport);
-               createMenuItem("PGF/TIKZ", "tikz", "", submenuExport);
-               createMenuItem("XFIG", "xfig", "", submenuExport);
-               submenuExport.addSeparator();
-               createMenuItem("EPS", "eps", "", submenuExport);
-               submenuExport.addSeparator();
-               createMenuItem("PNG", "png", "", submenuExport);
-               createMenuItem("JPEG", "jpeg", "", submenuExport);
-               add(submenuExport);
-       }
-
-
-       private void displayMenu() {
-               
-               // SubMenu Base-pairs
-               JMenu subMenuBasePairs = new JMenu("Base Pairs");
-               createMenuItem("BP style...", "bpstyle", "control shift P", subMenuBasePairs);
-               configMenuItem(_itemShowNCBP, "shownc", "control W", subMenuBasePairs);
-               configMenuItem(_itemShowOnlyPlanar, "shownp", "control E", subMenuBasePairs);
-               // SubMenu Non standard Bases
-               JMenu subMenuNSBases = new JMenu("Non-standard bases");
-               configMenuItem(_itemOptionSpecialBaseColored, "specialbasecolored", "control J", subMenuNSBases);
-               createMenuItem("Color", "specialBasesColor", "control shift J", subMenuNSBases);
-               // SubMenu Gaps Bases
-               JMenu subMenuGapsBases = new JMenu("'Gaps' bases");
-               configMenuItem(_itemOptionGapsBaseColored, "dashbasecolored", "control D", subMenuGapsBases);           
-               _dashBasesColor = createMenuItem("Color", "dashBasesColor", "control shift D", subMenuGapsBases);
-               // Removable separator 
-               //JSeparator sep = new JSeparator();
-               JSeparator sep = new JPopupMenu.Separator(); // BH SWingJS needs JPopupMenu.Separator
-               _disabled.add(sep);
-               
-               // Style menu
-               JMenu submenuStyle = new JMenu("RNA style");
-               createMenuItem("Toggle draw bases", "gaspin", "alt G", submenuStyle,true);
-               submenuStyle.add(subMenuBasePairs);
-               submenuStyle.addSeparator();
-               submenuStyle.add(subMenuNSBases);
-               submenuStyle.add(subMenuGapsBases);
-               submenuStyle.add(sep);
-               createMenuItem("Backbone color", "backbone", "control K", submenuStyle,true);
-               configMenuItem(_itemDrawBackbone, "showbackbone", "alt B", submenuStyle);
-               
-               // Submenu Title
-               JMenu submenuTitle = new JMenu("Title");                
-               createMenuItem("Set Title", "setTitle", "control T", submenuTitle, true);
-               createMenuItem("Font", "titleDisplay", "control shift T", submenuTitle, true);
-               createMenuItem("Color", "titleColor", "control alt T", submenuTitle, true);
-               _disabled.add(submenuTitle);
-
-               // Color map menu
-               JMenu submenuColorMap = new JMenu("Color map");
-               configMenuItem(_itemShowColorMap, "toggleshowcolormap", "control shift L", submenuColorMap, false);
-               createMenuItem("Caption", "colormapcaption", "control shift C", submenuColorMap,true);
-               createMenuItem("Style...", "colormapstyle", "control L", submenuColorMap,false);
-               submenuColorMap.addSeparator();
-               createMenuItem("Edit values...", "colormapvalues", "shift L", submenuColorMap,true);
-               createMenuItem("Load values...", "colormaploadvalues", "control shift K", submenuColorMap,true);
-               _disabled.add(submenuColorMap);
-               
-               // Menu Misc
-               JMenu submenuMisc = new JMenu("Misc");
-               createMenuItem("Num. period.", "numPeriod", "control M", submenuMisc);
-               createMenuItem("Background color", "background", "control G", submenuMisc);
-               submenuMisc.add(submenuTitle);
-               
-               // Main menu
-               add(submenuStyle);              
-               add(submenuColorMap);
-               add(submenuMisc);
-
-       }
-       
-       private void editRNAMenu()
-       {
-               createMenuItem("Bases...","editallbases","",this,true);
-               createMenuItem("BasePairs...","editallbps","",this,true);
-       }
-
-       private void redrawMenu() {
-               JMenu submenuRedraw = new JMenu("Redraw");
-               _disabled.add(submenuRedraw);
-
-               JMenu submenuAlgorithms = new JMenu("Algorithm");
-               _disabled.add(submenuAlgorithms);
-
-               createMenuItem("Linear","line","control 1",submenuAlgorithms,true);
-               createMenuItem("Circular","circular","control 2",submenuAlgorithms,true);
-               createMenuItem("Radiate","radiate","control 3",submenuAlgorithms,true);
-               createMenuItem("NAView","naview","control 4",submenuAlgorithms,true);
-               //createMenuItem("VARNAView","varnaview","control 5",submenuAlgorithms,true);
-               //createMenuItem("MOTIFView","motifview","control 6",submenuAlgorithms,true);
-               submenuRedraw.add(submenuAlgorithms);
-               
-               // Sets the height increment in LINEAR_MODE type of drawing
-               _bpHeightIncrement = createMenuItem("BP height increment","bpheightincrement","control H",submenuRedraw);
-               configMenuItem(_itemFlatExteriorLoop, "flat", "control F", submenuRedraw, true);
-
-               // Item pour le r�glage de l'espace entre chaques bases
-               createMenuItem("Space between bases","spaceBetweenBases","control shift S",submenuRedraw,true);         
-               createMenuItem("Reset","reset","control shift R",submenuRedraw,true);           
-
-               add(submenuRedraw);
-       }
-
-       @SuppressWarnings("unused")
-       private void warningMenu() {
-               // Menu showWarning
-               configMenuItem(_itemShowWarnings, "showwarnings", "", this, true);
-       }
-
-       private void viewMenu() {
-               // View menu
-               JMenu submenuView = new JMenu("View");
-
-               // Zoom submenu
-               JMenu zoomDisplay = new JMenu("Zoom");
-               createMenuItem("25%","zoom25","",zoomDisplay);
-               createMenuItem("50%","zoom50","",zoomDisplay);
-               createMenuItem("100%","zoom100","",zoomDisplay);
-               createMenuItem("150%","zoom150","",zoomDisplay);
-               createMenuItem("200%","zoom200","",zoomDisplay);
-               createMenuItem("Custom","zoom","control Z",zoomDisplay);
-               submenuView.add(zoomDisplay);           
-               _rotation = createMenuItem("Rotation...","rotation","control R",submenuView);
-               createMenuItem("Rescale...","rescale","",submenuView);
-               submenuView.addSeparator();             
-               createMenuItem("Border size","borderSize","control B",submenuView);
-               
-               add(submenuView);
-
-       }
-
-       JMenu _subMenuBases;
-
-       private Component _selectionMenuIndex = null;
-
-       public void addSelectionMenu(JMenuItem s) {
-               _selectionMenuIndex = s;
-               _disabled.add(s);
-               insert(s, getComponentCount() - 2);
-       }
-
-       public void removeSelectionMenu() {
-               if (_selectionMenuIndex != null) {
-                       this.remove(_selectionMenuIndex);
-                       _selectionMenuIndex = null;
-               }
-       }
-
-       private void colorClassesMenu() {
-               // Menu Bases
-               _subMenuBases = new JMenu("Colors");
-               _disabled.add(_subMenuBases);
-               createMenuItem("By Base","eachKind","control U",_subMenuBases,true);
-               createMenuItem("By BP","eachCouple","shift U",_subMenuBases,true);
-               createMenuItem("By Position","eachBase","alt U",_subMenuBases,true);
-               add(_subMenuBases);
-       }
-
-       /**
-        * add default color options to a menu
-        */
-       public void addColorOptions(JMenu submenu) {
-               createMenuItem("Fill Color",submenu.getActionCommand() + ",InnerColor","",submenu,true);
-               createMenuItem("Stroke Color",submenu.getActionCommand() + ",OutlineColor","",submenu,true);
-               createMenuItem("Label Color",submenu.getActionCommand() + ",NameColor","",submenu,true);                
-               submenu.addSeparator();
-               createMenuItem("BP Color",submenu.getActionCommand() + ",BPColor","",submenu,true);             
-               createMenuItem("BP Thickness",submenu.getActionCommand() + ",BPThickness","",submenu,true);             
-               submenu.addSeparator();
-               createMenuItem("Number Color",submenu.getActionCommand() + ",NumberColor","",submenu,true);             
-       }
-
-       private void aboutMenu() {
-               addSeparator();
-               createMenuItem("About VARNA", "about", "control A", this);
-       }
-
-       public void addAnnotationMenu(JMenu menu) {
-               addAnnotationMenu(menu, false);
-       }       
-       
-       public void addAnnotationMenu(JMenu menu, boolean existingAnnot) {
-               String title = "Annotation";
-               if (existingAnnot)
-               {
-                       String debut = "";
-                       String texte = _vp.get_selectedAnnotation().getTexte();
-                       if (texte.length() < 5)
-                               debut = texte;
-                       else
-                               debut = texte.substring(0, 5) + "...";
-                       title = "Annotation: " + debut;                 
-               }
-               JMenu menuAnnotation = new JMenu(title);
-               if (!existingAnnot)
-                       createMenuItem("Add",menu.getActionCommand() + "annotationadd","",menuAnnotation,true);         
-               createMenuItem("Edit",menu.getActionCommand() + "annotationedit","",menuAnnotation,true);               
-               createMenuItem("Remove",menu.getActionCommand() + "annotationremove","",menuAnnotation,true);           
-               menu.add(menuAnnotation);
-       }       
-       
-       
-       public static long getSerialVersionUID() {
-               return serialVersionUID;
-       }
-
-       public VARNAPanel get_vp() {
-               return _vp;
-       }
-
-       public ControleurMenu get_controleurMenu() {
-               return _controlerMenu;
-       }
-
-       public JCheckBoxMenuItem get_itemOptionSpecialBaseColored() {
-               return _itemOptionSpecialBaseColored;
-       }
-
-       public JCheckBoxMenuItem get_itemShowWarnings() {
-               return _itemShowWarnings;
-       }
-
-       public JCheckBoxMenuItem get_itemOptionDashBaseColored() {
-               return _itemOptionGapsBaseColored;
-       }
-
-       public void set_controleurMenu(ControleurMenu menu) {
-               _controlerMenu = menu;
-       }
-
-       public void set_itemOptionSpecialBaseColored(
-                       JCheckBoxMenuItem optionSpecialBaseColored) {
-               _itemOptionSpecialBaseColored = optionSpecialBaseColored;
-       }
-
-       public void set_itemShowWarnings(JCheckBoxMenuItem showWarnings) {
-               _itemShowWarnings = showWarnings;
-       }
-
-       public void set_itemOptionDashBaseColored(
-                       JCheckBoxMenuItem optionDashBaseColored) {
-               _itemOptionGapsBaseColored = optionDashBaseColored;
-       }
-
-       public JMenuItem get_rotation() {
-               return _rotation;
-       }
-
-       public void set_rotation(JMenuItem _rotation) {
-               this._rotation = _rotation;
-       }
-
-       public JCheckBoxMenuItem get_itemOptionBondsColored() {
-               return _itemOptionBondsColored;
-       }
-
-       public void set_itemOptionBondsColored(JCheckBoxMenuItem optionBondsColored) {
-               _itemOptionBondsColored = optionBondsColored;
-       }
-
-
-       public void show(Component invoker,int x,int y) {
-                _spawnOrigin = new Point(x,y);
-                super.show(invoker,x,y); 
-        }
-       
-       public Point getSpawnPoint()
-       {
-               return _spawnOrigin ;
-       }
-
-}
\ No newline at end of file