public StructFigure(StructNode structnode) : base(structnode, type) { base.color = new Cairo.Color(0.879, 0.88, 0.90, 1.0); }
private static StructNode GetStructNode(StructDeclarationSyntax EachStruct) { StructNode structnode = new StructNode(); structnode.Name = EachStruct.Identifier.ToString(); // For each member in that class foreach (var member in EachStruct.Members) { if (member is FieldDeclarationSyntax) { FieldDeclarationSyntax fd = member as FieldDeclarationSyntax; foreach (var field in GetFieldNodes(fd)) { structnode.Fields.Add(field); } } else if (member is MethodDeclarationSyntax) { MethodDeclarationSyntax method = member as MethodDeclarationSyntax; structnode.Methods.Add(GetMethodNode(method)); } else if (member is PropertyDeclarationSyntax) { PropertyDeclarationSyntax property = member as PropertyDeclarationSyntax; structnode.Properties.Add(GetPropertyNode(property)); } else if (member is EventFieldDeclarationSyntax) { EventFieldDeclarationSyntax evnt = member as EventFieldDeclarationSyntax; structnode.Events.Add(GetEventNode(evnt)); } } if (EachStruct.BaseList != null) { foreach (var baseType in EachStruct.BaseList.Types) { structnode.Links.Add(baseType.ToString()); } } return structnode; }