Beispiel #1
0
        public static void ReadFile(FileInfo fileInfo)
        {
            XmlDocument xmlDoc = new XmlDocument();

            try
            {
                xmlDoc.Load(fileInfo.FullName);

                string          fileName = fileInfo.Name.Remove(fileInfo.Name.LastIndexOf("."));
                InnerStructInfo enumInfo = new InnerStructInfo();
                enumInfo.Name = fileName;
                InnerStructManager.Instance.AddEnum(enumInfo);

                XmlNode root = xmlDoc.SelectSingleNode(InnerStructConfig.DOC_ROOT_STR);
                foreach (XmlElement childElement in root.ChildNodes.OfType <XmlElement>())
                {
                    if (childElement.Name == InnerStructConfig.INNERSTRUCT_ELEMENT_COLUMN)
                    {
                        InnerStructItem item = ReadColumn(childElement);
                        if (item != null)
                        {
                            enumInfo.AddItem(item);
                        }
                    }
                }
            }
            catch (Exception e)
            {
            }
        }
        //public static void WriteFile(string name)
        //{
        //    ConstructFile file = ConstructFold.Instance.ConstructFiles.GetByName(name);
        //    if (file != null)
        //    {
        //        WriteFile(file);
        //    }
        //}

        public static void WriteFile(InnerStructInfo file)
        {
            if (file == null)
                return;

            string configPath = InnerStructConfig.INNERSTRUCT_FOLD_PATH + "/" + file.Name + ".xml";
            XmlDocument xmlDoc = new XmlDocument();
            if (!File.Exists(configPath))
            {
                XmlDeclaration dec = xmlDoc.CreateXmlDeclaration(InnerStructConfig.INIT_VERSION_STR, InnerStructConfig.INIT_ENCODING_STR, null);
                xmlDoc.AppendChild(dec);
                XmlElement rootInit = xmlDoc.CreateElement(InnerStructConfig.DOC_ROOT_STR);
                xmlDoc.AppendChild(rootInit);
                xmlDoc.Save(configPath);
            }
            else
            {
                xmlDoc.Load(configPath);
            }
            XmlNode root = xmlDoc.SelectSingleNode(InnerStructConfig.DOC_ROOT_STR);
            root.RemoveAll();

            XmlElement xmlItem = null;
            foreach (InnerStructItem item in file._InnerStructItemCollection)
            {
                XmlElement xmlColumn = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_COLUMN);

                xmlItem = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_NAME);
                xmlItem.InnerText = item.Name;
                xmlColumn.AppendChild(xmlItem);

                xmlItem = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_CODE);
                xmlItem.InnerText = item.ItemCode;
                xmlColumn.AppendChild(xmlItem);

                xmlItem = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_TYPE1);
                xmlItem.InnerText = item.ItemType1;
                xmlColumn.AppendChild(xmlItem);

                xmlItem = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_TYPE2);
                foreach (TableBaseItem type2s in item.ItemType2)
                {
                    XmlElement type2Ele = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_TYPE2);
                    type2Ele.InnerText = type2s.Name;
                    xmlItem.AppendChild(type2Ele);
                }
                xmlColumn.AppendChild(xmlItem);

                xmlItem = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_DEFAULT);
                xmlItem.InnerText = item.ItemDefault;
                xmlColumn.AppendChild(xmlItem);

                xmlItem = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_REPEAT);
                xmlItem.InnerText = item.ItemRepeat.ToString();
                xmlColumn.AppendChild(xmlItem);

                root.AppendChild(xmlColumn);
            }
            xmlDoc.Save(configPath);
        }
        public static void ReadFile(FileInfo fileInfo)
        {
            XmlDocument xmlDoc = new XmlDocument();
            try
            {
                xmlDoc.Load(fileInfo.FullName);

                string fileName = fileInfo.Name.Remove(fileInfo.Name.LastIndexOf("."));
                InnerStructInfo enumInfo = new InnerStructInfo();
                enumInfo.Name = fileName;
                InnerStructManager.Instance.AddEnum(enumInfo);

                XmlNode root = xmlDoc.SelectSingleNode(InnerStructConfig.DOC_ROOT_STR);
                foreach (XmlElement childElement in root.ChildNodes.OfType<XmlElement>())
                {
                    if (childElement.Name == InnerStructConfig.INNERSTRUCT_ELEMENT_COLUMN)
                    {
                        InnerStructItem item = ReadColumn(childElement);
                        if (item != null)
                        {
                            enumInfo.AddItem(item);
                        }
                    }
                }
            }
            catch (Exception e)
            {

            }
        }
