private void Init() { try { TreeViewColumn Column = new TreeViewColumn(); CellRendererText Cell = new CellRendererText(); Column.Title = "Help"; Column.PackStart(Cell, true); Helpnode.AppendColumn(Column); Column.AddAttribute(Cell, "text", 0); Helpnode.Model = table; TreeIter mainiter = new TreeIter(); TreeIter subiter = new TreeIter(); TreeIter subsubiter = new TreeIter(); int id = 0; string attribute = String.Empty; FileStream stream = new FileStream(System.IO.Path.Combine(Directory.GetCurrentDirectory(), "Help/en.xml"), FileMode.Open); XmlTextReader reader = new XmlTextReader(stream); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: id = Convert.ToInt32(reader.GetAttribute("id")); if (id == 0) /*do nothing*/ } { else if (id == 1) { attribute = reader.GetAttribute("title"); mainiter = table.AppendValues(attribute); } else if (id == 2) { attribute = reader.GetAttribute("title"); subiter = table.AppendValues(mainiter, attribute); } else if (id == 3) { attribute = reader.GetAttribute("title"); subsubiter = table.AppendValues(subiter, attribute); } break;
protected void OnHelpnodeCursorChanged(object sender, EventArgs e) { try { TreePath p; TreeViewColumn c; TreeIter iter; Helpnode.GetCursor(out p, out c); if (p != null) { table.GetIter(out iter, Helpnode.Selection.GetSelectedRows()[0]); string title = (string)table.GetValue(iter, 0); string text; if (helptext.TryGetValue(title, out text)) { Helptext.Buffer.Text = text; } else { Helptext.Buffer.Text = "Sorry, couldnĀ“t read helptext"; } } } catch (Exception ex) { ErrorReport.ReportError("Helpnode Cursor Changed", ex); } }