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; } }