public PssgNode AddNode(PssgNode parentNode, int nodeID)
{
if (rootNode == null)
{
PssgNode newRootNode = new PssgNode(nodeID, this, null, nodeInfo[nodeID - 1].isDataNode);
rootNode = newRootNode;
return newRootNode;
}
if (parentNode.isDataNode == true)
{
MessageBox.Show("Adding sub nodes to a data node is not allowed!", "Add Node", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return null;
}
if (parentNode.subNodes != null)
{
Array.Resize(ref parentNode.subNodes, parentNode.subNodes.Length + 1);
}
else
{
parentNode.subNodes = new PssgNode[1];
}
PssgNode newNode = new PssgNode(nodeID, this, parentNode, nodeInfo[nodeID - 1].isDataNode);
parentNode.subNodes[parentNode.subNodes.Length - 1] = newNode;
return newNode;
}