Пример #1
0
        /// <summary>
        /// KNXImageButton 转 ImageButtonNode
        /// </summary>
        /// <param name="knx"></param>
        public ImageButtonNode(KNXImageButton knx, BackgroundWorker worker)
            : base(knx, worker)
        {
            this.Name = ImageKey = SelectedImageKey = MyConst.Controls.KnxImageButtonType;

            SetText(this.Title);

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

            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;
            }

            if (ImportedHelper.IsLessThan2_7_1())
            {
                this.Alpha = .0f;
            }
        }
Пример #2
0
        public KNXImageButton ExportTo(BackgroundWorker worker, string dir, Point RelPoint)
        {
            KNXImageButton knx = this.ToKnx(worker);

            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);

            return(knx);
        }
Пример #3
0
        /// <summary>
        /// ImageButtonNode 转 KNXImageButton
        /// </summary>
        /// <returns></returns>
        public KNXImageButton ToKnx(BackgroundWorker worker)
        {
            var knx = new KNXImageButton();

            base.ToKnx(knx, worker);

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

            knx.ImageOn  = this.ImageOn;
            knx.ImageOff = this.ImageOff;

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

            return(knx);
        }
Пример #4
0
        public ImageButtonNode(KNXImageButton 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));
            }
        }