private void RenderCell(Gtk.TreeViewColumn column, Gtk.CellRenderer cellRenderer, Gtk.TreeModel model, Gtk.TreeIter iter) { ExpandingCellRenderer expandedCellRenderer = cellRenderer as ExpandingCellRenderer; expandedCellRenderer.Expanded = (bool)model.GetValue(iter, (int)Columns.IsExpanded); expandedCellRenderer.TransactionItem = (TransactionItem)model.GetValue(iter, (int)Columns.Data); }
private void CreateList() { list = new TreeView(listStore); list.RulesHint = true; //alternating colors list.Selection.Mode = SelectionMode.Single; list.Selection.Changed += OnSelectionChanged; list.BorderWidth = 0; list.HeadersVisible = false; list.ModifyBase(Gtk.StateType.Active, Constants.Colors.Base.Gdk); list.ModifyBase(Gtk.StateType.Selected, Constants.Colors.Base.Gdk); list.ModifyBase(Gtk.StateType.Normal, Constants.Colors.Base.Gdk); Gtk.TreeViewColumn col = new Gtk.TreeViewColumn(); ExpandingCellRenderer renderer = new ExpandingCellRenderer(); col.PackStart(renderer, true); col.SetCellDataFunc(renderer, new Gtk.TreeCellDataFunc(RenderCell)); col.MinWidth = 130; list.AppendColumn(col); }