From 52fcd59f7c0dc3ef5f480fe9eeb225ccc788c99c Mon Sep 17 00:00:00 2001 From: miles Date: Tue, 26 Mar 2013 20:02:40 +0000 Subject: [PATCH] View Ontology Changes: -check boxes are now working svn path=/; revision=447 --- Personnel/miles/Web Page/viewOntology.php | 36 ++++++++++++++++++----- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/Personnel/miles/Web Page/viewOntology.php b/Personnel/miles/Web Page/viewOntology.php index b8569cb..062c21a 100644 --- a/Personnel/miles/Web Page/viewOntology.php +++ b/Personnel/miles/Web Page/viewOntology.php @@ -195,6 +195,7 @@ var rawTerms = ""; var terms = rawTerms.split(","); var termCount = terms.length; var termColors = new Array(terms.length); +var checkBoxes = new Array(terms.length); var canvas = document.getElementById("myCanvas"); var ontMap = canvas.getContext("2d"); @@ -205,18 +206,21 @@ var maxTermSize = 0; for(var i = 0; i < terms.length; i ++) { if(terms[i].length > maxTermSize) maxTermSize = terms[i].length; } -maxTermSize = maxTermSize + 4; //This is to account for the legend row + +var cellSize = 15; //NOTE if this is changed, the size of the topScrollDiv must also be changed by the same factor! + +maxTermSize = maxTermSize + (cellSize/5)*3; //This is to account for the legend row var topOffset = maxTermSize*5;//NOTE the *7 is just my own approximation: characters on average seem to be about 5 pixels wide at the current font size var leftOffset = 85; -var cellSize = 15; //NOTE if this is changed, the size of the topScrollDiv must also be changed by the same factor! var maxRows = Math.floor((-topOffset)/cellSize); var maxCols = Math.floor((-leftOffset)/cellSize); var borderWidth = 1; for(var i = 0; i < terms.length; i ++) { + var blue = Math.floor(Math.random() * 200) + 55; var bluecolor = blue.toString(16); var green = Math.floor(Math.random() * 200) + 55; @@ -226,6 +230,9 @@ for(var i = 0; i < terms.length; i ++) { var color = "#" + redcolor + greencolor + bluecolor; termColors[i] = color; + + checkBoxes[i]=false; + } canvas.addEventListener('mouseup', showInfo, false); @@ -237,7 +244,7 @@ function drawTerms(startTerm) { //rotating the canvas for labeling the terms ontMap.rotate(-90*Math.PI/180); - ontMap.translate(-topOffset+cellSize + 10,0); + ontMap.translate(-topOffset+cellSize*3,0); //labeling the terms var translated = 0; @@ -250,7 +257,7 @@ function drawTerms(startTerm) { } //resetting the canvas to start position ontMap.translate(0,-translated); - ontMap.translate(topOffset-(cellSize+10),0); + ontMap.translate(topOffset-(cellSize*3),0); ontMap.rotate(90*Math.PI/180); } @@ -287,11 +294,21 @@ function drawMap(init) { startXCell = Math.floor(scrolledLeft/cellSize); startYCell = Math.floor(scrolledTop/cellSize); for(var t=startXCell; (ttopOffset)) { + if((xtopOffset)) { //for getting genes var index = Math.floor((y-topOffset)/cellSize) + Math.floor(scrolledTop/cellSize); var gene = genes[index]; getGeneInfo(gene); } - if((yleftOffset) && (yleftOffset)) { //for getting terms var index = Math.floor((x-leftOffset)/cellSize) + Math.floor(scrolledLeft/cellSize); var term = terms[index].split("-")[0]; getTermInfo(term); } + if(y<(topOffset-cellSize*2) && y>(topOffset-cellSize*3) && x>leftOffset) { //for checkBoxes + var index = Math.floor((x-leftOffset-7)/cellSize) + Math.floor(scrolledLeft/cellSize); //NOTE the -7 is to account for funky mouse mapping. + checkBoxes[index] = !checkBoxes[index]; + drawMap(true); + } // if((y>topOffset) && ((y+scrolledTop)<(topOffset + cellSize*clusterCount)) && (x>leftOffset) && ((x+scrolledLeft)