From: <Mar...@ep...> - 2008-02-01 16:03:50
|
Previously I reported a bug from cutting a molecule in JChemPaint (throws exception). In CopyPasteAction there are the following DataFlavors: private DataFlavor molFlavor = new DataFlavor( "chemical/x-mdl-molfile", "mdl mol file format"); private DataFlavor svgFlavor = new DataFlavor( "image/svg+xml", "scalable vector graphics"); private DataFlavor cmlFlavor = new DataFlavor( "image/cml", "chemical markup language"); I couldnt find a format (searched all of latest svn cdk files) that had mime types that matched "image/svg+xml" and "image/cml". I found that if I replaced the above code with the following it got rid of the exception: private DataFlavor molFlavor = new DataFlavor( org.openscience.cdk.io.formats.MDLFormat.class, "mdl mol file format"); private DataFlavor svgFlavor = new DataFlavor( org.openscience.cdk.io.formats.SVGFormat.class, "scalable vector graphics"); private DataFlavor cmlFlavor = new DataFlavor( org.openscience.cdk.io.formats.CMLFormat.class, "chemical markup language"); I hope I picked the right classes- let me know. MDLFormat has a mimetype of "chemical/x-mdl-molfile"- but if I use this mimetype string instead of org.openscience.cdk.io.formats.MDLFormat.class I still get the exception. Todd |
From: Egon W. <ego...@gm...> - 2008-02-01 16:20:07
|
On Feb 1, 2008 5:02 PM, <Mar...@ep...> wrote: > I couldnt find a format (searched all of latest svn cdk files) that had > mime types that matched "image/svg+xml" and "image/cml". The use of mimetypes ensures that copy/paste also works with other programs than just JCP... Still, 'image/cml' does not sound right :) > I found that if I replaced the above code with the following it got rid > of the exception: > > private DataFlavor molFlavor = new DataFlavor( > org.openscience.cdk.io.formats.MDLFormat.class, > "mdl mol file format"); > > private DataFlavor svgFlavor = new DataFlavor( > org.openscience.cdk.io.formats.SVGFormat.class, > "scalable vector graphics"); > > private DataFlavor cmlFlavor = new DataFlavor( > org.openscience.cdk.io.formats.CMLFormat.class, > "chemical markup language"); > > I hope I picked the right classes- let me know. MDLV2000Format is likely better... > MDLFormat has a > mimetype of "chemical/x-mdl-molfile"- but if I use this mimetype string > instead of org.openscience.cdk.io.formats.MDLFormat.class I still get > the exception. Your flavors might be added to solve the problem, but the first should really work... I don't have time, myself, to look into this... Egon -- ---- http://chem-bla-ics.blogspot.com/ |
From: <Mar...@ep...> - 2008-02-01 16:31:03
|
> > I hope I picked the right classes- let me know. > > MDLV2000Format is likely better... > > > MDLFormat has a > > mimetype of "chemical/x-mdl-molfile"- but if I use this mimetype string > > instead of org.openscience.cdk.io.formats.MDLFormat.class I still get > > the exception. > > Your flavors might be added to solve the problem, but the first should > really work... I don't have time, myself, to look into this... > The main reason I messed with it was because there was a noticeable lag when you do the first cut operation. At first I attributed it to the exception but then I discovered it took just as long after the exception was removed. The second time you cut something it runs much faster. So really the bug wasnt as bad as I thought (just an aesthetic problem of output to the console ;) ). The DataFlavor thing is pretty tricky. Todd |
From: Daniel L. <dan...@gm...> - 2008-02-02 19:09:42
|
Am Freitag, den 01.02.2008, 11:02 -0500 schrieb Mar...@ep...: > Previously I reported a bug from cutting a molecule in JChemPaint > (throws exception). In CopyPasteAction there are the following > DataFlavors: > > private DataFlavor molFlavor = new DataFlavor( > "chemical/x-mdl-molfile", "mdl mol file format"); > private DataFlavor svgFlavor = new DataFlavor( > "image/svg+xml", "scalable vector graphics"); > private DataFlavor cmlFlavor = new DataFlavor( > "image/cml", "chemical markup language"); > > I couldnt find a format (searched all of latest svn cdk files) that had > mime types that matched "image/svg+xml" and "image/cml". chemical/x-mdl-molfile is an unofficially used MIME type based on the original RFC [1] for the chemical/* primary type. image/svg+xml is the official MIME type for scalable vector graphics (SVG) - defined in RFC 3023. image/cml is wrong. The unofficially used type is chemical/x-cml (or sometimes chemical/cml - however it is not registered, so it should at least use the x- prefix). An official RFC to register a MIME type for CML might be possible using application/cml+xml as MIME type accordingly to other XML-based formats. [1] http://web.archive.org/web/20010410054424/http://www.ch.ic.ac.uk/chemime2.html Regards, Daniel |