<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="../../../design/description.xslt" type="text/xsl"?>
<node lang="en" type="DynamicNode.Core.Nodes.NSubGraph" assembly="DNCore" xmlns="http://dynamicnodes.mastersign.de/description">
  <caption>Sub Graph</caption>
  <group>System</group>
  <description>Loads a module file (*.dyn) as sub graph.</description>
  <inPorts />
  <outPorts />
  <commands>
    <defaultCommand>open</defaultCommand>
    <command caption="Open" code="open">
      With this command an editor for the sub graph is opened.
    </command>
    <command caption="Reload module" code="reload">
      With this command the sub graph is unloaded and reloaded from the
      module file. Existing connections are recontructed if possible.
    </command>
  </commands>
  <helpText>
    <p>
      This node is the basis for modular developement of DynamicNodes graphes.
      It can load a graph from a DYN file (module) as a sub graph and represent all
      super ports of the sub graph as is own ports.
      Thereby, the sub graph is utalized as the function of the node.
      The number and meaning of the in and out ports depends on the loaded module.
    </p>
    <p>
      To load a DYN file use the text box &quot;Sub Graph&quot; in the node control panel.
      The &quot;Browse&quot; buttons on the right of the text box can support you
      while choosing the path to the module file.
    </p>
    <p>
      If a module file is specified, the module can be loaded as a sub graph by clicking
      the button &quot;Load&quot;. To reload the module in case it has be changed, use
      the button &quot;Reload&quot;. The existing connections will be kept if possible.
      To unload and destroy the sub graph, use the button &quot;Unload&quot;.
    </p>
    <info>
      Usally the ports of the node are changed if a module is loaded or unloaded. 
      That is why the connections are destroyed if you try to unload and later
      load a module. Only by using the reload function it is possible to keep the
      existing connections if possible.
    </info>
    <p>
      In the &quot;Graph Info&quot; region of the node control panel the name
      and the description of the currently loaded module is displayed.
    </p>
    <p>
      With the button &quot;Open&quot; an editor for the sub graph can be opened.
      Changes in this editor are immediatly reflected in the function of the sub graph node
      but can not directly be saved in the module file. To edit the module file,
      open it as a normal project.
    </p>
  </helpText>
  <customArea>
    The name of the loaded module is displayed.
  </customArea>
</node>