fr.orsay.lri.varna.views
Class VueUI

java.lang.Object
  extended by fr.orsay.lri.varna.views.VueUI

public class VueUI
extends Object


Field Summary
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _bpseqFilter
           
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _ctFilter
           
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _dbnFilter
           
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _epsFilter
           
private  File _fileChooserDirectory
           
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _jpgFilter
           
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _pngFilter
           
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _svgFilter
           
private  UndoableEditSupport _undoableEditSupport
           
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _varnaFilter
           
private  VARNAPanel _vp
           
(package private)  fr.orsay.lri.varna.applications.FileNameExtensionFilter _xfigFilter
           
 
Constructor Summary
VueUI(VARNAPanel vp)
           
 
Method Summary
 void addUndoableEditListener(UndoManager manager)
           
 Hashtable<Integer,Point2D.Double> backupAllCoords()
           
static double computeAngle(Point2D.Double center, Point2D.Double p)
           
private  ArrayList<ModeleBase> extractMaxContiguousPortion(ArrayList<ModeleBase> m)
           
private  void loadPath(JFileChooser jfc)
           
private  double normalizeAngle(double angle)
           
private  double normalizeAngle(double angle, double base)
           
private  Point2D.Double project(Point2D.Double O, Point2D.Double Ox, Point2D.Double C)
           
private  void rotateHelix(Point2D.Double center, int i, int j, double angle)
           
private  Point2D.Double rotatePoint(Point2D.Double center, Point2D.Double p, double angle)
           
private  void savePath(JFileChooser jfc)
           
 void saveToJPEG(String filename)
           
 void saveToPNG(String filename)
           
(package private)  boolean shouldFlip(int index, Point2D.Double P)
          Tests if an helix needs to be flipped.
 void UIAbout()
           
 void UIAddBP(int i, int j, ModeleBP ms)
           
 void UIAnnotationAddFromStructure(int type, ArrayList<Integer> listeIndex)
           
 void UIAnnotationEditFromAnnotation(TextAnnotation textAnnotation)
           
 void UIAnnotationEditFromStructure(int type, ArrayList<Integer> listeIndex)
           
 void UIAnnotationRemoveFromAnnotation(TextAnnotation textAnnotation)
           
 void UIAnnotationRemoveFromStructure(int type, ArrayList<Integer> listeIndex)
           
 void UIAnnotationsAdd()
           
 void UIAnnotationsAddBase(int x, int y)
           
 void UIAnnotationsAddChemProb(int x, int y)
           
 void UIAnnotationsAddHelix(int x, int y)
           
 void UIAnnotationsAddLoop(int x, int y)
           
 void UIAnnotationsAddPosition(int x, int y)
           
 void UIAnnotationsAddRegion(int x, int y)
           
 void UIAnnotationsEdit()
           
 void UIAnnotationsRemove()
           
 void UIAutoAnnotateHelices()
           
 void UIAutoAnnotateInteriorLoops()
           
 void UIAutoAnnotateStrandEnds()
           
 void UIAutoAnnotateTerminalLoops()
           
 void UIBaseAllColor()
           
 void UIBasePairTypeColor()
           
 void UIBaseTypeColor()
           
 String UIChooseOutputFile(ArrayList<fr.orsay.lri.varna.applications.FileNameExtensionFilter> filtre)
          Opens a save dialog with right extensions and return the absolute path
 String UIChooseOutputFile(fr.orsay.lri.varna.applications.FileNameExtensionFilter filtre)
           
 void UICircular()
           
 void UIColorBasePair()
           
 void UICustomZoom()
           
 void UIEditAllBasePairs()
           
 void UIEditBasePair()
           
 void UIExport()
           
 void UIExportEPS()
           
 void UIExportJPEG()
           
 void UIExportPNG()
           
 void UIExportSVG()
           
 void UIExportXFIG()
           
 void UIFile()
           
 void UIFlipHelix(Point h)
          Flip an helix around its supporting base
 void UIGlobalRotation()
           
 void UIGlobalRotation(double d)
           
 void UILine()
           
 void UILoadColorMapValues()
           
 void UIManualInput()
           
 void UIMOTIFView()
           
 void UIMoveHelixAtom(int index, Point2D.Double newPos)
          Move a helix of the rna
 void UIMoveSingleBase(int index, double nx, double ny)
           
 void UIMoveSingleBase(int index, Point2D.Double dv)
           
 void UINAView()
           
 void UIPickGapsBasesColor()
           
 void UIPickSpecialBasesColor()
           
 void UIPrint()
           
 void UIRadiate()
           
 void UIRedo()
           
 void UIRemoveBP(ModeleBP ms)
           
 void UIReset()
           
 void UIRotateEverything(double delta, double base, double pLimL, double pLimR, Point h, Point ml)
           
 void UIRotateHelixAtom(int index, Point2D.Double newPos)
           
 void UISaveAs()
           
 void UISaveAsBPSEQ()
           
 void UISaveAsCT()
           
 void UISaveAsDBN()
           
 void UISetBackboneColor()
           
 void UISetBackground()
           
 void UISetBaseCenter(int index, double x, double y)
           
 void UISetBaseCenter(int index, Point2D.Double p)
           
 void UISetBaseCharacter()
           
 void UISetBorder()
           
 void UISetBPHeightIncrement()
           
 void UISetBPStyle()
           
 void UISetColorMapCaption()
           
 void UISetColorMapStyle()
           
 void UISetColorMapValues()
           
 void UISetNumPeriod()
           
 void UISetSpaceBetweenBases()
           
 void UISetTitle()
           
 void UISetTitleColor()
           
 void UISetTitleFont()
           
 void UIShiftBaseCoord(ArrayList<Integer> indices, double dx, double dy)
           
 void UIShiftBaseCoord(ArrayList<Integer> indices, Point2D.Double dv)
           
 void UIThicknessBasePair()
           
 void UIToggleColorGapsBases()
           
 void UIToggleColorMap()
           
 void UIToggleColorSpecialBases()
           
 void UIToggleFlatExteriorLoop()
           
 void UIToggleGaspinMode()
           
 void UIToggleModifiable()
           
 void UIToggleShowNCBP()
           
 void UIToggleShowNonPlanar()
           
 void UIToggleShowWarnings()
           
 void UIUndo()
           
 void UIVARNAView()
           
 void UIZoomIn()
           
 void UIZoomOut()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_vp

