package jalview.viewmodel.styles; import jalview.api.ViewStyleI; import java.awt.Color; /** * A container for holding alignment view properties. View properties are * data-independent, which means they can be safely copied between views * involving different alignment data without causing exceptions in the * rendering system. * * @author jprocter * */ public class ViewStyle implements ViewStyleI { private boolean abovePIDThreshold = false; int charHeight; int charWidth; /** * gui state - changes to colour scheme propagated to all groups */ private boolean colourAppliesToAllGroups; /** * colour according to the reference sequence defined on the alignment */ private boolean colourByReferenceSeq = false; boolean conservationColourSelected = false; /** * show the reference sequence in the alignment view */ private boolean displayReferenceSeq = false; private int increment; /** * display gap characters */ boolean renderGaps = true; private boolean rightAlignIds = false; boolean scaleAboveWrapped = false; boolean scaleLeftWrapped = true; boolean scaleRightWrapped = true; boolean seqNameItalics; /** * show annotation tracks on the alignment */ private boolean showAnnotation = true; /** * render each residue in a coloured box */ boolean showBoxes = true; /** * Colour sequence text */ boolean showColourText = false; /** * show blue triangles */ boolean showHiddenMarkers = true; /** * show /start-end in ID panel */ boolean showJVSuffix = true; /** * scale features height according to score */ boolean showSeqFeaturesHeight; /** * display setting for showing/hiding sequence features on alignment view */ boolean showSequenceFeatures = false; /** * display sequence symbols */ boolean showText = true; /** * show non-conserved residues only */ protected boolean showUnconserved = false; Color textColour = Color.black; Color textColour2 = Color.white; /** * PID or consensus threshold */ int threshold; /** * threshold for switching between textColour & textColour2 */ int thresholdTextColour = 0; /** * upper case characters in sequence are shown in bold */ boolean upperCasebold = false; /** * @return the upperCasebold */ @Override public boolean isUpperCasebold() { return upperCasebold; } /** * @param upperCasebold * the upperCasebold to set */ @Override public void setUpperCasebold(boolean upperCasebold) { this.upperCasebold = upperCasebold; } /** * flag for wrapping */ boolean wrapAlignment = false; /** * number columns in wrapped alignment */ int wrappedWidth; /** * GUI state * * @return true if percent identity threshold is applied to shading */ @Override public boolean getAbovePIDThreshold() { return abovePIDThreshold; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public int getCharHeight() { return charHeight; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public int getCharWidth() { return charWidth; } /** * * * @return flag indicating if colourchanges propagated to all groups */ @Override public boolean getColourAppliesToAllGroups() { return colourAppliesToAllGroups; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public boolean getColourText() { return showColourText; } /** * GUI state * * @return true if conservation based shading is enabled */ @Override public boolean getConservationSelected() { return conservationColourSelected; } /** * GUI State * * @return get scalar for bleaching colourschemes by conservation */ @Override public int getIncrement() { return increment; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public boolean getScaleAboveWrapped() { return scaleAboveWrapped; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public boolean getScaleLeftWrapped() { return scaleLeftWrapped; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public boolean getScaleRightWrapped() { return scaleRightWrapped; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public boolean getShowBoxes() { return showBoxes; } @Override public boolean getShowHiddenMarkers() { return showHiddenMarkers; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public boolean getShowJVSuffix() { return showJVSuffix; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public boolean getShowText() { return showText; } @Override public boolean getShowUnconserved() { return showUnconserved; } /** * @return the textColour */ @Override public Color getTextColour() { return textColour; } /** * @return the textColour2 */ @Override public Color getTextColour2() { return textColour2; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public int getThreshold() { return threshold; } /** * @return the thresholdTextColour */ @Override public int getThresholdTextColour() { return thresholdTextColour; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public boolean getWrapAlignment() { return wrapAlignment; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ @Override public int getWrappedWidth() { return wrappedWidth; } @Override public boolean isColourByReferenceSeq() { return colourByReferenceSeq; } /** * @return the conservationColourSelected */ @Override public boolean isConservationColourSelected() { return conservationColourSelected; } @Override public boolean isDisplayReferenceSeq() { return displayReferenceSeq; } /** * @return the renderGaps */ @Override public boolean isRenderGaps() { return renderGaps; } @Override public boolean isRightAlignIds() { return rightAlignIds; } /** * @return the seqNameItalics */ @Override public boolean isSeqNameItalics() { return seqNameItalics; } @Override public boolean isShowAnnotation() { return showAnnotation; } /** * @return the showColourText */ @Override public boolean isShowColourText() { return showColourText; } /** * @return the showSeqFeaturesHeight */ @Override public boolean isShowSeqFeaturesHeight() { return showSeqFeaturesHeight; } @Override public boolean isShowSequenceFeatures() { return showSequenceFeatures; } @Override public boolean isShowSequenceFeaturesHeight() { return showSeqFeaturesHeight; } /** * GUI state * * * @param b * indicate if percent identity threshold is applied to shading */ @Override public void setAbovePIDThreshold(boolean b) { abovePIDThreshold = b; } /** * DOCUMENT ME! * * @param h * DOCUMENT ME! */ @Override public void setCharHeight(int h) { this.charHeight = h; } /** * DOCUMENT ME! * * @param w * DOCUMENT ME! */ @Override public void setCharWidth(int w) { this.charWidth = w; } /** * @param value * indicating if subsequent colourscheme changes will be propagated * to all groups */ @Override public void setColourAppliesToAllGroups(boolean b) { colourAppliesToAllGroups = b; } @Override public void setColourByReferenceSeq(boolean colourByReferenceSeq) { this.colourByReferenceSeq = colourByReferenceSeq; } /** * DOCUMENT ME! * * @param state * DOCUMENT ME! */ @Override public void setColourText(boolean state) { showColourText = state; } /** * @param conservationColourSelected * the conservationColourSelected to set */ @Override public void setConservationColourSelected( boolean conservationColourSelected) { this.conservationColourSelected = conservationColourSelected; } /** * GUI state * * @param b * enable conservation based shading */ @Override public void setConservationSelected(boolean b) { conservationColourSelected = b; } @Override public void setDisplayReferenceSeq(boolean displayReferenceSeq) { this.displayReferenceSeq = displayReferenceSeq; } /** * * @param inc * set the scalar for bleaching colourschemes according to degree of * conservation */ @Override public void setIncrement(int inc) { increment = inc; } /** * DOCUMENT ME! * * @param state * DOCUMENT ME! */ @Override public void setRenderGaps(boolean state) { renderGaps = state; } @Override public void setRightAlignIds(boolean rightAlignIds) { this.rightAlignIds = rightAlignIds; } /** * DOCUMENT ME! * * @param b * DOCUMENT ME! */ @Override public void setScaleAboveWrapped(boolean b) { scaleAboveWrapped = b; } /** * DOCUMENT ME! * * @param b * DOCUMENT ME! */ @Override public void setScaleLeftWrapped(boolean b) { scaleLeftWrapped = b; } /** * * * @param scaleRightWrapped * - true or false */ @Override public void setScaleRightWrapped(boolean b) { scaleRightWrapped = b; } @Override public void setSeqNameItalics(boolean italics) { seqNameItalics = italics; } @Override public void setShowAnnotation(boolean b) { showAnnotation = b; } /** * DOCUMENT ME! * * @param state * DOCUMENT ME! */ @Override public void setShowBoxes(boolean state) { showBoxes = state; } /** * @param showColourText * the showColourText to set */ @Override public void setShowColourText(boolean showColourText) { this.showColourText = showColourText; } @Override public void setShowHiddenMarkers(boolean show) { showHiddenMarkers = show; } /** * DOCUMENT ME! * * @param b * DOCUMENT ME! */ @Override public void setShowJVSuffix(boolean b) { showJVSuffix = b; } @Override public void setShowSeqFeaturesHeight(boolean selected) { showSeqFeaturesHeight = selected; } /** * set the flag * * @param b * features are displayed if true */ @Override public void setShowSequenceFeatures(boolean b) { showSequenceFeatures = b; } /** * DOCUMENT ME! * * @param state * DOCUMENT ME! */ @Override public void setShowText(boolean state) { showText = state; } @Override public void setShowUnconserved(boolean showunconserved) { showUnconserved = showunconserved; } /** * @param textColour * the textColour to set */ @Override public void setTextColour(Color textColour) { this.textColour = textColour; } /** * @param textColour2 * the textColour2 to set */ @Override public void setTextColour2(Color textColour2) { this.textColour2 = textColour2; } /** * DOCUMENT ME! * * @param thresh * DOCUMENT ME! */ @Override public void setThreshold(int thresh) { threshold = thresh; } /** * @param thresholdTextColour * the thresholdTextColour to set */ @Override public void setThresholdTextColour(int thresholdTextColour) { this.thresholdTextColour = thresholdTextColour; } /** * DOCUMENT ME! * * @param state * DOCUMENT ME! */ @Override public void setWrapAlignment(boolean state) { wrapAlignment = state; } /** * DOCUMENT ME! * * @param w * DOCUMENT ME! */ @Override public void setWrappedWidth(int w) { this.wrappedWidth = w; } }