From 3841e8849023d3f4185a0d5480f814abf7b0d1d6 Mon Sep 17 00:00:00 2001 From: Itar Bar-Haim Date: Wed, 4 Apr 2007 12:45:32 +0000 Subject: [PATCH] Fixed a crash when clicking on a members group list content. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2467 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Interactivity/InteractiveItemsStack.cs | 19 +++++++++++++++++++ .../ClassCanvas/Src/ClassCanvasItem.cs | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Interactivity/InteractiveItemsStack.cs b/src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Interactivity/InteractiveItemsStack.cs index 08b4623b61..c87144683f 100644 --- a/src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Interactivity/InteractiveItemsStack.cs +++ b/src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Interactivity/InteractiveItemsStack.cs @@ -20,32 +20,51 @@ namespace ClassDiagram { public class InteractiveItemsStack : DrawableItemsStack, IMouseInteractable { + public InteractiveItemsStack() {} + + public InteractiveItemsStack(bool recursive) + { + this.recursive = recursive; + } + + bool recursive = true; + + public bool Recursive { + get { return recursive; } + set { recursive = value; } + } + public void HandleMouseClick(PointF pos) { + if (!recursive) return; foreach (IMouseInteractable mi in this) mi.HandleMouseClick(pos); } public void HandleMouseDown(PointF pos) { + if (!recursive) return; foreach (IMouseInteractable mi in this) mi.HandleMouseDown(pos); } public void HandleMouseMove(PointF pos) { + if (!recursive) return; foreach (IMouseInteractable mi in this) mi.HandleMouseMove(pos); } public void HandleMouseUp(PointF pos) { + if (!recursive) return; foreach (IMouseInteractable mi in this) mi.HandleMouseUp(pos); } public void HandleMouseLeave() { + if (!recursive) return; foreach (IMouseInteractable mi in this) mi.HandleMouseLeave(); } diff --git a/src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Src/ClassCanvasItem.cs b/src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Src/ClassCanvasItem.cs index 53c88d1bac..8fa8f6fa28 100644 --- a/src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Src/ClassCanvasItem.cs +++ b/src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Src/ClassCanvasItem.cs @@ -353,7 +353,7 @@ namespace ClassDiagram image.Border = 1; } - DrawableItemsStack memberItem = new DrawableItemsStack(); + InteractiveItemsStack memberItem = new InteractiveItemsStack(false); string memberString; @@ -367,7 +367,7 @@ namespace ClassDiagram return memberString.CompareTo(other.MemberString); } - public DrawableItemsStack Item + public InteractiveItemsStack Item { get { return memberItem; } }