JAL-3032 upgrade to Jmol 14.29.17; clearing of src2 directory
[jalview.git] / src2 / fr / orsay / lri / varna / models / VARNAConfig.java
diff --git a/src2/fr/orsay/lri/varna/models/VARNAConfig.java b/src2/fr/orsay/lri/varna/models/VARNAConfig.java
deleted file mode 100644 (file)
index c6fb103..0000000
+++ /dev/null
@@ -1,395 +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.models;
-
-import java.awt.Color;
-import java.awt.Font;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-
-import javax.xml.transform.sax.TransformerHandler;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-import fr.orsay.lri.varna.models.annotations.HighlightRegionAnnotation;
-import fr.orsay.lri.varna.models.annotations.TextAnnotation;
-import fr.orsay.lri.varna.models.rna.ModeleBP;
-import fr.orsay.lri.varna.models.rna.ModeleBPStyle;
-import fr.orsay.lri.varna.models.rna.ModeleBase;
-import fr.orsay.lri.varna.models.rna.ModeleColorMap;
-import fr.orsay.lri.varna.utils.XMLUtils;
-
-public class VARNAConfig implements Serializable, Cloneable {
-
-       /**
-        * 
-        */
-       private static final long serialVersionUID = 2853916694420964233L;
-       /**
-        * 
-        */
-       public static final int MAJOR_VERSION = 3;
-       public static final int MINOR_VERSION = 9;
-       
-       public static String getFullName()
-       {
-               return "VARNA "+MAJOR_VERSION+"."+MINOR_VERSION;
-       }
-
-       /**
-        * Enum types and internal classes
-        */
-
-       public enum BP_STYLE implements Serializable {
-               NONE, SIMPLE, RNAVIZ, LW, LW_ALT;
-               public String toString()
-               {
-                       switch(this)
-                       {
-                               case LW: return "Leontis/Westhof (Centered)";
-                               case SIMPLE: return "Line";
-                               case RNAVIZ: return "Circles";
-                               case NONE: return "None";
-                               case LW_ALT: return "Leontis/Westhof (End)";
-                       }
-                       return "Unspecified";
-               }
-               public String getOpt()
-               {
-                       switch(this)
-                       {
-                               case NONE: return "none";
-                               case SIMPLE: return "simple";
-                               case LW: return "lw";
-                               case RNAVIZ: return "rnaviz";
-                               case LW_ALT: return "lwalt";
-                       }
-                       return "x";
-               }
-               public static BP_STYLE getStyle(String opt)
-               {
-                       for(BP_STYLE b: BP_STYLE.values())
-                       {
-                               if (opt.toLowerCase().equals(b.getOpt().toLowerCase()))
-                                       return b;
-                       }
-                       return null;
-               }
-       };
-
-       /**
-        * Default values for config options
-        */
-
-       public static final double MAX_ZOOM = 60;
-       public static final double MIN_ZOOM = 0.5;
-       public static final double DEFAULT_ZOOM = 1;
-       public static final double MAX_AMOUNT = 2;
-       public static final double MIN_AMOUNT = 1.01;
-       public static final double DEFAULT_AMOUNT = 1.2;
-       public static final double DEFAULT_BP_THICKNESS = 1.0;
-       public static final double DEFAULT_DIST_NUMBERS = 3.0;
-
-       public static final int DEFAULT_PERIOD = 10;
-
-       public static final Color DEFAULT_TITLE_COLOR = Color.black;
-       public static final Color DEFAULT_BACKBONE_COLOR = Color.DARK_GRAY.brighter();
-       public static final Color DEFAULT_BOND_COLOR = Color.blue;
-       public static final Color DEFAULT_SPECIAL_BASE_COLOR = Color.green.brighter();
-       public static final Color DEFAULT_DASH_BASE_COLOR = Color.yellow.brighter();
-       public static final double DEFAULT_BASE_OUTLINE_THICKNESS = 1.5;
-       public static final Color BASE_OUTLINE_COLOR_DEFAULT = Color.DARK_GRAY.brighter();
-       public static final Color BASE_INNER_COLOR_DEFAULT = new Color(242, 242,242);
-       public static final Color BASE_NUMBER_COLOR_DEFAULT = Color.DARK_GRAY;
-       public static final Color BASE_NAME_COLOR_DEFAULT = Color.black;
-       
-       public static final Color DEFAULT_HOVER_COLOR  =  new Color(230, 230,230);
-
-       public static final Color DEFAULT_BACKGROUND_COLOR = Color.WHITE;
-       public static final Font DEFAULT_TITLE_FONT = new Font("SansSerif", Font.BOLD,18);
-       public static final Font DEFAULT_BASE_FONT = new Font("SansSerif", Font.PLAIN, 18);
-       public static final Font DEFAULT_NUMBERS_FONT = new Font("SansSerif",
-                       Font.BOLD, 18);
-       public static final Font DEFAULT_MESSAGE_FONT = Font.decode("dialog-PLAIN-25");
-       public static final Color DEFAULT_MESSAGE_COLOR = new Color(230, 230,230);
-
-
-       public static final BP_STYLE DEFAULT_BP_STYLE = BP_STYLE.LW;
-
-       public static final ModeleColorMap DEFAULT_COLOR_MAP = ModeleColorMap.defaultColorMap();
-       public static final Color DEFAULT_COLOR_MAP_OUTLINE = Color.gray;
-       public static final double DEFAULT_BP_INCREMENT = 0.65;
-
-       public static double DEFAULT_COLOR_MAP_WIDTH = 120; 
-       public static double DEFAULT_COLOR_MAP_HEIGHT = 30; 
-       public static double DEFAULT_COLOR_MAP_X_OFFSET = 40; 
-       public static double DEFAULT_COLOR_MAP_Y_OFFSET = 0; 
-       public static int DEFAULT_COLOR_MAP_STRIPE_WIDTH = 2; 
-       public static int DEFAULT_COLOR_MAP_FONT_SIZE = 20; 
-       public static Color DEFAULT_COLOR_MAP_FONT_COLOR = Color.gray.darker(); 
-
-       public static double DEFAULT_SPACE_BETWEEN_BASES = 1.0; 
-
-       /**
-        * Various options.
-        */
-       
-       public static String XML_VAR_DRAW_OUTLINE = "drawoutline";
-       public static String XML_VAR_FILL_BASE = "fillbase";
-       public static String XML_VAR_AUTO_FIT = "autofit";
-       public static String XML_VAR_AUTO_CENTER = "autocenter";
-       public static String XML_VAR_MODIFIABLE = "modifiable";
-       public static String XML_VAR_ERRORS = "errors";
-       public static String XML_VAR_SPECIAL_BASES = "specialbases";
-       public static String XML_VAR_DASH_BASES = "dashbases";
-       public static String XML_VAR_USE_BASE_BPS = "usebasebps";
-       public static String XML_VAR_DRAW_NC = "drawnc";
-       public static String XML_VAR_DRAW_NON_PLANAR = "drawnonplanar";
-       public static String XML_VAR_SHOW_WARNINGS = "warnings";
-       public static String XML_VAR_COMPARISON_MODE = "comparison";
-       public static String XML_VAR_FLAT = "flat";
-       public static String XML_VAR_DRAW_BACKGROUND = "drawbackground";
-       public static String XML_VAR_COLOR_MAP = "drawcm";
-       public static String XML_VAR_DRAW_BACKBONE = "drawbackbone";
-       
-       public static String XML_VAR_CM_HEIGHT = "cmh";
-       public static String XML_VAR_CM_WIDTH = "cmw";
-       public static String XML_VAR_CM_X_OFFSET = "cmx";
-       public static String XML_VAR_CM_Y_OFFSET = "cmy";
-       public static String XML_VAR_DEFAULT_ZOOM = "defaultzoom";
-       public static String XML_VAR_ZOOM_AMOUNT = "zoominc";
-       public static String XML_VAR_BP_THICKNESS = "bpthick";
-       public static String XML_VAR_BASE_THICKNESS = "basethick";
-       public static String XML_VAR_DIST_NUMBERS = "distnumbers";
-       
-       public static String XML_VAR_NUM_PERIOD = "numperiod";
-       
-       public static String XML_VAR_MAIN_BP_STYLE = "bpstyle";
-
-       public static String XML_VAR_CM = "cm";
-       
-       public static String XML_VAR_BACKBONE_COLOR = "backbonecol";
-       public static String XML_VAR_HOVER_COLOR = "hovercol";
-       public static String XML_VAR_BACKGROUND_COLOR = "backgroundcol";
-       public static String XML_VAR_BOND_COLOR = "bondcol";
-       public static String XML_VAR_TITLE_COLOR = "titlecol";
-       public static String XML_VAR_SPECIAL_BASES_COLOR = "specialco";
-       public static String XML_VAR_DASH_BASES_COLOR = "dashcol";
-       public static String XML_VAR_SPACE_BETWEEN_BASES = "spacebetweenbases";
-       
-       public static String XML_VAR_TITLE_FONT = "titlefont";
-       public static String XML_VAR_NUMBERS_FONT = "numbersfont";
-       public static String XML_VAR_FONT_BASES = "basefont";
-       
-       public static String XML_VAR_CM_CAPTION = "cmcaption";
-       public static String XML_VAR_TITLE = "title";
-       
-    
-       public boolean _drawOutlineBases = true;
-       public boolean _fillBases = true;
-       public boolean _autoFit = true;
-       public boolean _autoCenter = true;
-       public boolean _modifiable = true;
-       public boolean _errorsOn = false;
-       public boolean _colorSpecialBases = false;
-       public boolean _colorDashBases = false;
-       public boolean _useBaseColorsForBPs = false;
-       public boolean _drawnNonCanonicalBP = true;
-       public boolean _drawnNonPlanarBP = true;
-       public boolean _showWarnings = false;
-       public boolean _comparisonMode = false;
-       public boolean _flatExteriorLoop = true;
-       public boolean _drawBackground = false;
-       public boolean _drawColorMap = false;
-       public boolean _drawBackbone = true;
-       
-       public double _colorMapHeight  = DEFAULT_COLOR_MAP_HEIGHT; 
-       public double _colorMapWidth   = DEFAULT_COLOR_MAP_WIDTH; 
-       public double _colorMapXOffset = DEFAULT_COLOR_MAP_X_OFFSET; 
-       public double _colorMapYOffset = DEFAULT_COLOR_MAP_Y_OFFSET; 
-       public double _zoom            = DEFAULT_ZOOM;
-       public double _zoomAmount      = DEFAULT_AMOUNT;
-       public double _bpThickness     = 1.0;
-       public double _baseThickness   = DEFAULT_BASE_OUTLINE_THICKNESS;
-       public double _distNumbers     = DEFAULT_DIST_NUMBERS;
-       public double _spaceBetweenBases = DEFAULT_SPACE_BETWEEN_BASES;
-       
-       public int _numPeriod = DEFAULT_PERIOD;
-       public BP_STYLE _mainBPStyle = DEFAULT_BP_STYLE;
-       
-       public ModeleColorMap _cm = DEFAULT_COLOR_MAP;  
-
-       public Color _backboneColor      = DEFAULT_BACKBONE_COLOR;
-       public Color _hoverColor         = DEFAULT_HOVER_COLOR;
-       public Color _backgroundColor    = DEFAULT_BACKGROUND_COLOR;
-       public Color _bondColor          = DEFAULT_BOND_COLOR;
-       public Color _titleColor         = DEFAULT_TITLE_COLOR;
-       public Color _specialBasesColor  = DEFAULT_SPECIAL_BASE_COLOR;
-       public Color _dashBasesColor     = DEFAULT_DASH_BASE_COLOR;
-       
-       public Font _titleFont           = DEFAULT_TITLE_FONT;
-       public Font _numbersFont         = DEFAULT_NUMBERS_FONT;
-       public Font _fontBasesGeneral    = DEFAULT_BASE_FONT;
-       
-       public String _colorMapCaption = "";
-       //public String _title = "";
-
-       
-       public static String XML_ELEMENT_NAME = "config";
-       
-       public void toXML(TransformerHandler hd) throws SAXException
-       {
-               AttributesImpl atts = new AttributesImpl();
-               atts.addAttribute("","",XML_VAR_DRAW_OUTLINE,"CDATA",   ""+_drawOutlineBases);
-               atts.addAttribute("","",XML_VAR_FILL_BASE,"CDATA",      ""+_fillBases);
-               atts.addAttribute("","",XML_VAR_AUTO_FIT,"CDATA",       ""+_autoFit);
-               atts.addAttribute("","",XML_VAR_AUTO_CENTER,"CDATA",    ""+_autoCenter);
-               atts.addAttribute("","",XML_VAR_MODIFIABLE,"CDATA",     ""+_modifiable);
-               atts.addAttribute("","",XML_VAR_ERRORS,"CDATA",         ""+_errorsOn);
-               atts.addAttribute("","",XML_VAR_SPECIAL_BASES,"CDATA",  ""+_colorSpecialBases);
-               atts.addAttribute("","",XML_VAR_DASH_BASES,"CDATA",     ""+_colorDashBases);
-               atts.addAttribute("","",XML_VAR_USE_BASE_BPS,"CDATA",   ""+_useBaseColorsForBPs);
-               atts.addAttribute("","",XML_VAR_DRAW_NC,"CDATA",        ""+_drawnNonCanonicalBP);
-               atts.addAttribute("","",XML_VAR_DRAW_NON_PLANAR,"CDATA",""+_drawnNonPlanarBP);
-               atts.addAttribute("","",XML_VAR_SHOW_WARNINGS,"CDATA",  ""+_showWarnings);
-               atts.addAttribute("","",XML_VAR_COMPARISON_MODE,"CDATA",""+_comparisonMode);
-               atts.addAttribute("","",XML_VAR_FLAT,"CDATA",           ""+_flatExteriorLoop);
-               atts.addAttribute("","",XML_VAR_DRAW_BACKGROUND,"CDATA",""+_drawBackground);
-               atts.addAttribute("","",XML_VAR_COLOR_MAP,"CDATA",      ""+_drawColorMap);
-               atts.addAttribute("","",XML_VAR_DRAW_BACKBONE,"CDATA",  ""+_drawBackbone);
-
-               atts.addAttribute("","",XML_VAR_CM_HEIGHT,"CDATA",      ""+_colorMapHeight);
-               atts.addAttribute("","",XML_VAR_CM_WIDTH,"CDATA",       ""+_colorMapWidth);
-               atts.addAttribute("","",XML_VAR_CM_X_OFFSET,"CDATA",    ""+_colorMapXOffset);
-               atts.addAttribute("","",XML_VAR_CM_Y_OFFSET,"CDATA",    ""+_colorMapYOffset);
-               atts.addAttribute("","",XML_VAR_DEFAULT_ZOOM,"CDATA",   ""+_zoom);
-               atts.addAttribute("","",XML_VAR_ZOOM_AMOUNT,"CDATA",    ""+_zoomAmount);
-               atts.addAttribute("","",XML_VAR_BP_THICKNESS,"CDATA",   ""+_bpThickness);
-               atts.addAttribute("","",XML_VAR_BASE_THICKNESS,"CDATA", ""+_baseThickness);
-               atts.addAttribute("","",XML_VAR_DIST_NUMBERS,"CDATA",   ""+_distNumbers);
-               atts.addAttribute("","",XML_VAR_SPACE_BETWEEN_BASES,"CDATA",   ""+_spaceBetweenBases);
-               
-                       
-               atts.addAttribute("","",XML_VAR_NUM_PERIOD,"CDATA",     ""+_numPeriod);
-                       
-               atts.addAttribute("","",XML_VAR_MAIN_BP_STYLE,"CDATA",  ""+_mainBPStyle.getOpt());
-                       
-               atts.addAttribute("","",XML_VAR_BACKBONE_COLOR,"CDATA",     XMLUtils.toHTMLNotation(_backboneColor));
-               atts.addAttribute("","",XML_VAR_HOVER_COLOR,"CDATA",        XMLUtils.toHTMLNotation(_hoverColor));
-               atts.addAttribute("","",XML_VAR_BACKGROUND_COLOR,"CDATA",   XMLUtils.toHTMLNotation(_backgroundColor));
-               atts.addAttribute("","",XML_VAR_BOND_COLOR,"CDATA",         XMLUtils.toHTMLNotation(_bondColor));
-               atts.addAttribute("","",XML_VAR_TITLE_COLOR,"CDATA",        XMLUtils.toHTMLNotation(_titleColor));
-               atts.addAttribute("","",XML_VAR_SPECIAL_BASES_COLOR,"CDATA",XMLUtils.toHTMLNotation(_specialBasesColor));
-               atts.addAttribute("","",XML_VAR_DASH_BASES_COLOR,"CDATA",   XMLUtils.toHTMLNotation(_dashBasesColor)); 
-
-               atts.addAttribute("","",XML_VAR_CM,"CDATA",                             _cm.getParamEncoding()); 
-               
-               
-               hd.startElement("","",XML_ELEMENT_NAME,atts);
-               XMLUtils.toXML(hd, _titleFont,XML_VAR_TITLE_FONT);
-               XMLUtils.toXML(hd, _numbersFont,XML_VAR_NUMBERS_FONT);
-               XMLUtils.toXML(hd, _fontBasesGeneral,XML_VAR_FONT_BASES);
-               
-               XMLUtils.exportCDATAElem(hd,XML_VAR_CM_CAPTION, _colorMapCaption);
-               hd.endElement("","",XML_ELEMENT_NAME);
-       }
-       
-       
-       
-
-       public void loadFromXMLAttributes(Attributes attributes)
-       {
-               _drawOutlineBases      = Boolean.parseBoolean(attributes.getValue(XML_VAR_DRAW_OUTLINE));                             
-               _fillBases             = Boolean.parseBoolean(attributes.getValue(XML_VAR_FILL_BASE));                                
-               _autoFit              = Boolean.parseBoolean(attributes.getValue(XML_VAR_AUTO_FIT));                                 
-               _autoCenter           = Boolean.parseBoolean(attributes.getValue(XML_VAR_AUTO_CENTER));                              
-               _modifiable           = Boolean.parseBoolean(attributes.getValue(XML_VAR_MODIFIABLE));                               
-               _errorsOn             = Boolean.parseBoolean(attributes.getValue(XML_VAR_ERRORS));                                   
-               _colorSpecialBases    = Boolean.parseBoolean(attributes.getValue(XML_VAR_SPECIAL_BASES));                            
-               _colorDashBases       = Boolean.parseBoolean(attributes.getValue(XML_VAR_DASH_BASES));                               
-               _useBaseColorsForBPs  = Boolean.parseBoolean(attributes.getValue(XML_VAR_USE_BASE_BPS));                             
-               _drawnNonCanonicalBP  = Boolean.parseBoolean(attributes.getValue(XML_VAR_DRAW_NC));                                  
-               _drawnNonPlanarBP     = Boolean.parseBoolean(attributes.getValue(XML_VAR_DRAW_NON_PLANAR));                          
-               _showWarnings         = Boolean.parseBoolean(attributes.getValue(XML_VAR_SHOW_WARNINGS));                            
-               _comparisonMode       = Boolean.parseBoolean(attributes.getValue(XML_VAR_COMPARISON_MODE));                          
-               _flatExteriorLoop     = Boolean.parseBoolean(attributes.getValue(XML_VAR_FLAT));                                     
-               _drawBackground       = Boolean.parseBoolean(attributes.getValue(XML_VAR_DRAW_BACKGROUND));                          
-               _drawColorMap         = Boolean.parseBoolean(attributes.getValue(XML_VAR_COLOR_MAP));                                
-               _drawBackbone         = Boolean.parseBoolean(attributes.getValue(XML_VAR_DRAW_BACKBONE));     
-               
-               _colorMapHeight       = Double.parseDouble(attributes.getValue(XML_VAR_CM_HEIGHT));
-               _colorMapWidth        = Double.parseDouble(attributes.getValue(XML_VAR_CM_WIDTH));
-               _colorMapXOffset      = Double.parseDouble(attributes.getValue(XML_VAR_CM_X_OFFSET));
-               _colorMapYOffset      = Double.parseDouble(attributes.getValue(XML_VAR_CM_Y_OFFSET));
-               _zoom                             = Double.parseDouble(attributes.getValue(XML_VAR_DEFAULT_ZOOM));
-               _zoomAmount                   = Double.parseDouble(attributes.getValue(XML_VAR_ZOOM_AMOUNT));
-               _bpThickness          = Double.parseDouble(attributes.getValue(XML_VAR_BP_THICKNESS));
-               _baseThickness        = Double.parseDouble(attributes.getValue(XML_VAR_BASE_THICKNESS));
-               _distNumbers          = Double.parseDouble(attributes.getValue(XML_VAR_DIST_NUMBERS));
-               _spaceBetweenBases    = XMLUtils.getDouble(attributes, XML_VAR_SPACE_BETWEEN_BASES, DEFAULT_SPACE_BETWEEN_BASES);
-                                                                       
-               _numPeriod            = Integer.parseInt(attributes.getValue(XML_VAR_NUM_PERIOD));
-                                                                       
-               _mainBPStyle          = BP_STYLE.getStyle(attributes.getValue(XML_VAR_MAIN_BP_STYLE));           
-                                                                       
-               _backboneColor        = Color.decode(attributes.getValue(XML_VAR_BACKBONE_COLOR));                     
-               _hoverColor           = Color.decode(attributes.getValue(XML_VAR_HOVER_COLOR));                        
-               _backgroundColor      = Color.decode(attributes.getValue(XML_VAR_BACKGROUND_COLOR));                   
-               _bondColor            = Color.decode(attributes.getValue(XML_VAR_BOND_COLOR));                         
-               _titleColor           = Color.decode(attributes.getValue(XML_VAR_TITLE_COLOR));                        
-               _specialBasesColor    = Color.decode(attributes.getValue(XML_VAR_SPECIAL_BASES_COLOR));                
-               _dashBasesColor       = Color.decode(attributes.getValue(XML_VAR_DASH_BASES_COLOR));                   
-                                                                             
-               _cm                   = ModeleColorMap.parseColorMap(attributes.getValue(XML_VAR_CM)); 
-       }
-       
-       
-       
-    public VARNAConfig clone ()
-    {
-      
-      /**
-       * @j2sNative
-       * 
-       * return this;
-       * 
-       */
-        try
-        {
-            ByteArrayOutputStream out = new ByteArrayOutputStream ();
-            ObjectOutputStream oout = new ObjectOutputStream (out);
-            oout.writeObject (this);
-            
-            ObjectInputStream in = new ObjectInputStream (
-                new ByteArrayInputStream (out.toByteArray ()));
-            return (VARNAConfig)in.readObject ();
-        }
-        catch (Exception e)
-        {
-            throw new RuntimeException ("cannot clone class [" +
-                this.getClass ().getName () + "] via serialization: " +
-                e.toString ());
-        }
-    }
-
-}