diff --git a/ICSharpCode.NRefactory.Demo/ICSharpCode.NRefactory.Demo.csproj b/ICSharpCode.NRefactory.Demo/ICSharpCode.NRefactory.Demo.csproj index 7c19b9bca4..f86c3cfb88 100644 --- a/ICSharpCode.NRefactory.Demo/ICSharpCode.NRefactory.Demo.csproj +++ b/ICSharpCode.NRefactory.Demo/ICSharpCode.NRefactory.Demo.csproj @@ -40,6 +40,10 @@ + + + CSDemo.cs + Form @@ -60,6 +64,9 @@ + + CSDemo.cs + MainForm.cs diff --git a/ICSharpCode.NRefactory.Demo/MainForm.Designer.cs b/ICSharpCode.NRefactory.Demo/MainForm.Designer.cs index d51df63467..e99509be85 100644 --- a/ICSharpCode.NRefactory.Demo/MainForm.Designer.cs +++ b/ICSharpCode.NRefactory.Demo/MainForm.Designer.cs @@ -30,26 +30,29 @@ namespace ICSharpCode.NRefactory.Demo /// private void InitializeComponent() { + this.miniToolStrip = new System.Windows.Forms.ToolStrip(); this.tabPage1 = new System.Windows.Forms.TabPage(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.csharpCodeTextBox = new System.Windows.Forms.TextBox(); - this.resolveButton = new System.Windows.Forms.Button(); - this.csharpTreeView = new System.Windows.Forms.TreeView(); - this.csharpGenerateCodeButton = new System.Windows.Forms.Button(); - this.csharpParseButton = new System.Windows.Forms.Button(); this.tabControl1 = new System.Windows.Forms.TabControl(); - this.miniToolStrip = new System.Windows.Forms.ToolStrip(); + this.csDemo1 = new ICSharpCode.NRefactory.Demo.CSDemo(); this.tabPage1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); this.tabControl1.SuspendLayout(); this.SuspendLayout(); // + // miniToolStrip + // + this.miniToolStrip.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.miniToolStrip.AutoSize = false; + this.miniToolStrip.CanOverflow = false; + this.miniToolStrip.Dock = System.Windows.Forms.DockStyle.None; + this.miniToolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.miniToolStrip.Location = new System.Drawing.Point(13, 3); + this.miniToolStrip.Name = "miniToolStrip"; + this.miniToolStrip.Size = new System.Drawing.Size(16, 25); + this.miniToolStrip.TabIndex = 3; + // // tabPage1 // - this.tabPage1.Controls.Add(this.splitContainer1); + this.tabPage1.Controls.Add(this.csDemo1); this.tabPage1.Location = new System.Drawing.Point(4, 22); this.tabPage1.Name = "tabPage1"; this.tabPage1.Padding = new System.Windows.Forms.Padding(3); @@ -58,91 +61,6 @@ namespace ICSharpCode.NRefactory.Demo this.tabPage1.Text = "C#"; this.tabPage1.UseVisualStyleBackColor = true; // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.Location = new System.Drawing.Point(3, 3); - this.splitContainer1.Name = "splitContainer1"; - this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.csharpCodeTextBox); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.resolveButton); - this.splitContainer1.Panel2.Controls.Add(this.csharpTreeView); - this.splitContainer1.Panel2.Controls.Add(this.csharpGenerateCodeButton); - this.splitContainer1.Panel2.Controls.Add(this.csharpParseButton); - this.splitContainer1.Size = new System.Drawing.Size(501, 452); - this.splitContainer1.SplitterDistance = 201; - this.splitContainer1.TabIndex = 0; - // - // csharpCodeTextBox - // - this.csharpCodeTextBox.AcceptsReturn = true; - this.csharpCodeTextBox.AcceptsTab = true; - this.csharpCodeTextBox.Dock = System.Windows.Forms.DockStyle.Fill; - this.csharpCodeTextBox.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.csharpCodeTextBox.HideSelection = false; - this.csharpCodeTextBox.Location = new System.Drawing.Point(0, 0); - this.csharpCodeTextBox.Multiline = true; - this.csharpCodeTextBox.Name = "csharpCodeTextBox"; - this.csharpCodeTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.csharpCodeTextBox.Size = new System.Drawing.Size(501, 201); - this.csharpCodeTextBox.TabIndex = 0; - this.csharpCodeTextBox.Text = "using System;\r\nclass Test\r\n{\r\n public void Main(string[] args)\r\n {\r\n " + - " Console.WriteLine(\"Hello, World\");\r\n }\r\n}"; - this.csharpCodeTextBox.WordWrap = false; - this.csharpCodeTextBox.TextChanged += new System.EventHandler(this.CsharpCodeTextBoxTextChanged); - this.csharpCodeTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.CSharpCodeTextBoxKeyDown); - // - // resolveButton - // - this.resolveButton.Anchor = System.Windows.Forms.AnchorStyles.Top; - this.resolveButton.Location = new System.Drawing.Point(200, 3); - this.resolveButton.Name = "resolveButton"; - this.resolveButton.Size = new System.Drawing.Size(100, 23); - this.resolveButton.TabIndex = 3; - this.resolveButton.Text = "Resolve"; - this.resolveButton.UseVisualStyleBackColor = true; - this.resolveButton.Click += new System.EventHandler(this.ResolveButtonClick); - // - // csharpTreeView - // - this.csharpTreeView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.csharpTreeView.HideSelection = false; - this.csharpTreeView.Location = new System.Drawing.Point(3, 32); - this.csharpTreeView.Name = "csharpTreeView"; - this.csharpTreeView.Size = new System.Drawing.Size(493, 212); - this.csharpTreeView.TabIndex = 2; - this.csharpTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.CSharpTreeViewAfterSelect); - // - // csharpGenerateCodeButton - // - this.csharpGenerateCodeButton.Anchor = System.Windows.Forms.AnchorStyles.Top; - this.csharpGenerateCodeButton.Location = new System.Drawing.Point(306, 2); - this.csharpGenerateCodeButton.Name = "csharpGenerateCodeButton"; - this.csharpGenerateCodeButton.Size = new System.Drawing.Size(100, 23); - this.csharpGenerateCodeButton.TabIndex = 1; - this.csharpGenerateCodeButton.Text = "Generate"; - this.csharpGenerateCodeButton.UseVisualStyleBackColor = true; - this.csharpGenerateCodeButton.Click += new System.EventHandler(this.CSharpGenerateCodeButtonClick); - // - // csharpParseButton - // - this.csharpParseButton.Anchor = System.Windows.Forms.AnchorStyles.Top; - this.csharpParseButton.Location = new System.Drawing.Point(94, 3); - this.csharpParseButton.Name = "csharpParseButton"; - this.csharpParseButton.Size = new System.Drawing.Size(100, 23); - this.csharpParseButton.TabIndex = 0; - this.csharpParseButton.Text = "Parse"; - this.csharpParseButton.UseVisualStyleBackColor = true; - this.csharpParseButton.Click += new System.EventHandler(this.CSharpParseButtonClick); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -153,17 +71,13 @@ namespace ICSharpCode.NRefactory.Demo this.tabControl1.Size = new System.Drawing.Size(515, 484); this.tabControl1.TabIndex = 0; // - // miniToolStrip + // csDemo1 // - this.miniToolStrip.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.miniToolStrip.AutoSize = false; - this.miniToolStrip.CanOverflow = false; - this.miniToolStrip.Dock = System.Windows.Forms.DockStyle.None; - this.miniToolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; - this.miniToolStrip.Location = new System.Drawing.Point(13, 3); - this.miniToolStrip.Name = "miniToolStrip"; - this.miniToolStrip.Size = new System.Drawing.Size(16, 25); - this.miniToolStrip.TabIndex = 3; + this.csDemo1.Dock = System.Windows.Forms.DockStyle.Fill; + this.csDemo1.Location = new System.Drawing.Point(3, 3); + this.csDemo1.Name = "csDemo1"; + this.csDemo1.Size = new System.Drawing.Size(501, 452); + this.csDemo1.TabIndex = 0; // // MainForm // @@ -174,21 +88,11 @@ namespace ICSharpCode.NRefactory.Demo this.Name = "MainForm"; this.Text = "NRefactory Demo"; this.tabPage1.ResumeLayout(false); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel1.PerformLayout(); - this.splitContainer1.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); - this.splitContainer1.ResumeLayout(false); this.tabControl1.ResumeLayout(false); this.ResumeLayout(false); } - private System.Windows.Forms.Button resolveButton; + private ICSharpCode.NRefactory.Demo.CSDemo csDemo1; private System.Windows.Forms.ToolStrip miniToolStrip; - private System.Windows.Forms.TreeView csharpTreeView; - private System.Windows.Forms.Button csharpParseButton; - private System.Windows.Forms.Button csharpGenerateCodeButton; - private System.Windows.Forms.TextBox csharpCodeTextBox; - private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabControl tabControl1; } diff --git a/ICSharpCode.NRefactory.Demo/MainForm.cs b/ICSharpCode.NRefactory.Demo/MainForm.cs index 285428d8ff..9633a00f12 100644 --- a/ICSharpCode.NRefactory.Demo/MainForm.cs +++ b/ICSharpCode.NRefactory.Demo/MainForm.cs @@ -29,200 +29,6 @@ namespace ICSharpCode.NRefactory.Demo // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); - - csharpCodeTextBox.SelectAll(); - CSharpParseButtonClick(null, null); - resolveButton.UseWaitCursor = true; - ThreadPool.QueueUserWorkItem( - delegate { - builtInLibs.Value.ToString(); - BeginInvoke(new Action(delegate { resolveButton.UseWaitCursor = false; })); - }); - } - - CompilationUnit compilationUnit; - - void CSharpParseButtonClick(object sender, EventArgs e) - { - CSharpParser parser = new CSharpParser(); - compilationUnit = parser.Parse(new StringReader(csharpCodeTextBox.Text)); - csharpTreeView.Nodes.Clear(); - foreach (var element in compilationUnit.Children) { - csharpTreeView.Nodes.Add(MakeTreeNode(element)); - } - SelectCurrentNode(csharpTreeView.Nodes); - resolveButton.Enabled = true; - } - - TreeNode MakeTreeNode(AstNode node) - { - TreeNode t = new TreeNode(GetNodeTitle(node)); - t.Tag = node; - foreach (AstNode child in node.Children) { - t.Nodes.Add(MakeTreeNode(child)); - } - return t; - } - - string GetNodeTitle(AstNode node) - { - StringBuilder b = new StringBuilder(); - b.Append(node.Role.ToString()); - b.Append(": "); - b.Append(node.GetType().Name); - bool hasProperties = false; - foreach (PropertyInfo p in node.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance)) { - if (p.Name == "NodeType" || p.Name == "IsNull") - continue; - if (p.PropertyType == typeof(string) || p.PropertyType.IsEnum || p.PropertyType == typeof(bool)) { - if (!hasProperties) { - hasProperties = true; - b.Append(" ("); - } else { - b.Append(", "); - } - b.Append(p.Name); - b.Append(" = "); - try { - object val = p.GetValue(node, null); - b.Append(val != null ? val.ToString() : "**null**"); - } catch (TargetInvocationException ex) { - b.Append("**" + ex.InnerException.GetType().Name + "**"); - } - } - } - if (hasProperties) - b.Append(")"); - return b.ToString(); - } - - bool SelectCurrentNode(TreeNodeCollection c) - { - int selectionStart = csharpCodeTextBox.SelectionStart; - int selectionEnd = selectionStart + csharpCodeTextBox.SelectionLength; - foreach (TreeNode t in c) { - AstNode node = t.Tag as AstNode; - if (node != null - && selectionStart >= GetOffset(csharpCodeTextBox, node.StartLocation) - && selectionEnd <= GetOffset(csharpCodeTextBox, node.EndLocation)) - { - if (selectionStart == selectionEnd - && (selectionStart == GetOffset(csharpCodeTextBox, node.StartLocation) - || selectionStart == GetOffset(csharpCodeTextBox, node.EndLocation))) - { - // caret is on border of this node; don't expand - csharpTreeView.SelectedNode = t; - } else { - t.Expand(); - if (!SelectCurrentNode(t.Nodes)) - csharpTreeView.SelectedNode = t; - } - return true; - } - } - return false; - } - - void CSharpGenerateCodeButtonClick(object sender, EventArgs e) - { - StringWriter w = new StringWriter(); - OutputVisitor output = new OutputVisitor(w, new CSharpFormattingOptions()); - compilationUnit.AcceptVisitor(output, null); - csharpCodeTextBox.Text = w.ToString(); - } - - int GetOffset(TextBox textBox, AstLocation location) - { - return textBox.GetFirstCharIndexFromLine(location.Line - 1) + location.Column - 1; - } - - void CSharpTreeViewAfterSelect(object sender, TreeViewEventArgs e) - { - AstNode node = e.Node.Tag as AstNode; - if (node != null) { - int startOffset = GetOffset(csharpCodeTextBox, node.StartLocation); - int endOffset = GetOffset(csharpCodeTextBox, node.EndLocation); - csharpCodeTextBox.Select(startOffset, endOffset - startOffset); - } - } - - Lazy> builtInLibs = new Lazy>( - delegate { - Assembly[] assemblies = { - typeof(object).Assembly, // mscorlib - typeof(Uri).Assembly, // System.dll - typeof(System.Linq.Enumerable).Assembly, // System.Core.dll -// typeof(System.Xml.XmlDocument).Assembly, // System.Xml.dll -// typeof(System.Drawing.Bitmap).Assembly, // System.Drawing.dll -// typeof(Form).Assembly, // System.Windows.Forms.dll - typeof(ICSharpCode.NRefactory.TypeSystem.IProjectContent).Assembly, - }; - IProjectContent[] projectContents = new IProjectContent[assemblies.Length]; - Stopwatch total = Stopwatch.StartNew(); - Parallel.For( - 0, assemblies.Length, - delegate (int i) { - Stopwatch w = Stopwatch.StartNew(); - CecilLoader loader = new CecilLoader(); - projectContents[i] = loader.LoadAssemblyFile(assemblies[i].Location); - Debug.WriteLine(Path.GetFileName(assemblies[i].Location) + ": " + w.Elapsed); - }); - Debug.WriteLine("Total: " + total.Elapsed); - return projectContents; - }); - - void ResolveButtonClick(object sender, EventArgs e) - { - SimpleProjectContent project = new SimpleProjectContent(); - TypeSystemConvertVisitor convertVisitor = new TypeSystemConvertVisitor(project, "dummy.cs"); - compilationUnit.AcceptVisitor(convertVisitor, null); - project.UpdateProjectContent(null, convertVisitor.ParsedFile.TopLevelTypeDefinitions, null, null); - - List projects = new List(); - projects.Add(project); - projects.AddRange(builtInLibs.Value); - - using (var context = new CompositeTypeResolveContext(projects).Synchronize()) { - CSharpResolver resolver = new CSharpResolver(context); - - IResolveVisitorNavigator navigator = null; - if (csharpTreeView.SelectedNode != null) { - navigator = new NodeListResolveVisitorNavigator(new[] { (AstNode)csharpTreeView.SelectedNode.Tag }); - } - ResolveVisitor visitor = new ResolveVisitor(resolver, convertVisitor.ParsedFile, navigator); - visitor.Scan(compilationUnit); - csharpTreeView.BeginUpdate(); - ShowResolveResultsInTree(csharpTreeView.Nodes, visitor); - csharpTreeView.EndUpdate(); - } - } - - void ShowResolveResultsInTree(TreeNodeCollection c, ResolveVisitor v) - { - foreach (TreeNode t in c) { - AstNode node = t.Tag as AstNode; - if (node != null) { - ResolveResult rr = v.GetResolveResult(node); - if (rr != null) - t.Text = GetNodeTitle(node) + " " + rr.ToString(); - else - t.Text = GetNodeTitle(node); - } - ShowResolveResultsInTree(t.Nodes, v); - } - } - - void CSharpCodeTextBoxKeyDown(object sender, KeyEventArgs e) - { - if (e.Control && e.KeyCode == Keys.A) { - e.Handled = true; - csharpCodeTextBox.SelectAll(); - } - } - - void CsharpCodeTextBoxTextChanged(object sender, EventArgs e) - { - resolveButton.Enabled = false; } } } diff --git a/ICSharpCode.NRefactory.Demo/VBAstView.cs b/ICSharpCode.NRefactory.Demo/VBAstView.cs index 42be32e73b..a6e6f58aa5 100644 --- a/ICSharpCode.NRefactory.Demo/VBAstView.cs +++ b/ICSharpCode.NRefactory.Demo/VBAstView.cs @@ -39,89 +39,89 @@ namespace ICSharpCode.NRefactory.Demo InitializeComponent(); } - public void DeleteSelectedNode() - { - if (tree.SelectedNode is ElementNode) { - INode element = (tree.SelectedNode as ElementNode).element; - if (tree.SelectedNode.Parent is CollectionNode) { - if (MessageBox.Show("Remove selected node from parent collection?", "Remove node", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - == DialogResult.Yes) - { - IList col = (tree.SelectedNode.Parent as CollectionNode).collection; - col.Remove(element); - (tree.SelectedNode.Parent as CollectionNode).Update(); - } - } else if (tree.SelectedNode.Parent is ElementNode) { - if (MessageBox.Show("Set selected property to null?", "Remove node", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - == DialogResult.Yes) - { - // get parent element - element = (tree.SelectedNode.Parent as ElementNode).element; - string propertyName = (string)tree.SelectedNode.Tag; - element.GetType().GetProperty(propertyName).SetValue(element, null, null); - (tree.SelectedNode.Parent as ElementNode).Update(); - } - } - } else if (tree.SelectedNode is CollectionNode) { - if (MessageBox.Show("Remove all elements from selected collection?", "Clear collection", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - == DialogResult.Yes) - { - IList col = (tree.SelectedNode as CollectionNode).collection; - col.Clear(); - (tree.SelectedNode as CollectionNode).Update(); - } - } - } - - public void EditSelectedNode() - { - TreeNode node = tree.SelectedNode; - while (!(node is ElementNode)) { - if (node == null) { - return; - } - node = node.Parent; - } - INode element = ((ElementNode)node).element; - using (VBEditDialog dlg = new VBEditDialog(element)) { - dlg.ShowDialog(); - } - ((ElementNode)node).Update(); - } - - public void ApplyTransformation(IAstVisitor visitor) - { - if (tree.SelectedNode == tree.Nodes[0]) { - unit.AcceptVisitor(visitor, null); - UpdateTree(); - } else { - string name = visitor.GetType().Name; - ElementNode elementNode = tree.SelectedNode as ElementNode; - CollectionNode collectionNode = tree.SelectedNode as CollectionNode; - if (elementNode != null) { - if (MessageBox.Show(("Apply " + name + " to selected element '" + elementNode.Text + "'?"), - "Apply transformation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - == DialogResult.Yes) - { - elementNode.element.AcceptVisitor(visitor, null); - elementNode.Update(); - } - } else if (collectionNode != null) { - if (MessageBox.Show(("Apply " + name + " to all elements in selected collection '" + collectionNode.Text + "'?"), - "Apply transformation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) - == DialogResult.Yes) - { - foreach (TreeNode subNode in collectionNode.Nodes) { - if (subNode is ElementNode) { - (subNode as ElementNode).element.AcceptVisitor(visitor, null); - } - } - collectionNode.Update(); - } - } - } - } - +// public void DeleteSelectedNode() +// { +// if (tree.SelectedNode is ElementNode) { +// INode element = (tree.SelectedNode as ElementNode).element; +// if (tree.SelectedNode.Parent is CollectionNode) { +// if (MessageBox.Show("Remove selected node from parent collection?", "Remove node", MessageBoxButtons.YesNo, MessageBoxIcon.Question) +// == DialogResult.Yes) +// { +// IList col = (tree.SelectedNode.Parent as CollectionNode).collection; +// col.Remove(element); +// (tree.SelectedNode.Parent as CollectionNode).Update(); +// } +// } else if (tree.SelectedNode.Parent is ElementNode) { +// if (MessageBox.Show("Set selected property to null?", "Remove node", MessageBoxButtons.YesNo, MessageBoxIcon.Question) +// == DialogResult.Yes) +// { +// // get parent element +// element = (tree.SelectedNode.Parent as ElementNode).element; +// string propertyName = (string)tree.SelectedNode.Tag; +// element.GetType().GetProperty(propertyName).SetValue(element, null, null); +// (tree.SelectedNode.Parent as ElementNode).Update(); +// } +// } +// } else if (tree.SelectedNode is CollectionNode) { +// if (MessageBox.Show("Remove all elements from selected collection?", "Clear collection", MessageBoxButtons.YesNo, MessageBoxIcon.Question) +// == DialogResult.Yes) +// { +// IList col = (tree.SelectedNode as CollectionNode).collection; +// col.Clear(); +// (tree.SelectedNode as CollectionNode).Update(); +// } +// } +// } +// +// public void EditSelectedNode() +// { +// TreeNode node = tree.SelectedNode; +// while (!(node is ElementNode)) { +// if (node == null) { +// return; +// } +// node = node.Parent; +// } +// INode element = ((ElementNode)node).element; +// using (VBEditDialog dlg = new VBEditDialog(element)) { +// dlg.ShowDialog(); +// } +// ((ElementNode)node).Update(); +// } +// +// public void ApplyTransformation(IAstVisitor visitor) +// { +// if (tree.SelectedNode == tree.Nodes[0]) { +// unit.AcceptVisitor(visitor, null); +// UpdateTree(); +// } else { +// string name = visitor.GetType().Name; +// ElementNode elementNode = tree.SelectedNode as ElementNode; +// CollectionNode collectionNode = tree.SelectedNode as CollectionNode; +// if (elementNode != null) { +// if (MessageBox.Show(("Apply " + name + " to selected element '" + elementNode.Text + "'?"), +// "Apply transformation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) +// == DialogResult.Yes) +// { +// elementNode.element.AcceptVisitor(visitor, null); +// elementNode.Update(); +// } +// } else if (collectionNode != null) { +// if (MessageBox.Show(("Apply " + name + " to all elements in selected collection '" + collectionNode.Text + "'?"), +// "Apply transformation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) +// == DialogResult.Yes) +// { +// foreach (TreeNode subNode in collectionNode.Nodes) { +// if (subNode is ElementNode) { +// (subNode as ElementNode).element.AcceptVisitor(visitor, null); +// } +// } +// collectionNode.Update(); +// } +// } +// } +// } +// static TreeNode CreateNode(object child) { if (child == null) { @@ -164,9 +164,9 @@ namespace ICSharpCode.NRefactory.Demo class ElementNode : TreeNode { - internal INode element; + internal AstNode element; - public ElementNode(INode node) + public ElementNode(AstNode node) { this.element = node; Update(); @@ -188,7 +188,7 @@ namespace ICSharpCode.NRefactory.Demo } } - void AddProperties(Type type, INode node) + void AddProperties(Type type, AstNode node) { if (type == typeof(AbstractNode)) return; diff --git a/ICSharpCode.NRefactory.Demo/VBDemo.cs b/ICSharpCode.NRefactory.Demo/VBDemo.cs index d03a968376..46e989d391 100644 --- a/ICSharpCode.NRefactory.Demo/VBDemo.cs +++ b/ICSharpCode.NRefactory.Demo/VBDemo.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.NRefactory.Demo // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); - ParseButtonClick(null, null); + //ParseButtonClick(null, null); } void ParseButtonClick(object sender, EventArgs e) @@ -51,24 +51,5 @@ namespace ICSharpCode.NRefactory.Demo codeView.Text = visitor.Text.Replace("\t", " "); } } - - void ClearSpecialsButtonClick(object sender, EventArgs e) - { - SetSpecials(new ISpecial[0]); - } - - void EditNodeButtonClick(object sender, EventArgs e) - { - syntaxTree.EditSelectedNode(); - } - - void SetSpecials(IList specials) - { - savedSpecials = specials; - if (specials.Count == 1) - clearSpecialsButton.Text = "Clear 1 special"; - else - clearSpecialsButton.Text = "Clear " + specials.Count + " specials"; - } } }