public DocsTreeView(Gtk.TextView rtv, OurParserTask r) { tv = rtv; AppendColumn("Name", new Gtk.CellRendererText()); AppendColumn("Result", new Gtk.CellRendererPixbuf()); RulesHint = true; Columns[0].SetCellDataFunc(Columns[0].CellRenderers[0], new Gtk.TreeCellDataFunc(RenderName)); Columns[1].SetCellDataFunc(Columns[1].CellRenderers[0], new Gtk.TreeCellDataFunc(RenderIcon)); Columns[0].Expand = true; Gtk.TreeStore mres_store = new Gtk.TreeStore( typeof(IParsed)); Model = mres_store; Selection.Changed += new EventHandler(OnSelection); Gtk.TreeIter iter = new Gtk.TreeIter(); foreach (ParsedDocument doc in r.Docs) { iter = mres_store.AppendValues(doc); foreach (IParsed m in doc.Results) if (m.Result > 0) mres_store.AppendValues(iter, m); } }
static void Main(string[] args) { OurParserTask r = new OurParserTask(Console.In); r.run(); Gtk.Application.Init(); Gtk.Window window = new Gtk.Window("Repodoc - Gtk# frontend"); Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow(); Gtk.TextView tv = new Gtk.TextView(); tv.Editable = false; tv.CursorVisible = false; Pango.FontDescription fontdesc = Pango.FontDescription.FromString("Monospace"); tv.ModifyFont(fontdesc); DocsTreeView t = new DocsTreeView(tv, r); sw.Add(t); Gtk.VPaned vp = new Gtk.VPaned(); vp.BorderWidth = 6; vp.Pack1(sw, true, true); window.Add(vp); Gtk.ScrolledWindow sw2 = new Gtk.ScrolledWindow(); sw2.Add(tv); vp.Pack2(sw2, true, true); window.SetDefaultSize(500, 400); window.DeleteEvent += delete_event; window.ShowAll(); Gtk.Application.Run(); }