aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/gui/population/GUIConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/gui/population/GUIConnection.java')
-rw-r--r--src/jcgp/gui/population/GUIConnection.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/jcgp/gui/population/GUIConnection.java b/src/jcgp/gui/population/GUIConnection.java
new file mode 100644
index 0000000..dc7fcc8
--- /dev/null
+++ b/src/jcgp/gui/population/GUIConnection.java
@@ -0,0 +1,32 @@
+package jcgp.gui.population;
+
+import jcgp.gui.population.GUIGene.GUIGeneState;
+
+/**
+ * A loose equivalent to {@link jcgp.backend.population.Connection}.
+ * <br>
+ * This defines behaviour that all GUI representations of connections
+ * should be capable of.
+ *
+ * @author Eduardo Pedroni
+ *
+ */
+public interface GUIConnection {
+
+ /**
+ * Set the connection's state, but also recursively propagate that state
+ * all the way back to the inputs.
+ *
+ * @param state the state to set.
+ */
+ public void setStateRecursively(GUIGeneState state);
+
+ /**
+ * Add or remove a lock, but also recursively propagate that change
+ * all the way back to the inputs.
+ *
+ * @param value true to lock, false to unlock.
+ */
+ public void setLockRecursively(boolean value);
+
+}