示例#1
0
        internal override void Undo(WorkspaceModel workspaceModel)
        {
            foreach (var visualElementModel in _copiedElements)
            {
                var pluginModel     = visualElementModel as PluginModel;
                var connectorModel  = visualElementModel as ConnectorModel;
                var connectionModel = visualElementModel as ConnectionModel;
                var textModel       = visualElementModel as TextModel;
                var imageModel      = visualElementModel as ImageModel;

                if (pluginModel != null)
                {
                    workspaceModel.AllPluginModels.Remove(pluginModel);
                }
                if (connectorModel != null)
                {
                    workspaceModel.AllConnectorModels.Remove(connectorModel);
                }
                if (connectionModel != null)
                {
                    workspaceModel.AllConnectionModels.Remove(connectionModel);
                }
                if (textModel != null)
                {
                    workspaceModel.AllTextModels.Remove(textModel);
                }
                if (imageModel != null)
                {
                    workspaceModel.AllImageModels.Remove(imageModel);
                }
                workspaceModel.OnDeletedChildElement(visualElementModel);
            }
        }