public static List <Template> LoadAllTemplates()
        {
            List <Template> templates = new List <Template>();

            string ClcDir = MyCache.DefatultKnxCollectionFolder; // 默认的收藏文件夹

            if (Directory.Exists(ClcDir))
            {
                foreach (string file in Directory.GetFiles(ClcDir)) // 遍历收藏文件下的文件
                {
                    string ext = Path.GetExtension(file);
                    if (TemplateExt == ext)                                              // 若为模板文件格式(*.tpl)
                    {
                        string name    = Path.GetFileNameWithoutExtension(file);         // 获取模板文件的名字
                        string tempDir = Path.Combine(MyCache.ProjTempCollFolder, name); // 模板文件解压出来的文件存放的路径

                        /* 清空工作目录 */
                        FileHelper.DeleteFolder(tempDir);
                        Directory.CreateDirectory(tempDir);

                        ZipHelper.UnZipDir(file, tempDir); // 解压收藏文件


                        string tempImgDir = Path.Combine(tempDir, MyConst.ImgFolder); // 图片资源目录

                        string     templateVersion = Path.Combine(tempDir, MyConst.TemplateVersion);
                        KNXVersion version         = VersionStorage.LoadTemplateVersionFile(templateVersion);

                        string preview = Path.Combine(tempDir, MyConst.TemplatePreviewFile);  // 模板预览图片
                        Image  TempPre = ImageHelper.GetDiskImage(preview);

                        string       metaFile = Path.Combine(tempDir, MyConst.TemplateMetaFile); // 界面元文件
                        TemplateMeta TplMeta  = AppStorage.Import(metaFile);

                        Template template = new Template();
                        template.Views     = TplMeta.Views;
                        template.Name      = name;
                        template.Preview   = TempPre;
                        template.ResImgDir = tempImgDir;
                        template.Version   = version;

                        templates.Add(template);
                    }
                }
            }

            return(templates);
        }
Exemplo n.º 2
0
        public static void SaveTemplateVersionFile(string path)
        {
            //MyCache.ProjectVersion.EditorVersion = Application.ProductVersion;
            //MyCache.ProjectVersion.LastModified = DateTime.Now.ToString();
            KNXVersion version = new KNXVersion();

            version.Version      += 1;
            version.EditorVersion = Application.ProductVersion;
            version.LastModified  = DateTime.Now.ToString();

            var settings = new JsonSerializerSettings {
                TypeNameHandling = TypeNameHandling.Auto
            };
            var jsonData = JsonConvert.SerializeObject(version /*MyCache.ProjectVersion*/, Formatting.Indented, settings);

            File.WriteAllText(path, jsonData, Encoding.UTF8);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 保存 KNXVersion 为 Json 文件
        /// </summary>
        public static void Save()
        {
            //MyCache.ProjectVersion.Version += 1;
            //MyCache.ProjectVersion.EditorVersion = Application.ProductVersion;
            //MyCache.ProjectVersion.LastModified = DateTime.Now.ToString();

            KNXVersion version = new KNXVersion();

            version.Version      += 1;
            version.EditorVersion = Application.ProductVersion;
            version.LastModified  = DateTime.Now.ToString();

            MyCache.VersionOfImportedFile = version;

            //
            var settings = new JsonSerializerSettings {
                TypeNameHandling = TypeNameHandling.Auto
            };
            var jsonData = JsonConvert.SerializeObject(version /*MyCache.ProjectVersion*/, Formatting.Indented, settings);

            File.WriteAllText(Path.Combine(MyCache.ProjectFolder, MyConst.VersionFile), jsonData, Encoding.UTF8);
        }
Exemplo n.º 4
0
 public static void ResetVariable()
 {
     _addressTable   = null;
     _projectVersion = null;
     //_datapointTypeTable = null;
 }