Browse Source

remove code from MainForm in sample

newNRvisualizers
Siegfried Pammer 15 years ago
parent
commit
99d4a8f24b
  1. 7
      ICSharpCode.NRefactory.Demo/ICSharpCode.NRefactory.Demo.csproj
  2. 140
      ICSharpCode.NRefactory.Demo/MainForm.Designer.cs
  3. 194
      ICSharpCode.NRefactory.Demo/MainForm.cs
  4. 172
      ICSharpCode.NRefactory.Demo/VBAstView.cs
  5. 21
      ICSharpCode.NRefactory.Demo/VBDemo.cs

7
ICSharpCode.NRefactory.Demo/ICSharpCode.NRefactory.Demo.csproj

@ -40,6 +40,10 @@ @@ -40,6 +40,10 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CSDemo.cs" />
<Compile Include="CSDemo.Designer.cs">
<DependentUpon>CSDemo.cs</DependentUpon>
</Compile>
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
@ -60,6 +64,9 @@ @@ -60,6 +64,9 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="CSDemo.resx">
<DependentUpon>CSDemo.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>

140
ICSharpCode.NRefactory.Demo/MainForm.Designer.cs generated

@ -30,26 +30,29 @@ namespace ICSharpCode.NRefactory.Demo @@ -30,26 +30,29 @@ namespace ICSharpCode.NRefactory.Demo
/// </summary>
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 @@ -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 @@ -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 @@ -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;
}

194
ICSharpCode.NRefactory.Demo/MainForm.cs

@ -29,200 +29,6 @@ namespace ICSharpCode.NRefactory.Demo @@ -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<IList<IProjectContent>> builtInLibs = new Lazy<IList<IProjectContent>>(
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<ITypeResolveContext> projects = new List<ITypeResolveContext>();
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;
}
}
}

172
ICSharpCode.NRefactory.Demo/VBAstView.cs

@ -39,89 +39,89 @@ namespace ICSharpCode.NRefactory.Demo @@ -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 @@ -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 @@ -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;

21
ICSharpCode.NRefactory.Demo/VBDemo.cs

@ -25,7 +25,7 @@ namespace ICSharpCode.NRefactory.Demo @@ -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 @@ -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<ISpecial> specials)
{
savedSpecials = specials;
if (specials.Count == 1)
clearSpecialsButton.Text = "Clear 1 special";
else
clearSpecialsButton.Text = "Clear " + specials.Count + " specials";
}
}
}

Loading…
Cancel
Save