Ignore:
Timestamp:
05/30/08 10:14:43 (16 years ago)
Author:
ra33
Message:

Added some more unit tests
Did a bunch of refactoring
AND added a few new features... @b @v were the most significant

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/actions/Misc.java

    r78 r80  
    9898        public static void RunCurrentItem(Item current) {
    9999                if (current instanceof Text) {
    100                         List<String> actions = ((Text) current).getText();
     100                        List<String> actions = ((Text) current).getTextList();
    101101
    102102                        for (String action : actions) {
     
    117117                Frame toDelete = DisplayIO.getCurrentFrame();
    118118                DisplayIO.Back();
    119                 String deletedFrame = toDelete.getFrameName();
     119                String deletedFrame = toDelete.getName();
    120120                String deletedFrameNameLowercase = deletedFrame.toLowerCase();
    121121                try {
     
    123123                        if (!del) {
    124124                                FrameGraphics.ErrorMessage("Error trying to delete "
    125                                                 + toDelete.getFrameName());
     125                                                + toDelete.getName());
    126126                        } else {
    127127                                Frame current = DisplayIO.getCurrentFrame();
     
    316316         */
    317317        public static void JpegFrame(String framename) {
    318                 ImageFrame(framename, "JPG");
     318                ImageFrame(framename, "JPEG");
    319319        }
    320320
    321321        /**
    322322         * Saves the current frame as a JPEG image. This is the same as calling
    323          * JpegFrame(currentFrame.getFrameName())
     323         * JpegFrame(currentFrame.getName())
    324324         */
    325325        public static void JpegFrame() {
    326                 ImageFrame(DisplayIO.getCurrentFrame().getFrameName(), "JPG");
     326                ImageFrame(DisplayIO.getCurrentFrame().getName(), "JPEG");
     327        }
     328
     329        public static void JPGFrame() {
     330                JpegFrame();
    327331        }
    328332
     
    339343        /**
    340344         * Saves the current frame as a PNG image. This is the same as calling
    341          * PNGFrame(currentFrame.getFrameName())
     345         * PNGFrame(currentFrame.getName())
    342346         */
    343347        public static void PNGFrame() {
    344                 ImageFrame(DisplayIO.getCurrentFrame().getFrameName(), "PNG");
     348                ImageFrame(DisplayIO.getCurrentFrame().getName(), "PNG");
     349        }
     350
     351        public static String SaveImage(BufferedImage screen, String format, String directory, String fileName){
     352                // Check if we need to append the suffix
     353                if (fileName.indexOf('.') < 0)
     354                        fileName += "." + format.toLowerCase();         
     355
     356                try {
     357                        // set up the file for output
     358                        String fullFileName = directory + fileName;
     359                        File out = new File(fullFileName);
     360                        if (!out.getParentFile().exists())
     361                                out.mkdirs();
     362
     363                        // If the image is successfully written out return the fileName
     364                        if (ImageIO.write(screen, format, out))
     365                                return fileName;
     366
     367                } catch (Exception e) {
     368                        e.printStackTrace();
     369                }
     370                return null;
     371        }
     372       
     373        public static String ImageFrame(Frame frame, String format, String directory) {
     374                assert (frame != null);
     375               
     376                FrameGraphics.UpdateBuffer(frame, false);
     377
     378                BufferedImage screen = null;
     379                Image frameBuffer = frame.getBuffer();
     380                if (frame.getBuffer() instanceof BufferedImage) {
     381                        screen = (BufferedImage) frameBuffer;
     382                } else if (frameBuffer instanceof VolatileImage) {
     383                        screen = ((VolatileImage) frameBuffer).getSnapshot();
     384                } else {
     385                        assert (false);
     386                }
     387                return SaveImage(screen, format, directory, frame.getExportFileName());
    345388        }
    346389
     
    355398        public static void ImageFrame(String framename, String format) {
    356399                Frame loaded = FrameIO.LoadFrame(framename);
    357                 String fileName = loaded.getExportFileName();
    358400
    359401                // if the frame was loaded successfully
    360402                if (loaded != null) {
    361                         // check if the buffer needs to be redrawn
    362                         // if (loaded.getBuffer() == null)
    363                         FrameGraphics.UpdateBuffer(loaded, false);
    364                        
    365                         BufferedImage screen = null;
    366                         Image frameBuffer = loaded.getBuffer();
    367                         if (loaded.getBuffer() instanceof BufferedImage){
    368                                 screen = (BufferedImage)frameBuffer;
    369                         }else if (frameBuffer instanceof VolatileImage){
    370                                 screen = ((VolatileImage)frameBuffer).getSnapshot();
    371                         }else{
    372                                 assert(false);
    373                         }
    374 
    375                         try {
    376                                 // set up the file for output
    377                                 File out = new File(FrameIO.EXPORTS_DIR + fileName + "."
    378                                                 + format.toLowerCase());
    379                                 if (!out.getParentFile().exists())
    380                                         out.mkdirs();
    381 
    382                                 ImageIO.write(screen, format, out);
     403                        String path = FrameIO.IMAGES_PATH;
     404                        String frameName = ImageFrame(loaded, format, path);
     405                        if (frameName != null)
    383406                                FrameGraphics.DisplayMessage("Frame successfully saved to "
    384                                                 + FrameIO.EXPORTS_DIR + out.getName());
    385                         } catch (IOException e) {
    386                                 FrameGraphics.ErrorMessage(e.getMessage());
    387                         }
     407                                                + path + frameName);
     408                        else
     409                                FrameGraphics.ErrorMessage("Could not find image writer for "
     410                                                + format + " format");
    388411                        // if the frame was not loaded successfully, alert the user
    389412                } else
     
    455478                                timeKeeper.restart();
    456479                                for (int j = 0; j < repsPerTest; j++) {
    457                                         methodA.invoke((Object) null, new Object[]{});
     480                                        methodA.invoke((Object) null, new Object[] {});
    458481                                }
    459482                                timeA += timeKeeper.getElapsedMillis();
     
    461484                                // Test methodB
    462485                                for (int j = 0; j < repsPerTest; j++) {
    463                                         methodB.invoke((Object) null, new Object[]{});
     486                                        methodB.invoke((Object) null, new Object[] {});
    464487                                }
    465488                                timeB += timeKeeper.getElapsedMillis();
     
    530553                // swap the items links
    531554                item.setActions(current.getAction());
    532                 item.setLink(childFrame.getFrameName());
    533                 current.setLink(parentFrame.getFrameName());
     555                item.setLink(childFrame.getName());
     556                current.setLink(parentFrame.getName());
    534557                // current.setLink(null);
    535558                current.setActions(null);
     
    564587
    565588                for (Item i : body)
    566                         if (i != child.getTitle() && !i.isAnnotation()) {
     589                        if (i != child.getTitleItem() && !i.isAnnotation()) {
    567590                                item = i;
    568591                                break;
Note: See TracChangeset for help on using the changeset viewer.