void LoadFile() { string path = Path.Combine(Application.StartupPath, "savegame.xml"); FDocument.Load(path); XmlNode host; XmlAttribute attr; string[] nodename; char[] separator = { '|' }; host = FDocument.SelectSingleNode(@"//HOST"); if (host != null) { //restore window attr = host.Attributes.GetNamedItem("windowleft") as XmlAttribute; if (attr != null) { this.Left = Convert.ToInt32(attr.Value); } attr = host.Attributes.GetNamedItem("windowtop") as XmlAttribute; if (attr != null) { this.Top = Convert.ToInt32(attr.Value); } attr = host.Attributes.GetNamedItem("windowwidth") as XmlAttribute; if (attr != null) { this.Width = Convert.ToInt32(attr.Value); } attr = host.Attributes.GetNamedItem("windowheight") as XmlAttribute; if (attr != null) { this.Height = Convert.ToInt32(attr.Value); } foreach (XmlNode plugin in host.ChildNodes) { attr = plugin.LastChild.Attributes.GetNamedItem("nodename") as XmlAttribute; nodename = attr.Value.Split(separator); if (System.IO.File.Exists(nodename[0])) { PluginPage pp = AddPlugin(nodename[0], nodename[1]); System.Diagnostics.Debug.WriteLine("Loading From XML"); pp.LoadFromXML(plugin); } } //select saved tabindex attr = host.Attributes.GetNamedItem("selectedtab") as XmlAttribute; if ((attr != null) && (PluginTabs != null)) { PluginTabs.SelectedIndex = Convert.ToInt32(attr.Value); } } }
public PluginPage AddPlugin(string Path, string ClassName) { //if this is the first plugin, simply put it on the panel PluginPage pp = new PluginPage(); pp.Dock = DockStyle.Fill; if (FPluginCount == 0) { pp.Parent = MainPanel; } else { TabPage tab; //if not yet there, create the TabControl if (PluginTabs == null) { PluginTabs = new TabControl(); PluginTabs.MouseClick += PluginTabsMouseClick; PluginTabs.SelectedIndexChanged += PluginTabsSelectedIndexChanged; PluginTabs.Parent = MainPanel; PluginTabs.Dock = DockStyle.Fill; //move first plugin to TabPage tab = new TabPage(); MainPanel.Controls[0].Parent = tab; tab.Text = (tab.Controls[0] as PluginPage).NodeInfoName; PluginTabs.TabPages.Add(tab); } tab = new TabPage(); PluginTabs.TabPages.Add(tab); pp.Parent = tab; //tab.Height = PluginPages.Height; //initializing PluginTabs.SelectedIndex = PluginTabs.TabPages.Count - 1; } //if this is an additional plugin (to the first) //create a TabPage and put allplugins there //AddPluginPage(FPlugins[PlugIndex].Path, FPlugins[PlugIndex].ClassName); pp.LoadPlugin(Path, ClassName); if (PluginTabs != null) { PluginTabs.TabPages[PluginTabs.SelectedIndex].Text = pp.NodeInfoName; } this.Text = pp.NodeInfoName + "SA"; FPluginCount++; return(pp); }
private PluginPage AddPluginPage(string Path, string ClassName) { TabPage tab = new TabPage(); tab.Text = ClassName; PluginTabs.TabPages.Add(tab); tab.Height = PluginTabs.Height; //initializing PluginTabs.SelectedIndex = PluginTabs.TabPages.Count - 1; PluginPage pp = new PluginPage(); pp.Parent = tab; pp.Dock = DockStyle.Fill; pp.LoadPlugin(Path, ClassName); this.Text = pp.NodeInfoName + "SA"; return(pp); }