front_idill/src/communication/js/client.js
changeset 58 a28488078053
parent 52 277c94533395
child 59 e812126f75f4
--- a/front_idill/src/communication/js/client.js	Mon Jul 30 16:45:46 2012 +0200
+++ b/front_idill/src/communication/js/client.js	Tue Jul 31 16:26:00 2012 +0200
@@ -122,8 +122,8 @@
 		var x = Math.abs(parseFloat(pt[0])), y = Math.abs(parseFloat(pt[1]));
 		// console.log(Math.abs(parseFloat(pt[0])), Math.abs(parseFloat(pt[1])));
 		
-		this.pointerLeft = true;
-		clearTimeout(this.pointerLeftTimeout);
+		this.pointerRight = true;
+		clearTimeout(this.pointerRightTimeout);
 		
 		if(!this.mosaic.mouseInteractions && this.mosaic.currentMode != 'NO-USER' && this.mosaic.currentMode.indexOf('INCOMING') == -1)
 		{
@@ -138,16 +138,34 @@
 			this.mosaic.isMainPointerDisplayed = true;
 		}
 		
-		this.pointerLeftTimeout = setTimeout(function()
+		this.pointerRightTimeout = setTimeout(function()
 		{
 			// console.log('RELEASE LEFT');
-			_this.pointerLeft = false;
+			//Timeout indiquant quand la main gauche part.
+			_this.pointerRight = false;
 			
 			if(_this.mosaic.isMainPointerDisplayed)
 			{
 				_this.mosaic.isMainPointerDisplayed = false;
 				_this.mosaic.mainPointerDisplay(false);
 			}
+			
+			if(_this.mosaic.isSearchByCurvesOn)
+			{
+				_this.mosaic.isSearchByCurvesOn = false;
+				if(_this.mosaic.searchCanvas)
+				{
+					_this.mosaic.searchCanvas.onPointerOut();
+					
+					$('#mainPointer').css('background-image', 'url(./img/cursors/pointerC.png)');
+					$('#secondPointer').css('background-image', 'url(./img/cursors/pointer2C.png)');
+				}
+			}
+			//On peut effectuer de nouveau une recherche par courbes.
+			if(!_this.pointerLeft)
+			{
+				_this.mosaic.mustTakeOutHands = false;
+			}
 		}, this.timePointers);
 	}
 	//Sinon si ce sont les coordonnées de la main gauche.
@@ -158,8 +176,8 @@
 		var x = Math.abs(parseFloat(pt[0])), y = Math.abs(parseFloat(pt[1]));
 		// console.log(Math.abs(parseFloat(pt[0])), Math.abs(parseFloat(pt[1])));
 		
-		this.pointerRight = true;
-		clearTimeout(this.pointerRightTimeout);
+		this.pointerLeft = true;
+		clearTimeout(this.pointerLeftTimeout);
 		
 		if(!this.mosaic.mouseInteractions && this.mosaic.currentMode != 'NO-USER' && this.mosaic.currentMode.indexOf('INCOMING') == -1)
 		{
@@ -172,16 +190,34 @@
 			this.mosaic.isSecondPointerDisplayed = true;
 		}
 		
-		this.pointerRightTimeout = setTimeout(function()
+		//Timeout indiquant quand la main droite part.
+		this.pointerLeftTimeout = setTimeout(function()
 		{
 			// console.log('RELEASE RIGHT');
-			_this.pointerRight = false;
+			_this.pointerLeft = false;
 			
 			if(_this.mosaic.isSecondPointerDisplayed)
 			{
 				_this.mosaic.isSecondPointerDisplayed = false;
 				_this.mosaic.secondPointerDisplay(false);
 			}
+			
+			if(_this.mosaic.isSearchByCurvesOn)
+			{
+				_this.mosaic.isSearchByCurvesOn = false;
+				if(_this.mosaic.searchCanvas)
+				{
+					_this.mosaic.searchCanvas.onPointerOut();
+					
+					$('#mainPointer').css('background-image', 'url(./img/cursors/pointerC.png)');
+					$('#secondPointer').css('background-image', 'url(./img/cursors/pointer2C.png)');
+				}
+			}
+			//On peut effectuer de nouveau une recherche par courbes.
+			if(!_this.pointerRight)
+			{
+				_this.mosaic.mustTakeOutHands = false;
+			}
 		}, this.timePointers);
 	}
 	
@@ -191,16 +227,6 @@
 		this.mosaic.pointersIdleAvailable = false;
 		this.mosaic.removeIdlePointers();
 		this.mosaic.areBothPointersHere = false;
