@Override public void registerAllele(IAllele allele, IChromosomeType... chromosomeTypes) { addValidAlleleTypes(allele, chromosomeTypes); alleleMap.put(allele.getUID(), allele); if (allele instanceof IAlleleSpecies) { IClassification branch = ((IAlleleSpecies) allele).getBranch(); branch.addMemberSpecies((IAlleleSpecies) allele); } for (IAlleleHandler handler : this.alleleHandlers) { handler.onRegisterAllele(allele); } }
@Override public void onValueChanged(final IAlleleSpecies species) { if (species != null) { for (ControlText control : this.levels.values()) { control.setValue("- - -"); } this.genus.setValue(species.getBinomial()); for (IClassification classification = species.getBranch(); classification != null; classification = classification.getParent()) { IClassification.EnumClassLevel level = classification.getLevel(); String text = classification.getScientific(); this.levels.get(level).setValue(text); } } } }
@Override public void onValueChanged(final IAlleleSpecies species) { this.controlInd1.setSpecies(species, EnumDiscoveryState.SHOW); this.controlInd2.setSpecies(species, EnumDiscoveryState.SHOW); final String branchBinomial = species.getBranch().getScientific(); this.controlName.setValue(TextFormatting.UNDERLINE + species.getAlleleName()); this.controlScientific.setValue(TextFormatting.ITALIC + branchBinomial + ' ' + species.getBinomial()); this.controlAuthority.setValue(I18N.localise(DatabaseConstants.KEY + ".discovered") + ": " + TextFormatting.BOLD + species.getAuthority()); this.controlComplexity.setValue(I18N.localise(DatabaseConstants.KEY + ".overview.complexity") + ": " + species.getComplexity()); final String desc = species.getDescription(); StringBuilder descBody = new StringBuilder(TextFormatting.ITALIC.toString()); String descSig = ""; if (desc == null || Objects.equals(desc, "") || desc.contains("for.description") || desc.contains(".desc")) { descBody.append(I18N.localise(DatabaseConstants.KEY + ".no.description")); } else { final String[] descStrings = desc.split("\\|"); descBody.append(descStrings[0]); for (int i = 1; i < descStrings.length - 1; ++i) { descBody.append(' ').append(descStrings[i]); } if (descStrings.length > 1) { descSig += descStrings[descStrings.length - 1]; } } this.controlDescription.setValue(descBody.toString() + TextFormatting.RESET); this.controlSignature.setValue(descSig); final int descHeight = CraftGUI.RENDER.textHeight(this.controlDescription.getValue(), this.controlDescription.getSize().xPos()); this.controlSignature.setPosition(new Point(controlSignature.getPosition().xPos(), this.controlDescription.getPosition().yPos() + descHeight + 10)); } }
IClassification classification = individual.getGenome().getPrimary().getBranch(); while (classification != null) {