X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2Fstyles%2FViewStyle.java;h=91f2f0cdbc4b1a4f40388d9aa4b90ac5283c47c8;hb=9e458b702f71b2db6adb919d88f93fc0bedc5178;hp=3ed56349588040b17216596f3aa00eda333c09f3;hpb=be7d3d5e0d85c7c8dcfdf35a6240da9c438ef9bb;p=jalview.git diff --git a/src/jalview/viewmodel/styles/ViewStyle.java b/src/jalview/viewmodel/styles/ViewStyle.java index 3ed5634..91f2f0c 100644 --- a/src/jalview/viewmodel/styles/ViewStyle.java +++ b/src/jalview/viewmodel/styles/ViewStyle.java @@ -1,9 +1,29 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview 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. + * + * Jalview 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 Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.viewmodel.styles; -import java.awt.Color; - 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 @@ -148,6 +168,12 @@ public class ViewStyle implements ViewStyleI */ private boolean scaleProteinAsCdna = true; + /* + * if true, font changes to protein or cDNA are applied to both + * sides of a split screen + */ + private boolean proteinFontAsCdna = true; + /** * Copy constructor * @@ -175,6 +201,7 @@ public class ViewStyle implements ViewStyleI setScaleAboveWrapped(vs.getScaleAboveWrapped()); setScaleLeftWrapped(vs.getScaleLeftWrapped()); setScaleProteinAsCdna(vs.isScaleProteinAsCdna()); + setProteinFontAsCdna(vs.isProteinFontAsCdna()); setScaleRightWrapped(vs.getScaleRightWrapped()); setSeqNameItalics(vs.isSeqNameItalics()); setShowAnnotation(vs.isShowAnnotation()); @@ -186,6 +213,8 @@ public class ViewStyle implements ViewStyleI setShowNPFeats(vs.isShowNPFeats()); setShowSequenceFeaturesHeight(vs.isShowSequenceFeaturesHeight()); setShowSequenceFeatures(vs.isShowSequenceFeatures()); + setShowComplementFeatures(vs.isShowComplementFeatures()); + setShowComplementFeaturesOnTop(vs.isShowComplementFeaturesOnTop()); setShowText(vs.getShowText()); setShowUnconserved(vs.getShowUnconserved()); setTextColour(vs.getTextColour()); @@ -235,6 +264,7 @@ public class ViewStyle implements ViewStyleI && getScaleAboveWrapped() == vs.getScaleAboveWrapped() && getScaleLeftWrapped() == vs.getScaleLeftWrapped() && isScaleProteinAsCdna() == vs.isScaleProteinAsCdna() + && isProteinFontAsCdna() == vs.isProteinFontAsCdna() && getScaleRightWrapped() == vs.getScaleRightWrapped() && isSeqNameItalics() == vs.isSeqNameItalics() && isShowAnnotation() == vs.isShowAnnotation() @@ -247,25 +277,26 @@ public class ViewStyle implements ViewStyleI && isShowSequenceFeaturesHeight() == vs .isShowSequenceFeaturesHeight() && isShowSequenceFeatures() == vs.isShowSequenceFeatures() + && isShowComplementFeatures() == vs.isShowComplementFeatures() + && isShowComplementFeaturesOnTop() == vs + .isShowComplementFeaturesOnTop() && getShowText() == vs.getShowText() && getShowUnconserved() == vs.getShowUnconserved() && getThreshold() == vs.getThreshold() && getThresholdTextColour() == vs.getThresholdTextColour() && isUpperCasebold() == vs.isUpperCasebold() - && getWrapAlignment() == vs.getWrapAlignment() && getWrappedWidth() == vs - .getWrappedWidth()); + && getWrapAlignment() == vs.getWrapAlignment() + && getWrappedWidth() == vs.getWrappedWidth()); /* - * and compare non-primitive types; syntax below will match null with null values + * and compare non-primitive types; syntax below will match null with null + * values */ - match = match - && String.valueOf(getFontName()).equals( - String.valueOf(vs.getFontName())); - match = match - && String.valueOf(getTextColour()).equals( - String.valueOf(vs.getTextColour())); - match = match - && String.valueOf(getTextColour2()).equals( - String.valueOf(vs.getTextColour2())); + match = match && String.valueOf(getFontName()) + .equals(String.valueOf(vs.getFontName())); + match = match && String.valueOf(getTextColour()) + .equals(String.valueOf(vs.getTextColour())); + match = match && String.valueOf(getTextColour2()) + .equals(String.valueOf(vs.getTextColour2())); return match; // return equivalent(this, (ViewStyle) other); } @@ -339,6 +370,10 @@ public class ViewStyle implements ViewStyleI private int fontStyle; + private boolean showComplementFeatures; + + private boolean showComplementFeaturesOnTop; + /** * GUI state * @@ -642,7 +677,6 @@ public class ViewStyle implements ViewStyleI abovePIDThreshold = b; } - /** * DOCUMENT ME! * @@ -667,7 +701,6 @@ public class ViewStyle implements ViewStyleI this.charWidth = w; } - /** * @param value * indicating if subsequent colourscheme changes will be propagated @@ -1075,4 +1108,40 @@ public class ViewStyle implements ViewStyleI { this.scaleProteinAsCdna = b; } + + @Override + public boolean isProteinFontAsCdna() + { + return proteinFontAsCdna; + } + + @Override + public void setProteinFontAsCdna(boolean b) + { + proteinFontAsCdna = b; + } + + @Override + public void setShowComplementFeatures(boolean b) + { + showComplementFeatures = b; + } + + @Override + public boolean isShowComplementFeatures() + { + return showComplementFeatures; + } + + @Override + public void setShowComplementFeaturesOnTop(boolean b) + { + showComplementFeaturesOnTop = b; + } + + @Override + public boolean isShowComplementFeaturesOnTop() + { + return showComplementFeaturesOnTop; + } }