-		
-		if(this.mosaic.isSearchByCurvesOn)
-		{
-			this.mosaic.isSearchByCurvesOn = false;
-			if(this.mosaic.searchCanvas)
-			{
-				this.mosaic.searchCanvas.onPointerOut();
-				console.log('OUT !!!!!');
-			}
-		}
 	}
 	if(!this.pointerLeft && !this.pointerRight)
 	{
@@ -209,15 +235,6 @@
 		this.mosaic.removeIdlePointers();
 		this.mosaic.areBothPointersHere = false;
 		
-		if(this.mosaic.isSearchByCurvesOn)
-		{
-			this.mosaic.isSearchByCurvesOn = false;
-			if(this.mosaic.searchCanvas)
-			{
-				this.mosaic.searchCanvas.onPointerOut();
-			}
-		}
-		
 		this.mosaic.deselectAllNeighbours();
 		this.mosaic.preUnzoom();
 	}
@@ -227,26 +244,34 @@
 		this.mosaic.areBothPointersHere = true;
 		this.mosaic.removeCheckForBothPointersHere();
 		
-		if(this.mosaic.currentMode == 'MOSAIC' || this.mosaic.currentMode == 'FILTER')
+		//On enlève les requêtes de zoom.
+		this.mosaic.preUnzoom();
+		
+		if(this.mosaic.currentMode == 'MOSAIC' || this.mosaic.currentMode == 'FILTER' && !this.mosaic.isSearchByCurvesOn)
 		{
-			$('#mainPointer').css('background-image', './img/cursors/pointer.png');
-			$('#secondPointer').css('background-image', './img/cursors/pointer2.png');
+			$('#mainPointer').css('background-image', 'url(./img/cursors/pointer.png)');
+			$('#secondPointer').css('background-image', 'url(./img/cursors/pointer2.png)');
 		}
 		
-		if(this.mosaic.currentMode == 'FILTER' || this.mosaic.currentMode == 'SEARCH')
+		//Si on est dans un des modes de recherche et que les mains ont été retirées après la précédente recherche.
+		if((this.mosaic.currentMode == 'FILTER' || this.mosaic.currentMode == 'SEARCH') && !this.mosaic.mustTakeOutHands)
 		{
+			console.log('ON');
 			if(this.mosaic.searchCanvas)
 			{
 				var mainPointerX = +$('#mainPointer').position().left + $('#mainPointer').width() / 2;
 				var mainPointerY = +$('#mainPointer').position().top - this.mosaic.MPTop_margin + $('#mainPointer').height() / 2;
-				var secondPointerX = +$('#secondPointer').position().left + $('#mainPointer').width() / 2;
-				var secondPointerY = +$('#secondPointer').position().top - this.mosaic.MPTop_margin + $('#mainPointer').height() / 2;
+				var secondPointerX = +$('#secondPointer').position().left + $('#secondPointer').width() / 2;
+				var secondPointerY = +$('#secondPointer').position().top - this.mosaic.MPTop_margin + $('#secondPointer').height() / 2;
 				
 				if(!this.mosaic.isSearchByCurvesOn)
 				{
 					this.mosaic.isSearchByCurvesOn = true;
+					this.mosaic.searchCanvas.onPointerOut();
 					this.mosaic.searchCanvas.onPointerIn(mainPointerX, mainPointerY, secondPointerX, secondPointerY);
 					this.mosaic.canDrawNextCurve = true;
+					
+					this.mosaic.pointersGreen();
 				}
 				else if(this.mosaic.isSearchByCurvesOn)
 				{
@@ -255,8 +280,8 @@
 						this.mosaic.canDrawNextCurve = false;
 						if(Math.abs(mainPointerX - this.mosaic.mainPointerLastX) > 10 || Math.abs(mainPointerY - this.mosaic.mainPointerLastY) > 10 || Math.abs(secondPointerX - this.mosaic.secondPointerLastX) > 10 || Math.abs(secondPointerY - this.mosaic.secondPointerLastY) > 10)
 						{
-							console.log('move');
 							this.mosaic.searchCanvas.onPointerMove(mainPointerX, mainPointerY, secondPointerX, secondPointerY);
+							this.mosaic.pointersGreen();
 						}
 					}
 					else
@@ -268,6 +293,10 @@
 					}
 				}
 			}
+			else
+			{
+				this.mosaic.startSearch();
+			}
 		}
 	}