예제 #1
0
        /// <summary>
        /// 绑定选项
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnOptions(object sender, EventArgs e)
        {
            DocumentForm doc = this.ActiveMdiChild as DocumentForm;

            if (doc == null)
            {
                return;
            }

            Options.OptionsDlg dlg = new Canvas.Options.OptionsDlg();
            dlg.Config.Grid.CopyFromLayer(doc.Model.GridLayer as GridLayer);
            dlg.Config.Background.CopyFromLayer(doc.Model.BackgroundLayer as BackgroundLayer);

            foreach (DrawingLayer layer in doc.Model.Layers)
            {
                dlg.Config.Layers.Add(new Options.OptionsLayer(layer));
            }

            ToolStripItem item = sender as ToolStripItem;

            dlg.SelectPage(item.Tag);

            if (dlg.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            dlg.Config.Grid.CopyToLayer((GridLayer)doc.Model.GridLayer);
            dlg.Config.Background.CopyToLayer((BackgroundLayer)doc.Model.BackgroundLayer);

            foreach (Options.OptionsLayer optionslayer in dlg.Config.Layers)
            {
                DrawingLayer layer = (DrawingLayer)doc.Model.GetLayer(optionslayer.Layer.Id);
                if (layer != null)
                {
                    optionslayer.CopyToLayer(layer);
                }
                else
                {
                    // delete layer
                }
            }

            doc.Canvas.DoInvalidate(true);
        }
예제 #2
0
파일: MainWin.cs 프로젝트: jjacksons/GLUE
        private void OnOptions(object sender, EventArgs e)
        {
            DocumentForm doc = this.ActiveMdiChild as DocumentForm;
            if (doc == null)
                return;

            Options.OptionsDlg dlg = new Canvas.Options.OptionsDlg();
            dlg.Config.Grid.CopyFromLayer(doc.Model.GridLayer as GridLayer);
            dlg.Config.Background.CopyFromLayer(doc.Model.BackgroundLayer as BackgroundLayer);
            foreach (DrawingLayer layer in doc.Model.Layers)
                dlg.Config.Layers.Add(new Options.OptionsLayer(layer));

            ToolStripItem item = sender as ToolStripItem;
            dlg.SelectPage(item.Tag);

            if (dlg.ShowDialog(this) == DialogResult.OK)
            {
                dlg.Config.Grid.CopyToLayer((GridLayer)doc.Model.GridLayer);
                dlg.Config.Background.CopyToLayer((BackgroundLayer)doc.Model.BackgroundLayer);
                foreach (Options.OptionsLayer optionslayer in dlg.Config.Layers)
                {
                    DrawingLayer layer = (DrawingLayer)doc.Model.GetLayer(optionslayer.Layer.Id);
                    if (layer != null)
                        optionslayer.CopyToLayer(layer);
                    else
                    {
                        // delete layer
                    }
                }

                doc.Canvas.DoInvalidate(true);
            }
        }