pass trough all shapes in all layers


https://www.nevron.com/Forum/Topic12243.aspx
Print Topic | Close Window

By Richard Dubé - 7 Years Ago
Hi, 

i made a group of nodes wich i group and name it 1

i did find the way to put some protection but my problem is to put the same protection to others layers in this group.

the following code is perfect for the group but if i select let say a group of lines in this group, the name of this group of lines became oubviously the selected group so the name change and the protection did not apply. 

private void nDrawingView1_NodeSelected(NNodeEventArgs args)
{
    NNodeList nodes = nDrawingView1.Selection.Nodes;
    for (int i = 0; i < nodes.Count; i++)
    {
      NShape shape = nodes[i] as NShape;
      string shapesel = shape.Name.ToString();
      //MessageBox.Show(shapesel);
      if (shapesel == "1")
      {
       NAbilities protection = shape.Protection;
       protection.InplaceEdit = true;
       protection.ResizeX = true;
       protection.ResizeY = true;
       protection.ContextMenuEdit = true;
       protection.Group = true;
       protection.Ungroup = true;
       protection.RemoveElements = true;     
       shape.Protection = protection;
      }
    }
}


is there a way to scan trough all layers and apply same protections on all of the shapes and groups ?

thank you
By Nevron Support - 7 Years Ago
Hi,

You can get all descendant shapes using the following piece of code:

NNodeList subShapes = shape.Descendants(NFilters.TypeNShape, -1);