protected override void addHeaderColumn(VirtualGridHeaderColumn headercolumn) { //throw new Exception("is it used ??"); base.addHeaderColumn(headercolumn); Gtk.TreeViewColumn column = new Gtk.TreeViewColumn(); column.Visible = headercolumn.Visible; column.Title = headercolumn.ColumnName; column.Resizable = true; //Gtk.CellRendererText artistNameCell = new Gtk.CellRendererText(); Gtk.CellRenderer renderer; //Gtk.CellRendererCombo artistNameCell = new Gtk.CellRendererCombo(); if (!String.IsNullOrEmpty(headercolumn.Renderer)) { Type tp = Type.GetType(headercolumn.Renderer); renderer = (Gtk.CellRenderer)Sharpend.Utils.Reflection.createInstance(tp); } else { renderer = new Gtk.CellRendererText(); //renderer = treecellrenderer; } column.PackStart(renderer, true); Tree.AppendColumn(column); String attribute = "text"; if (headercolumn.ColumnType.Equals("Gdk.Pixbuf,gdk-sharp", StringComparison.OrdinalIgnoreCase)) { attribute = "pixbuf"; } if (OnTreeCellData != null) { column.SetCellDataFunc(renderer, OnTreeCellData); } column.AddAttribute(renderer, attribute, HeaderColumns.Count - 1); }
private DatafieldContainer[] createDataFields(String xml, bool fromResource) { XmlDocument doc = getXmlDocument(xml, fromResource); XmlNodeList lst = doc.SelectNodes("//field"); DatafieldContainer[] ret = new DatafieldContainer[lst.Count + 1]; int idx = 0; foreach (XmlNode nd in lst) { String typename = nd.Attributes["type"].Value; IDataField df = createDataField(typename); String title = nd.Attributes["title"].Value; ret[idx] = new DatafieldContainer(df, title, typename); VirtualGridHeaderColumn c = new VirtualGridHeaderColumn(this, title); addHeaderColumn(c); idx++; } //VirtualGridRow ret[idx] = new DatafieldContainer(createDataField("Sharpend.Utils.VirtualGridRow,Sharpend"), "row", "Sharpend.Utils.VirtualGridRow,Sharpend"); return(ret); }