import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermMediaSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
import eu.etaxonomy.taxeditor.ui.selection.CommonNameReferenceSelectionElement;
}
+ public TermMediaSection createTermMediaSection(ConversationHolder conversation,
+ ICdmFormElement parentElement, int style) {
+ TermMediaSection section = new TermMediaSection(this, conversation, parentElement, style);
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
+
+ }
+
/**
* @param definedTermClass
* @param formElement
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import java.util.Collection;
+import java.util.Comparator;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
+
+/**
+ *
+ * @author pplitzner
+ * @since May 17, 2019
+ *
+ */
+public class TermMediaSection extends AbstractEntityCollectionSection<DefinedTermBase, Media>{
+
+ public TermMediaSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(cdmFormFactory, conversation, parentElement, "Media", style);
+ }
+
+ @Override
+ public Media createNewElement() {
+ return Media.NewInstance();
+ }
+
+ @Override
+ public Collection<Media> getCollection(DefinedTermBase entity) {
+ return entity.getMedia();
+ }
+
+ @Override
+ public Comparator<Media> getComparator() {
+ return new DefaultCdmBaseComparator<>();
+ }
+
+ @Override
+ public String getEmptyString() {
+ return "No media yet.";
+ }
+
+ @Override
+ protected String getTooltipString() {
+ return "Create new media";
+ }
+
+ @Override
+ public void addElement(Media element) {
+ getEntity().addMedia(element);
+ }
+
+ @Override
+ public void removeElement(Media element) {
+ getEntity().removeMedia(element);
+ }
+
+ @Override
+ public Media addExisting() {
+ return MediaSelectionDialog.select(getShell(), null);
+ }
+
+ @Override
+ public boolean allowAddExisting() {
+ return true;
+ }
+
+}
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
-import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.description.Character;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
-import eu.etaxonomy.cdm.model.term.FeatureNode;
-import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
+import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.IDistributionEditor;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection;
import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermMediaSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
import eu.etaxonomy.taxeditor.view.e4.AbstractCdmDataViewerE4;
private void createDefinedTermSection(RootElement parent) {
DefinedTermDetailSection definedTermDetailSection = formFactory.createDefinedTermDetailSection(getInput().getClass(), getConversationHolder(), parent, this, getSectionStyle(DefinedTermDetailSection.class, true));
addPart(definedTermDetailSection);
+ TermMediaSection termMediaSection = formFactory.createTermMediaSection(getConversationHolder(), parent, getSectionStyle(DefinedTermDetailSection.class, true));
+ addPart(termMediaSection);
}
@Override