Пример #1
0
        public SceneButtonNode(KNXSceneButton knx)
            : base(knx)
        {
            this.Name = ImageKey = SelectedImageKey = MyConst.Controls.KnxSceneButtonType;

            this.ReadAddressId   = knx.ReadAddressId ?? new Dictionary <string, KNXSelectedAddress>();
            this.WriteAddressIds = knx.WriteAddressIds ?? new Dictionary <string, KNXSelectedAddress>();

            this.ImageOn      = knx.ImageOn;
            this.ColorOn      = FrmMainHelp.HexStrToColor(knx.ColorOn);  // knx.ColorOn;
            this.ImageOff     = knx.ImageOff;
            this.ColorOff     = FrmMainHelp.HexStrToColor(knx.ColorOff); // knx.ColorOff;
            this.IsGroup      = (EBool)Enum.ToObject(typeof(EBool), knx.IsGroup);
            this.DefaultValue = knx.DefaultValue;
        }
Пример #2
0
        public KNXSceneButton ToKnx()
        {
            var knx = new KNXSceneButton();

            base.ToKnx(knx);

            knx.ReadAddressId   = this.ReadAddressId;
            knx.WriteAddressIds = this.WriteAddressIds;

            knx.ImageOn      = this.ImageOn;
            knx.ColorOn      = FrmMainHelp.ColorToHexStr(this.ColorOn);  // this.ColorOn;
            knx.ImageOff     = this.ImageOff;
            knx.ColorOff     = FrmMainHelp.ColorToHexStr(this.ColorOff); // this.ColorOff;
            knx.IsGroup      = (int)this.IsGroup;
            knx.DefaultValue = this.DefaultValue;

            return(knx);
        }
Пример #3
0
        public KNXSceneButton ExportTo(BackgroundWorker worker, string dir, Point RelPoint)
        {
            KNXSceneButton knx = this.ToKnx(worker);

            //knx.Left -= RelPoint.X;
            //knx.Top -= RelPoint.Y;
            knx.Left = this.LocationInPageFact.X - RelPoint.X;
            knx.Top  = this.LocationInPageFact.Y - RelPoint.Y;

            knx.ReadAddressId.Clear();
            knx.WriteAddressIds.Clear();

            knx.ImageOn  = FileHelper.CopyFileSole(Path.Combine(MyCache.ProjImgPath, this.ImageOn), dir);
            knx.ImageOff = FileHelper.CopyFileSole(Path.Combine(MyCache.ProjImgPath, this.ImageOff), dir);
            //FileHelper.CopyFolder(this.ImagePath, dir, true);

            return(knx);
        }
Пример #4
0
        public SceneButtonNode(KNXSceneButton knx, BackgroundWorker worker, string DirSrcImg)
            : this(knx, worker)
        {
            this.Id = GenId(); // 创建新的Id

            if (ImportedHelper.IsLessThan2_5_6())
            {
                string knxImage     = GetImageName(knx.Id);              // KNX图片资源名称
                string knxImagePath = Path.Combine(DirSrcImg, knxImage); // KNX图片资源路径

                this.ImageOn  = ProjResManager.CopyImageRename(Path.Combine(knxImagePath, NAME_IMAGEON));
                this.ImageOff = ProjResManager.CopyImageRename(Path.Combine(knxImagePath, NAME_IMAGEOFF));
            }
            else
            {
                this.ImageOn  = ProjResManager.CopyImageRename(Path.Combine(DirSrcImg, knx.ImageOn));
                this.ImageOff = ProjResManager.CopyImageRename(Path.Combine(DirSrcImg, knx.ImageOff));
            }
        }
Пример #5
0
        public KNXSceneButton ToKnx(BackgroundWorker worker)
        {
            var knx = new KNXSceneButton();

            base.ToKnx(knx, worker);

            knx.ReadAddressId   = this.ReadAddressId;
            knx.WriteAddressIds = this.WriteAddressIds;

            //ImageHelper.SaveImageAsPNG(this.ImageOn, Path.Combine(this.ImagePath, NAME_IMAGEON));
            knx.ImageOn = this.ImageOn;
            knx.ColorOn = ColorHelper.ColorToHexStr(this.ColorOn);
            //ImageHelper.SaveImageAsPNG(this.ImageOff, Path.Combine(this.ImagePath, NAME_IMAGEOFF));
            knx.ImageOff     = this.ImageOff;
            knx.ColorOff     = ColorHelper.ColorToHexStr(this.ColorOff);
            knx.IsGroup      = (int)this.IsGroup;
            knx.DefaultValue = this.DefaultValue - 1;

            //foreach (string file in Directory.GetFiles(this.ImagePath))
            //{
            //    string fileName = file.Substring(file.LastIndexOf("\\") + 1);
            //    if ((fileName == NAME_IMAGEON)
            //        || (fileName == NAME_IMAGEOFF))
            //    {
            //        continue;
            //    }
            //    else
            //    {
            //        File.Delete(file);
            //    }
            //}

            MyCache.ValidResImgNames.Add(knx.ImageOn);
            MyCache.ValidResImgNames.Add(knx.ImageOff);

            return(knx);
        }
Пример #6
0
        public SceneButtonNode(KNXSceneButton knx, BackgroundWorker worker)
            : base(knx, worker)
        {
            this.Name = ImageKey = SelectedImageKey = MyConst.Controls.KnxSceneButtonType;
            SetText(this.Title);

            this.ReadAddressId   = knx.ReadAddressId ?? new Dictionary <string, KNXSelectedAddress>();
            this.WriteAddressIds = knx.WriteAddressIds ?? new Dictionary <string, KNXSelectedAddress>();

            if (ImportedHelper.IsLessThan2_0_3())
            {
                if (!string.IsNullOrEmpty(knx.ImageOn))
                {
                    this.ImageOn = ProjResManager.CopyImageSole(Path.Combine(this.ImagePath, knx.ImageOn));
                }
                if (!string.IsNullOrEmpty(knx.ImageOff))
                {
                    this.ImageOff = ProjResManager.CopyImageSole(Path.Combine(this.ImagePath, knx.ImageOff));
                }
            }
            else if (ImportedHelper.IsLessThan2_5_6())
            {
                this.ImageOn  = ProjResManager.CopyImageSole(Path.Combine(this.ImagePath, NAME_IMAGEON));
                this.ImageOff = ProjResManager.CopyImageSole(Path.Combine(this.ImagePath, NAME_IMAGEOFF));
            }
            else
            {
                this.ImageOn  = knx.ImageOn;
                this.ImageOff = knx.ImageOff;
            }

            this.ColorOn      = ColorHelper.HexStrToColor(knx.ColorOn);
            this.ColorOff     = ColorHelper.HexStrToColor(knx.ColorOff);
            this.IsGroup      = (EBool)Enum.ToObject(typeof(EBool), knx.IsGroup);
            this.DefaultValue = knx.DefaultValue + 1;
        }