|
|
|
@ -181,9 +181,15 @@ namespace ICSharpCode.SharpDevelop.Gui
@@ -181,9 +181,15 @@ namespace ICSharpCode.SharpDevelop.Gui
|
|
|
|
|
bool inRefresh; |
|
|
|
|
protected override void OnBeforeExpand(TreeViewCancelEventArgs e) |
|
|
|
|
{ |
|
|
|
|
if (mouseClickNum == 2) { |
|
|
|
|
mouseClickNum = 0; // only intercept first occurrance, don't prevent expansion by ActivateItem on double click
|
|
|
|
|
e.Cancel = true; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
base.OnBeforeExpand(e); |
|
|
|
|
if (e.Node == null) |
|
|
|
|
if (e.Node == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
if (e.Node is ExtTreeNode) { |
|
|
|
|
if (((ExtTreeNode)e.Node).IsInitialized == false) { |
|
|
|
@ -219,9 +225,13 @@ namespace ICSharpCode.SharpDevelop.Gui
@@ -219,9 +225,13 @@ namespace ICSharpCode.SharpDevelop.Gui
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnBeforeCollapse(TreeViewCancelEventArgs e) |
|
|
|
|
{ |
|
|
|
|
if (mouseClickNum == 2) { |
|
|
|
|
mouseClickNum = 0; // only intercept first occurrance, don't prevent collapsing by ActivateItem on double click
|
|
|
|
|
e.Cancel = true; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
base.OnBeforeCollapse(e); |
|
|
|
|
if (e.Node is ExtTreeNode) { |
|
|
|
|
((ExtTreeNode)e.Node).Collapsing(); |
|
|
|
@ -263,8 +273,11 @@ namespace ICSharpCode.SharpDevelop.Gui
@@ -263,8 +273,11 @@ namespace ICSharpCode.SharpDevelop.Gui
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int mouseClickNum; // 0 if mouse button is not pressed, otherwise click number (1=normal, 2=double click)
|
|
|
|
|
|
|
|
|
|
protected override void OnMouseDown(MouseEventArgs e) |
|
|
|
|
{ |
|
|
|
|
mouseClickNum = e.Clicks; |
|
|
|
|
base.OnMouseDown(e); |
|
|
|
|
TreeNode node = GetNodeAt(e.X, e.Y); |
|
|
|
|
if (node != null) { |
|
|
|
@ -278,6 +291,12 @@ namespace ICSharpCode.SharpDevelop.Gui
@@ -278,6 +291,12 @@ namespace ICSharpCode.SharpDevelop.Gui
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected override void OnMouseUp(MouseEventArgs e) |
|
|
|
|
{ |
|
|
|
|
mouseClickNum = 0; |
|
|
|
|
base.OnMouseUp(e); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected override void OnBeforeSelect(TreeViewCancelEventArgs e) |
|
|
|
|
{ |
|
|
|
|
// setting the context menu must be done by BeforeSelect because
|
|
|
|
|