JAL-3541 selectively merged build.gradle and gradle.properties
[jalview.git] / srcjar / fr / orsay / lri / varna / interfaces / InterfaceVARNARNAListener.java
diff --git a/srcjar/fr/orsay/lri/varna/interfaces/InterfaceVARNARNAListener.java b/srcjar/fr/orsay/lri/varna/interfaces/InterfaceVARNARNAListener.java
new file mode 100644 (file)
index 0000000..aeeaa5b
--- /dev/null
@@ -0,0 +1,32 @@
+package fr.orsay.lri.varna.interfaces;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Set;
+
+import fr.orsay.lri.varna.models.rna.ModeleBP;
+
+public interface InterfaceVARNARNAListener {
+       /**
+        * Reacts to changes being made at the sequence level. 
+        * @param index The sequence index where a change of base content is observed
+        * @param oldseq Previous base content   
+        * @param newseq New base content
+        */
+       public void onSequenceModified(int index, String oldseq, String newseq);
+       
+       /**
+        * Reacts to modification of the structure (Base-pair addition/removal).
+        * @param current Current list of base-pairs (can be also accessed within the current RNA object).
+        * @param addedBasePairs Newly created base-pairs
+        * @param removedBasePairs Newly removed base-pairs
+        */
+       public void onStructureModified(Set<ModeleBP> current, Set<ModeleBP> addedBasePairs, Set<ModeleBP> removedBasePairs);
+       
+       /**
+        * Reacts to displacement of 
+        * @param previousPositions
+        */
+       public void onRNALayoutChanged(Hashtable<Integer,Point2D.Double> previousPositions);
+}