public static final String COPY_ICON = "copy_icon";
public static final String PASTE_ICON = "paste_icon";
public static final String ADD_ICON = "add_icon";
+ public static final String ADD_DOUBLE = "add_double";
+ public static final String ADD_TEXT = "add_text";
public static final String ADD_ICON_GREEN = "add_icon_green";
public static final String MIN_ICON = "min_icon";
public static final String ADD_EDIT = "add_edit";
"paste_edit.png");
registerImage(registry, ADD_ICON,
"add_no_bg.gif");
+ registerImage(registry, ADD_DOUBLE,
+ "add_double.png");
+ registerImage(registry, ADD_TEXT,
+ "add_text.png");
registerImage(registry, ADD_ICON_GREEN,
"add.gif");
registerImage(registry, MIN_ICON,
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
+import eu.etaxonomy.cdm.model.name.TextualTypeDesignation;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueElement;
import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;
import eu.etaxonomy.taxeditor.ui.section.name.SpecimenTypeDesignationElement;
+import eu.etaxonomy.taxeditor.ui.section.name.TextTypeDesignationElement;
import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreaDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection;
} else if (entity instanceof NameTypeDesignation) {
element = new NameTypeDesignationElement(this, parentElement, (NameTypeDesignation) entity, removeListener,
style);
+ } else if (entity instanceof TextualTypeDesignation) {
+ element = new TextTypeDesignationElement(this, parentElement, (TextualTypeDesignation) entity, removeListener,
+ style);
} else if (entity instanceof NameRelationship) {
element = new NameRelationshipDetailElement(this, parentElement, (NameRelationship) entity, removeListener,
style);
--- /dev/null
+/**
+ * Copyright (C) 2007 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+
+package eu.etaxonomy.taxeditor.ui.section.name;
+
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.name.TextualTypeDesignation;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement;
+
+/**
+ *
+ * @author pplitzner
+ * @since May 15, 2019
+ *
+ */
+public class TextTypeDesignationElement extends
+ AbstractTypeDesignationElement<TextualTypeDesignation> {
+
+ private MultilanguageTextElement multilanguageTextElement;
+ private CheckboxElement checkIsVerbatim;
+
+ public TextTypeDesignationElement(CdmFormFactory formFactory,
+ AbstractFormSection section, TextualTypeDesignation entity,
+ SelectionListener removeListener, int style) {
+ super(formFactory, section, entity, removeListener, style);
+ }
+
+ @Override
+ public void createControls(ICdmFormElement formElement, int style) {
+ multilanguageTextElement = formFactory.createMultiLanguageTextElement(this, null, entity.getText(), 200, SWT.WRAP);
+ checkIsVerbatim = formFactory.createCheckbox(formElement, "Is Verbatim", getEntity().isVerbatim(), style);
+ super.createControls(formElement, style);
+ }
+
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ if(event.getSource()==multilanguageTextElement){
+ multilanguageTextElement.getMultilanguageText().values()
+ .forEach(languageString -> getEntity().putText(languageString));
+ }
+ super.propertyChange(event);
+ }
+
+ @Override
+ public void setEntity(TextualTypeDesignation entity) {
+ super.setEntity(entity);
+ }
+
+ @Override
+ public void handleEvent(Object eventSource) {
+ super.handleEvent(eventSource);
+ if(eventSource==checkIsVerbatim){
+ getEntity().setVerbatim(checkIsVerbatim.getSelection());
+ }
+ }
+}
import eu.etaxonomy.cdm.model.name.Rank;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
import eu.etaxonomy.cdm.model.name.TaxonName;
+import eu.etaxonomy.cdm.model.name.TextualTypeDesignation;
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
@Override
protected void addAction(ToolBarManager toolBarManager) {
+ if(PreferencesUtil.getBooleanValue(IPreferenceKeys.SHOW_EXPERIMENTAL_FEATURES)){
+ // add textual type designation button
+ Action addTextualTypeDesignationAction = new Action("Add", IAction.AS_PUSH_BUTTON){
+ @Override
+ public void run() {
+ TextualTypeDesignation textualTypeDesignation = TextualTypeDesignation.NewInstance();
+ addElement(textualTypeDesignation);
+ if(! getSection().isExpanded()) {
+ getSection().setExpanded(true);
+ }
+ internalUpdateSection(true);
+ }
+ };
+ addTextualTypeDesignationAction.setImageDescriptor(new ImageDescriptor() {
+
+ @Override
+ public ImageData getImageData() {
+ return ImageResources.getImage(ImageResources.ADD_TEXT).getImageData();
+ }
+ });
+ addTextualTypeDesignationAction.setToolTipText("Add textual type designation");
+ toolBarManager.add(addTextualTypeDesignationAction);
+ }
+
+ // clone button
if(!isSpecimenType() ||
getEntity().getTypeDesignations().isEmpty()
|| getEntity().getTypeDesignations().stream().noneMatch(designation->designation instanceof SpecimenTypeDesignation)){
@Override
public ImageData getImageData() {
- return ImageResources.getImage(ImageResources.COPY_ICON).getImageData();
+ return ImageResources.getImage(ImageResources.ADD_DOUBLE).getImageData();
}
});
cloneAction.setToolTipText(Messages.TypeDesignationSection_CREATE_DUPLICATE);