@@ -0,0 +1,1653 @@
+package org.concord.framework.otrunk.view;%0A%0Aimport javax.swing.JComponent;%0A%0Aimport org.concord.framework.otrunk.OTObject;%0A%0A/**%0A * This is used by both the labbook and the snapshot album to create entries or%0A * snapshots by saving only the otobject, not an image.%0A * %0A * Views which implement this  interface can be saved to the snapshot album or labbook as otObjects. %0A * The view will then be able to pass representations of the objects to be displayed and manipulated %0A * in the album/labbook%0A * %0A * @author sfentress%0A *%0A */%0Apublic interface OTLabbookViewProvider%0A%7B%0A%09/**%0A%09 * This should return a component suitable to be in a labbook entry.%0A%09 * It could either be a static component or a dynamic component that the%0A%09 * user can navigate around and mark up.%0A%09 * This should not try to create an image of itself, as this image may not%0A%09 * be available when the album requests it.%0A%09 * %0A%09 * @param otObject%0A%09 * @return%0A%09 */%0A%09public JComponent getLabbookView(OTObject otObject);%0A%09%0A%09/**%0A%09 * This should return a static component suitable to be in the thumbnails panel.%0A%09 * This %0A%09 * %0A%09 * @param otObject%0A%09 * @return%0A%09 */%0A%09public JComponent getThumbnailView(OTObject otObject);%0A%09/**%0A%09 * @return True if snapshot album should wrap view with drawtool%0A%09 */%0A%09public boolean drawtoolNeededForAlbum();%0A%09%0A%09/**%0A%09 * This should return the object to be added to the snapshot. In general, the%0A%09 * object passed in should just be cloned, but some objects may wish to reduce the%0A%09 * size by using references for parts of the object (e.g. a drawingtool's background)%0A%09 * %0A%09 * @param otObject%0A%09 * @return%0A%09 */%0A%09public OTObject copyObjectForSnapshot(OTObject otObject);%0A%09%0A%7D%0A

Add OTLabbookViewProvider. Views which implement this interface can be saved to the snapshot album or labbook as otObjects. The view will then be able to pass representations of the objects to be displayed and manipulated in the album/labbook