eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaDetailElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java -text
import eu.etaxonomy.taxeditor.ui.section.key.ScopeRestrictionSection;
import eu.etaxonomy.taxeditor.ui.section.key.TaxonomicScopeSection;
import eu.etaxonomy.taxeditor.ui.section.media.ImageFileElement;
-import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaMetaElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaDetailElement;
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationElement;
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartElement;
import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartSection;
return element;
}
+ public MediaDetailElement createMediaDetailElement(ICdmFormElement parentElement){
+ MediaDetailElement mediaDetailElement = new MediaDetailElement(this, parentElement);
+ addAndAdaptElement(parentElement, mediaDetailElement);
+ return mediaDetailElement;
+ }
public GatheringEventDetailElement createGatheringEventDetailElement(ICdmFormElement parentElement) {
GatheringEventDetailElement element = new GatheringEventDetailElement(this, parentElement);
} else if (entity instanceof Marker) {
element = new MarkerElement(this, parentElement, (Marker) entity, removeListener, style);
} else if (entity instanceof Media) {
- element = new MediaElement(this, parentElement, (Media) entity, removeListener, style);
+ element = new MediaMetaElement(this, parentElement, (Media) entity, removeListener, style);
} else if (entity instanceof MediaRepresentation) {
element = new MediaRepresentationElement(this, parentElement, (MediaRepresentation) entity, removeListener,
style);
@Override
public void setEnabled(boolean enabled) {
checkbox.setEnabled(enabled);
+ label.setEnabled(enabled);
}
/* (non-Javadoc)
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaMetaElement;
/**
* <p>MediaDetailsSection class.</p>
*/
public class MediaDetailsSection extends AbstractCdmDetailSection<Media> {
- private MediaElement element_media;
+ private MediaMetaElement element_media;
/**
* <p>Constructor for MediaDetailsSection.</p>
if(element_media != null){
this.removeElements();
}
- element_media = (MediaElement) formFactory.createEntityCollectionElement(this, entity, null, null, ExpandableComposite.EXPANDED);
+ element_media = (MediaMetaElement) formFactory.createEntityCollectionElement(this, entity, null, null, ExpandableComposite.EXPANDED);
super.setEntity(entity);
setSectionTitle();
layout();
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2014 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.media;
+
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.jface.util.IPropertyChangeListener;
+
+import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.model.media.MediaRepresentation;
+import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
+import eu.etaxonomy.cdm.model.media.MediaUtils;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.Resources;
+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.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 25.08.2014
+ *
+ */
+public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
+
+ private UriWithLabelElement textUri;
+ private MediaRepresentationSection section_mediaRepresentation;
+
+ private CheckboxElement checkBoxShowAdvancedView;
+ private MediaRepresentationPart singleMediaRepresentationPart;
+ private ICdmFormElement parentFormElement;
+ private int style;
+
+ /**
+ * @param formFactory
+ * @param formElement
+ */
+ public MediaDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.element.ICdmFormElement, java.lang.Object, int)
+ */
+ @Override
+ protected void createControls(ICdmFormElement formElement, Media entity, int style) {
+ this.parentFormElement = formElement;
+ this.style = style;
+ checkBoxShowAdvancedView = formFactory.createCheckbox(formElement, "Advanced Media View", false, style);
+ List<IPropertyChangeListener> checkBoxPropertyChangeListeners = checkBoxShowAdvancedView.getPropertyChangeListeners();
+ checkBoxPropertyChangeListeners.retainAll(Collections.singletonList(this));
+ checkBoxShowAdvancedView.setPropertyChangeListeners(checkBoxPropertyChangeListeners);//no property change events for checkbox
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#setEntity(java.lang.Object)
+ */
+ @Override
+ public void setEntity(Media entity) {
+ super.setEntity(entity);
+ if(singleMediaRepresentationPart==null){
+ singleMediaRepresentationPart = MediaUtils.initFirstMediaRepresentationPart(entity);
+ }
+ showAdvancedView(isAdvancedMediaView());
+
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource==textUri){
+ textUri.setBackground(getPersistentBackground());
+ try {
+ singleMediaRepresentationPart.setUri(textUri.getUri());
+ } catch (URISyntaxException e) {
+ textUri.setBackground(getColor(Resources.COLOR_PARSE_ERROR));
+ }
+ }
+ else if(eventSource==checkBoxShowAdvancedView){
+ showAdvancedView(checkBoxShowAdvancedView.getSelection());
+ }
+ }
+
+ /**
+ * @param showAdvancedView
+ */
+ private void showAdvancedView(boolean showAdvancedView) {
+ if(showAdvancedView){
+ if(textUri!=null){
+ removeElementsAndControls(textUri);
+ }
+ section_mediaRepresentation = formFactory.createMediaRepresentationSection(getConversationHolder(), parentFormElement, style);
+ section_mediaRepresentation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ section_mediaRepresentation.setEntity(getEntity());
+ }
+ else{
+ if(section_mediaRepresentation!=null){
+ removeElementsAndControls(section_mediaRepresentation);
+ }
+ textUri = formFactory.createUriWithLabelElement(parentFormElement, "Media URI", null, style);
+ textUri.setUri(singleMediaRepresentationPart.getUri());
+ textUri.getLayoutComposite().layout();
+ }
+ }
+
+ private boolean isAdvancedMediaView(){
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_ADVANCED_MEDIA_SECTION)){
+ checkBoxShowAdvancedView.setSelection(true);
+ return true;
+ }
+ Set<MediaRepresentation> representations = getEntity().getRepresentations();
+ if(representations.size()>1){
+ checkBoxShowAdvancedView.setEnabled(false);
+ return true;
+ }
+ if(representations.size()==1){
+ List<MediaRepresentationPart> parts = representations.iterator().next().getParts();
+ if(parts.size()>1){
+ checkBoxShowAdvancedView.setEnabled(false);
+ return true;
+ }
+ }
+ return false;
+ }
+
+
+}
*/
package eu.etaxonomy.taxeditor.ui.section.media;
-import java.net.URISyntaxException;
-import java.util.List;
-import java.util.Set;
-
import org.eclipse.swt.events.SelectionListener;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.MediaRepresentation;
-import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
-import eu.etaxonomy.cdm.model.media.MediaUtils;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.store.CdmStore;
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.LanguageStringWithLabelElement;
-import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
-import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
* @created Nov 17, 2009
* @version 1.0
*/
-public class MediaElement extends AbstractEntityCollectionElement<Media> {
+public class MediaMetaElement extends AbstractEntityCollectionElement<Media> {
private EntitySelectionElement<AgentBase> selection_artist;
private LanguageStringWithLabelElement text_description;
private LanguageStringWithLabelElement text_title;
- private UriWithLabelElement textUri;
- private MediaRepresentationSection section_mediaRepresentation;
-
- private CheckboxElement checkBoxShowAdvancedView;
- private MediaRepresentationPart singleMediaRepresentationPart;
- private ICdmFormElement parentFormElement;
- private int style;
+ private MediaDetailElement mediaDetailElement;
/**
* <p>
* a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
* object.
*/
- public MediaElement(CdmFormFactory cdmFormFactory,
+ public MediaMetaElement(CdmFormFactory cdmFormFactory,
AbstractFormSection<?> formElement, Media element,
SelectionListener removeListener, int style) {
super(cdmFormFactory, formElement, element, removeListener, null, style);
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement element, int style) {
- this.parentFormElement = element;
- this.style = style;
text_title = formFactory.createLanguageStringWithLabelElement(element, "Title", null, style);
selection_artist = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), element, "Artist", null, EntitySelectionElement.ALL, style);
text_description = formFactory.createLanguageStringWithLabelElement(element, "Description", null, 100, style);
- checkBoxShowAdvancedView = formFactory.createCheckbox(element, "Advanced Media View", false, style);
+ mediaDetailElement = formFactory.createMediaDetailElement(element);
}
/** {@inheritDoc} */
@Override
public void setEntity(Media element) {
this.entity = element;
- if(singleMediaRepresentationPart==null){
- singleMediaRepresentationPart = MediaUtils.initFirstMediaRepresentationPart(element);
- }
- showAdvancedView(isAdvancedMediaView());
+ mediaDetailElement.setEntity(element);
selection_artist.setEntity((TeamOrPersonBase<?>) HibernateProxyHelper
.deproxy(element.getArtist()));
((AbstractCdmDetailSection<?>) getParentElement()).updateTitle();
}
}
- else if(eventSource==textUri){
- textUri.setBackground(getPersistentBackground());
- try {
- singleMediaRepresentationPart.setUri(textUri.getUri());
- } catch (URISyntaxException e) {
- textUri.setBackground(getColor(Resources.COLOR_PARSE_ERROR));
- }
- }
- else if(eventSource==checkBoxShowAdvancedView){
- showAdvancedView(checkBoxShowAdvancedView.getSelection());
- }
}
-
- /**
- * @param showAdvancedView
- */
- private void showAdvancedView(boolean showAdvancedView) {
- if(showAdvancedView){
- if(textUri!=null){
- removeElementsAndControls(textUri);
- }
- section_mediaRepresentation = formFactory.createMediaRepresentationSection(getConversationHolder(), parentFormElement, style);
- section_mediaRepresentation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- section_mediaRepresentation.setEntity(getEntity());
- }
- else{
- if(section_mediaRepresentation!=null){
- removeElementsAndControls(section_mediaRepresentation);
- }
- textUri = formFactory.createUriWithLabelElement(parentFormElement, "Media URI", null, style);
- textUri.setUri(singleMediaRepresentationPart.getUri());
- textUri.getLayoutComposite().layout();
- }
- }
-
- private boolean isAdvancedMediaView(){
- if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_ADVANCED_MEDIA_SECTION)){
- return true;
- }
- Set<MediaRepresentation> representations = entity.getRepresentations();
- if(representations.size()>1){
- return true;
- }
- if(representations.size()==1){
- List<MediaRepresentationPart> parts = representations.iterator().next().getParts();
- if(parts.size()>1){
- return true;
- }
- }
- return false;
- }
-
}
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence.media;
-import java.net.URISyntaxException;
-import java.util.List;
-import java.util.Set;
-
import org.eclipse.swt.widgets.Label;
import org.joda.time.DateTime;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.common.VocabularyEnum;
import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.MediaRepresentation;
-import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
/**
private EntitySelectionElement<Collection> selection_collection;
private TextWithLabelElement text_accessionNumber;
private EntitySelectionElement<Reference> selection_publishedIn;
- private UriWithLabelElement textMediaUri;
- private MediaRepresentationPart mediaRepresentationPart;
-// private MediaRepresentationSection mediaRepresentationSection;
+ private MediaDetailElement mediaDetailElement;
/**
* @param formFactory
* @param formElement
Label label = new Label(getLayoutComposite(), style);
label.setText("Preparation Date (yyyy-mm-dd)");
-// label.setLayoutData(LayoutConstants.LEFT());
date = new DateElement(formElement.getLayoutComposite(), entity.getMediaSpecimen().getMediaCreated(), style);
date.initController(formFactory, formElement);
}
}
selection_publishedIn = formFactory.createSelectionElement(Reference.class, getConversationHolder(), formElement, "Published in", publishedIn, EntitySelectionElement.ALL, style);
- mediaRepresentationPart = getMediaRepresentationPart(media);
- textMediaUri = formFactory.createUriWithLabelElement(formElement, "Media URI", mediaRepresentationPart.getUri(), style);
-// mediaRepresentationSection = formFactory.createMediaRepresentationSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
-// mediaRepresentationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
-// mediaRepresentationSection.setEntity(media);
+ mediaDetailElement = formFactory.createMediaDetailElement(formElement);
+ mediaDetailElement.setEntity(media);
}
}
primaryMediaSource.setCitation(selection_publishedIn.getSelection());
}
}
- else if(eventSource==textMediaUri){
- textMediaUri.setBackground(getPersistentBackground());
- try {
- mediaRepresentationPart.setUri(textMediaUri.getUri());
- } catch (URISyntaxException e) {
- textMediaUri.setBackground(getColor(Resources.COLOR_PARSE_ERROR));
- }
- }
- }
-
- private MediaRepresentationPart getMediaRepresentationPart(Media media) {
- if(mediaRepresentationPart==null){
- Set<MediaRepresentation> representations = media.getRepresentations();
- if(representations!=null && representations.size()>0){
- MediaRepresentation mediaRepresentation = representations.iterator().next();
- List<MediaRepresentationPart> parts = mediaRepresentation.getParts();
- if(parts!=null && parts.size()>0){
- mediaRepresentationPart = parts.iterator().next();
- }
- else{
- mediaRepresentationPart = MediaRepresentationPart.NewInstance(null, null);
- mediaRepresentation.addRepresentationPart(mediaRepresentationPart);
- }
- }
- else{
- mediaRepresentationPart = MediaRepresentationPart.NewInstance(null, null);
-
- MediaRepresentation mediaRepresentation = MediaRepresentation.NewInstance();
- mediaRepresentation.addRepresentationPart(mediaRepresentationPart);
- media.addRepresentation(mediaRepresentation);
- }
- }
- return mediaRepresentationPart;
}
-}
+}
\ No newline at end of file