Beispiel #1
0
        void MyDesigner_OnDeleteCurrentSelection(object sender, EventArgs e)
        {
            DesignerCanvas designerCanvas = sender as DesignerCanvas;

            foreach (DesignerItem designerItem in designerCanvas.SelectionService.CurrentSelection.OfType <DesignerItem>())
            {
                // Remove sub-configurations (diagram and configurations)
                var subDiagram = this.Package.SubDiagrams.Where(t => t.ParentItemId == designerItem.ID).FirstOrDefault();
                if (subDiagram != null)
                {
                    List <DesignerItem> subdiagramDesignerItems = DesignerCanvas.LoadDiagramDesignerItems(subDiagram.Diagram, this.moduleLoader.Modules);
                    foreach (DesignerItem subdiagramDesignerItem in subdiagramDesignerItems)
                    {
                        this.Package.Configurations.RemoveAll(t => t.ConfigurationId == subdiagramDesignerItem.ID);
                    }
                }
                this.Package.SubDiagrams.RemoveAll(t => t.ParentItemId == designerItem.ID);

                // Remove main-configuration
                this.Package.Configurations.RemoveAll(t => t.ConfigurationId == designerItem.ID);
            }
        }
Beispiel #2
0
        void MyDesigner_OnCopyCurrentSelection(object sender, EventArgs e)
        {
            this.StepCopy      = new StepCopy();
            this.StepCopy.Type = ((DesignerCanvas)sender).DesignerCanvasType;
            List <ConfigurationBase> configurationsToCopy = new List <ConfigurationBase>();
            List <SerializedDiagram> diagramsToCopy       = new List <SerializedDiagram>();

            DesignerCanvas designerCanvas = sender as DesignerCanvas;

            foreach (DesignerItem designerItem in designerCanvas.SelectionService.CurrentSelection.OfType <DesignerItem>())
            {
                // Copy sub-configurations (diagram and configurations)
                var subDiagram = this.Package.SubDiagrams.Where(t => t.ParentItemId == designerItem.ID).FirstOrDefault();
                if (subDiagram != null)
                {
                    diagramsToCopy.Add(subDiagram);
                    List <DesignerItem> subdiagramDesignerItems = DesignerCanvas.LoadDiagramDesignerItems(subDiagram.Diagram, this.moduleLoader.Modules);
                    foreach (DesignerItem subdiagramDesignerItem in subdiagramDesignerItems)
                    {
                        var subconfiguration = this.Package.Configurations.Where(t => t.ConfigurationId == subdiagramDesignerItem.ID).FirstOrDefault();
                        if (subconfiguration != null)
                        {
                            configurationsToCopy.Add(subconfiguration);
                        }
                    }
                }

                // Copy main configuration
                var configuration = this.Package.Configurations.Where(t => t.ConfigurationId == designerItem.ID).FirstOrDefault();
                if (configuration != null)
                {
                    configurationsToCopy.Add(configuration);
                }
            }

            this.StepCopy.Configurations = ConfigurationSerializer.SerializeObject(configurationsToCopy, moduleLoader.GetModuleTypeList());
            this.StepCopy.Diagrams       = ConfigurationSerializer.SerializeObject(diagramsToCopy, moduleLoader.GetModuleTypeList());
        }