Пример #1
0
    void Start()
    {
        lRect               = gameObject.AddComponent <ListRect>();
        lRect.fixStandard   = ListRect.FixedStandard.Top;
        lRect.ListDirection = new Vector3(-1, 0, 0);

        string a = "道北", c = "稚内";

        AddPanel();
        foreach (WeatherPanel p in panels)
        {
            p.Init(a, c);
        }
    }
Пример #2
0
        /// <summary>
        /// 打开右键菜单的响应
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected override void RectMenu_Opening(object sender, CancelEventArgs e)
        {
            //生成div层次结构

            ///复制页面片数据
            if (ListRect.GetSelectedRects().Count == 1 && ListRect.GetSelectedRects()[0].HasSnip)
            {
                this.ContextMenuStrip.Items["copySnipData"].Enabled = true;
            }
            else
            {
                this.ContextMenuStrip.Items["copySnipData"].Enabled = false;
            }

            ///撤销
            if (CommandList.IsExistUndo())
            {
                this.ContextMenuStrip.Items["undo"].Enabled = true;
                this.ContextMenuStrip.Items["undo"].Text    = "撤销"; //+ this.CommandList.CurCommand.Value.GetCommandInfo();
            }
            else
            {
                this.ContextMenuStrip.Items["undo"].Enabled = false;
                this.ContextMenuStrip.Items["undo"].Text    = "不能撤销";
            }

            ///重做
            if (CommandList.IsExistRedo())
            {
                this.ContextMenuStrip.Items["redo"].Enabled = true;

                LinkedListNode <BaseCommand> reDoCommandNode = CommandList.CurCommand;
                if (CommandList.CurCommand == null)
                {
                    reDoCommandNode = CommandList.Commands.First;
                }
                else
                {
                    reDoCommandNode = CommandList.CurCommand.Next;
                }
                this.ContextMenuStrip.Items["redo"].Text = "重做" + reDoCommandNode.Value.GetCommandInfo();
            }
            else
            {
                this.ContextMenuStrip.Items["redo"].Enabled = false;
                this.ContextMenuStrip.Items["redo"].Text    = "不能重做";
            }

            base.RectMenu_Opening(sender, e);
        }
Пример #3
0
 /// <summary>
 /// 拷贝页面片数据
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void CopySnipData_Click(object sender, EventArgs e)
 {
     if (ListRect.GetSelectedRects().Count == 1)
     {
         SnipRect rect = (SnipRect)ListRect.GetSelectedRects()[0];
         if (rect.HasSnip)
         {
             rect.SnipData = new SnipData(TmpltDoc.GetSnipElementById(rect.SnipID));
             rect.CopyToClipboard();
         }
         else
         {
             MessageService.Show(StringParserService.Parse("${res:tmpltDesign.tmpltDrawPanel.message.hasNoneSnip}"));
         }
     }
 }
Пример #4
0
        /// <summary>
        /// 粘贴菜单执行函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void pasteSnipData_Click(object sender, EventArgs e)
        {
            foreach (Rect rect in ListRect.GetSelectedRects())
            {
                if (rect.IsLocked || rect.HasSnip)
                {
                    MessageService.Show("${res:tmpltDesign.tmpltDrawPanel.message.hasLockedRect}");
                    return;
                }
            }
            PasteSnipDataCommand pasteCommand = new PasteSnipDataCommand(this.TDPanel,
                                                                         ListRect.GetSelectedRects(),
                                                                         SnipData.GetFromClipboard(), TmpltDoc);

            pasteCommand.Execute();
            this.TDPanel.CommandList.AddCommand(pasteCommand);
        }
Пример #5
0
        /// <summary>
        /// 响应分割矩形
        /// </summary>
        void PartRect_Click(object sender, EventArgs e)
        {
            Rect selectedRect = ListRect.GetSelectedRects()[0];
            ///触发事件的执行
            PartRectEventArgs partRectArgs = new PartRectEventArgs(selectedRect);

            TDPanel.OnPartRect(partRectArgs);

            if (!partRectArgs.Cancel)
            {
                ///生成新的被分割的矩形
                List <Rect>          newRects = ListRect.PartRect(selectedRect, partRectArgs.IsRow, partRectArgs.PartNum);
                List <PartitionLine> newLines = ListLine.PartRect(selectedRect, partRectArgs.IsRow, partRectArgs.PartNum);

                PartRectCommand partrectCommand = new PartRectCommand(TDPanel, partRectArgs.IsRow, newRects, selectedRect, newLines);
                partrectCommand.Execute();
                TDPanel.CommandList.AddCommand(partrectCommand);
            }
        }
