From 9de04d9b678021165d2f6df691234e7ad7b16f88 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Fri, 23 Jan 2015 09:04:27 +0000 Subject: [PATCH] JAL-969 javadoc and mark interface overrides for clarity --- src/jalview/api/AlignViewportI.java | 117 ++++++++++++++++++++++++-- src/jalview/viewmodel/AlignmentViewport.java | 95 ++++++--------------- 2 files changed, 136 insertions(+), 76 deletions(-) diff --git a/src/jalview/api/AlignViewportI.java b/src/jalview/api/AlignViewportI.java index 760f52d..60ee8d5 100644 --- a/src/jalview/api/AlignViewportI.java +++ b/src/jalview/api/AlignViewportI.java @@ -20,11 +20,6 @@ */ package jalview.api; -import java.awt.Color; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - import jalview.analysis.Conservation; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; @@ -36,6 +31,11 @@ import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.schemes.ColourSchemeI; +import java.awt.Color; +import java.util.Hashtable; +import java.util.List; +import java.util.Map; + /** * @author jimp * @@ -195,16 +195,58 @@ public interface AlignViewportI SequenceGroup getSelectionGroup(); + /** + * get the currently selected sequence objects or all the sequences in the + * alignment. TODO: change to List<> + * + * @return array of references to sequence objects + */ SequenceI[] getSequenceSelection(); void clearSequenceColours(); + /** + * This method returns the visible alignment as text, as seen on the GUI, ie + * if columns are hidden they will not be returned in the result. Use this for + * calculating trees, PCA, redundancy etc on views which contain hidden + * columns. + * + * @return String[] + */ CigarArray getViewAsCigars(boolean selectedRegionOnly); + /** + * return a compact representation of the current alignment selection to pass + * to an analysis function + * + * @param selectedOnly + * boolean true to just return the selected view + * @return AlignmentView + */ AlignmentView getAlignmentView(boolean selectedOnly); + /** + * return a compact representation of the current alignment selection to pass + * to an analysis function + * + * @param selectedOnly + * boolean true to just return the selected view + * @param markGroups + * boolean true to annotate the alignment view with groups on the + * alignment (and intersecting with selected region if selectedOnly + * is true) + * @return AlignmentView + */ AlignmentView getAlignmentView(boolean selectedOnly, boolean markGroups); + /** + * This method returns the visible alignment as text, as seen on the GUI, ie + * if columns are hidden they will not be returned in the result. Use this for + * calculating trees, PCA, redundancy etc on views which contain hidden + * columns. + * + * @return String[] + */ String[] getViewAsString(boolean selectedRegionOnly); void setSelectionGroup(SequenceGroup sg); @@ -245,4 +287,69 @@ public interface AlignViewportI * @return */ boolean isShowAnnotation(); + + boolean isRightAlignIds(); + + void setRightAlignIds(boolean rightAlignIds); + + boolean areFeaturesDisplayed(); + + void setShowSequenceFeaturesHeight(boolean selected); + + boolean isShowSequenceFeaturesHeight(); + + void setFeaturesDisplayed(FeaturesDisplayedI featuresDisplayedI); + + void alignmentChanged(AlignmentViewPanel ap); + + /** + * @return the padGaps + */ + boolean isPadGaps(); + + /** + * @param padGaps + * the padGaps to set + */ + void setPadGaps(boolean padGaps); + + /** + * return visible region boundaries within given column range + * + * @param min + * first column (inclusive, from 0) + * @param max + * last column (exclusive) + * @return int[][] range of {start,end} visible positions TODO: change to list + * of int ranges + */ + int[][] getVisibleRegionBoundaries(int min, int max); + + /** + * This method returns an array of new SequenceI objects derived from the + * whole alignment or just the current selection with start and end points + * adjusted + * + * @note if you need references to the actual SequenceI objects in the + * alignment or currently selected then use getSequenceSelection() + * @return selection as new sequenceI objects + */ + SequenceI[] getSelectionAsNewSequence(); + + void invertColumnSelection(); + + /** + * broadcast selection to any interested parties + */ + void sendSelection(); + + /** + * calculate the row position for alignmentIndex if all hidden sequences were + * shown + * + * @param alignmentIndex + * @return adjusted row position + */ + int adjustForHiddenSeqs(int alignmentIndex); + } diff --git a/src/jalview/viewmodel/AlignmentViewport.java b/src/jalview/viewmodel/AlignmentViewport.java index daea70d..a48c910 100644 --- a/src/jalview/viewmodel/AlignmentViewport.java +++ b/src/jalview/viewmodel/AlignmentViewport.java @@ -1046,32 +1046,24 @@ public abstract class AlignmentViewport implements AlignViewportI : hiddenRepSequences.get(seq)); } + @Override public int adjustForHiddenSeqs(int alignmentIndex) { return alignment.getHiddenSequences().adjustForHiddenSeqs( alignmentIndex); } - // Selection manipulation - /** - * broadcast selection to any interested parties - */ + @Override public abstract void sendSelection(); + @Override public void invertColumnSelection() { colSel.invertColumnSelection(0, alignment.getWidth()); } - /** - * This method returns an array of new SequenceI objects derived from the - * whole alignment or just the current selection with start and end points - * adjusted - * - * @note if you need references to the actual SequenceI objects in the - * alignment or currently selected then use getSequenceSelection() - * @return selection as new sequenceI objects - */ + + @Override public SequenceI[] getSelectionAsNewSequence() { SequenceI[] sequences; @@ -1100,12 +1092,7 @@ public abstract class AlignmentViewport implements AlignViewportI return sequences; } - /** - * get the currently selected sequence objects or all the sequences in the - * alignment. - * - * @return array of references to sequence objects - */ + @Override public SequenceI[] getSequenceSelection() { @@ -1121,14 +1108,7 @@ public abstract class AlignmentViewport implements AlignViewportI return sequences; } - /** - * This method returns the visible alignment as text, as seen on the GUI, ie - * if columns are hidden they will not be returned in the result. Use this for - * calculating trees, PCA, redundancy etc on views which contain hidden - * columns. - * - * @return String[] - */ + @Override public jalview.datamodel.CigarArray getViewAsCigars( boolean selectedRegionOnly) @@ -1138,14 +1118,7 @@ public abstract class AlignmentViewport implements AlignViewportI (selectedRegionOnly ? selectionGroup : null)); } - /** - * return a compact representation of the current alignment selection to pass - * to an analysis function - * - * @param selectedOnly - * boolean true to just return the selected view - * @return AlignmentView - */ + @Override public jalview.datamodel.AlignmentView getAlignmentView( boolean selectedOnly) @@ -1153,18 +1126,7 @@ public abstract class AlignmentViewport implements AlignViewportI return getAlignmentView(selectedOnly, false); } - /** - * return a compact representation of the current alignment selection to pass - * to an analysis function - * - * @param selectedOnly - * boolean true to just return the selected view - * @param markGroups - * boolean true to annotate the alignment view with groups on the - * alignment (and intersecting with selected region if selectedOnly - * is true) - * @return AlignmentView - */ + @Override public jalview.datamodel.AlignmentView getAlignmentView( boolean selectedOnly, boolean markGroups) @@ -1173,14 +1135,7 @@ public abstract class AlignmentViewport implements AlignViewportI hasHiddenColumns, selectedOnly, markGroups); } - /** - * This method returns the visible alignment as text, as seen on the GUI, ie - * if columns are hidden they will not be returned in the result. Use this for - * calculating trees, PCA, redundancy etc on views which contain hidden - * columns. - * - * @return String[] - */ + @Override public String[] getViewAsString(boolean selectedRegionOnly) { @@ -1218,15 +1173,8 @@ public abstract class AlignmentViewport implements AlignViewportI return selection; } - /** - * return visible region boundaries within given column range - * - * @param min - * first column (inclusive, from 0) - * @param max - * last column (exclusive) - * @return int[][] range of {start,end} visible positions - */ + + @Override public int[][] getVisibleRegionBoundaries(int min, int max) { Vector regions = new Vector(); @@ -1293,18 +1241,15 @@ public abstract class AlignmentViewport implements AlignViewportI return ala; } - /** - * @return the padGaps - */ + + @Override public boolean isPadGaps() { return padGaps; } - /** - * @param padGaps - * the padGaps to set - */ + + @Override public void setPadGaps(boolean padGaps) { this.padGaps = padGaps; @@ -1316,6 +1261,7 @@ public abstract class AlignmentViewport implements AlignViewportI * * @param ap */ + @Override public void alignmentChanged(AlignmentViewPanel ap) { if (isPadGaps()) @@ -1477,6 +1423,7 @@ public abstract class AlignmentViewport implements AlignViewportI * * @see jalview.api.AlignViewportI#calcPanelHeight() */ + @Override public int calcPanelHeight() { // setHeight of panels @@ -1617,11 +1564,13 @@ public abstract class AlignmentViewport implements AlignViewportI */ private boolean colourByReferenceSeq=false; + @Override public boolean isDisplayReferenceSeq() { return alignment.hasSeqrep() && displayReferenceSeq; } + @Override public void setDisplayReferenceSeq(boolean displayReferenceSeq) { this.displayReferenceSeq = displayReferenceSeq; @@ -1703,11 +1652,13 @@ public abstract class AlignmentViewport implements AlignViewportI return featuresDisplayed; } + @Override public void setFeaturesDisplayed(FeaturesDisplayedI featuresDisplayedI) { featuresDisplayed = featuresDisplayedI; } + @Override public boolean areFeaturesDisplayed() { return featuresDisplayed != null && featuresDisplayed.getRegisterdFeaturesCount()>0; @@ -1737,11 +1688,13 @@ public abstract class AlignmentViewport implements AlignViewportI boolean showSeqFeaturesHeight; + @Override public void setShowSequenceFeaturesHeight(boolean selected) { showSeqFeaturesHeight = selected; } + @Override public boolean isShowSequenceFeaturesHeight() { return showSeqFeaturesHeight; -- 1.7.10.2