Exemple #1
0
 public HMITagTable(XmlDocument doc)
 {
     XMLUtil.CollectID(doc.DocumentElement, idset);
     tag_list = doc.SelectSingleNode("/Document/Hmi.Tag.TagTable/ObjectList") as XmlElement;
     if (tag_list == null)
     {
         throw new Exception("No list of tags found in tag table XML");
     }
 }
Exemple #2
0
 public PresetPopup(XmlDocument doc, XmlDocument obj_template)
 {
     this.doc          = doc;
     this.obj_template = obj_template;
     XMLUtil.CollectID(doc.DocumentElement, idset);
     screen_objects = doc.DocumentElement.SelectSingleNode("/Document/Hmi.Screen.ScreenPopup/ObjectList") as XmlElement;
     if (screen_objects == null)
     {
         throw new Exception("List of layers not found in screen popup XML.");
     }
     template_objects = obj_template.SelectSingleNode("/Document/Hmi.Screen.ScreenTemplate/ObjectList") as XmlElement;
     if (template_objects == null)
     {
         throw new Exception("List of layers not found in ´template XML.");
     }
 }
        protected override void DoWork()
        {
            lock (portal)
            {
                try
                {
                    IntSet      idset = new IntSet();
                    XmlDocument doc   = new XmlDocument();
                    doc.LoadXml(Resources.InitialHMITextList);
                    XMLUtil.CollectID(doc.DocumentElement, idset);


                    XmlElement name_attr = doc.SelectSingleNode("/Document/Hmi.TextGraphicList.TextList/AttributeList/Name") as XmlElement;
                    name_attr.InnerText = list_name;

                    XmlElement entry_list = doc.SelectSingleNode("/Document/Hmi.TextGraphicList.TextList/ObjectList") as XmlElement;


                    {
                        MultilingualText text = new MultilingualText();
                        foreach (string culture in cultures)
                        {
                            text.AddText(culture, "?");
                        }
                        XmlElement entry = ListEntry(doc, 0, true, text);
                    }

                    List <int> keys = new List <int>(texts.Keys);
                    keys.Sort();
                    foreach (int k in keys)
                    {
                        XmlElement entry = ListEntry(doc, k, false, texts[k]);
                        entry_list.AppendChild(entry);
                        XMLUtil.ReplaceID(entry, idset);
                    }

                    TIAutils.ImportTextListXML(doc, text_lists);
                }
                catch (Exception ex)
                {
                    LogMessage(MessageLog.Severity.Error, "Failed create HMI text list:\n" + ex.Message);
                    return;
                }
            }
        }