extending dia


I am working on a rather complex controller for a six legged robot. My
controller is implemented as a flexible simulator of cybernetic systems,
where various computation modules (e.g. small artificial neral networks,
highpass filters, lowpass filters and so on) can be connected
arbitrarily to control data flow.

Maybe some of you know overflow, which implements a similar concept.
Currently the simulation is parameter file driven. I defined the
parameter file syntax myself and optimized it for human readibility,
ease of use and security/debugging.

For talks presentations a papers I usually use dia to visualize what's
going on in the controller - btw: great work, dia is an impressively
powerful and easy to use tool.

I have been thinking about writing a grafical frontend for generating
and managing the - huge - parameter files for some time now. I would be
using xml as the format and something pretty similar to dia as the gui.
Yesterday the idea finally came: it's all there, 95% of that project
would be overhead/reinvention of the wheel.

What I need to do is write an extension to dia. I guess I'll have to
write C-code (I'd be more comfortable with C++, do I have to use C?). I
need the ability to introduce custom shapes that have properties
dialogs, that let me set internal parameters, that would mostly only
effect the xml, not stuff that happens on the dia screen.
That (and an xml parser which I would have to implement) would give me
an extremely powerful and easy to use cybernetics/artificial neural
networks ... simulator.

So now the question. Can anybody tell me how much work that would be? I
could not do all the work in xml using the custom shapes importer, could

It might be more productive to tune the custom shape importer to my
needs. That would also enhance the usability of dia for many similar
projects (this is not the first time I encountered a problem, that could
have been elegantly approached this way - seems to be rather common in



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]