How extensible is the Node class? RRS feed

  • Question

  • Before purchasing, I would like to make sure that the MSAGL will perform a particular task.

    I would like to be able to host a custom-developed Control inside each of the nodes.

    I would like to use MSAGL but my requirements are that the nodes be able to load themselves via a webservice and potentially create/update/delete other nodes as the underlying data changes.  In addition, the data being displayed within the node is relatively complex (think tables with a list of columns that can be filtered in several different ways, depending upon which option is checked by the user in a context menu accessible via right click on a button hosted on the control).

    So, to my question, how extensible is the Node class and how much interaction is possible with the different aspects of the Viewer UI with custom controls.

    Tuesday, October 18, 2011 5:56 PM


  • Hi Chris,

    I am not sure how much you can reuse the viewer that comes with MSAGL. I think you will be better off developing your own viewer. MSAGL is divided into three layers; each one is represented by its own DLL. In your situation I would only use the lowest geometry DLL, Microsoft.Msagl.dll. I would figure out the sizes of the controls and feed them into the MSAGL to create the layout, and route the edges. After that I would render the edges and place the controls at the locations coming from MSAGL. There is a sample, NodesWithImages, setting the node boundaries to hold the images.

    Lev Nachmanson
    • Marked as answer by Lev Nachmanson Wednesday, October 19, 2011 5:18 AM
    Wednesday, October 19, 2011 5:17 AM