Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }