From: Egon Willighagen <egon.willighagen@gm...> - 2013-05-27 04:48:10
I am in the preparation of releasing CDK-JChemPaint patch 38, which is
rebased on CDK 1.4.8... for all the new people, "CDK-JChemPaint" is
the renderer/controler stack patches and not the JChemPaint applet.
CDK-JChemPaint is being back-integrated into the CDK, but not all
modules are ready yet. The current status of missing unit tests,
JavaDoc, etc can be found here:
Also note that it has a rendersvg module for which there still is a
separate patch in the CDK tracker too. Help with further cleaning up
this code is most welcome.
I will see what patches from the Bioclipse tree I can pull in as soon
as possible... but here too, rebasing patches on the latest
CDK-JChemPaint patches are welcome too.
Please also note that I have not been able to find time either to look
at the JChemPaint release branch. As you know, these branches have
severely branched, and identification of features that could be ported
to CDK-JChemPaint is still an open task. Ralf has done excellent work
in this area already, for which I am very grateful!
Next up for me is putting release 38 on SourceForge, updating my
"Groovy JChemPaint" code examples , create same examples with the
controller functionality, and porting the patches to master.
There are other things to do, like updating applications/plugins that
use JChemPaint, work on the template stack, etc, etc
At a design level, these things are still open, and your ideas/work on
that is also welcome:
1. fixing the margin/zoom/scale stack
The practical issue of getting font sizes right caused this part to be
partially implemented. The idea was to fully split world and screen
coordinates. Normally the zoom is 1.0, causing the full structure to
take up the full image size, expect for the set margins, where the
scale exactly matches the coordinate size different. So, if the world
size (1D) was 10 angstrom, and the image size 1000, then the scale
would be 100. The zoom can then, afterwards, be used to zoom in and
out, but when set to 1.0 again, the structure would once again fill
2. two pass drawing
Drawing bonds requires knowledge about the drawn atom labels: we do
not want to bonds to be drawn where the labels are. This requires a
two-pass system, to solve circular dependencies. Here too, btw, the
font and thus real-world label size is one troubling part.
Dr E.L. Willighagen
Department of Bioinformatics - BiGCaT
Maastricht University (http://www.bigcat.unimaas.nl/)