public FormXA OpenXASubfile(string name) { DockContent child; if (!ChildForms.TryGetValue(name, out child)) { string childParserVar; if (!ChildParserVars.TryGetValue(name, out childParserVar)) { childParserVar = Gui.Scripting.GetNextVariable("xaParser"); Gui.Scripting.RunScript(childParserVar + " = OpenXA(parser=" + ParserVar + ", name=\"" + name + "\")"); Gui.Scripting.RunScript(EditorVar + ".ReplaceSubfile(file=" + childParserVar + ")"); ChildParserVars.Add(name, childParserVar); foreach (ListViewItem item in xaSubfilesList.Items) { if (((IWriteFile)item.Tag).Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)) { item.Font = new Font(item.Font, FontStyle.Bold); xaSubfilesList.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); break; } } } child = new FormXA(Editor.Parser, childParserVar); child.FormClosing += new FormClosingEventHandler(ChildForms_FormClosing); child.Tag = name; ChildForms.Add(name, child); } return(child as FormXA); }
public List <FormXA> OpenXASubfilesList() { List <FormXA> list = new List <FormXA>(xaSubfilesList.SelectedItems.Count); foreach (ListViewItem item in xaSubfilesList.SelectedItems) { IWriteFile writeFile = (IWriteFile)item.Tag; FormXA formXA = (FormXA)Gui.Scripting.RunScript(FormVariable + ".OpenXASubfile(name=\"" + writeFile.Name + "\")", false); formXA.Activate(); list.Add(formXA); item.Font = new Font(item.Font, FontStyle.Bold); xaSubfilesList.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); } return(list); }