private void goToClassToolStripMenuItem_Click(object sender, EventArgs e) { using (var csf = new ClassSelectionForm(currentProject.Classes.OrderBy(c => c.Name))) { if (csf.ShowDialog() == DialogResult.OK) { var selectedClassNode = csf.SelectedClass; if (selectedClassNode != null) { projectView.SelectedClass = selectedClassNode; } } } }
private void memoryViewControl_ChangeClassTypeClick(object sender, NodeClickEventArgs e) { var classes = CurrentProject.Classes.OrderBy(c => c.Name); if (e.Node is FunctionNode functionNode) { var noneClass = new ClassNode(false) { Name = "None" }; using (var csf = new ClassSelectionForm(noneClass.Yield().Concat(classes))) { if (csf.ShowDialog() == DialogResult.OK) { var selectedClassNode = csf.SelectedClass; if (selectedClassNode != null) { if (selectedClassNode == noneClass) { selectedClassNode = null; } functionNode.BelongsToClass = selectedClassNode; } } } } else if (e.Node is BaseWrapperNode refNode) { using (var csf = new ClassSelectionForm(classes)) { if (csf.ShowDialog() == DialogResult.OK) { var selectedClassNode = csf.SelectedClass; if (refNode.CanChangeInnerNodeTo(selectedClassNode)) { if (!refNode.GetRootWrapperNode().ShouldPerformCycleCheckForInnerNode() || IsCycleFree(e.Node.GetParentClass(), selectedClassNode)) { refNode.ChangeInnerNode(selectedClassNode); } } } } } }