Adding object-specific properties to custom objects



Hello,

I found that DiaEditor could be useful to edit applications in an
object-oriented process control programming environment called MarkDCS,
which I have been developing and maintaining since 1987.
MarkDCS applications are actually block diagrams made up of connected
objects, which are in turn represented by block diagrams made up of
connected objects... At the end of the recursion there are basic objects
implemented in code.
Well, till now MarkDCS was lacking a graphical editor, now I am trying to
use Dia for that.

Now, the most important missing thing in Dia for this purpose is that my
objects, besides a name and connections, also have other object-specific
properties, which need to be edited as well.
This seems to me a rather common issue, since many other applications may
need to create custom objects with custom properties without writing code. I
also found in Lars Clausen's road map in the wiki, among things for the
general future, "More use of object menus, in particular for sheet-specific
things"

So, I'm going to implement this right away, but I'd like to:
1. share what I'm doing with the community and, if possible, make it a part
of the Dia project;
2. do it the most standard way possible;
3. know if someone has already thought or made something, not to waste
effort.

My ideas are:
- use standard properties (of course);
- use the existing dia:attribute tag in .dia files;
- create a new tag in .shape files to describe attributes, supporting all
standard types including composite;
- modify the custom object plug-in adding code that interprets additional
shape info and compiles PropDescription and PropOffset accordingly, plus
code to load and save the additional info.
If I understood well the Dia architecture, all this should be enough, and
can be accomplished in a matter of days.

Please let me know your comments and suggestions.

Regards.

Marco
(m dot contenti at libero dot it)




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