public ExtensionModelBrowserWidget()
        {
            this.Build();
            NodeBuilder[] builders = new NodeBuilder [] {
                new ExtensionNodeBuilder(),
                new ExtensionNodeNodeBuilder(),
                new ExtensionPointNodeBuilder(),
                new AddinNodeBuilder(),
                new SolutionNodeBuilder(true),
                new RegistryNodeBuilder(),
                new AddinCategoryNodeBuilder(),
                new MonoDevelop.Ide.Gui.Pads.ProjectPad.WorkspaceNodeBuilder(),
                new MonoDevelop.Ide.Gui.Pads.ProjectPad.SolutionFolderNodeBuilder()
            };
            TreePadOption[] options = new TreePadOption [] {
                new TreePadOption("ShowExistingNodes", GettextCatalog.GetString("Show existing nodes"), true)
            };

            tree = new ExtensibleTreeView(builders, options);
            tree.ShowAll();
            paned.Add1(tree);

            foreach (Solution sol in IdeApp.Workspace.GetAllSolutions())
            {
                AddSolution(sol);
            }

            docView = new Gtk.Label();
            paned.Add2(docView);

            tree.ShadowType              = Gtk.ShadowType.In;
            tree.Tree.Selection.Changed += HandleSelectionChanged;

            AddinAuthoringService.RegistryChanged  += OnRegistryChanged;
            IdeApp.Workspace.WorkspaceItemLoaded   += OnSolutionLoaded;
            IdeApp.Workspace.WorkspaceItemUnloaded += OnSolutionUnloaded;
        }