> > That pretty much sums it up. Except, Viewers are widgets+ that handle > > ViewerItems, which are graphical objects, and Figure Builder is one "big" Viewer > > running as a separate application. The user can then copy/paste or drag/drop > > multiple graphical objects (ViewerItems) onto the FB. This allows the user to > > choose only the Loci-generated figures they want for an illustration. What were > > you thinking of? Is there anything wrong with this approach? > > That's what I was thinking as well. I guess the issue is how do we go > about implementing this. Ah, but now I think the implementation is actually doable. Look at this qute from the World DOMination white paper: http://www.gnome.org/white-papers/DOM/domination.html Individual renderers take a fragment of the document tree as an argument, and return a DOMination Rendering object, which contains size info and a Gnome Canvas item. The renderer also installs event listeners at this time, so that when the fragment changes, the Canvas item and size info automatically get updated. Does this sound like a viewer locus to you? The only trick left is to think of the Workplace and the figbuilder as two different views into the same object, let's call it an experiment DOM tree. Figbuilder asks for all final figure fragments and calls viewers to produce figure canvas objects for display, and the workspace calls all loci and asks them to render their control boxes and editor widgets. The trick is we can do all this (and more) by just slightly enhancing gdome and adding python wrappers.