I recently stumbled across the following limitation of GraphViewer:
Basically all Viewer implementations provide a second constructor that
allows me to provide the hosted control (which is the Graph object for a
GraphViewer). This constructor is missing for GraphViewer, which is
One might think that the proper replacement of this functionality is
provided by the setControl function, but this is incorrect: This
function does *not* correctly replace the previous graph, it just adds a
I recommend two fixes:
1) Please provide a constructor that accepts a single Graph object as
basically all other Viewers do.
2) I also recommend to fix the setControl function: Either remove it (I
don't see it's current value and all standard Viewer implementations are
not capable to replace the hosted control anyway) or if you think that
replacing the control makes sense, please fix this function: It would
mean that the previously set control has to be be dispose()'ed before
assigning a new one. Personally I would simply remove this setter.