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;
        }