private TreeStore BuildStore(ToolboxModel source) { TreeStore store = new TreeStore(typeof(ToolboxItem)); foreach (ToolboxDrawer drawer in source.Drawers) { TreeIter drawerIter = store.AppendValues(drawer); foreach (ToolboxItem item in drawer.GetContents()) { store.AppendValues(drawerIter, item); } } return(store); }
public GtkToolbox(ToolboxModel source) { this.source = source; CellRendererText nameRenderer = new CellRendererText(); TreeViewColumn nameColumn = new TreeViewColumn(); nameColumn.Title = "Component"; nameColumn.PackStart(nameRenderer, true); nameColumn.SetCellDataFunc(nameRenderer, GetCellData); this.AppendColumn(nameColumn); this.Model = BuildStore(source); this.HeadersVisible = false; this.Selection.Mode = SelectionMode.Single; this.Selection.Changed += HandleSelect; this.RowActivated += HandleActivation; source.ToolboxChangedEvent += UpdateStore; this.ExpandAll(); }