Author: alanmc
Date: 2007-06-29 16:04:24 -0400 (Fri, 29 Jun 2007)
New Revision: 81069

Modified:
   trunk/lunareclipse/ChangeLog
   trunk/lunareclipse/Model/Draw/SelectionDraw.cs
Log:
Fixed issue selecting something which is on top of something else

Modified: trunk/lunareclipse/ChangeLog
===================================================================
--- trunk/lunareclipse/ChangeLog        2007-06-29 20:01:08 UTC (rev 81068)
+++ trunk/lunareclipse/ChangeLog        2007-06-29 20:04:24 UTC (rev 81069)
@@ -1,5 +1,9 @@
 2007-06-29  Alan McGovern <[EMAIL PROTECTED]> 
 
+       Fixed issue selecting something which is on top of something else
+
+2007-06-29  Alan McGovern <[EMAIL PROTECTED]> 
+
        Fixed undo for shapes
 
 2007-06-29  Alan McGovern <[EMAIL PROTECTED]> 

Modified: trunk/lunareclipse/Model/Draw/SelectionDraw.cs
===================================================================
--- trunk/lunareclipse/Model/Draw/SelectionDraw.cs      2007-06-29 20:01:08 UTC 
(rev 81068)
+++ trunk/lunareclipse/Model/Draw/SelectionDraw.cs      2007-06-29 20:04:24 UTC 
(rev 81069)
@@ -22,6 +22,7 @@
         private bool prepared;
         private List<Shape> selectedObjects;
         private bool shapeMoved;
+        private bool shapeAdded;
         
         public List<Shape> SelectedObjects
         {
@@ -140,12 +141,16 @@
             if(this.clickedOnShape)
             {
                 ClickedOnShape(mouseStart, out clickedShape);
-                if(clickedShape != null && 
!selectedObjects.Contains(clickedShape))
-                    DeselectAll();
                 
-                if(selectedObjects.Count == 0)
-                    Select(clickedShape);
-                
+                if(!shapeAdded)
+                {
+                    shapeAdded = true;
+                    if(clickedShape != null && 
!selectedObjects.Contains(clickedShape))
+                        DeselectAll();
+                    
+                    if(selectedObjects.Count == 0)
+                        Select(clickedShape);
+                }
                 foreach(Shape s in this.selectedObjects)
                     MoveShape(s, mousePoint);
                 
@@ -168,6 +173,7 @@
         {
             Panel.Children.Remove(Element);
             Shape shape = null;
+            shapeAdded = false;
             Point mouseLocation = e.GetPosition(Panel);
             bool clickedOnShape = ClickedOnShape(mouseLocation, out shape);
             bool mouseMoved = !mouseStart.Equals(Position);

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to