Example #1
0
        public void Execute()
        {
            if (nsNodeCreator != null)
            {
                typeNode.OnBeforeRemoved();
                bool b = origParentChildIndex < origParentNode.Children.Count && origParentNode.Children[origParentChildIndex] == typeNode;
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                origParentNode.Children.RemoveAt(origParentChildIndex);
                newOptions.CopyTo(typeNode.TypeDefinition, module);

                nsNodeCreator.Add();
                nsNodeCreator.NamespaceTreeNode.AddToChildren(typeNode);
                typeNode.OnReadded();
            }
            else if (nameChanged)
            {
                typeNode.OnBeforeRemoved();
                bool b = origParentChildIndex < origParentNode.Children.Count && origParentNode.Children[origParentChildIndex] == typeNode;
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                origParentNode.Children.RemoveAt(origParentChildIndex);
                newOptions.CopyTo(typeNode.TypeDefinition, module);

                origParentNode.AddToChildren(typeNode);
                typeNode.OnReadded();
            }
            else
            {
                newOptions.CopyTo(typeNode.TypeDefinition, module);
            }
            if (typeRefInfos != null)
            {
                foreach (var info in typeRefInfos)
                {
                    info.TypeRef.Namespace = typeNode.TypeDefinition.Namespace;
                    info.TypeRef.Name      = typeNode.TypeDefinition.Name;
                }
            }
            typeNode.RaiseUIPropsChanged();
            typeNode.InvalidateInterfacesNode();
        }
Example #2
0
        public void Undo()
        {
            if (nsNodeCreator != null)
            {
                typeNode.OnBeforeRemoved();
                bool b = nsNodeCreator.NamespaceTreeNode.Children.Remove(typeNode);
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                nsNodeCreator.Remove();

                origOptions.CopyTo(typeNode.TypeDef, module);
                origParentNode.Children.Insert(origParentChildIndex, typeNode);
                typeNode.OnReadded();
            }
            else if (nameChanged)
            {
                typeNode.OnBeforeRemoved();
                bool b = origParentNode.Children.Remove(typeNode);
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }

                origOptions.CopyTo(typeNode.TypeDef, module);
                origParentNode.Children.Insert(origParentChildIndex, typeNode);
                typeNode.OnReadded();
            }
            else
            {
                origOptions.CopyTo(typeNode.TypeDef, module);
            }
            if (typeRefInfos != null)
            {
                foreach (var info in typeRefInfos)
                {
                    info.TypeRef.Namespace = info.OrigNamespace;
                    info.TypeRef.Name      = info.OrigName;
                }
            }
            typeNode.RaiseUIPropsChanged();
            typeNode.InvalidateInterfacesNode();
        }
Example #3
0
        public void Execute()
        {
            if (nsNodeCreator != null)
            {
                bool b = origParentChildIndex < origParentNode.TreeNode.Children.Count && origParentNode.TreeNode.Children[origParentChildIndex] == typeNode.TreeNode;
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                origParentNode.TreeNode.Children.RemoveAt(origParentChildIndex);
                newOptions.CopyTo(typeNode.TypeDef, module);

                nsNodeCreator.Add();
                nsNodeCreator.NamespaceNode.TreeNode.AddChild(typeNode.TreeNode);
            }
            else if (nameChanged)
            {
                bool b = origParentChildIndex < origParentNode.TreeNode.Children.Count && origParentNode.TreeNode.Children[origParentChildIndex] == typeNode.TreeNode;
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                origParentNode.TreeNode.Children.RemoveAt(origParentChildIndex);
                newOptions.CopyTo(typeNode.TypeDef, module);

                origParentNode.TreeNode.AddChild(typeNode.TreeNode);
            }
            else
            {
                newOptions.CopyTo(typeNode.TypeDef, module);
            }
            if (typeRefInfos != null)
            {
                foreach (var info in typeRefInfos)
                {
                    info.TypeRef.Namespace = typeNode.TypeDef.Namespace;
                    info.TypeRef.Name      = typeNode.TypeDef.Name;
                }
            }
            typeNode.TreeNode.RefreshUI();
            InvalidateBaseTypeFolderNode(typeNode);
        }
Example #4
0
        public void Undo()
        {
            if (nsNodeCreator != null)
            {
                bool b = nsNodeCreator.NamespaceNode.TreeNode.Children.Remove(typeNode.TreeNode);
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                nsNodeCreator.Remove();

                origOptions.CopyTo(typeNode.TypeDef, module);
                origParentNode.TreeNode.Children.Insert(origParentChildIndex, typeNode.TreeNode);
            }
            else if (nameChanged)
            {
                bool b = origParentNode.TreeNode.Children.Remove(typeNode.TreeNode);
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }

                origOptions.CopyTo(typeNode.TypeDef, module);
                origParentNode.TreeNode.Children.Insert(origParentChildIndex, typeNode.TreeNode);
            }
            else
            {
                origOptions.CopyTo(typeNode.TypeDef, module);
            }
            if (typeRefInfos != null)
            {
                foreach (var info in typeRefInfos)
                {
                    info.TypeRef.Namespace = info.OrigNamespace;
                    info.TypeRef.Name      = info.OrigName;
                }
            }
            typeNode.TreeNode.RefreshUI();
            InvalidateBaseTypeFolderNode(typeNode);
        }