private void renameToolStripMenuItem_Click(object sender, EventArgs e) { try { if (projectExplorerBox.SelectedItem == null || OpenedProject == null) { return; } string methodName = projectExplorerBox.SelectedItem.ToString().Remove(0, "Module ".Length); string newname = methodName; if (codeTabControl.TabPages.ContainsKey(methodName)) { TabPage pg = codeTabControl.TabPages[codeTabControl.TabPages.IndexOfKey(methodName)]; foreach (Control a in pg.Controls) { a.LostFocus -= codeTextBox_Leave; } pg.Focus(); } if (InputBox.ShowDialog("Changing method name", "Input new name", ref newname) == DialogResult.OK) { if (methodName.ToUpper() == "MAIN") { if (newname.ToUpper() != "MAIN") { MessageBox.Show("Main method must be called as 'Main'"); return; } else { OpenedProject.RenameMethod(methodName, newname); } } else { OpenedProject.RenameMethod(methodName, newname); } projectExplorerBox.Items.Clear(); foreach (var k in OpenedProject.FileNames) { projectExplorerBox.Items.Add("Module " + k.Key); } if (codeTabControl.TabPages.ContainsKey(methodName)) { codeTabControl.TabPages.RemoveByKey(methodName); OpenTab(newname); } foreach (TabPage a in codeTabControl.TabPages) { LoadCodeToTab(a); } } } catch (Exception exp) { MessageBox.Show(exp.Message); } }
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e) { try { if (codeTabControl.TabCount == 0) { return; } string name = codeTabControl.SelectedTab.Name; if (name.Length != 1 || !OpenedProject.Sources.ContainsKey(name)) { return; } bool success; string oldName = name; string path = ChooseMethodNameAndPath(ref name, out success); if (success) { OpenedProject.RenameMethod(oldName, name); OpenedProject.FileNames[name] = path; projectExplorerBox.Items.Clear(); foreach (var k in OpenedProject.FileNames) { projectExplorerBox.Items.Add("Module " + k.Key); } codeTabControl.TabPages.RemoveAt(codeTabControl.SelectedIndex); foreach (TabPage a in codeTabControl.TabPages) { this.LoadCodeToTab(a); } this.OpenTab(name); OpenedProject.SaveFile(name); } } catch (Exception exc) { MessageBox.Show(exc.Message); } }