aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/gui/population/PopulationPane.java
diff options
context:
space:
mode:
authorEduardo Pedroni <ep625@york.ac.uk>2014-04-06 21:58:53 +0100
committerEduardo Pedroni <ep625@york.ac.uk>2014-04-06 21:58:53 +0100
commite6dd7711c7dad5e000445208eb5845801f4ccffc (patch)
tree1454bd20a8dd7069b1283184c42f4def6d5f7e6f /src/jcgp/gui/population/PopulationPane.java
parentc7969623b44f375e30fa3f15dcd7581609276a0f (diff)
About to make big changes to the way fitness works, committing just in case
Diffstat (limited to 'src/jcgp/gui/population/PopulationPane.java')
-rw-r--r--src/jcgp/gui/population/PopulationPane.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/jcgp/gui/population/PopulationPane.java b/src/jcgp/gui/population/PopulationPane.java
new file mode 100644
index 0000000..3a83a86
--- /dev/null
+++ b/src/jcgp/gui/population/PopulationPane.java
@@ -0,0 +1,49 @@
+package jcgp.gui.population;
+
+import javafx.scene.control.Tab;
+import javafx.scene.control.TabPane;
+import jcgp.JCGP;
+import jcgp.backend.population.Population;
+import jcgp.backend.resources.Resources;
+
+public class PopulationPane extends TabPane {
+
+ public PopulationPane(JCGP jcgp) {
+ super();
+
+ setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE);
+
+ remakeTabs(jcgp.getPopulation(), jcgp.getResources());
+ }
+
+ public void remakeTabs(Population population, Resources resources) {
+ getTabs().clear();
+
+ Tab tab;
+ ChromosomePane cp;
+ for (int i = 0; i < resources.getInt("popSize"); i++) {
+ cp = new ChromosomePane(population.getChromosome(i), resources);
+ tab = new Tab("Chr " + i);
+ tab.setContent(cp);
+ getTabs().add(tab);
+ }
+ }
+
+ public void updateGenes() {
+ for (int i = 0; i < getChildrenUnmodifiable().size(); i++) {
+ ((ChromosomePane) getTabs().get(i).getContent()).updateGenes();
+ }
+ }
+
+ public void unlockOutputs() {
+ for (int i = 0; i < getChildrenUnmodifiable().size(); i++) {
+ ((ChromosomePane) getTabs().get(i).getContent()).unlockOutputs();
+ }
+ }
+
+ public void relockOutputs() {
+ for (int i = 0; i < getChildrenUnmodifiable().size(); i++) {
+ ((ChromosomePane) getTabs().get(i).getContent()).relockOutputs();
+ }
+ }
+}