Nevron Forum

pass trough all shapes in all layers

https://www.nevron.com/Forum/Topic12243.aspx

By Richard Dubé - Tuesday, October 10, 2017

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 - Thursday, December 14, 2017

Hi,

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

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