Exemple #1
0
        /// <summary>
        /// Clear all resources used.
        /// </summary>
        new void Dispose()
        {
            // cancel the worker
            if (worker != null && worker.IsBusy && !worker.CancellationPending)
            {
                worker.CancelAsync();
            }
            worker = null;

            // clear all cached data
            if (assembliesCache.Count > 0)
            {
                assembliesCache.Clear();
            }
            assembliesCache = null;

            if (resultList.Count > 0)
            {
                resultList.Clear();
            }
            resultList = null;

            selectDialog = null;
            resolver     = null;

            if (fullItemList.Length > 0)
            {
                Array.Clear(fullItemList, 0, fullItemList.Length);
            }
            fullItemList = null;

            // force a collection to reclam memory
            GC.Collect();
        }
Exemple #2
0
        public COMReferencePanel(ISelectReferenceDialog selectDialog)
        {
            this.selectDialog = selectDialog;

            this.Sorting = SortOrder.Ascending;


            ColumnHeader nameHeader = new ColumnHeader();

            nameHeader.Text  = ResourceService.GetString("Global.Name");
            nameHeader.Width = 240;
            Columns.Add(nameHeader);

            ColumnHeader directoryHeader = new ColumnHeader();

            directoryHeader.Text  = ResourceService.GetString("Global.Path");
            directoryHeader.Width = 200;
            Columns.Add(directoryHeader);

            View          = View.Details;
            Dock          = DockStyle.Fill;
            FullRowSelect = true;

            ItemActivate += delegate { AddReference(); };
        }
Exemple #3
0
 void AddReferences(ISelectReferenceDialog dialog, List <ReferenceProjectItem> references)
 {
     foreach (ReferenceProjectItem reference in references)
     {
         dialog.AddReference(reference.Include, "Gac", reference.FileName, reference);
     }
 }
        public ProjectReferencePanel(ISelectReferenceDialog selectDialog)
        {
            this.selectDialog = selectDialog;

            ColumnHeader nameHeader = new ColumnHeader();
            nameHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.NameHeader");
            nameHeader.Width = 170;
            Columns.Add(nameHeader);

            ColumnHeader directoryHeader = new ColumnHeader();
            directoryHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.DirectoryHeader");
            directoryHeader.Width = 290;
            Columns.Add(directoryHeader);

            View = View.Details;
            Dock = DockStyle.Fill;
            FullRowSelect = true;

            ItemActivate += delegate { AddReference(); };
            PopulateListView();

            Panel upperPanel = new Panel { Dock = DockStyle.Top, Height = 20 };
            filterTextBox = new TextBox { Width = 150, Dock = DockStyle.Right };
            filterTextBox.TextChanged += delegate { Search(); };

            upperPanel.Controls.Add(filterTextBox);

            this.Controls.Add(upperPanel);
        }
