void HandleTreeview1CursorChanged(object sender, EventArgs e) { TreeIter i = new TreeIter(); if (this.treeview1.Selection.GetSelected(out i)) { TreePath tp = store.GetPath(i); string name = (string)store.GetValue(i, 0); this.statusbar1.Push(0, tp.ToString()); string tpath = tp.ToString(); string[] parts = tpath.Split(new char[] { ':' }); int ident = int.Parse(parts[0]); switch (ident) { case 0: // origins OriginDefinition o = this.session.FindOrigin(name); if (o != null) { this.viewport1.Remove(this.viewport1.Child); this.viewport1.Add(new Gui.OriginView(this.session, o)); this.viewport1.ShowAll(); } break; default: this.viewport1.Remove(this.viewport1.Child); this.viewport1.Add(new Label("Battle")); this.viewport1.ShowAll(); break; } } }
public static List <OriginDefinition> LoadOrigins(string xmlfile) { List <OriginDefinition> origins = new List <OriginDefinition>(); XPathDocument doc = new XPathDocument(xmlfile); XPathNavigator nav = doc.CreateNavigator(); foreach (XPathNavigator n in nav.Select("/battle/origins/origin")) { string name = n.GetAttribute("name", ""); string descr = n.GetAttribute("description", ""); OriginDefinition d = new OriginDefinition(); d.Name = name; d.Description = descr; foreach (XPathNavigator n2 in n.Select("provides")) { d.Provide(n2.GetAttribute("value", "")); } foreach (XPathNavigator n3 in n.Select("requires")) { d.Require(n3.GetAttribute("value", "")); } origins.Add(d); } return(origins); }