public List <FormREM> OpenREMSubfilesList() { List <FormREM> list = new List <FormREM>(remSubfilesList.SelectedItems.Count); foreach (ListViewItem item in remSubfilesList.SelectedItems) { IWriteFile writeFile = (IWriteFile)item.Tag; FormREM formREM = (FormREM)Gui.Scripting.RunScript(FormVariable + ".OpenREMSubfile(name=\"" + writeFile.Name + "\")", false); if (formREM != null) { formREM.Activate(); list.Add(formREM); } } return(list); }
public FormREM OpenREMSubfile(string name) { try { DockContent child; if (!ChildForms.TryGetValue(name, out child)) { string childParserVar; if (!ChildParserVars.TryGetValue(name, out childParserVar)) { childParserVar = Gui.Scripting.GetNextVariable("remParser"); Gui.Scripting.RunScript(childParserVar + " = OpenREM(parser=" + ParserVar + ", name=\"" + name + "\")"); Gui.Scripting.RunScript(EditorVar + ".ReplaceSubfile(file=" + childParserVar + ")"); ChildParserVars.Add(name, childParserVar); foreach (ListViewItem item in remSubfilesList.Items) { if (((IWriteFile)item.Tag).Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)) { item.Font = new Font(item.Font, FontStyle.Bold); remSubfilesList.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); break; } } } child = new FormREM(Editor.Parser, childParserVar); child.FormClosing += new FormClosingEventHandler(ChildForms_FormClosing); child.Tag = name; ChildForms.Add(name, child); } return(child as FormREM); } catch (Exception ex) { Utility.ReportException(ex); return(null); } }