Exemple #5
0
        public GacReferencePanel(ISelectReferenceDialog selectDialog)
        {
            listView = new ListView();
            _sorter  = new ColumnSorter();
            listView.ListViewItemSorter = _sorter;

            _selectDialog = selectDialog;

            ColumnHeader referenceHeader = new ColumnHeader();

            referenceHeader.Text  = "Dialog.SelectReferenceDialog.GacReferencePanel.ReferenceHeader";
            referenceHeader.Width = 180;
            listView.Columns.Add(referenceHeader);

            listView.Sorting = SortOrder.Ascending;

            ColumnHeader versionHeader = new ColumnHeader();

            versionHeader.Text  = "Dialog.SelectReferenceDialog.GacReferencePanel.VersionHeader";
            versionHeader.Width = 70;
            listView.Columns.Add(versionHeader);

            ColumnHeader pathHeader = new ColumnHeader();

            pathHeader.Text  = "Global.Path";
            pathHeader.Width = 100;
            listView.Columns.Add(pathHeader);

            listView.View          = View.Details;
            listView.FullRowSelect = true;
            listView.ItemActivate += delegate { AddReference(); };
            listView.ColumnClick  += new ColumnClickEventHandler(columnClick);

            listView.Dock = DockStyle.Fill;
            this.Dock     = DockStyle.Fill;
            this.Controls.Add(listView);

            _chooseSpecificVersionCheckBox      = new CheckBox();
            _chooseSpecificVersionCheckBox.Dock = DockStyle.Top;
            _chooseSpecificVersionCheckBox.Text = "ChooseSpecificAssemblyVersion}";
            this.Controls.Add(_chooseSpecificVersionCheckBox);
            _chooseSpecificVersionCheckBox.CheckedChanged += delegate
            {
                listView.Items.Clear();
                if (_chooseSpecificVersionCheckBox.Checked)
                {
                    listView.Items.AddRange(_fullItemList);
                }
                else
                {
                    listView.Items.AddRange(_shortItemList);
                }
            };

            PrintCache();
        }
		public GacReferencePanel(ISelectReferenceDialog selectDialog)
		{
			listView = new ListView();
			sorter = new ColumnSorter();
			listView.ListViewItemSorter = sorter;
			
			this.selectDialog = selectDialog;
			
			ColumnHeader referenceHeader = new ColumnHeader();
			referenceHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.ReferenceHeader");
			referenceHeader.Width = 240;
			listView.Columns.Add(referenceHeader);
			
			listView.Sorting = SortOrder.Ascending;
			
			ColumnHeader versionHeader = new ColumnHeader();
			versionHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.VersionHeader");
			versionHeader.Width = 120;
			listView.Columns.Add(versionHeader);
			
			listView.View = View.Details;
			listView.FullRowSelect = true;
			listView.ItemActivate += delegate { AddReference(); };
			listView.ColumnClick += new ColumnClickEventHandler(columnClick);
			
			listView.Dock = DockStyle.Fill;
			this.Dock = DockStyle.Fill;
			this.Controls.Add(listView);
			
			Panel upperPanel = new Panel { Dock = DockStyle.Top, Height = 20 };
			
			chooseSpecificVersionCheckBox = new CheckBox();
			chooseSpecificVersionCheckBox.Dock = DockStyle.Left;
			chooseSpecificVersionCheckBox.AutoSize = true;
			chooseSpecificVersionCheckBox.Text = StringParser.Parse("${res:Dialog.SelectReferenceDialog.GacReferencePanel.ChooseSpecificAssemblyVersion}");
			
			chooseSpecificVersionCheckBox.CheckedChanged += delegate {
				ResetList();
				Search();
			};
			
			filterTextBox = new TextBox { Width = 150, Dock = DockStyle.Right };
			filterTextboxToolTip.SetToolTip(filterTextBox, "Search by type name");
			filterTextBox.TextChanged += delegate { Search(); };
			
			IButtonControl defaultButton = null;
			filterTextBox.Enter += delegate { defaultButton = ((Form)selectDialog).AcceptButton; ((Form)selectDialog).AcceptButton = null; };
			filterTextBox.Leave += delegate { ((Form)selectDialog).AcceptButton = defaultButton; };
			
			upperPanel.Controls.Add(chooseSpecificVersionCheckBox);
			upperPanel.Controls.Add(filterTextBox);
			
			this.Controls.Add(upperPanel);
			
			PrintCache();
		}
		public AssemblyReferencePanel(ISelectReferenceDialog selectDialog)
		{
			this.selectDialog = selectDialog;
			
			Button browseButton   = new Button();
			browseButton.Location = new Point(10, 10);
			
			browseButton.Text     = StringParser.Parse("${res:Global.BrowseButtonText}");
			browseButton.Click   += new EventHandler(SelectReferenceDialog);
			browseButton.FlatStyle = FlatStyle.System;
			Controls.Add(browseButton);
		}
Exemple #8
0
        public AssemblyReferencePanel(ISelectReferenceDialog selectDialog)
        {
            this.selectDialog = selectDialog;

            Button browseButton = new Button();

            browseButton.Location = new Point(10, 10);

            browseButton.Text      = StringParser.Parse("${res:Global.BrowseButtonText}");
            browseButton.Click    += new EventHandler(SelectReferenceDialog);
            browseButton.FlatStyle = FlatStyle.System;
            Controls.Add(browseButton);
        }
