Sounds excellent to me. Much of the code is not yet production quality, as I'm still exploring the GLib, libxml and Dia APIs. I would appreciate guidance as to whether I'm using them sensibly before I write anything more. I'm then happy to redo anything that isn't up to scratch - I have to do a major rewrite anyway to handle Masters, and the uglier experimental parts of the current code (plot_text, vdx_add_shape) won't survive in their current form.On Thu, 2006-05-11 at 13:33 +0100, Ian Redfern wrote: > I've been working on a plug-in for Dia to allow it to read Visio VDX > files. I'm *very* glad to hear that. I'd been just about to myself, but had to put the new release in front. I'd like to get your code into the main code quickly, but I also want it to be good so it's not too hard to get it to a high level of compatibility. For that, I'd like to 1) do a code review with you soon, please let me know when would be good for you, and 2) set up some automatic regression testing for the importer.
I looked at the SVG and xfig importers, but unfortunately the VDX format can't be parsed locally - it uses a lot of inheritance and context. For example, a Geom element can contain a drawn box, or the bounding box of a later Text element - and you don't know which until you read to the end of the enclosing Shape and see if it contains a Text element. You also don't know how to draw anything until you look through its stylesheet inheritance chain for the relevant fill, line and text styles. Masters get even worse - and then there's partial deletions...> I've not done XML parsing in C before, and it shows - I may switch to a > generic string-based internal model, rather than C structures, as it's > much more flexible. You have looked at what the diagram loader and other XML-using parts of Dia does, right?
-Lars
Ian Redfern Ian Redfern LogicaCMG Com |
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.