Browse Source

Merge pull request #651 from J-McElroy/master

pull/661/head
Andreas Weizel 10 years ago
parent
commit
e694a4f6fc
  1. 28
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ProjectReferencePanel.cs

28
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ProjectReferencePanel.cs

@ -24,30 +24,35 @@ using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.SharpDevelop.Gui namespace ICSharpCode.SharpDevelop.Gui
{ {
public class ProjectReferencePanel : ListView, IReferencePanel public class ProjectReferencePanel : UserControl, IReferencePanel
{ {
ISelectReferenceDialog selectDialog; ISelectReferenceDialog selectDialog;
TextBox filterTextBox; TextBox filterTextBox;
ListView listView;
public ProjectReferencePanel(ISelectReferenceDialog selectDialog) public ProjectReferencePanel(ISelectReferenceDialog selectDialog)
{ {
this.selectDialog = selectDialog; this.selectDialog = selectDialog;
listView = new ListView();
ColumnHeader nameHeader = new ColumnHeader(); ColumnHeader nameHeader = new ColumnHeader();
nameHeader.Text = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.NameHeader"); nameHeader.Text = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.NameHeader");
nameHeader.Width = 170; nameHeader.Width = 170;
Columns.Add(nameHeader); listView.Columns.Add(nameHeader);
ColumnHeader directoryHeader = new ColumnHeader(); ColumnHeader directoryHeader = new ColumnHeader();
directoryHeader.Text = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.DirectoryHeader"); directoryHeader.Text = ResourceService.GetString("Dialog.SelectReferenceDialog.ProjectReferencePanel.DirectoryHeader");
directoryHeader.Width = 290; directoryHeader.Width = 290;
Columns.Add(directoryHeader); listView.Columns.Add(directoryHeader);
View = View.Details; listView.View = View.Details;
Dock = DockStyle.Fill; listView.Dock = DockStyle.Fill;
FullRowSelect = true; listView.FullRowSelect = true;
ItemActivate += delegate { AddReference(); }; this.Dock = DockStyle.Fill;
this.Controls.Add(listView);
listView.ItemActivate += delegate { AddReference(); };
PopulateListView(); PopulateListView();
@ -62,7 +67,8 @@ namespace ICSharpCode.SharpDevelop.Gui
public void AddReference() public void AddReference()
{ {
foreach (ListViewItem item in SelectedItems) { foreach (ListViewItem item in listView.SelectedItems)
{
IProject project = (IProject)item.Tag; IProject project = (IProject)item.Tag;
selectDialog.AddReference( selectDialog.AddReference(
@ -82,7 +88,7 @@ namespace ICSharpCode.SharpDevelop.Gui
foreach (IProject project in ProjectService.OpenSolution.Projects.OrderBy(p => p.Name, StringComparer.OrdinalIgnoreCase)) { foreach (IProject project in ProjectService.OpenSolution.Projects.OrderBy(p => p.Name, StringComparer.OrdinalIgnoreCase)) {
ListViewItem newItem = new ListViewItem(new string[] { project.Name, project.Directory }); ListViewItem newItem = new ListViewItem(new string[] { project.Name, project.Directory });
newItem.Tag = project; newItem.Tag = project;
Items.Add(newItem); listView.Items.Add(newItem);
} }
} }
@ -100,7 +106,7 @@ namespace ICSharpCode.SharpDevelop.Gui
void Search() void Search()
{ {
Items.Clear(); listView.Items.Clear();
var tokens = filterTextBox.Text.Split(new []{' '}, StringSplitOptions.RemoveEmptyEntries); var tokens = filterTextBox.Text.Split(new []{' '}, StringSplitOptions.RemoveEmptyEntries);
foreach (IProject project in ProjectService.OpenSolution.Projects. foreach (IProject project in ProjectService.OpenSolution.Projects.
@ -109,7 +115,7 @@ namespace ICSharpCode.SharpDevelop.Gui
) { ) {
ListViewItem newItem = new ListViewItem(new string[] { project.Name, project.Directory }); ListViewItem newItem = new ListViewItem(new string[] { project.Name, project.Directory });
newItem.Tag = project; newItem.Tag = project;
Items.Add(newItem); listView.Items.Add(newItem);
} }
} }
} }

Loading…
Cancel
Save