extends
return container;
}
- /**
- *
- * Getter for the field backgroundColor
.
- *
- *
- * @return the backgroundColor
- */
public Color getBackgroundColor() {
return backgroundColor;
}
- /**
- *
- * getConversationHolder
- *
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
- * object.
- */
+ public Composite getBox() {
+ return box;
+ }
+
@Override
public ConversationHolder getConversationHolder() {
if (getParentElement() instanceof IConversationEnabled) {
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java
index 60a2bd209..d39f91432 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java
@@ -12,12 +12,6 @@ package eu.etaxonomy.taxeditor.ui.section.description;
import java.util.Collection;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
@@ -25,7 +19,6 @@ import eu.etaxonomy.cdm.model.media.Media;
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.media.ITogglableMediaElement;
/**
* DescriptionElementMediaSection class.
@@ -87,27 +80,5 @@ public class DescriptionElementMediaSection extends
getEntity().removeMedia(element);
}
- @Override
- protected Control createToolbar() {
- ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
-
- final String label = "Change View Type";
-
- Action addAction = new Action(label, IAction.AS_PUSH_BUTTON) {
- @Override
- public void run() {
- if(isExpanded()){
- if(getEntityCollectionElement() instanceof ITogglableMediaElement){
- ((ITogglableMediaElement) getEntityCollectionElement()).toggleAdvancedMediaView();
- }
- }
- }
- };
- addAction.setToolTipText(label);
-
- toolBarManager.add(addAction);
-
- return toolBarManager.createControl(this);
- }
}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java
index 5bb0e1b4a..502ceaae5 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java
@@ -19,7 +19,6 @@ import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
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.AbstractTogglableMediaDetailsSection;
import eu.etaxonomy.taxeditor.ui.section.media.MediaMetaElement;
/**
@@ -29,7 +28,9 @@ import eu.etaxonomy.taxeditor.ui.section.media.MediaMetaElement;
* @created Jun 15, 2010
* @version 1.0
*/
-public class MediaDetailsSection extends AbstractTogglableMediaDetailsSection {
+public class MediaDetailsSection extends AbstractCdmDetailSection {
+
+ private MediaMetaElement mediaMetaElement;
public MediaDetailsSection(CdmFormFactory formFactory, ConversationHolder conversation,
ICdmFormElement parentElement,
@@ -39,10 +40,10 @@ public class MediaDetailsSection extends AbstractTogglableMediaDetailsSection extends AbstractCdmDetailSection {
-
- private ITogglableMediaElement togglableMediaElement;
-
- public AbstractTogglableMediaDetailsSection(CdmFormFactory formFactory, ConversationHolder conversation,
- ICdmFormElement parentElement,
- ISelectionProvider selectionProvider, int style) {
- super(formFactory, conversation, parentElement, selectionProvider, style);
- }
-
- @Override
- protected Control createToolbar() {
- ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
-
- final String label = "Change View Type";
-
- Action addAction = new Action(label, IAction.AS_PUSH_BUTTON) {
- @Override
- public void run() {
- if(togglableMediaElement!=null){
- togglableMediaElement.toggleAdvancedMediaView();
- }
- }
- };
- addAction.setToolTipText(label);
-
- toolBarManager.add(addAction);
-
- return toolBarManager.createControl(this);
- }
-
- public void setTogglableMediaElement(ITogglableMediaElement togglableMediaElement) {
- this.togglableMediaElement = togglableMediaElement;
- }
-
- public ITogglableMediaElement getTogglableMediaElement() {
- return togglableMediaElement;
- }
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java
index 67dd752cc..aa51d3605 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java
@@ -3,7 +3,11 @@
*/
package eu.etaxonomy.taxeditor.ui.section.media;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.AgentBase;
@@ -41,7 +45,16 @@ public class MediaMetaElement extends AbstractEntityCollectionElement imp
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement element, int style) {
-
+ final IAction switchAction = MediaViewSwitch.createSwitch(MediaMetaElement.this);
+ Button btnToggleAdvancedMediaView = new Button(getBox(), style);
+ btnToggleAdvancedMediaView.setText(switchAction.getText());
+ btnToggleAdvancedMediaView.setToolTipText(switchAction.getText());
+ btnToggleAdvancedMediaView.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ switchAction.run();
+ }
+ });
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, true, style);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaViewSwitch.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaViewSwitch.java
new file mode 100644
index 000000000..0506ebfa8
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaViewSwitch.java
@@ -0,0 +1,43 @@
+// $Id$
+/**
+* Copyright (C) 2015 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 org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+
+/**
+ * Adds a switch to a section with an {@link ITogglableMediaElement}
+ * to allow switching between simple and advanced media view
+ * @author pplitzner
+ * @date Jun 29, 2015
+ *
+ */
+public class MediaViewSwitch {
+
+ /**
+ * Creates an {@link IAction} for the given {@link ITogglableMediaElement}
+ * that switches between the two states of the element.
+ */
+ public static IAction createSwitch(final ITogglableMediaElement togglableMediaElement) {
+ final String label = "Change View Type";
+
+ Action switchAction = new Action(label, IAction.AS_PUSH_BUTTON) {
+ @Override
+ public void run() {
+ if(togglableMediaElement!=null){
+ togglableMediaElement.toggleAdvancedMediaView();
+ }
+ }
+ };
+ switchAction.setToolTipText(label);
+
+ return switchAction;
+ }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailSection.java
index fc9eb82dc..0a26d31e4 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailSection.java
@@ -9,7 +9,10 @@
*/
package eu.etaxonomy.taxeditor.ui.section.occurrence.media;
+import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Control;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
@@ -17,14 +20,17 @@ import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
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.AbstractTogglableMediaDetailsSection;
+import eu.etaxonomy.taxeditor.ui.section.media.ITogglableMediaElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaViewSwitch;
/**
* @author pplitzner
* @date 12.12.2013
*
*/
-public class MediaSpecimenGeneralDetailSection extends AbstractTogglableMediaDetailsSection {
+public class MediaSpecimenGeneralDetailSection extends AbstractCdmDetailSection {
+
+ private ITogglableMediaElement togglableMediaElement;
public MediaSpecimenGeneralDetailSection(CdmFormFactory formFactory,
ConversationHolder conversation, ICdmFormElement parentElement,
@@ -45,8 +51,16 @@ public class MediaSpecimenGeneralDetailSection extends AbstractTogglableMediaDet
@Override
protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) {
MediaSpecimenGeneralDetailElement mediaSpecimenGeneralDetailElement = formFactory.createMediaSpecimenGeneralDetailElement(parentElement);
- setTogglableMediaElement(mediaSpecimenGeneralDetailElement);
+ togglableMediaElement = mediaSpecimenGeneralDetailElement;
return mediaSpecimenGeneralDetailElement;
}
+ @Override
+ protected Control createToolbar() {
+ ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
+ toolBarManager.add(MediaViewSwitch.createSwitch(togglableMediaElement));
+ return toolBarManager.createControl(this);
+ }
+
+
}