Exemple #9
0
        public AssemblyReferencePanel(ISelectReferenceDialog selectDialog)
        {
            this.selectDialog = selectDialog;

            Button browseButton = new Button();

            browseButton.Location = new Point(10, 10);

            browseButton.Text      = "Browse";
            browseButton.Click    += new EventHandler(SelectReferenceDialog);
            browseButton.FlatStyle = FlatStyle.System;
            Controls.Add(browseButton);
        }
Exemple #10
0
        public GacReferencePanel(ISelectReferenceDialog selectDialog)
        {
            listView = new ListView();
            sorter   = new ColumnSorter();
            listView.ListViewItemSorter = sorter;

            this.selectDialog = selectDialog;

            ColumnHeader referenceHeader = new ColumnHeader();

            referenceHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.ReferenceHeader");
            referenceHeader.Width = 240;
            listView.Columns.Add(referenceHeader);

            listView.Sorting = SortOrder.Ascending;

            ColumnHeader versionHeader = new ColumnHeader();

            versionHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.VersionHeader");
            versionHeader.Width = 120;
            listView.Columns.Add(versionHeader);

            listView.View          = View.Details;
            listView.FullRowSelect = true;
            listView.ItemActivate += delegate { AddReference(); };
            listView.ColumnClick  += new ColumnClickEventHandler(columnClick);

            listView.Dock = DockStyle.Fill;
            this.Dock     = DockStyle.Fill;
            this.Controls.Add(listView);

            chooseSpecificVersionCheckBox      = new CheckBox();
            chooseSpecificVersionCheckBox.Dock = DockStyle.Top;
            chooseSpecificVersionCheckBox.Text = StringParser.Parse("${res:Dialog.SelectReferenceDialog.GacReferencePanel.ChooseSpecificAssemblyVersion}");
            this.Controls.Add(chooseSpecificVersionCheckBox);
            chooseSpecificVersionCheckBox.CheckedChanged += delegate {
                listView.Items.Clear();
                if (chooseSpecificVersionCheckBox.Checked)
                {
                    listView.Items.AddRange(fullItemList);
                }
                else
                {
                    listView.Items.AddRange(shortItemList);
                }
            };

            PrintCache();
        }
		public GacReferencePanel(ISelectReferenceDialog selectDialog)
		{
			listView = new ListView();
			sorter = new ColumnSorter();
			listView.ListViewItemSorter = sorter;
			
			this.selectDialog = selectDialog;
			
			ColumnHeader referenceHeader = new ColumnHeader();
			referenceHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.ReferenceHeader");
			referenceHeader.Width = 180;
			listView.Columns.Add(referenceHeader);
			
			listView.Sorting = SortOrder.Ascending;
			
			ColumnHeader versionHeader = new ColumnHeader();
			versionHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.VersionHeader");
			versionHeader.Width = 70;
			listView.Columns.Add(versionHeader);
			
			ColumnHeader pathHeader = new ColumnHeader();
			pathHeader.Text  = ResourceService.GetString("Global.Path");
			pathHeader.Width = 100;
			listView.Columns.Add(pathHeader);
			
			listView.View = View.Details;
			listView.FullRowSelect = true;
			listView.ItemActivate += delegate { AddReference(); };
			listView.ColumnClick += new ColumnClickEventHandler(columnClick);
			
			listView.Dock = DockStyle.Fill;
			this.Dock = DockStyle.Fill;
			this.Controls.Add(listView);
			
			chooseSpecificVersionCheckBox = new CheckBox();
			chooseSpecificVersionCheckBox.Dock = DockStyle.Top;
			chooseSpecificVersionCheckBox.Text = StringParser.Parse("${res:Dialog.SelectReferenceDialog.GacReferencePanel.ChooseSpecificAssemblyVersion}");
			this.Controls.Add(chooseSpecificVersionCheckBox);
			chooseSpecificVersionCheckBox.CheckedChanged += delegate {
				listView.Items.Clear();
				if (chooseSpecificVersionCheckBox.Checked)
					listView.Items.AddRange(fullItemList);
				else
					listView.Items.AddRange(shortItemList);
			};
			
			PrintCache();
		}
        public ProjectReferencePanel(ISelectReferenceDialog selectDialog)
        {
            this.selectDialog = selectDialog;
            listView          = new ListView();

            ColumnHeader nameHeader = new ColumnHeader();

            nameHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.NameHeader");
            nameHeader.Width = 170;
            listView.Columns.Add(nameHeader);

            ColumnHeader directoryHeader = new ColumnHeader();

            directoryHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.DirectoryHeader");
            directoryHeader.Width = 290;
            listView.Columns.Add(directoryHeader);

            listView.View          = View.Details;
            listView.Dock          = DockStyle.Fill;
            listView.FullRowSelect = true;

            this.Dock = DockStyle.Fill;
            this.Controls.Add(listView);

            listView.ItemActivate += delegate {
                AddReference();
            };
            PopulateListView();


            Panel upperPanel = new Panel {
                Dock = DockStyle.Top, Height = 20
            };

            filterTextBox = new TextBox {
                Width = 150, Dock = DockStyle.Right
            };
            filterTextBox.TextChanged += delegate {
                Search();
            };

            upperPanel.Controls.Add(filterTextBox);

            this.Controls.Add(upperPanel);
        }
