I have a very basic question in my mind since we started exploring GoDiagram.
I’m not sure I understand your question.
GoXam for Silverlight is implemented in Silverlight. Everything that it
does extends the functionality of Silverlight.
Anyone could implement similar functionality. But it’s a lot of work.
Think of all of that functionality:
- Links (with different kinds of routing)
- Groups
- Models to interpret any data in graphical manners, and to update it
- Unlimited and extensible undo/redo
- Various kinds of graph layout
- Animation (more coming in the next release)
- Adornments
- Collapsing/Expanding, both tree structures and subgraphs
- Tools for interactively manipulating parts
- Palette (and cross-Diagram drag-and-drop)
- Overview
- Printing (multiple pages)
That’s great Walter, You exactly got my question.
Yes, that’s right. If you just wanted to show some shapes at various locations on the screen, you could use the Expression tools to define them and then write a little code to create them according to your data and position them in a Canvas.
But then you’d have to write some more code if you wanted the resulting diagram to be centered, or if you wanted the user to be able to scroll and zoom. Not a big deal, yet.
Implementing single selection by clicking is probably pretty easy. But dealing with multiple selection correctly, and handling moving and copying, and all of the other expected tools and commands is a lot of work.
Even showing anything but the most trivial links is significantly more work. So is any support for undo/redo.
With GoXam, you just have to write code to get the data and maybe implement some converters for data-binding or some special mouse or command handling. Everything else is in XAML.