JAL-2798 added methods for getting/adding external tree viewer
authorkjvdheide <kjvanderheide@dundee.ac.uk>
Tue, 16 Jan 2018 17:09:25 +0000 (17:09 +0000)
committerkjvdheide <kjvanderheide@dundee.ac.uk>
Tue, 16 Jan 2018 17:09:25 +0000 (17:09 +0000)
src/jalview/schemabinding/version2/JalviewModelSequence.java

index c7c02c5..5ff56dd 100644 (file)
@@ -56,6 +56,11 @@ public class JalviewModelSequence implements java.io.Serializable
    */
   private jalview.schemabinding.version2.FeatureSettings _featureSettings;
 
+  /**
+   * List of external trees
+   */
+  private java.util.Vector<jalview.ext.treeviewer.TreeFrameI> _extTreeList;
+
   // ----------------/
   // - Constructors -/
   // ----------------/
@@ -68,6 +73,7 @@ public class JalviewModelSequence implements java.io.Serializable
     this._viewportList = new java.util.Vector();
     this._userColoursList = new java.util.Vector();
     this._treeList = new java.util.Vector();
+    this._extTreeList = new java.util.Vector<>();
   }
 
   // -----------/
@@ -158,6 +164,16 @@ public class JalviewModelSequence implements java.io.Serializable
     this._treeList.add(index, vTree);
   }
 
+  public void addExtTreeViewer(jalview.ext.treeviewer.TreeFrameI treeViewer)
+  {
+    this._extTreeList.add(treeViewer);
+  }
+
+  public void addExtTreeViewer(final int index,
+          jalview.ext.treeviewer.TreeFrameI treeViewer)
+  {
+    this._extTreeList.add(index, treeViewer);
+  }
   /**
    * 
    * 
@@ -426,6 +442,31 @@ public class JalviewModelSequence implements java.io.Serializable
     return this._treeList.size();
   }
 
+  public jalview.ext.treeviewer.TreeFrameI getExtTreeViewer(final int index)
+          throws java.lang.IndexOutOfBoundsException
+  {
+    // check bounds for index
+    if (index < 0 || index >= this._extTreeList.size())
+    {
+      throw new IndexOutOfBoundsException("getExtTreeViewer: Index value '"
+              + index + "' not in range [0.."
+              + (this._extTreeList.size() - 1) + "]");
+    }
+
+    return _extTreeList.get(index);
+  }
+
+  public jalview.ext.treeviewer.TreeFrameI[] getExtTreeViewer()
+  {
+    jalview.ext.treeviewer.TreeFrameI[] array = new jalview.ext.treeviewer.TreeFrameI[0];
+    return this._extTreeList.toArray(array);
+  }
+
+  public int getExtTreeViewerCount()
+  {
+    return this._extTreeList.size();
+  }
+
   /**
    * Method getUserColours.
    *