Hello!

To see the file structure, click on "tree".

Note that updates take place every 10 minutes, commits may not be seen immediately.
Modified some UI functionalities and Species terms bug. Done by Nikhil.
authorlingutln <lingutln@localhost>
Tue, 22 May 2012 23:41:52 +0000 (23:41 +0000)
committerlingutln <lingutln@localhost>
Tue, 22 May 2012 23:41:52 +0000 (23:41 +0000)
svn path=/; revision=333

Annotation/src/ie/dcu/apps/ist/AppWindow.java
Annotation/src/ie/dcu/apps/ist/actions/SaveAction.java
Annotation/src/ie/dcu/apps/ist/views/SegmentationView.java

index 09e3e75435e764218e5c1f15b77c38451742f746..32c54361c72caa1e4b38640e0df4c8549129532e 100644 (file)
@@ -291,8 +291,9 @@ public class AppWindow extends ApplicationWindow implements FileDropListener {
                file.add(actions.get(SaveAsAction.class));
                file.add(new Separator());
                
+               // Export Menu is hidden so as not to confuse the user. Instead this functionality is provided as Save
                // Export menu ->
-               MenuManager exportMenu = addMenu(file, "&Export", 
+               /*MenuManager exportMenu = addMenu(file, "&Export", 
                        props.getProperty("ExportMenu.icon"));
                
                exportMenu.add(actions.get(ExportViewAction.class));
@@ -302,7 +303,7 @@ public class AppWindow extends ApplicationWindow implements FileDropListener {
                file.add(new Separator());
                file.add(actions.get(PrintAction.class));
                file.add(new Separator());
-               file.add(actions.get(ExitAction.class));
+               file.add(actions.get(ExitAction.class));*/
 
                MenuManager edit = addMenu(bar, "&Edit");
 
index e652d28b9add146558bf4f5c97ad49c65d266b81..0f37a7d33063364fa2f58575c0c873c1a6ce2e27 100644 (file)
@@ -1,9 +1,19 @@
 package ie.dcu.apps.ist.actions;
 
+import ie.dcu.apps.ist.dialogs.ExportDialog;
+import ie.dcu.apps.ist.export.imagemap.ExportException;
+import ie.dcu.apps.ist.export.imagemap.Exporter;
+import ie.dcu.segment.SegmentationContext;
+import ie.dcu.segment.SegmentationMask;
+import ie.dcu.swt.ImageConverter;
+
+import java.awt.image.BufferedImage;
 import java.io.*;
+import java.util.List;
 import java.util.logging.*;
 
 import org.eclipse.swt.*;
+import org.eclipse.swt.program.Program;
 import org.eclipse.swt.widgets.*;
 
 /**
@@ -13,7 +23,83 @@ import org.eclipse.swt.widgets.*;
  */
 public class SaveAction extends AppAction {
        
-       private FileDialog dialog;
+       // Export image map functionality is changes as Save
+       /**
+        * The file extension given to a this object when it is saved on a disk
+        */
+       public static final String IMGMAP_EXTENSION = ".imgmap";
+       
+       public SaveAction(ActionManager m) {
+               super(m);
+       }
+
+       @Override 
+       public void run() { 
+               
+               SegmentationContext ctx = window.getContext();
+               List<SegmentationMask> masks = ctx.getSegmentationMasks();
+               if (ctx.hasSegmentationMasks()) {
+                       
+                       // Get options from user
+                       ExportDialog dialog = new ExportDialog(window.getShell());
+                       ExportDialog.Result result = dialog.open();
+                       
+                       if (result != null) {
+                               
+                               // Grab image and mask
+                               
+                                       BufferedImage image = ImageConverter.convert(ctx.getImageData());
+                                       // Setup exporter
+                                       Exporter exporter = new Exporter(image);
+                                       exporter.setEffect(result.effect);
+                                       exporter.setHtmlFile(result.html);
+                                       
+                                       // Taking html file name and making the same as filename of imagemap
+                                       int dotIndex = result.html.indexOf('.');
+                                       String zipFile = result.html.substring(0, dotIndex); 
+                                       exporter.setZipFile(zipFile+IMGMAP_EXTENSION);
+                                       
+                                       exporter.setImageFile(result.image);
+                                       exporter.setObjectLink(result.link);
+                                       exporter.setExportShape(result.shape);
+                                       exporter.setObjectDescription(result.description);
+                                       
+                                       // Export
+                                       try {
+                                               exporter.export(result.folder,masks);
+                                       } catch (IOException e) {
+                                               handleError(e);
+                                               return;
+                                       } catch (ExportException e) {
+                                               handleError(e);
+                                               return;
+                                       } 
+                               // for opening the image after saving as ImageMap
+                               if (result.open) {
+                                       File file = new File(result.folder, result.html);
+                                       Program program = Program.findProgram(".html");
+                                       if (program != null) {
+                                               program.execute(file.getAbsolutePath());
+                                       }
+                               }
+                       }
+               }
+       }
+       
+       private void handleError(Exception e) {
+               log(Level.WARNING, "Error exporting view as HTML image map", e);
+               
+               // Show error dialog
+               error("Error exporting view as HTML image map: %s",  
+                               e.getLocalizedMessage());
+               
+               // Set status message
+               status(Error, "Error exporting view as HTML image map");
+       }
+
+       
+       
+       /*private FileDialog dialog;
 
        public SaveAction(ActionManager m) {
                super(m);
@@ -116,5 +202,5 @@ public class SaveAction extends AppAction {
                
                // Set status message
                status(Error, "Error saving segmentation context %s", file.getName());
-       }
+       }*/
 }
index 995c5470e1b6530619f66d6e7b47b3252398d682..bff72ac2390f30df59998c177695de475e5065fb 100644 (file)
@@ -314,6 +314,9 @@ public class SegmentationView extends Composite {
        {
                ArrayList<SpeciesTerm> speciesTerms = new ArrayList<SpeciesTerm>();
                speciesTerms = labels.getSpeciesTerms(speciesCombo.getText());
+               String text = speciesCombo.getText();
+               speciesCombo.removeAll();
+               speciesCombo.setText(text);
                int i = 0;
                for (SpeciesTerm speciesTerm : speciesTerms)
                {
@@ -424,7 +427,7 @@ public class SegmentationView extends Composite {
                speciesCombo = SwtUtils.addComboToComposite(termDetailComposite, 150, SWT.READ_ONLY);
                speciesCombo.setToolTipText( getAction(Tool.SetPainter).getToolTipText());
                
-               searchSpecies = SwtUtils.addButtonToComposite(termDetailComposite, 50, "Search");
+               searchSpecies = SwtUtils.addButtonToComposite(termDetailComposite, 55, "Search");
                Label dummyLabel = SwtUtils.spacer(termDetailComposite);
                searchSpecies.addSelectionListener(new SelectionAdapter() {
         public void widgetSelected(SelectionEvent e) {