Example #1
0
        private static void SerialModuleItem(ParserItem.ListItem pi, string fileNameOut)
        {
            XmlSerializer           xml = new XmlSerializer(typeof(ParserItem.ListItem));
            XmlSerializerNamespaces ns  = new XmlSerializerNamespaces();

            ns.Add(string.Empty, string.Empty);

            using (TextWriter writer = new StreamWriter(fileNameOut))
            {
                xml.Serialize(writer, pi, ns);
            }
        }
Example #2
0
        private static ParserItem.ListItem DeserialModuleItem(string file)
        {
            XmlSerializer de     = new XmlSerializer(typeof(ParserItem.ListItem));
            TextReader    reader = new StreamReader(file);

            object obj = de.Deserialize(reader);

            ParserItem.ListItem config = (ParserItem.ListItem)obj;

            reader.Close();

            return(config);
        }
Example #3
0
        private static void ProcessItem(PinsFile fileIn, PinsFile fileOut)
        {
            ParserItem.ListItem          pi        = DeserialModuleItem(fileIn.Item);
            ParserItem.ListItemTGrupItem tGrupItem = new ParserItem.ListItemTGrupItem();
            tGrupItem = pi.TGrupItem;


            // Add a new field
            ParserItem.ListItemTGrupItemGrupItemTGrupItemEditorDataElectrical_property itemElectricalPro = new ParserItem.ListItemTGrupItemGrupItemTGrupItemEditorDataElectrical_property()
            {
                name          = "Initial Value",
                brief_name    = "Initial Value",
                symbol_suffix = "_InitValue"
            };

            List <ParserItem.ListItemTGrupItemGrupItem> lstGrupItemLevel2 = new List <ParserItem.ListItemTGrupItemGrupItem>();


            foreach (var item in tGrupItem.Children)
            {
                if (item.TGrupItem.Name.Equals("Electrical properties"))
                {
                    // Add electrical property
                    List <ParserItem.ListItemTGrupItemGrupItemTGrupItemEditorDataElectrical_property> lstElect = new List <ParserItem.ListItemTGrupItemGrupItemTGrupItemEditorDataElectrical_property>();

                    bool haveInitValueItemProp = false;
                    foreach (var item2 in item.TGrupItem.EditorData.electrical_properties_declarations)
                    {
                        lstElect.Add(item2);

                        if (item2.symbol_suffix.Contains("InitValue"))
                        {
                            haveInitValueItemProp = true;
                        }
                    }

                    if (!haveInitValueItemProp)
                    {
                        lstElect.Add(itemElectricalPro);
                    }

                    item.TGrupItem.EditorData.electrical_properties_declarations = lstElect.ToArray();


                    List <ParserItem.ListItemTGrupItemGrupItemTGrupItemGrupItem> lstChildren = new List <ParserItem.ListItemTGrupItemGrupItemTGrupItemGrupItem>();

                    // Add Initival value for each pin
                    foreach (var item2 in item.TGrupItem.Children)
                    {
                        List <ParserItem.ListItemTGrupItemGrupItemTGrupItemGrupItemTGrupItemGrupItem> lstInitPins = new List <ParserItem.ListItemTGrupItemGrupItemTGrupItemGrupItemTGrupItemGrupItem>();

                        bool haveInitValueItem = false;
                        foreach (var item3 in item2.TGrupItem.Children)
                        {
                            lstInitPins.Add(item3);

                            if (item2.TGrupItem.Symbol.Contains("PT"))
                            {
                                if ((item3.TPinFuncPropItem != null) && (item3.TPinFuncPropItem.Symbol.Contains("InitValue")))
                                {
                                    haveInitValueItem = true;
                                }
                            }
                        }

                        if (!haveInitValueItem)
                        {
                            if (item2.TGrupItem.Symbol.Contains("PT"))
                            {
                                // Add pin func prop item
                                ParserItem.ListItemTGrupItemGrupItemTGrupItemGrupItemTGrupItemGrupItemTPinFuncPropItem tPinFuncPropItem = new
                                                                                                                                          ParserItem.ListItemTGrupItemGrupItemTGrupItemGrupItemTGrupItemGrupItemTPinFuncPropItem()
                                {
                                    Name                    = "Initial Value Field",
                                    Hint                    = "Initial value control",
                                    ItemLevel               = "BASIC",
                                    EditLine                = true,
                                    DefaultValue            = "<Automatic>",
                                    CanDelete               = true,
                                    IconPopup               = true,
                                    SortStyle               = "alpha used eicons",
                                    PinFunctionalPropertyId = "InitValue",
                                    ForcePinName            = String.Format("{0}", item2.TGrupItem.Symbol),
                                    Symbol                  = String.Format("{0}_InitValue", item2.TGrupItem.Symbol)
                                };

                                ParserItem.ListItemTGrupItemGrupItemTGrupItemGrupItemTGrupItemGrupItem pinInit = new ParserItem.ListItemTGrupItemGrupItemTGrupItemGrupItemTGrupItemGrupItem()
                                {
                                    TPinFuncPropItem = tPinFuncPropItem
                                };

                                lstInitPins.Add(pinInit);
                            }
                        }

                        item2.TGrupItem.Children = lstInitPins.ToArray();

                        lstChildren.Add(item2);
                    }

                    item.TGrupItem.Children = lstChildren.ToArray();
                }

                lstGrupItemLevel2.Add(item);
            }

            tGrupItem.Children = lstGrupItemLevel2.ToArray();
            pi.TGrupItem       = tGrupItem;
            SerialModuleItem(pi, fileOut.Item);
        }