Merge branch 'features/JAL-845splitPaneMergeDevelop' into merge_JAL-845_JAL-1640
[jalview.git] / src / jalview / viewmodel / AlignmentViewport.java
index 364222e..3293291 100644 (file)
@@ -25,6 +25,7 @@ import jalview.api.AlignCalcManagerI;
 import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
 import jalview.api.FeaturesDisplayedI;
+import jalview.api.ViewStyleI;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AlignmentView;
@@ -39,6 +40,7 @@ import jalview.schemes.Blosum62ColourScheme;
 import jalview.schemes.ColourSchemeI;
 import jalview.schemes.PIDColourScheme;
 import jalview.schemes.ResidueProperties;
+import jalview.viewmodel.styles.ViewStyle;
 import jalview.workers.AlignCalcManager;
 import jalview.workers.ConsensusThread;
 import jalview.workers.StrucConsensusThread;
@@ -59,158 +61,490 @@ import java.util.Vector;
  * @author jimp
  * 
  */
-public abstract class AlignmentViewport implements AlignViewportI
+public abstract class AlignmentViewport implements AlignViewportI,
+        ViewStyleI
 {
-  /*
+  protected ViewStyleI viewStyle = new ViewStyle();
+
+  /**
    * A viewport that hosts the cDna view of this (protein), or vice versa (if
    * set).
    */
   AlignViewportI codingComplement = null;
 
   /**
-   * alignment displayed in the viewport. Please use get/setter
+   * @param name
+   * @see jalview.api.ViewStyleI#setFontName(java.lang.String)
    */
-  protected AlignmentI alignment;
+  public void setFontName(String name)
+  {
+    viewStyle.setFontName(name);
+  }
 
-  protected String sequenceSetID;
+  /**
+   * @param style
+   * @see jalview.api.ViewStyleI#setFontStyle(int)
+   */
+  public void setFontStyle(int style)
+  {
+    viewStyle.setFontStyle(style);
+  }
 
   /**
-   * probably unused indicator that view is of a dataset rather than an
-   * alignment
+   * @param size
+   * @see jalview.api.ViewStyleI#setFontSize(int)
    */
-  protected boolean isDataset = false;
+  public void setFontSize(int size)
+  {
+    viewStyle.setFontSize(size);
+  }
 
-  private Map<SequenceI, SequenceCollectionI> hiddenRepSequences;
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getFontStyle()
+   */
+  public int getFontStyle()
+  {
+    return viewStyle.getFontStyle();
+  }
 
-  protected ColumnSelection colSel = new ColumnSelection();
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getFontName()
+   */
+  public String getFontName()
+  {
+    return viewStyle.getFontName();
+  }
 
-  public boolean autoCalculateConsensus = true;
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getFontSize()
+   */
+  public int getFontSize()
+  {
+    return viewStyle.getFontSize();
+  }
 
-  protected boolean autoCalculateStrucConsensus = true;
+  /**
+   * @param upperCasebold
+   * @see jalview.api.ViewStyleI#setUpperCasebold(boolean)
+   */
+  public void setUpperCasebold(boolean upperCasebold)
+  {
+    viewStyle.setUpperCasebold(upperCasebold);
+  }
 
-  protected boolean ignoreGapsInConsensusCalculation = false;
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isUpperCasebold()
+   */
+  public boolean isUpperCasebold()
+  {
+    return viewStyle.isUpperCasebold();
+  }
 
-  protected ColourSchemeI globalColourScheme = null;
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isSeqNameItalics()
+   */
+  public boolean isSeqNameItalics()
+  {
+    return viewStyle.isSeqNameItalics();
+  }
 
   /**
-   * gui state - changes to colour scheme propagated to all groups
+   * @param colourByReferenceSeq
+   * @see jalview.api.ViewStyleI#setColourByReferenceSeq(boolean)
    */
-  private boolean colourAppliesToAllGroups;
+  public void setColourByReferenceSeq(boolean colourByReferenceSeq)
+  {
+    viewStyle.setColourByReferenceSeq(colourByReferenceSeq);
+  }
 
   /**
-   * @param value
-   *          indicating if subsequent colourscheme changes will be propagated
-   *          to all groups
+   * @param b
+   * @see jalview.api.ViewStyleI#setColourAppliesToAllGroups(boolean)
    */
   public void setColourAppliesToAllGroups(boolean b)
   {
-    colourAppliesToAllGroups = b;
+    viewStyle.setColourAppliesToAllGroups(b);
   }
 
   /**
-   * 
-   * 
-   * @return flag indicating if colourchanges propagated to all groups
+   * @return
+   * @see jalview.api.ViewStyleI#getColourAppliesToAllGroups()
    */
   public boolean getColourAppliesToAllGroups()
   {
-    return colourAppliesToAllGroups;
+    return viewStyle.getColourAppliesToAllGroups();
   }
 
-  boolean abovePIDThreshold = false;
-
   /**
-   * GUI state
-   * 
-   * @return true if percent identity threshold is applied to shading
+   * @return
+   * @see jalview.api.ViewStyleI#getAbovePIDThreshold()
    */
   public boolean getAbovePIDThreshold()
   {
-    return abovePIDThreshold;
+    return viewStyle.getAbovePIDThreshold();
+  }
+
+  /**
+   * @param inc
+   * @see jalview.api.ViewStyleI#setIncrement(int)
+   */
+  public void setIncrement(int inc)
+  {
+    viewStyle.setIncrement(inc);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getIncrement()
+   */
+  public int getIncrement()
+  {
+    return viewStyle.getIncrement();
   }
 
   /**
-   * GUI state
-   * 
-   * 
    * @param b
-   *          indicate if percent identity threshold is applied to shading
+   * @see jalview.api.ViewStyleI#setConservationSelected(boolean)
    */
-  public void setAbovePIDThreshold(boolean b)
+  public void setConservationSelected(boolean b)
   {
-    abovePIDThreshold = b;
+    viewStyle.setConservationSelected(b);
   }
 
-  int threshold;
+  /**
+   * @param show
+   * @see jalview.api.ViewStyleI#setShowHiddenMarkers(boolean)
+   */
+  public void setShowHiddenMarkers(boolean show)
+  {
+    viewStyle.setShowHiddenMarkers(show);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getShowHiddenMarkers()
+   */
+  public boolean getShowHiddenMarkers()
+  {
+    return viewStyle.getShowHiddenMarkers();
+  }
+
+  /**
+   * @param b
+   * @see jalview.api.ViewStyleI#setScaleRightWrapped(boolean)
+   */
+  public void setScaleRightWrapped(boolean b)
+  {
+    viewStyle.setScaleRightWrapped(b);
+  }
+
+  /**
+   * @param b
+   * @see jalview.api.ViewStyleI#setScaleLeftWrapped(boolean)
+   */
+  public void setScaleLeftWrapped(boolean b)
+  {
+    viewStyle.setScaleLeftWrapped(b);
+  }
+
+  /**
+   * @param b
+   * @see jalview.api.ViewStyleI#setScaleAboveWrapped(boolean)
+   */
+  public void setScaleAboveWrapped(boolean b)
+  {
+    viewStyle.setScaleAboveWrapped(b);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getScaleLeftWrapped()
+   */
+  public boolean getScaleLeftWrapped()
+  {
+    return viewStyle.getScaleLeftWrapped();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getScaleAboveWrapped()
+   */
+  public boolean getScaleAboveWrapped()
+  {
+    return viewStyle.getScaleAboveWrapped();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getScaleRightWrapped()
+   */
+  public boolean getScaleRightWrapped()
+  {
+    return viewStyle.getScaleRightWrapped();
+  }
+
+  /**
+   * @param b
+   * @see jalview.api.ViewStyleI#setAbovePIDThreshold(boolean)
+   */
+  public void setAbovePIDThreshold(boolean b)
+  {
+    viewStyle.setAbovePIDThreshold(b);
+  }
 
   /**
-   * DOCUMENT ME!
-   * 
    * @param thresh
-   *          DOCUMENT ME!
+   * @see jalview.api.ViewStyleI#setThreshold(int)
    */
   public void setThreshold(int thresh)
   {
-    threshold = thresh;
+    viewStyle.setThreshold(thresh);
   }
 
   /**
-   * DOCUMENT ME!
-   * 
-   * @return DOCUMENT ME!
+   * @return
+   * @see jalview.api.ViewStyleI#getThreshold()
    */
   public int getThreshold()
   {
-    return threshold;
+    return viewStyle.getThreshold();
   }
 
-  int increment;
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getShowJVSuffix()
+   */
+  public boolean getShowJVSuffix()
+  {
+    return viewStyle.getShowJVSuffix();
+  }
 
   /**
-   * 
-   * @param inc
-   *          set the scalar for bleaching colourschemes according to degree of
-   *          conservation
+   * @param b
+   * @see jalview.api.ViewStyleI#setShowJVSuffix(boolean)
    */
-  public void setIncrement(int inc)
+  public void setShowJVSuffix(boolean b)
   {
-    increment = inc;
+    viewStyle.setShowJVSuffix(b);
   }
 
   /**
-   * GUI State
-   * 
-   * @return get scalar for bleaching colourschemes by conservation
+   * @param state
+   * @see jalview.api.ViewStyleI#setWrapAlignment(boolean)
    */
-  public int getIncrement()
+  public void setWrapAlignment(boolean state)
   {
-    return increment;
+    viewStyle.setWrapAlignment(state);
   }
 
-  boolean conservationColourSelected = false;
+  /**
+   * @param state
+   * @see jalview.api.ViewStyleI#setShowText(boolean)
+   */
+  public void setShowText(boolean state)
+  {
+    viewStyle.setShowText(state);
+  }
 
   /**
-   * GUI state
-   * 
-   * @return true if conservation based shading is enabled
+   * @param state
+   * @see jalview.api.ViewStyleI#setRenderGaps(boolean)
    */
-  public boolean getConservationSelected()
+  public void setRenderGaps(boolean state)
   {
-    return conservationColourSelected;
+    viewStyle.setRenderGaps(state);
   }
 
   /**
-   * GUI state
-   * 
-   * @param b
-   *          enable conservation based shading
+   * @return
+   * @see jalview.api.ViewStyleI#getColourText()
    */
-  public void setConservationSelected(boolean b)
+  public boolean getColourText()
+  {
+    return viewStyle.getColourText();
+  }
+
+  /**
+   * @param state
+   * @see jalview.api.ViewStyleI#setColourText(boolean)
+   */
+  public void setColourText(boolean state)
+  {
+    viewStyle.setColourText(state);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getWrapAlignment()
+   */
+  public boolean getWrapAlignment()
+  {
+    return viewStyle.getWrapAlignment();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getShowText()
+   */
+  public boolean getShowText()
+  {
+    return viewStyle.getShowText();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getWrappedWidth()
+   */
+  public int getWrappedWidth()
+  {
+    return viewStyle.getWrappedWidth();
+  }
+
+  /**
+   * @param w
+   * @see jalview.api.ViewStyleI#setWrappedWidth(int)
+   */
+  public void setWrappedWidth(int w)
+  {
+    viewStyle.setWrappedWidth(w);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getCharHeight()
+   */
+  public int getCharHeight()
+  {
+    return viewStyle.getCharHeight();
+  }
+
+  /**
+   * @param h
+   * @see jalview.api.ViewStyleI#setCharHeight(int)
+   */
+  public void setCharHeight(int h)
+  {
+    viewStyle.setCharHeight(h);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getCharWidth()
+   */
+  public int getCharWidth()
+  {
+    return viewStyle.getCharWidth();
+  }
+
+  /**
+   * @param w
+   * @see jalview.api.ViewStyleI#setCharWidth(int)
+   */
+  public void setCharWidth(int w)
+  {
+    viewStyle.setCharWidth(w);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getShowBoxes()
+   */
+  public boolean getShowBoxes()
+  {
+    return viewStyle.getShowBoxes();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getShowUnconserved()
+   */
+  public boolean getShowUnconserved()
+  {
+    return viewStyle.getShowUnconserved();
+  }
+
+  /**
+   * @param showunconserved
+   * @see jalview.api.ViewStyleI#setShowUnconserved(boolean)
+   */
+  public void setShowUnconserved(boolean showunconserved)
+  {
+    viewStyle.setShowUnconserved(showunconserved);
+  }
+
+  /**
+   * @param default1
+   * @see jalview.api.ViewStyleI#setSeqNameItalics(boolean)
+   */
+  public void setSeqNameItalics(boolean default1)
+  {
+    viewStyle.setSeqNameItalics(default1);
+  }
+
+  /**
+   * @param selected
+   * @see jalview.api.ViewStyleI#setShowSeqFeaturesHeight(boolean)
+   */
+  public void setShowSeqFeaturesHeight(boolean selected)
+  {
+    viewStyle.setShowSeqFeaturesHeight(selected);
+  }
+
+  /**
+   * alignment displayed in the viewport. Please use get/setter
+   */
+  protected AlignmentI alignment;
+
+  @Override
+  public AlignmentI getAlignment()
   {
-    conservationColourSelected = b;
+    return alignment;
   }
 
   @Override
+  public char getGapCharacter()
+  {
+    return alignment.getGapCharacter();
+  }
+
+  protected String sequenceSetID;
+
+  /**
+   * probably unused indicator that view is of a dataset rather than an
+   * alignment
+   */
+  protected boolean isDataset = false;
+
+  public void setDataset(boolean b)
+  {
+    isDataset = b;
+  }
+
+  public boolean isDataset()
+  {
+    return isDataset;
+  }
+
+
+  private Map<SequenceI, SequenceCollectionI> hiddenRepSequences;
+
+  protected ColumnSelection colSel = new ColumnSelection();
+
+  public boolean autoCalculateConsensus = true;
+
+  protected boolean autoCalculateStrucConsensus = true;
+
+  protected boolean ignoreGapsInConsensusCalculation = false;
+
+  protected ColourSchemeI globalColourScheme = null;
+
+
+  @Override
   public void setGlobalColourScheme(ColourSchemeI cs)
   {
     // TODO: logic refactored from AlignFrame changeColour -
@@ -229,7 +563,8 @@ public abstract class AlignmentViewport implements AlignViewportI
               || cs instanceof Blosum62ColourScheme)
       {
         recalc = true;
-        cs.setThreshold(threshold, ignoreGapsInConsensusCalculation);
+        cs.setThreshold(viewStyle.getThreshold(),
+                ignoreGapsInConsensusCalculation);
       }
       else
       {
@@ -256,12 +591,13 @@ public abstract class AlignmentViewport implements AlignViewportI
         if (getAbovePIDThreshold() || cs instanceof PIDColourScheme
                 || cs instanceof Blosum62ColourScheme)
         {
-          sg.cs.setThreshold(threshold, getIgnoreGapsConsensus());
+          sg.cs.setThreshold(viewStyle.getThreshold(),
+                  isIgnoreGapsConsensus());
           recalc = true;
         }
         else
         {
-          sg.cs.setThreshold(0, getIgnoreGapsConsensus());
+          sg.cs.setThreshold(0, isIgnoreGapsConsensus());
         }
 
         if (getConservationSelected())
@@ -585,11 +921,6 @@ public abstract class AlignmentViewport implements AlignViewportI
   }
 
   /**
-   * show non-conserved residues only
-   */
-  protected boolean showUnconserved = false;
-
-  /**
    * when set, updateAlignment will always ensure sequences are of equal length
    */
   private boolean padGaps = false;
@@ -599,24 +930,6 @@ public abstract class AlignmentViewport implements AlignViewportI
    */
   public boolean sortByTree = false;
 
-  public boolean getShowUnconserved()
-  {
-    return showUnconserved;
-  }
-
-  public void setShowUnconserved(boolean showunconserved)
-  {
-    showUnconserved = showunconserved;
-  }
-
-  /**
-   * @param showNonconserved
-   *          the showUnconserved to set
-   */
-  public void setShowunconserved(boolean displayNonconserved)
-  {
-    this.showUnconserved = displayNonconserved;
-  }
 
   /**
    * 
@@ -804,7 +1117,7 @@ public abstract class AlignmentViewport implements AlignViewportI
   }
 
   @Override
-  public boolean getIgnoreGapsConsensus()
+  public boolean isIgnoreGapsConsensus()
   {
     return ignoreGapsInConsensusCalculation;
   }
@@ -1556,37 +1869,22 @@ public abstract class AlignmentViewport implements AlignViewportI
     }
     oldrfs.clear();
   }
-  /**
-   * show the reference sequence in the alignment view
-   */
-  private boolean displayReferenceSeq=false;
-  /**
-   * colour according to the reference sequence defined on the alignment
-   */
-  private boolean colourByReferenceSeq=false;
-
   @Override
   public boolean isDisplayReferenceSeq()
   {
-    return alignment.hasSeqrep() && displayReferenceSeq;
+    return alignment.hasSeqrep() && viewStyle.isDisplayReferenceSeq();
   }
 
   @Override
   public void setDisplayReferenceSeq(boolean displayReferenceSeq)
   {
-    this.displayReferenceSeq = displayReferenceSeq;
+    viewStyle.setDisplayReferenceSeq(displayReferenceSeq);
   }
 
   @Override
   public boolean isColourByReferenceSeq()
   {
-    return alignment.hasSeqrep() && colourByReferenceSeq;
-  }
-
-  @Override
-  public void setColourByReferenceSeq(boolean colourByReferenceSeq)
-  {
-    this.colourByReferenceSeq = colourByReferenceSeq;
+    return alignment.hasSeqrep() && viewStyle.isColourByReferenceSeq();
   }
 
   @Override
@@ -1685,11 +1983,6 @@ public abstract class AlignmentViewport implements AlignViewportI
   }
 
   /**
-   * display setting for showing/hiding sequence features on alignment view
-   */
-  boolean showSequenceFeatures = false;
-
-  /**
    * set the flag
    * 
    * @param b
@@ -1698,54 +1991,259 @@ public abstract class AlignmentViewport implements AlignViewportI
   @Override
   public void setShowSequenceFeatures(boolean b)
   {
-    showSequenceFeatures = b;
+    viewStyle.setShowSequenceFeatures(b);
   }
   @Override
   public boolean isShowSequenceFeatures()
   {
-    return showSequenceFeatures;
+    return viewStyle.isShowSequenceFeatures();
   }
 
-  boolean showSeqFeaturesHeight;
-
   @Override
   public void setShowSequenceFeaturesHeight(boolean selected)
   {
-    showSeqFeaturesHeight = selected;
+    viewStyle.setShowSeqFeaturesHeight(selected);
   }
 
   @Override
   public boolean isShowSequenceFeaturesHeight()
   {
-    return showSeqFeaturesHeight;
+    return viewStyle.isShowSequenceFeaturesHeight();
   }
 
-  private boolean showAnnotation = true;
-
-  private boolean rightAlignIds = false;
 
 
   @Override
   public void setShowAnnotation(boolean b)
   {
-    showAnnotation = b;
+    viewStyle.setShowAnnotation(b);
   }
 
   @Override
   public boolean isShowAnnotation()
   {
-    return showAnnotation;
+    return viewStyle.isShowAnnotation();
   }
 
   @Override
   public boolean isRightAlignIds()
   {
-    return rightAlignIds;
+    return viewStyle.isRightAlignIds();
   }
 
   @Override
   public void setRightAlignIds(boolean rightAlignIds)
   {
-    this.rightAlignIds = rightAlignIds;
+    viewStyle.setRightAlignIds(rightAlignIds);
+  }
+
+  @Override
+  public boolean getConservationSelected()
+  {
+    return viewStyle.getConservationSelected();
+  }
+
+  @Override
+  public void setShowBoxes(boolean state)
+  {
+    viewStyle.setShowBoxes(state);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getTextColour()
+   */
+  public Color getTextColour()
+  {
+    return viewStyle.getTextColour();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getTextColour2()
+   */
+  public Color getTextColour2()
+  {
+    return viewStyle.getTextColour2();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getThresholdTextColour()
+   */
+  public int getThresholdTextColour()
+  {
+    return viewStyle.getThresholdTextColour();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isConservationColourSelected()
+   */
+  public boolean isConservationColourSelected()
+  {
+    return viewStyle.isConservationColourSelected();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isRenderGaps()
+   */
+  public boolean isRenderGaps()
+  {
+    return viewStyle.isRenderGaps();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isShowColourText()
+   */
+  public boolean isShowColourText()
+  {
+    return viewStyle.isShowColourText();
+  }
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isShowSeqFeaturesHeight()
+   */
+  public boolean isShowSeqFeaturesHeight()
+  {
+    return viewStyle.isShowSeqFeaturesHeight();
+  }
+
+  /**
+   * @param conservationColourSelected
+   * @see jalview.api.ViewStyleI#setConservationColourSelected(boolean)
+   */
+  public void setConservationColourSelected(
+          boolean conservationColourSelected)
+  {
+    viewStyle.setConservationColourSelected(conservationColourSelected);
+  }
+
+  /**
+   * @param showColourText
+   * @see jalview.api.ViewStyleI#setShowColourText(boolean)
+   */
+  public void setShowColourText(boolean showColourText)
+  {
+    viewStyle.setShowColourText(showColourText);
+  }
+
+  /**
+   * @param textColour
+   * @see jalview.api.ViewStyleI#setTextColour(java.awt.Color)
+   */
+  public void setTextColour(Color textColour)
+  {
+    viewStyle.setTextColour(textColour);
+  }
+
+  /**
+   * @param thresholdTextColour
+   * @see jalview.api.ViewStyleI#setThresholdTextColour(int)
+   */
+  public void setThresholdTextColour(int thresholdTextColour)
+  {
+    viewStyle.setThresholdTextColour(thresholdTextColour);
+  }
+
+  /**
+   * @param textColour2
+   * @see jalview.api.ViewStyleI#setTextColour2(java.awt.Color)
+   */
+  public void setTextColour2(Color textColour2)
+  {
+    viewStyle.setTextColour2(textColour2);
+  }
+
+  @Override
+  public ViewStyleI getViewStyle()
+  {
+    return new ViewStyle(viewStyle);
+  }
+
+  @Override
+  public void setViewStyle(ViewStyleI settingsForView)
+  {
+    viewStyle = new ViewStyle(settingsForView);
+  }
+
+  @Override
+  public boolean sameStyle(ViewStyleI them)
+  {
+    return viewStyle.sameStyle(them);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#getIdWidth()
+   */
+  public int getIdWidth()
+  {
+    return viewStyle.getIdWidth();
+  }
+
+  /**
+   * @param i
+   * @see jalview.api.ViewStyleI#setIdWidth(int)
+   */
+  public void setIdWidth(int i)
+  {
+    viewStyle.setIdWidth(i);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isCentreColumnLabels()
+   */
+  public boolean isCentreColumnLabels()
+  {
+    return viewStyle.isCentreColumnLabels();
+  }
+
+  /**
+   * @param centreColumnLabels
+   * @see jalview.api.ViewStyleI#setCentreColumnLabels(boolean)
+   */
+  public void setCentreColumnLabels(boolean centreColumnLabels)
+  {
+    viewStyle.setCentreColumnLabels(centreColumnLabels);
+  }
+
+  /**
+   * @param showdbrefs
+   * @see jalview.api.ViewStyleI#setShowDBRefs(boolean)
+   */
+  public void setShowDBRefs(boolean showdbrefs)
+  {
+    viewStyle.setShowDBRefs(showdbrefs);
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isShowDBRefs()
+   */
+  public boolean isShowDBRefs()
+  {
+    return viewStyle.isShowDBRefs();
+  }
+
+  /**
+   * @return
+   * @see jalview.api.ViewStyleI#isShowNPFeats()
+   */
+  public boolean isShowNPFeats()
+  {
+    return viewStyle.isShowNPFeats();
+  }
+
+  /**
+   * @param shownpfeats
+   * @see jalview.api.ViewStyleI#setShowNPFeats(boolean)
+   */
+  public void setShowNPFeats(boolean shownpfeats)
+  {
+    viewStyle.setShowNPFeats(shownpfeats);
   }
 }