Merge branch 'develop' into bulkEditorE4
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / element / ImageElement.java
index 698665eae539eedd6b4894b3ded7297a64699a97..3eb8964a0a404839a1bfe97816ceb1c3f8f372d2 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2007 EDIT
 * European Distributed Institute of Taxonomy
@@ -32,6 +31,7 @@ import org.eclipse.swt.widgets.Event;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 
 import eu.etaxonomy.cdm.common.UriUtils;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 
 /**
@@ -46,6 +46,14 @@ public class ImageElement extends AbstractCdmFormElement implements PaintListene
 
        private Composite container;
 
+       private final Runnable postRunnable = new Runnable(){
+        @Override
+        public void run() {
+            AbstractUtility.reflowDetailsViewer();
+            AbstractUtility.reflowSupplementalViewer();
+        }
+    };
+
        protected ImageElement(CdmFormFactory formFactory, ICdmFormElement parentElement, URI imageUri, int style) {
                super(formFactory, parentElement);
 
@@ -67,10 +75,6 @@ public class ImageElement extends AbstractCdmFormElement implements PaintListene
        }
 
        public void loadImage(){
-               loadImage(null);
-       }
-
-       public void loadImage(final Runnable postRunnable){
                if(getImageUri() != null){
                        Job job = new Job("Loading image") {
 
@@ -90,7 +94,7 @@ public class ImageElement extends AbstractCdmFormElement implements PaintListene
                }
        }
 
-       public void unloadImage(final Runnable postRunnable) {
+       public void unloadImage() {
                Job job = new Job("Unloading image") {
 
                        @Override
@@ -161,11 +165,15 @@ public class ImageElement extends AbstractCdmFormElement implements PaintListene
        }
 
        public void dispose(){
-           image.dispose();
-           image = null;
+           if(image!=null){
+               image.dispose();
+               image = null;
+           }
            imageUri = null;
-           container.dispose();
-           container = null;
+           if(container!=null){
+               container.dispose();
+               container = null;
+           }
        }
 
        /** {@inheritDoc} */