Add referencing objects view functionality to derivative editor #5403
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / BulkEditor.java
index d991e56c9b2a3aeb4eaf0ca0897894e0d37e754e..5b7b601e78eae0be27acafd4fa4c1947d50811a9 100644 (file)
@@ -34,9 +34,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IViewPart;
 import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.texteditor.ITextEditorActionConstants;
 
 import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineDocumentProvider;
@@ -44,7 +42,7 @@ import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
 import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
-import eu.etaxonomy.taxeditor.bulkeditor.referencingobjects.ReferencingObjectsView;
+import eu.etaxonomy.taxeditor.bulkeditor.input.TaxonEditorInput;
 import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
@@ -54,10 +52,6 @@ import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
- * <p>
- * BulkEditor class.
- * </p>
- *
  * @author p.ciardelli
  * @created 07.07.2009
  * @version 1.0
@@ -76,16 +70,10 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
 
        private boolean isDirty;
 
-       /**
-        * <p>Constructor for BulkEditor.</p>
-        */
        public BulkEditor() {
                super(CdmStore.createConversation());
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.editors.text.TextEditor#initializeEditor()
-        */
        /** {@inheritDoc} */
        @Override
        protected void initializeEditor() {
@@ -103,9 +91,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                setSourceViewerConfiguration(new BulkEditorViewerConfiguration(lineDisplayStrategy));
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.bulkeditor.ListEditor#createSourceViewer(org.eclipse.swt.widgets.Composite, org.eclipse.jface.text.source.IVerticalRuler, int)
-        */
        /** {@inheritDoc} */
        @Override
     protected ISourceViewer createSourceViewer(Composite parent,
@@ -117,9 +102,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                return viewer;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.bulkeditor.AnnotatedLineEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-        */
        /** {@inheritDoc} */
        @Override
        public void init(IEditorSite site, IEditorInput input)
@@ -132,9 +114,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                super.init(site, input);
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createPartControl(org.eclipse.swt.widgets.Composite)
-        */
        /** {@inheritDoc} */
        @Override
        public void createPartControl(Composite parent) {
@@ -164,9 +143,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                }
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.editors.text.TextEditor#dispose()
-        */
        /** {@inheritDoc} */
        @Override
        public void dispose() {
@@ -177,18 +153,12 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
        }
 
 
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#isEditable()
-        */
        /** {@inheritDoc} */
        @Override
        public boolean isEditable() {
                return false;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor#setFocus()
-        */
        /** {@inheritDoc} */
        @Override
        public void setFocus() {
@@ -201,11 +171,9 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                        displayWarningDialog();
                        isInitialFocus = false;
                }
+               super.setFocus();
        }
 
-       /**
-        *
-        */
        private void displayWarningDialog() {
                IPreferenceStore prefs = PreferencesUtil.getPreferenceStore();
                if (!prefs.getBoolean(PreferencesUtil.HIDE_BULKEDITOR_INFO)) {
@@ -221,9 +189,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                }
        }
 
-       /**
-        * @param control
-        */
        private void addToggleMergeCandidateListener(Control control) {
                control.addMouseListener(new MouseAdapter() {
                        @Override
@@ -235,11 +200,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                });
        }
 
-       /**
-        * <p>toggleMergeCandidateAnnotation</p>
-        *
-        * @param line a int.
-        */
        public void toggleMergeCandidateAnnotation(int line) {
 
                IDocument document = getSourceViewer().getDocument();
@@ -261,9 +221,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                }
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor#isDirty()
-        */
        @Override
        public boolean isDirty() {
            if(isDirty){
@@ -280,24 +237,14 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
            firePropertyChange(PROP_DIRTY);
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor#doSave(org.eclipse.core.runtime.IProgressMonitor)
-        */
        @Override
        public void doSave(IProgressMonitor progressMonitor) {
            isDirty = false;
-           IViewPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
-                           .findView("eu.etaxonomy.taxeditor.bulkeditor.view.referencingobjects");
-           if (part != null){
-                       ((ReferencingObjectsView)part).dispose();
-               }
+
            super.doSave(progressMonitor);
 
            selectFirstItem();
-           if (part != null){
-                       ((ReferencingObjectsView)part).refresh();
 
-               }
                getSourceViewer().getTextWidget().setFocus();
 
        }
@@ -311,9 +258,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
 //             firePropertyChange(PROP_DIRTY);
        }
 
-       /* (non-Javadoc)
-        * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-        */
        /** {@inheritDoc} */
        public void performSearch(BulkEditorQuery query) {
                if (query != null) {
@@ -328,6 +272,8 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                                        return;
                                }
                        }
+                       conversation.commit();
+                       conversation.clear();
 
                        getEditorInput().performSearch(query);
 
@@ -344,9 +290,6 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                getSelectionProvider().setSelection(selection);
        }
 
-       /**
-        *
-        */
        public void refresh() {
                if(getDocumentProvider().getAnnotationModel(getEditorInput()) != null){
                        ((AnnotationModel) getDocumentProvider().getAnnotationModel(getEditorInput())).removeAllAnnotations();
@@ -368,4 +311,9 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe
                menu.remove(ITextEditorActionConstants.SHIFT_LEFT);
                menu.remove(ITextEditorActionConstants.CONTEXT_PREFERENCES);
        }
+
+       @Override
+       public boolean canAttachMedia() {
+           return getEditorInput() instanceof TaxonEditorInput?true:false;
+       }
 }