public ControlBranchBoxOption(final ControlList<IClassification> controlList, final IClassification option, final int y) { super(controlList, option, option.getName().contains(".") ? option.getScientific() : option.getName(), y); } }
@Override public void onValueChanged(final IClassification branch) { this.branchName.setValue(TextFormatting.UNDERLINE + I18N.localise(DatabaseConstants.BRANCH_KEY + ".name", branch.getName())); this.branchScientific.setValue(TextFormatting.ITALIC + I18N.localise(DatabaseConstants.BRANCH_KEY + ".apidae", branch.getScientific())); this.branchAuthority.setValue(I18N.localise(DatabaseConstants.BRANCH_KEY + ".discoveredBy", TextFormatting.BOLD + branch.getMemberSpecies()[0].getAuthority())); for (final IWidget widget : this.branchDescription) { this.deleteChild(widget); } this.branchDescription.clear(); String desc = branch.getDescription(); if (desc == null || Objects.equals(desc, "") || desc.contains("for.")) { desc = I18N.localise(DatabaseConstants.BRANCH_KEY + ".noDesc"); } StringBuilder line = new StringBuilder(); final List<String> descLines = new ArrayList<>(); for (final String str : desc.split(" ")) { if (RenderUtil.getTextWidth(line + " " + str) > 134) { descLines.add(TextFormatting.ITALIC + line.toString() + TextFormatting.RESET); line = new StringBuilder(); } line.append(' ').append(str); } descLines.add(line.toString()); int i = 0; for (final String dLine : descLines) { this.branchDescription.add(new ControlTextCentered(this, 84 + 12 * i++, dLine)); } } }
@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)); } }
while (classification != null) { if (!classification.getScientific().isEmpty()) { hierarchy.push(classification); textLayout.drawLine(group.getScientific(), x, group.getLevel().getColour()); textLayout.drawLine(group.getLevel().name(), 170, group.getLevel().getColour()); textLayout.newLineCompressed(); binomial = group.getScientific().substring(0, 1) + ". " + binomial.toLowerCase(Locale.ENGLISH);
int y = 4; IAlleleSpecies species = ind.getGenome().getPrimary(); String branchBinomial = species.getBranch().getScientific(); String branchName = species.getBranch().getName(); String desc = species.getDescription();