private void SetNode(ClassInfoTreeNode node) { #region if (node.JInfo is JClassInfo) { ClassCodeGenerator.GenerateClassCode((JClassInfo)node.JInfo, _declareOption, _formatString); node.ClassCode = ((JClassInfo)node.JInfo).ClassCode; foreach (JInfo item in ((JClassInfo)node.JInfo).Properties) { if (item is JClassInfo || item is JArrayInfo) { ClassInfoTreeNode childNode = new ClassInfoTreeNode(item); node.Nodes.Add(childNode); SetNode(childNode); } } } else if (node.JInfo is JArrayInfo) { foreach (JClassInfo item in ((JArrayInfo)node.JInfo).ClassTypes) { ClassInfoTreeNode childNode = new ClassInfoTreeNode(item); node.Nodes.Add(childNode); SetNode(childNode); } } #endregion }
private void usc_CodeViewer_RenameButtonClicked(object sender, RenameButtonClickedEventArgs e) { ClassInfoTreeNode node = e.SelectedNode; if (node.JInfo is JArrayInfo) { return; } ClassInfoTreeNode parent = (ClassInfoTreeNode)node.Parent; InputBox inputBox = new InputBox(); if (inputBox.ShowDialog() != DialogResult.OK) { return; } string inputString = inputBox.InputString; node.JInfo.Type = inputString; if (parent != null) { SetParentClassCode(parent, inputString); } node.Text = node.JInfo.ToString(); ClassCodeGenerator.GenerateClassCode((JClassInfo)node.JInfo, _declareOption, _formatString); node.ClassCode = ((JClassInfo)node.JInfo).ClassCode; usc_CodeViewer.SetCodeText(node.ClassCode); }
private void SetParentClassCode(ClassInfoTreeNode parent, string inputString) { JInfo parentInfo = parent.JInfo; if (parentInfo is JArrayInfo) { if (((JArrayInfo)parentInfo).GenericType != SharpType.Object) { ((JArrayInfo)parentInfo).GenericType = inputString; ((JArrayInfo)parentInfo).SetType(); } parent.Text = parentInfo.ToString(); ClassCodeGenerator.GenerateClassCode((JClassInfo)((ClassInfoTreeNode)parent.Parent).JInfo, _declareOption, _formatString); parent.ClassCode = ((JClassInfo)((ClassInfoTreeNode)parent.Parent).JInfo).ClassCode; } else { ClassCodeGenerator.GenerateClassCode((JClassInfo)parentInfo, _declareOption, _formatString); parent.ClassCode = ((JClassInfo)parentInfo).ClassCode; } }