private VARNAPanel _vp

_fileChooserDirectory

private File _fileChooserDirectory

_undoableEditSupport

private UndoableEditSupport _undoableEditSupport

_varnaFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _varnaFilter

_bpseqFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _bpseqFilter

_ctFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _ctFilter

_dbnFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _dbnFilter

_jpgFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _jpgFilter

_pngFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _pngFilter

_epsFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _epsFilter

_svgFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _svgFilter

_xfigFilter

fr.orsay.lri.varna.applications.FileNameExtensionFilter _xfigFilter
Constructor Detail

VueUI

public VueUI(VARNAPanel vp)
Method Detail

addUndoableEditListener

public void addUndoableEditListener(UndoManager manager)

UIToggleColorMap

public void UIToggleColorMap()

backupAllCoords

public Hashtable<Integer,Point2D.Double> backupAllCoords()

UIToggleFlatExteriorLoop

public void UIToggleFlatExteriorLoop()

UIRadiate

public void UIRadiate()

UIMOTIFView

public void UIMOTIFView()

UILine

public void UILine()

UICircular

public void UICircular()

UINAView

public void UINAView()

UIVARNAView

public void UIVARNAView()

UIReset

public void UIReset()

savePath

private void savePath(JFileChooser jfc)

loadPath

private void loadPath(JFileChooser jfc)

UIFile

public void UIFile()
            throws fr.orsay.lri.varna.exceptions.ExceptionNonEqualLength
Throws:
fr.orsay.lri.varna.exceptions.ExceptionNonEqualLength

UISetColorMapStyle

public void UISetColorMapStyle()

UILoadColorMapValues

public void UILoadColorMapValues()

UISetColorMapValues

public void UISetColorMapValues()

UIManualInput

public void UIManualInput()
                   throws ParseException,
                          fr.orsay.lri.varna.exceptions.ExceptionNonEqualLength
Throws:
ParseException
fr.orsay.lri.varna.exceptions.ExceptionNonEqualLength

UISetTitle

public void UISetTitle()

UISetColorMapCaption

public void UISetColorMapCaption()

UISetBaseCharacter

public void UISetBaseCharacter()

UIExport

public void UIExport()
              throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed,
                     fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied,
                     fr.orsay.lri.varna.exceptions.ExceptionWritingForbidden,
                     fr.orsay.lri.varna.exceptions.ExceptionJPEGEncoding
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed
fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied
fr.orsay.lri.varna.exceptions.ExceptionWritingForbidden
fr.orsay.lri.varna.exceptions.ExceptionJPEGEncoding

