source: trunk/src/org/expeditee/io/HTMLBWriter.java@ 80

Last change on this file since 80 was 80, checked in by ra33, 16 years ago

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

File size: 2.3 KB
Line 
1package org.expeditee.io;
2
3import java.awt.Image;
4import java.awt.image.BufferedImage;
5import java.io.IOException;
6import java.util.List;
7
8import org.expeditee.actions.Misc;
9import org.expeditee.gui.FrameIO;
10import org.expeditee.items.Item;
11import org.expeditee.items.Picture;
12import org.expeditee.items.Text;
13
14public class HTMLBWriter extends AbstractHTMLWriter {
15
16 @Override
17 protected void writeTitle(Text toWrite, List<Item> items)
18 throws IOException {
19 String heading = toWrite.getText();
20 String tag = "h" + (getIndent() + 1);
21 // indenting for tag
22 indent();
23 _writer.write("<" + tag + ">" + heading + "</" + tag + ">"
24 + ItemWriter.NEW_LINE);
25 }
26
27 @Override
28 protected void writeText(Text text) throws IOException {
29 indent();
30 _writer.write("<p>");
31 _writer.write(text.getText().replace('\n', ' '));
32 _writer.write("</p>" + ItemWriter.NEW_LINE);
33 }
34
35 @Override
36 protected void writePicture(Picture pic) throws IOException {
37 Image image = pic.getImage();
38 String filesFolder = getFilesFolder();
39 String fileName;
40 // If its a bufferedImage then just write it out to the files directory
41 //This means it is probably a FrameImage
42 if (image instanceof BufferedImage) {
43 String link = pic.getAbsoluteLink();
44 // Account for the possiblitly of an unlinked buffered image
45 fileName = link == null ? ("Image" + pic.getID()) : link;
46 fileName = Misc.SaveImage((BufferedImage) image, "PNG", FrameIO.EXPORTS_DIR
47 + filesFolder, fileName);
48 } else {//It is a normal Image stored somewhere
49 Text source = pic.getText();
50
51 fileName = source.getFirstLine();
52 fileName = fileName.substring(fileName.indexOf(":") + 1).trim();
53
54 String oldImageName = FrameIO.IMAGES_PATH + fileName;
55 String newImageName = FrameIO.EXPORTS_DIR + filesFolder + fileName;
56 try {
57 FrameIO.copyFile(oldImageName, newImageName);
58 } catch (Exception e) {
59 filesFolder = "";
60 }
61 if (filesFolder.equals("")) {
62 filesFolder = "../" + FrameIO.IMAGES_FOLDER;
63 }
64 }
65 indent();
66 StringBuffer imageTag = new StringBuffer("<img src=\"");
67 imageTag.append(filesFolder).append(fileName);
68 imageTag.append("\" height=").append(pic.getHeight());
69 imageTag.append(" width=").append(pic.getWidth());
70 imageTag.append(" border=1>");
71 _writer.write(imageTag.toString());
72 _writer.write(ItemWriter.NEW_LINE);
73 }
74}
Note: See TracBrowser for help on using the repository browser.