Exemple #13
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                // cancel the worker
                if (worker != null && worker.IsBusy && !worker.CancellationPending)
                {
                    worker.CancelAsync();
                }
                worker = null;

                // clear all cached data
                resultList   = null;
                selectDialog = null;
                fullItemList = null;
            }
            base.Dispose(disposing);
        }
		public ProjectReferencePanel(ISelectReferenceDialog selectDialog)
		{
			this.selectDialog = selectDialog;
			
			ColumnHeader nameHeader = new ColumnHeader();
			nameHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.NameHeader");
			nameHeader.Width = 170;
			Columns.Add(nameHeader);
			
			ColumnHeader directoryHeader = new ColumnHeader();
			directoryHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.DirectoryHeader");
			directoryHeader.Width = 290;
			Columns.Add(directoryHeader);
			
			View = View.Details;
			Dock = DockStyle.Fill;
			FullRowSelect = true;
			
			ItemActivate += delegate { AddReference(); };
			PopulateListView();
		}
        public COMReferencePanel(ISelectReferenceDialog selectDialog)
        {
            this.selectDialog = selectDialog;

            this.Sorting = SortOrder.Ascending;

            ColumnHeader nameHeader = new ColumnHeader();
            nameHeader.Text  = ResourceService.GetString("Global.Name");
            nameHeader.Width = 240;
            Columns.Add(nameHeader);

            ColumnHeader directoryHeader = new ColumnHeader();
            directoryHeader.Text  = ResourceService.GetString("Global.Path");
            directoryHeader.Width =200;
            Columns.Add(directoryHeader);

            View = View.Details;
            Dock = DockStyle.Fill;
            FullRowSelect = true;

            ItemActivate += delegate { AddReference(); };
        }
        public ProjectReferencePanel(ISelectReferenceDialog selectDialog)
        {
            this.selectDialog = selectDialog;

            ColumnHeader nameHeader = new ColumnHeader();

            nameHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.NameHeader");
            nameHeader.Width = 170;
            Columns.Add(nameHeader);

            ColumnHeader directoryHeader = new ColumnHeader();

            directoryHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.DirectoryHeader");
            directoryHeader.Width = 290;
            Columns.Add(directoryHeader);

            View          = View.Details;
            Dock          = DockStyle.Fill;
            FullRowSelect = true;

            ItemActivate += delegate { AddReference(); };
            PopulateListView();
        }
		public GacReferencePanel(ISelectReferenceDialog selectDialog)
		{
			listView = new ListView();
			sorter = new ColumnSorter();
			listView.ListViewItemSorter = sorter;
			
			this.selectDialog = selectDialog;
			
			ColumnHeader referenceHeader = new ColumnHeader();
			referenceHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.ReferenceHeader");
			referenceHeader.Width = 240;
			listView.Columns.Add(referenceHeader);
			
			listView.Sorting = SortOrder.Ascending;
			
			ColumnHeader versionHeader = new ColumnHeader();
			versionHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.VersionHeader");
			versionHeader.Width = 120;
			listView.Columns.Add(versionHeader);
			
			listView.View = View.Details;
			listView.FullRowSelect = true;
			listView.ItemActivate += delegate { AddReference(); };
			listView.ColumnClick += new ColumnClickEventHandler(columnClick);
			
			listView.Dock = DockStyle.Fill;
			this.Dock = DockStyle.Fill;
			this.Controls.Add(listView);
			
			Panel upperPanel = new Panel { Dock = DockStyle.Top, Height = 20 };
			
			chooseSpecificVersionCheckBox = new CheckBox();
			chooseSpecificVersionCheckBox.Dock = DockStyle.Left;
			chooseSpecificVersionCheckBox.Text = StringParser.Parse("${res:Dialog.SelectReferenceDialog.GacReferencePanel.ChooseSpecificAssemblyVersion}");
			
			chooseSpecificVersionCheckBox.CheckedChanged += delegate {
				listView.Items.Clear();
				if (chooseSpecificVersionCheckBox.Checked)
					listView.Items.AddRange(fullItemList);
				else
					listView.Items.AddRange(shortItemList);
			};
			
			filterTextBox = new TextBox { Width = 100, Dock = DockStyle.Right };
			searchButton = new Button { Dock = DockStyle.Right, Width = 50, Text = "Search" };
			toolTip.SetToolTip(searchButton, searchButton.Text);
			filterTextboxToolTip.SetToolTip(filterTextBox, "Search by type name");
			searchButton.Click += searchButton_Click;
			upperPanel.Controls.Add(chooseSpecificVersionCheckBox);
			upperPanel.Controls.Add(filterTextBox);
			upperPanel.Controls.Add(searchButton);
			
			this.Controls.Add(upperPanel);
			
			PrintCache();
			
			worker = new BackgroundWorker { WorkerSupportsCancellation = true, WorkerReportsProgress = true };
			worker.DoWork += searchTask_DoWork;			
			worker.RunWorkerCompleted += searchTask_RunWorkerCompleted;			
			worker.ProgressChanged += searchTask_ProgressChanged;
		}