UIExportJPEG

public void UIExportJPEG()
                  throws fr.orsay.lri.varna.exceptions.ExceptionJPEGEncoding,
                         fr.orsay.lri.varna.exceptions.ExceptionExportFailed
Throws:
fr.orsay.lri.varna.exceptions.ExceptionJPEGEncoding
fr.orsay.lri.varna.exceptions.ExceptionExportFailed

UIPrint

public void UIPrint()

UIExportPNG

public void UIExportPNG()
                 throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed

UIExportXFIG

public void UIExportXFIG()
                  throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed,
                         fr.orsay.lri.varna.exceptions.ExceptionWritingForbidden
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed
fr.orsay.lri.varna.exceptions.ExceptionWritingForbidden

UIExportEPS

public void UIExportEPS()
                 throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed,
                        fr.orsay.lri.varna.exceptions.ExceptionWritingForbidden
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed
fr.orsay.lri.varna.exceptions.ExceptionWritingForbidden

UIExportSVG

public void UIExportSVG()
                 throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed,
                        fr.orsay.lri.varna.exceptions.ExceptionWritingForbidden
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed
fr.orsay.lri.varna.exceptions.ExceptionWritingForbidden

UISaveAsDBN

public void UISaveAsDBN()
                 throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed,
                        fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed
fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied

UISaveAsCT

public void UISaveAsCT()
                throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed,
                       fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed
fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied

UISaveAsBPSEQ

public void UISaveAsBPSEQ()
                   throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed,
                          fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed
fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied

UISaveAs

public void UISaveAs()
              throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed,
                     fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed
fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied

UIChooseOutputFile

public String UIChooseOutputFile(fr.orsay.lri.varna.applications.FileNameExtensionFilter filtre)

UIChooseOutputFile

public String UIChooseOutputFile(ArrayList<fr.orsay.lri.varna.applications.FileNameExtensionFilter> filtre)
Opens a save dialog with right extensions and return the absolute path

Parameters:
filtre - Allowed extensions
Returns:
null if the user doesn't approve the save dialog,
absolutePath if the user approve the save dialog

UISetBorder

public void UISetBorder()

UISetBackground

public void UISetBackground()

UIZoomIn

public void UIZoomIn()

UIZoomOut

public void UIZoomOut()

UICustomZoom

public void UICustomZoom()

UIGlobalRotation

public void UIGlobalRotation()

UIGlobalRotation

public void UIGlobalRotation(double d)

UISetBPStyle

public void UISetBPStyle()

UISetTitleColor

public void UISetTitleColor()

UISetBackboneColor

public void UISetBackboneColor()

UISetTitleFont

public void UISetTitleFont()

UISetSpaceBetweenBases

public void UISetSpaceBetweenBases()

UISetBPHeightIncrement

public void UISetBPHeightIncrement()

UISetNumPeriod

public void UISetNumPeriod()

UIEditBasePair

public void UIEditBasePair()

UIColorBasePair

public void UIColorBasePair()

UIThicknessBasePair

public void UIThicknessBasePair()

saveToPNG

public void saveToPNG(String filename)
               throws fr.orsay.lri.varna.exceptions.ExceptionExportFailed
Throws:
fr.orsay.lri.varna.exceptions.ExceptionExportFailed

saveToJPEG

public void saveToJPEG(String filename)
                throws fr.orsay.lri.varna.exceptions.ExceptionJPEGEncoding,
                       fr.orsay.lri.varna.exceptions.ExceptionExportFailed
Throws:
fr.orsay.lri.varna.exceptions.ExceptionJPEGEncoding
fr.orsay.lri.varna.exceptions.ExceptionExportFailed

UIToggleShowNCBP

public void UIToggleShowNCBP()

UIToggleColorSpecialBases

public void UIToggleColorSpecialBases()

UIToggleColorGapsBases

public void UIToggleColorGapsBases()

UIToggleShowNonPlanar

public void UIToggleShowNonPlanar()

UIToggleShowWarnings

public void UIToggleShowWarnings()

UIPickSpecialBasesColor

public void UIPickSpecialBasesColor()

UIPickGapsBasesColor

public void UIPickGapsBasesColor()

UIBaseTypeColor

public void UIBaseTypeColor()

UIToggleModifiable

public void UIToggleModifiable()

UIBasePairTypeColor

public void UIBasePairTypeColor()

UIBaseAllColor

public void UIBaseAllColor()

