Refresh view after media view has been switched
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 29 Jun 2015 10:15:24 +0000 (12:15 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 29 Jun 2015 11:35:37 +0000 (13:35 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaDetailElement.java

index feb0d6da2e4a7e4bd049876cf04cec8e0c65dbd3..fb46d4fa2361e62e8d020c8412a483db84874963 100644 (file)
@@ -14,14 +14,13 @@ import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 
 /**
- * <p>Abstract AbstractCdmFormElement class.</p>
- *
  * @author n.hoffmann
  * @version $Id: $
  */
@@ -41,23 +40,11 @@ public abstract class AbstractCdmFormElement implements ICdmFormElement {
        private Color persistentBackgroundColor;
 
 
-       /**
-        * <p>Constructor for AbstractCdmFormElement.</p>
-        *
-        * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
-        * @param layoutComposite a {@link org.eclipse.swt.widgets.Composite} object.
-        */
        protected AbstractCdmFormElement(CdmFormFactory formFactory, Composite layoutComposite){
                this.layoutComposite = layoutComposite;
                this.formFactory = formFactory;
        }
 
-       /**
-        * <p>Constructor for AbstractCdmFormElement.</p>
-        *
-        * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
-        * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
-        */
        public AbstractCdmFormElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
                this(formFactory, formElement.getLayoutComposite());
                this.parentElement = formElement;
@@ -95,11 +82,6 @@ public abstract class AbstractCdmFormElement implements ICdmFormElement {
                controls.add(child);
        }
 
-       /**
-        * <p>removeControl</p>
-        *
-        * @param child a {@link org.eclipse.swt.widgets.Control} object.
-        */
        protected void removeControl(Control child){
                controls.remove(child);
        }
@@ -130,11 +112,6 @@ public abstract class AbstractCdmFormElement implements ICdmFormElement {
                elements.add(element);
        }
 
-       /**
-        * <p>removeElement</p>
-        *
-        * @param element a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
-        */
        protected void removeElement(ICdmFormElement element){
                elements.remove(element);
        }
@@ -231,9 +208,6 @@ public abstract class AbstractCdmFormElement implements ICdmFormElement {
                this.layoutComposite = layoutComposite;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#getPropertyChangeListeners()
-        */
        /**
         * <p>Getter for the field <code>propertyChangeListeners</code>.</p>
         *
@@ -244,9 +218,6 @@ public abstract class AbstractCdmFormElement implements ICdmFormElement {
                return propertyChangeListeners;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#setPropertyChangeListeners(org.eclipse.core.runtime.ListenerList)
-        */
        /** {@inheritDoc} */
        @Override
     public void setPropertyChangeListeners(List<IPropertyChangeListener> propertyChangeListeners){
@@ -323,13 +294,18 @@ public abstract class AbstractCdmFormElement implements ICdmFormElement {
                }
        }
 
-       /*
-        * (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.forms.ICdmFormElement#refresh()
-        */
-       /**
-        * <p>refresh</p>
-        */
+       protected void reflowParentScrolledForm(boolean flushCashes){
+           ScrolledForm scrolledForm = null;
+           Composite parent = getLayoutComposite().getParent();
+           while(parent!=null && !(parent instanceof ScrolledForm)){
+               parent = parent.getParent();
+           }
+           scrolledForm = (ScrolledForm)parent;
+           if(scrolledForm!=null){
+               scrolledForm.reflow(flushCashes);
+           }
+       }
+
        @Override
     public void refresh() {
                // empty default implementation
index 950452bd34ac285bc7183e9ad83511729a18e66d..f8f73861da0d5749bcc10a3b3429461550155413 100644 (file)
@@ -21,7 +21,6 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
@@ -40,9 +39,6 @@ import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
 
 /**
- * <p>
- * Abstract AbstractCdmDetailElement class.
- * </p>
  *
  * @author n.hoffmann
  * @created Feb 26, 2010
@@ -58,20 +54,6 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
 
        private EnumSet<CRUD> requiredCrud = null;
 
-       /**
-        * <p>
-        * Constructor for AbstractCdmDetailElement.
-        * </p>
-        *
-        * @param formFactory
-        *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
-        *            object.
-        * @param formElement
-        *            a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
-        *            object.
-        * @param <T>
-        *            a T object.
-        */
        public AbstractCdmDetailElement(CdmFormFactory formFactory,
                        ICdmFormElement formElement) {
                super(formFactory, formElement);
@@ -107,13 +89,6 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
         updateContent();
        }
 
-       /**
-        * <p>
-        * Getter for the field <code>entity</code>.
-        * </p>
-        *
-        * @return a T object.
-        */
        @Override
     public T getEntity() {
                return entity;
@@ -130,20 +105,7 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
                updateControlStates();
        }
 
-       protected void reflowParentScrolledForm(boolean flushCashes){
-           ScrolledForm scrolledForm = null;
-           Composite parent = getLayoutComposite().getParent();
-           while(parent!=null && !(parent instanceof ScrolledForm)){
-               parent = parent.getParent();
-           }
-           scrolledForm = (ScrolledForm)parent;
-           if(scrolledForm!=null){
-               scrolledForm.reflow(flushCashes);
-           }
-       }
-
-       /** {@inheritDoc} */
-       @Override
+    @Override
     public void setSelected(boolean selected) {
                Composite section = getLayoutComposite().getParent();
                section.setBackground(selected ? SELECTED : getPersistentBackground());
@@ -294,40 +256,15 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
         */
        public abstract void handleEvent(Object eventSource);
 
-       /**
-        * <p>
-        * handleException
-        * </p>
-        *
-        * @param event
-        *            a
-        *            {@link eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent}
-        *            object.
-        */
        public void handleException(CdmPropertyChangeEvent event) {
                // override this in subclasses if you want to deal with the error
                MessagingUtils.error(event.getSource().getClass(), event.getException());
        }
 
-       /**
-        * <p>
-        * isIrrelevant
-        * </p>
-        *
-        * @return a boolean.
-        */
        public boolean isIrrelevant() {
                return irrelevant;
        }
 
-       /**
-        * <p>
-        * getConversationHolder
-        * </p>
-        *
-        * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
-        *         object.
-        */
        @Override
     public ConversationHolder getConversationHolder() {
                if (getParentElement() instanceof IConversationEnabled) {
index a6c4d6493d499edbc8d4631d414fa5e3dd01db0f..09b8b8991e3decfa8416b2acc3c5be19a4348831 100644 (file)
@@ -76,6 +76,7 @@ public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
     public void toggleAdvancedMediaView(){
         isAdvancedMediaView = !isAdvancedMediaView;
         showAdvancedView();
+        reflowParentScrolledForm(true);
     }
 
     private void showAdvancedView() {