Skip to content

Commit f3df6f7

Browse files
committed
Find references UI updates. Prevent flicker, prune before tree view. Add close button.
1 parent eccc3bf commit f3df6f7

4 files changed

Lines changed: 52 additions & 25 deletions

File tree

SSIS/FindUnusedVariables.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ public FindUnusedVariables(VariablesDisplayMode displayMode)
5050
public DialogResult Show(Package package)
5151
{
5252
this.selectionList.ClearItems();
53+
54+
this.progressBar.MarqueeAnimationSpeed = 20;
5355
this.progressBar.Visible = true;
5456

5557
finder.VariableFound += new EventHandler<VariableFoundEventArgs>(VariableFound);

SSIS/FindVariableReferences.Designer.cs

Lines changed: 21 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SSIS/FindVariableReferences.cs

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public void Show(Package package, Variable variable)
3939
this.package = package;
4040
this.variable = variable;
4141

42+
this.progressBar.MarqueeAnimationSpeed = 20;
4243
this.progressBar.Visible = true;
4344

4445
InitializeTreeView();
@@ -62,7 +63,6 @@ public void Show(Package package, Parameter parameter)
6263
private void InitializeTreeView()
6364
{
6465
this.treeView.Nodes.Clear();
65-
this.treeView.SuspendLayout();
6666
this.treeView.Enabled = false;
6767
}
6868

@@ -72,35 +72,16 @@ private void VariableFound(object sender, VariableFoundEventArgs e)
7272
this.processPackage.ReportProgress(0, e);
7373
}
7474

75-
private void PruneNodes(TreeNode parent)
76-
{
77-
for (int index = parent.Nodes.Count -1; index >= 0; index--)
78-
{
79-
TreeNode node = parent.Nodes[index];
80-
81-
if (node.IsExpanded || node.Checked)
82-
{
83-
PruneNodes(node);
84-
}
85-
else
86-
{
87-
node.Remove();
88-
}
89-
}
90-
}
91-
9275
#region BackgroundWorker Events
9376

9477
private void processPackage_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
9578
{
9679
TreeNode parent = this.treeView.Nodes[0];
97-
PruneNodes(parent);
9880

9981
stopwatch.Stop();
10082
this.Text += (" " + stopwatch.ElapsedMilliseconds.ToString());
10183

10284
this.treeView.Enabled = true;
103-
this.treeView.ResumeLayout();
10485

10586
this.progressBar.Visible = false;
10687
}
@@ -121,5 +102,10 @@ private void SetPropertyGrid(TreeNode node)
121102
{
122103
propertyGrid.SelectedObject = node.Tag;
123104
}
105+
106+
private void buttonClose_Click(object sender, EventArgs e)
107+
{
108+
this.Close();
109+
}
124110
}
125111
}

SSIS/FindVariables.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,14 @@ public void FindReferences(Package package, Variable[] variables, TreeView treeV
8787
int imageIndex = GetControlFlowImageIndex(PackageHelper.PackageCreationName);
8888
TreeNode packageNode = new TreeNode(package.Name, imageIndex, imageIndex);
8989
packageNode.Tag = package;
90-
AddRootNode(packageNode);
9190

9291
ProcessObject(package, packageNode);
92+
93+
// Hide nodes that don't have any matches
94+
PruneNodes(packageNode);
95+
96+
// Add node graph to tree view
97+
AddRootNode(packageNode);
9398
}
9499
else
95100
{
@@ -101,6 +106,23 @@ public void FindReferences(Package package, Variable[] variables, TreeView treeV
101106
this.CancellationPending = false;
102107
}
103108

109+
private void PruneNodes(TreeNode parent)
110+
{
111+
for (int index = parent.Nodes.Count - 1; index >= 0; index--)
112+
{
113+
TreeNode node = parent.Nodes[index];
114+
115+
if (node.IsExpanded || node.Checked)
116+
{
117+
PruneNodes(node);
118+
}
119+
else
120+
{
121+
node.Remove();
122+
}
123+
}
124+
}
125+
104126
delegate void AddRootNodeCallback(TreeNode node);
105127

106128
private void AddRootNode(TreeNode node)

0 commit comments

Comments
 (0)