Пример #6
0
        /// <summary>
        /// 响应合并矩形命令
        /// </summary>
        void MergeRect_Click(object sender, EventArgs e)
        {
            ///判断是否可以合并
            List <Rect> dismergableRects = this.ListRect.GetDisMergableRects();

            if (!ListRect.IsRectMergable())///可以合并
            {
                // MessageBox.Show("存在锁定或所选矩形无法完成合并!");
                MessageService.Show("${res:tmpltDesignTip.recMerge}", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                foreach (Rect rect in dismergableRects)
                {
                    //DrawRectFlash(rect);
                }
            }
            else
            {
                MergeRectCommand mergeRectCommand = new MergeRectCommand(TDPanel);
                mergeRectCommand.Execute();
            }
        }
Пример #7
0
        /// <summary>
        /// 响应当前矩形Css属性
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void CurRectProperty_Click(object sender, EventArgs e)
        {
            ((TmpltDesignerPanel)TDPanel).SaveTmplt(TmpltDoc);
            Rect selectedRect = ListRect.GetSelectedRect(FirstRealPoint, SelectPrecision);

            if (selectedRect is SnipRect)
            {
                SnipRect       snipRect = (SnipRect)selectedRect;
                SnipXmlElement ele      = TmpltDoc.GetSnipElementById(snipRect.SnipID);

                //writed by zhenghao 2008.05.20
                CssSettingForm form = new CssSettingForm(snipRect.ToCss);
                form.Owner = this.FindForm();
                if (form.ShowDialog() == DialogResult.OK)
                {
                    snipRect.ToCss = form.CssText;
                    ele.Css        = snipRect.ToCss;
                    this.DrawFrame.TDPanel.Modified = true;
                }
            }
        }
Пример #8
0
        /// <summary>
        /// 双击事件之响应代码
        /// </summary>
        /// <param name="e"></param>
        protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            this.Select();///获取焦点
            if (DrawType == EnumDrawType.MouseSelect ||
                DrawType == EnumDrawType.MouseSelectRect)
            {
                List <Rect>          selectedRects    = ListRect.GetSelectedRects();
                List <PartitionLine> selectedLines    = ListLine.GetSelectedLines();
                List <Rect>          curSelectedRects = new List <Rect>();

                FirstRealPoint = BacktrackMouse(e);
                ///遍历整个rectlist
                foreach (Rect rect in this.ListRect.SnipRectList)
                {
                    if ((!rect.IsDeleted) && rect.IsSelectable(FirstRealPoint))
                    {
                        if ((!rect.IsSelected) || selectedRects.Count > 1)
                        //未被选择,或者如果已经被选择,且有其他矩形被选择,则先激发其他更改选择矩形的命令
                        {
                            curSelectedRects.Add(rect);
                            SelectCommand selectRectCommand = new SelectCommand(TDPanel,
                                                                                curSelectedRects,
                                                                                selectedRects,
                                                                                new List <PartitionLine>(),
                                                                                selectedLines);

                            selectRectCommand.Execute();
                            CommandList.AddCommand(selectRectCommand);
                        }
                        ///弹出属性对话框以查看和修改
                        ChangeSnipPerperty((SnipRect)rect);
                        break;
                    }
                }
            }

            base.OnMouseDoubleClick(e);
        }
Пример #9
0
        /// <summary>
        /// 响应使用当前背景
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void CutCurrentBackImg_Click(object sender, EventArgs e)
        {
            if (BackImage == null)
            {
                return;
            }
            Rect     selectedRect = ListRect.GetSelectedRect(FirstRealPoint, SelectPrecision);
            Bitmap   bmp          = new Bitmap(selectedRect.Width, selectedRect.Height);
            Graphics g            = Graphics.FromImage(bmp);

            g.DrawImage(BackImage, new Rectangle(0, 0, bmp.Width, bmp.Height),
                        selectedRect.X, selectedRect.Y, selectedRect.Width, selectedRect.Height, GraphicsUnit.Pixel);
            g.Flush();
            g.Dispose();
            SaveResourceImageForm form = new SaveResourceImageForm(bmp);

            form.Owner = this.FindForm();
            form.Text  = StringParserService.Parse("${res:tmpltDesign.DrawPanel.contextMenu.cutCurrentBackImg}");
            //form.OrderText = StringParserService.Parse("${res:tmpltDesign.DrawPanel.contextMenu.cutCurrentBackImgFormOrderText}");
            if (form.ShowDialog() == DialogResult.OK)
            {
                //Service.Sdsite.CurrentDocument.Resources.ImageSaveAsResources(bmp, form.Value);
            }
        }
Пример #10
0
        /// <summary>
        /// 属性菜单执行函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void SnipPerperty_Click(object sender, EventArgs e)
        {
            SnipRect selectedRect = (SnipRect)ListRect.GetSelectedRects()[0];

            ChangeSnipPerperty(selectedRect);
        }