Exemple #18
0
 public MonoGacReferencePanel(ISelectReferenceDialog selectDialog) : base(selectDialog)
 {
 }
Exemple #19
0
        public GacReferencePanel(ISelectReferenceDialog selectDialog)
        {
            listView = new ListView();
            sorter   = new ColumnSorter();
            listView.ListViewItemSorter = sorter;

            this.selectDialog = selectDialog;

            ColumnHeader referenceHeader = new ColumnHeader();

            referenceHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.ReferenceHeader");
            referenceHeader.Width = 240;
            listView.Columns.Add(referenceHeader);

            listView.Sorting = SortOrder.Ascending;

            ColumnHeader versionHeader = new ColumnHeader();

            versionHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.VersionHeader");
            versionHeader.Width = 120;
            listView.Columns.Add(versionHeader);

            listView.View          = View.Details;
            listView.FullRowSelect = true;
            listView.ItemActivate += delegate { AddReference(); };
            listView.ColumnClick  += new ColumnClickEventHandler(columnClick);

            listView.Dock = DockStyle.Fill;
            this.Dock     = DockStyle.Fill;
            this.Controls.Add(listView);

            Panel upperPanel = new Panel {
                Dock = DockStyle.Top, Height = 20
            };

            chooseSpecificVersionCheckBox          = new CheckBox();
            chooseSpecificVersionCheckBox.Dock     = DockStyle.Left;
            chooseSpecificVersionCheckBox.AutoSize = true;
            chooseSpecificVersionCheckBox.Text     = StringParser.Parse("${res:Dialog.SelectReferenceDialog.GacReferencePanel.ChooseSpecificAssemblyVersion}");

            chooseSpecificVersionCheckBox.CheckedChanged += delegate {
                ResetList();
                Search();
            };

            filterTextBox = new TextBox {
                Width = 150, Dock = DockStyle.Right
            };
            filterTextBox.TextChanged += delegate { Search(); };

            IButtonControl defaultButton = null;

            filterTextBox.Enter += delegate { defaultButton = ((Form)selectDialog).AcceptButton; ((Form)selectDialog).AcceptButton = null; };
            filterTextBox.Leave += delegate { ((Form)selectDialog).AcceptButton = defaultButton; };

            upperPanel.Controls.Add(chooseSpecificVersionCheckBox);
            upperPanel.Controls.Add(filterTextBox);

            this.Controls.Add(upperPanel);

            PrintCache();
        }
		void AddReferences(ISelectReferenceDialog dialog, List<ReferenceProjectItem> references)
		{
			foreach (ReferenceProjectItem reference in references) {
				dialog.AddReference(reference.Include, "Gac", reference.FileName, reference);
			}
		}
