/** Capture an image for all ViewManagers */ public void captureAll() { List vms = getViewManagers(); String filename = FileManager.getWriteFile(FileManager.FILTER_IMAGE, FileManager.SUFFIX_JPG); if (filename == null) { return; } String root = IOUtil.stripExtension(filename); String ext = IOUtil.getFileExtension(filename); StringBuffer sb = new StringBuffer("<html>"); sb.append("Since there were multiple images they were written out as:<ul>"); for (int i = 0; i < vms.size(); i++) { ViewManager vm = (ViewManager) vms.get(i); String name = vm.getName(); if ((name == null) || (name.trim().length() == 0)) { name = "" + (i + 1); } if (vms.size() != 1) { filename = root + name + ext; } sb.append("<li> " + filename); vm.writeImage(filename); } sb.append("</ul></html>"); if (vms.size() > 1) { GuiUtils.showDialog("Captured Images", GuiUtils.inset(new JLabel(sb.toString()), 5)); } }
/** * Writes the location of the views of the known {@link Note}s. * * @param element the xml-element to write into, the attributes of <code>element</code> will not * be changed */ public void writeXML(XElement element) throws IOException { PropertyTransformer transformer = new PropertyTransformer(); for (Map.Entry<Note, Tuple<DockStation, DockableProperty>> location : locations.entrySet()) { XElement xnote = element.addElement("note"); xnote.addString("id", location.getKey().getId()); xnote.addString("station", manager.getName(location.getValue().getA())); transformer.writeXML(location.getValue().getB(), xnote); } }
/** * Writes the location of the views of the known {@link Note}s. * * @param out the stream to write into * @throws IOException if this method can't write into <code>out</code> */ public void write(DataOutputStream out) throws IOException { PropertyTransformer transformer = new PropertyTransformer(); out.writeInt(locations.size()); for (Map.Entry<Note, Tuple<DockStation, DockableProperty>> location : locations.entrySet()) { out.writeUTF(location.getKey().getId()); out.writeUTF(manager.getName(location.getValue().getA())); transformer.write(location.getValue().getB(), out); } }