diff options
author | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-06 21:58:53 +0100 |
---|---|---|
committer | Eduardo Pedroni <ep625@york.ac.uk> | 2014-04-06 21:58:53 +0100 |
commit | e6dd7711c7dad5e000445208eb5845801f4ccffc (patch) | |
tree | 1454bd20a8dd7069b1283184c42f4def6d5f7e6f /src/jcgp/gui/population/PopulationPane.java | |
parent | c7969623b44f375e30fa3f15dcd7581609276a0f (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.java | 49 |
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(); + } + } +} |