Exemple #21
0
        public GacReferencePanel(ISelectReferenceDialog selectDialog)
        {
            listView = new ListView();
            sorter   = new ColumnSorter();
            listView.ListViewItemSorter = sorter;

            this.selectDialog = selectDialog;

            ColumnHeader referenceHeader = new ColumnHeader();

            referenceHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.ReferenceHeader");
            referenceHeader.Width = 240;
            listView.Columns.Add(referenceHeader);

            listView.Sorting = SortOrder.Ascending;

            ColumnHeader versionHeader = new ColumnHeader();

            versionHeader.Text  = ResourceService.GetString("Dialog.SelectReferenceDialog.GacReferencePanel.VersionHeader");
            versionHeader.Width = 120;
            listView.Columns.Add(versionHeader);

            listView.View          = View.Details;
            listView.FullRowSelect = true;
            listView.ItemActivate += delegate { AddReference(); };
            listView.ColumnClick  += new ColumnClickEventHandler(columnClick);

            listView.Dock = DockStyle.Fill;
            this.Dock     = DockStyle.Fill;
            this.Controls.Add(listView);

            Panel upperPanel = new Panel {
                Dock = DockStyle.Top, Height = 20
            };

            chooseSpecificVersionCheckBox      = new CheckBox();
            chooseSpecificVersionCheckBox.Dock = DockStyle.Left;
            chooseSpecificVersionCheckBox.Text = StringParser.Parse("${res:Dialog.SelectReferenceDialog.GacReferencePanel.ChooseSpecificAssemblyVersion}");

            chooseSpecificVersionCheckBox.CheckedChanged += delegate {
                listView.Items.Clear();
                if (chooseSpecificVersionCheckBox.Checked)
                {
                    listView.Items.AddRange(fullItemList);
                }
                else
                {
                    listView.Items.AddRange(shortItemList);
                }
            };

            filterTextBox = new TextBox {
                Width = 100, Dock = DockStyle.Right
            };
            searchButton = new Button {
                Dock = DockStyle.Right, Width = 50, Text = "Search"
            };
            toolTip.SetToolTip(searchButton, searchButton.Text);
            filterTextboxToolTip.SetToolTip(filterTextBox, "Search by type name");
            searchButton.Click += searchButton_Click;
            upperPanel.Controls.Add(chooseSpecificVersionCheckBox);
            upperPanel.Controls.Add(filterTextBox);
            upperPanel.Controls.Add(searchButton);

            this.Controls.Add(upperPanel);

            PrintCache();

            worker = new BackgroundWorker {
                WorkerSupportsCancellation = true, WorkerReportsProgress = true
            };
            worker.DoWork             += searchTask_DoWork;
            worker.RunWorkerCompleted += searchTask_RunWorkerCompleted;
            worker.ProgressChanged    += searchTask_ProgressChanged;
        }
		/// <summary>
		/// Clear all resources used.
		/// </summary>
		new void Dispose()
		{
			// cancel the worker
			if (worker != null && worker.IsBusy && !worker.CancellationPending)
				worker.CancelAsync();
			worker = null;
			
			// clear all cached data
			if (assembliesCache.Count > 0)
				assembliesCache.Clear();
			assembliesCache = null;
			
			if (resultList.Count > 0)
				resultList.Clear();
			resultList = null;
			
			selectDialog = null;
			resolver = null;
			
			if (fullItemList.Length > 0)
				Array.Clear(fullItemList, 0, fullItemList.Length);
			fullItemList = null;
			
			// force a collection to reclam memory
			GC.Collect();
		}
		public MonoGacReferencePanel(ISelectReferenceDialog selectDialog) : base(selectDialog)
		{
		}
        protected override void Dispose(bool disposing)
        {
            if (disposing) {
                // cancel the worker
                if (worker != null && worker.IsBusy && !worker.CancellationPending)
                    worker.CancelAsync();
                worker = null;

                // clear all cached data
                resultList = null;
                selectDialog = null;
                fullItemList = null;
            }
            base.Dispose(disposing);
        }