예제 #1
0
        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);
        }
예제 #2
0
        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();
        }