Hi
I think you just need to think about what you precisely need your
widgets to be, for processcraft, for the diagram parts, there are two
kinds:
- nodes
- links
nodes are the more complex ones, depending on their kind, they can have
different caracteristics, so you need a way to create the complex types
easily, but the kind of characteristics you are looking for are:
- resizable?
- image?
- text?
- possible actions? (bubble menu)
- can contain other nodes ?
this will define how the widget looks like, and how the user interact
with it, you can put these characteristics together in classes to create
finished widgets, or you can separate them and plug them at run time,
whatever, it's just about putting them together.
Then of course, there are the links, the creation and updating of links
is a fun one if you want a good looking diagram, you can use
path-finding like algos, and call them again when their
source/destination are moved, you can add visual indicators on the links
based on certain conditions, it's "only" a matter of taking all the
possibilities into account.
Also, you want to put animations whenever possible to make things look
slick (for alignement to grid for example, or for spawning of a new
node).
It's not that hard of a concept, it's just a bit harder the bigger your
diagram spec is (BPMN2.0 is big >_>), but it's doable.
good luck.