Beispiel #4
0
        public void RenameFile(string orgName, string newName)
        {
            InnerStructInfo file = InnerStructInfoCollection.GetByName(orgName) as InnerStructInfo;

            if (file != null)
            {
                file.Name = newName;
                RemoveFiles.Add(orgName);
            }
        }
        public InnerStructInfo CreateNewEnum(string name)
        {
            if (InnerStructInfoCollection.GetByName(name) != null)
                return null;

            InnerStructInfo enumInfo = new InnerStructInfo();
            enumInfo.Name = name;
            InnerStructInfoCollection.AddNewItem(enumInfo);

            return enumInfo;
        }
        private void MenuItem_Remove(object sender, RoutedEventArgs e)
        {
            InnerStructInfo fileInfo = InfoList.SelectedItem as InnerStructInfo;

            if (fileInfo == null)
            {
                return;
            }

            InnerStructManager.Instance.RemoveFile(fileInfo.Name);
        }
        private void EnumList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            InnerStructInfo info = e.AddedItems[0] as InnerStructInfo;

            if (info != null)
            {
                _CurInfo = info;
            }
            AddTab();

            ItemAttrPanel.Visibility = System.Windows.Visibility.Collapsed;
        }
Beispiel #8
0
        public InnerStructInfo CreateNewEnum(string name)
        {
            if (InnerStructInfoCollection.GetByName(name) != null)
            {
                return(null);
            }

            InnerStructInfo enumInfo = new InnerStructInfo();

            enumInfo.Name = name;
            InnerStructInfoCollection.AddNewItem(enumInfo);

            return(enumInfo);
        }
        private void MenuItem_Rename(object sender, RoutedEventArgs e)
        {
            InnerStructInfo fileInfo = InfoList.SelectedItem as InnerStructInfo;

            if (fileInfo == null)
            {
                return;
            }

            string newName = DialogMessage.DialogString();

            if (!string.IsNullOrEmpty(newName))
            {
                InnerStructManager.Instance.RenameFile(fileInfo.Name, newName);
            }
        }
 public void AddEnum(InnerStructInfo enumInfo)
 {
     InnerStructInfoCollection.AddNewItem(enumInfo);
 }
        private void EnumList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            InnerStructInfo info = e.AddedItems[0] as InnerStructInfo;
            if (info != null)
            {
                _CurInfo = info;
            }
            AddTab();

            ItemAttrPanel.Visibility = System.Windows.Visibility.Collapsed;
        }
        //public static void WriteFile(string name)
        //{
        //    ConstructFile file = ConstructFold.Instance.ConstructFiles.GetByName(name);
        //    if (file != null)
        //    {
        //        WriteFile(file);
        //    }
        //}

        public static void WriteFile(InnerStructInfo file)
        {
            if (file == null)
            {
                return;
            }

            string      configPath = InnerStructConfig.INNERSTRUCT_FOLD_PATH + "/" + file.Name + ".xml";
            XmlDocument xmlDoc     = new XmlDocument();

            if (!File.Exists(configPath))
            {
                XmlDeclaration dec = xmlDoc.CreateXmlDeclaration(InnerStructConfig.INIT_VERSION_STR, InnerStructConfig.INIT_ENCODING_STR, null);
                xmlDoc.AppendChild(dec);
                XmlElement rootInit = xmlDoc.CreateElement(InnerStructConfig.DOC_ROOT_STR);
                xmlDoc.AppendChild(rootInit);
                xmlDoc.Save(configPath);
            }
            else
            {
                xmlDoc.Load(configPath);
            }
            XmlNode root = xmlDoc.SelectSingleNode(InnerStructConfig.DOC_ROOT_STR);

            root.RemoveAll();

            XmlElement xmlItem = null;

            foreach (InnerStructItem item in file._InnerStructItemCollection)
            {
                XmlElement xmlColumn = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_COLUMN);

                xmlItem           = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_NAME);
                xmlItem.InnerText = item.Name;
                xmlColumn.AppendChild(xmlItem);

                xmlItem           = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_CODE);
                xmlItem.InnerText = item.ItemCode;
                xmlColumn.AppendChild(xmlItem);

                xmlItem           = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_TYPE1);
                xmlItem.InnerText = item.ItemType1;
                xmlColumn.AppendChild(xmlItem);

                xmlItem = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_TYPE2);
                foreach (TableBaseItem type2s in item.ItemType2)
                {
                    XmlElement type2Ele = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_TYPE2);
                    type2Ele.InnerText = type2s.Name;
                    xmlItem.AppendChild(type2Ele);
                }
                xmlColumn.AppendChild(xmlItem);

                xmlItem           = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_DEFAULT);
                xmlItem.InnerText = item.ItemDefault;
                xmlColumn.AppendChild(xmlItem);

                xmlItem           = xmlDoc.CreateElement(InnerStructConfig.INNERSTRUCT_ELEMENT_REPEAT);
                xmlItem.InnerText = item.ItemRepeat.ToString();
                xmlColumn.AppendChild(xmlItem);

                root.AppendChild(xmlColumn);
            }
            xmlDoc.Save(configPath);
        }
Beispiel #13
0
 public void AddEnum(InnerStructInfo enumInfo)
 {
     InnerStructInfoCollection.AddNewItem(enumInfo);
 }