Merge branch 'develop' into LibrAlign
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / AbstractCdmDataViewer.java
index 57cb798855860ffd4ba5adf4329fbd317353866d..d1cef126d665a1d085788db71f32fe28535b235d 100644 (file)
@@ -21,7 +21,6 @@ import org.eclipse.ui.forms.widgets.ScrolledForm;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
@@ -29,8 +28,6 @@ import eu.etaxonomy.taxeditor.ui.element.RootElement;
 import eu.etaxonomy.taxeditor.view.detail.CdmSectionPart;
 
 /**
- * <p>Abstract AbstractCdmDataViewer class.</p>
- *
  * @author n.hoffmann
  * @created Feb 9, 2010
  * @version 1.0
@@ -53,20 +50,11 @@ public abstract class AbstractCdmDataViewer extends Viewer implements IConversat
        private final AbstractCdmViewPart viewPart;
 
 
-       /**
-        * <p>Constructor for AbstractCdmDataViewer.</p>
-        *
-        * @param parent a {@link org.eclipse.swt.widgets.Composite} object.
-        * @param viewPart a {@link eu.etaxonomy.taxeditor.view.AbstractCdmViewPart} object.
-        */
        public AbstractCdmDataViewer(Composite parent, AbstractCdmViewPart viewPart) {
                this.viewPart = viewPart;
 
                managedForm = new ManagedForm(parent){
 
-                       /* (non-Javadoc)
-                        * @see org.eclipse.ui.forms.ManagedForm#dirtyStateChanged()
-                        */
                        @Override
                        public void dirtyStateChanged() {
                                markViewPartDirty();
@@ -84,9 +72,6 @@ public abstract class AbstractCdmDataViewer extends Viewer implements IConversat
                rootElement = new RootElement(formFactory, body);
        }
 
-       /**
-        * <p>createFormFactory</p>
-        */
        protected void createFormFactory() {
                if(formFactory != null){
                        formFactory.dispose();
@@ -99,30 +84,23 @@ public abstract class AbstractCdmDataViewer extends Viewer implements IConversat
                viewPart.changed(input);
        }
 
-
-       /**
-        * @return
-        */
        protected AbstractCdmViewPart getViewPart() {
                return viewPart;
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.jface.viewers.Viewer#getControl()
-        */
        /** {@inheritDoc} */
        @Override
        public Control getControl() {
+               if(body.isDisposed()){
+                       return null;
+               }
                for(Control child : body.getChildren()){
                        return child;
                }
 
                return body;
        }
-
-       /* (non-Javadoc)
-        * @see org.eclipse.jface.viewers.Viewer#setInput(java.lang.Object)
-        */
+       
        /** {@inheritDoc} */
        @Override
        public void setInput(Object input) {
@@ -132,18 +110,12 @@ public abstract class AbstractCdmDataViewer extends Viewer implements IConversat
                refresh();
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.jface.viewers.Viewer#getInput()
-        */
        /** {@inheritDoc} */
        @Override
        public Object getInput() {
                return input;
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.jface.viewers.Viewer#refresh()
-        */
        /** {@inheritDoc} */
        @Override
        public void refresh() {
@@ -156,26 +128,15 @@ public abstract class AbstractCdmDataViewer extends Viewer implements IConversat
                managedForm.reflow(true);
        }
 
-
-       /**
-        * <p>layout</p>
-        */
        public void layout(){
                body.layout();
        }
 
-       /**
-        * <p>showParts</p>
-        */
        protected abstract void showParts();
 
-
-       /**
-        * <p>destroySections</p>
-        */
        protected void destroySections() {
                for (IFormPart formPart : managedForm.getParts()){
-                       removePart((CdmSectionPart) formPart);
+                       removePart((CdmSectionPart<?>) formPart);
                }
 
                managedForm.setInput(null);
@@ -192,10 +153,6 @@ public abstract class AbstractCdmDataViewer extends Viewer implements IConversat
                }
        }
 
-
-       /**
-        * <p>setFocus</p>
-        */
        public void setFocus(){
                // we have to set focus to a control of this viewer
                // otherwise, after opening a dialog from the details, the focus will not be
@@ -206,46 +163,24 @@ public abstract class AbstractCdmDataViewer extends Viewer implements IConversat
                }
        }
 
-       /**
-        * <p>reflow</p>
-        */
        public void reflow(){
                managedForm.reflow(true);
        }
 
-       /**
-        * <p>removePart</p>
-        *
-        * @param sectionPart a {@link eu.etaxonomy.taxeditor.view.detail.CdmSectionPart} object.
-        */
-       protected void removePart(CdmSectionPart sectionPart){
+       protected void removePart(CdmSectionPart<?> sectionPart){
                managedForm.removePart(sectionPart);
                formFactory.removePropertyChangeListener(sectionPart);
        }
 
-       /**
-        * <p>addPart</p>
-        *
-        * @param section a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
-        */
-       protected void addPart(AbstractFormSection section){
-               CdmSectionPart sectionPart = new CdmSectionPart(section);
+       protected void addPart(AbstractFormSection<?> section){
+               CdmSectionPart<?> sectionPart = new CdmSectionPart<>(section);
                managedForm.addPart(sectionPart);
                formFactory.addPropertyChangeListener(sectionPart);
        }
 
-       /**
-        * <p>getConversationHolder</p>
-        *
-        * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
-        */
        @Override
     public ConversationHolder getConversationHolder() {
                return viewPart.getConversationHolder();
        }
 
-       /** {@inheritDoc} */
-       @Override
-    public void update(CdmDataChangeMap changeEvents) {}
-
 }