UIAbout

public void UIAbout()

UIAutoAnnotateHelices

public void UIAutoAnnotateHelices()

UIAutoAnnotateStrandEnds

public void UIAutoAnnotateStrandEnds()

UIAutoAnnotateInteriorLoops

public void UIAutoAnnotateInteriorLoops()

UIAutoAnnotateTerminalLoops

public void UIAutoAnnotateTerminalLoops()

UIAnnotationRemoveFromAnnotation

public void UIAnnotationRemoveFromAnnotation(TextAnnotation textAnnotation)

UIAnnotationEditFromAnnotation

public void UIAnnotationEditFromAnnotation(TextAnnotation textAnnotation)

UIAnnotationAddFromStructure

public void UIAnnotationAddFromStructure(int type,
                                         ArrayList<Integer> listeIndex)
                                  throws Exception
Throws:
Exception

UIAnnotationEditFromStructure

public void UIAnnotationEditFromStructure(int type,
                                          ArrayList<Integer> listeIndex)

UIAnnotationRemoveFromStructure

public void UIAnnotationRemoveFromStructure(int type,
                                            ArrayList<Integer> listeIndex)

UIAnnotationsAddPosition

public void UIAnnotationsAddPosition(int x,
                                     int y)

UIAnnotationsAddBase

public void UIAnnotationsAddBase(int x,
                                 int y)

UIAnnotationsAddLoop

public void UIAnnotationsAddLoop(int x,
                                 int y)

extractMaxContiguousPortion

private ArrayList<ModeleBase> extractMaxContiguousPortion(ArrayList<ModeleBase> m)

UIAnnotationsAddRegion

public void UIAnnotationsAddRegion(int x,
                                   int y)

UIAnnotationsAddChemProb

public void UIAnnotationsAddChemProb(int x,
                                     int y)

UIAnnotationsAddHelix

public void UIAnnotationsAddHelix(int x,
                                  int y)

UIToggleGaspinMode

public void UIToggleGaspinMode()

UIAnnotationsAdd

public void UIAnnotationsAdd()

UIEditAllBasePairs

public void UIEditAllBasePairs()

UIAnnotationsRemove

public void UIAnnotationsRemove()

UIAnnotationsEdit

public void UIAnnotationsEdit()

UIAddBP

public void UIAddBP(int i,
                    int j,
                    ModeleBP ms)

UIRemoveBP

public void UIRemoveBP(ModeleBP ms)

UIShiftBaseCoord

public void UIShiftBaseCoord(ArrayList<Integer> indices,
                             double dx,
                             double dy)

UIShiftBaseCoord

public void UIShiftBaseCoord(ArrayList<Integer> indices,
                             Point2D.Double dv)

UIMoveSingleBase

public void UIMoveSingleBase(int index,
                             double nx,
                             double ny)

UIMoveSingleBase

public void UIMoveSingleBase(int index,
                             Point2D.Double dv)

UISetBaseCenter

public void UISetBaseCenter(int index,
                            double x,
                            double y)

UISetBaseCenter

public void UISetBaseCenter(int index,
                            Point2D.Double p)

UIUndo

public void UIUndo()

UIRedo

public void UIRedo()

UIMoveHelixAtom

public void UIMoveHelixAtom(int index,
                            Point2D.Double newPos)
Move a helix of the rna

Parameters:
index - :the index of the selected base
newPos - :the new xy coordinate, within the logical system of coordinates

project

private Point2D.Double project(Point2D.Double O,
                               Point2D.Double Ox,
                               Point2D.Double C)

UIFlipHelix

public void UIFlipHelix(Point h)
Flip an helix around its supporting base


shouldFlip

boolean shouldFlip(int index,
                   Point2D.Double P)
Tests if an helix needs to be flipped.


UIRotateHelixAtom

public void UIRotateHelixAtom(int index,
                              Point2D.Double newPos)

UIRotateEverything

public void UIRotateEverything(double delta,
                               double base,
                               double pLimL,
                               double pLimR,
                               Point h,
                               Point ml)

normalizeAngle

private double normalizeAngle(double angle)

normalizeAngle

private double normalizeAngle(double angle,
                              double base)

computeAngle

public static double computeAngle(Point2D.Double center,
                                  Point2D.Double p)

rotateHelix

private void rotateHelix(Point2D.Double center,
                         int i,
                         int j,
                         double angle)

rotatePoint

private Point2D.Double rotatePoint(Point2D.Double center,
                                   Point2D.Double p,
                                   double angle)