All pastes #80931 Raw Edit

jminta

public text v1 · immutable
·published 2006-07-06 23:25 UTC
rendered paste body
          getImageSrc: function calTreeGetImageSrc(row, col) {
              if (col.element.getAttribute("anonid") == "col-calendar-status") {
                  // Make sure this is first, to override any other status
                  if (this.calTree.mTreeRows[row].isLoading) {
                      return "chrome://skin/calendar/synch_animated.gif";
                  }

                  if (this.calTree.mTreeRows[row].readOnly) {
                      return "chrome://skin/calendar/Secure-url.png";
                  }

                  // Yeah, we don't support this yet, but it'd be nice to
                  // distinguish it from regular read-only
                  if (this.calTree.mTreeRows[row].inErrorMode) {
                      return "chrome://skin/calendar/error.png";
                  }
              }
              if (col.element.getAttribute("anonid") == "col-calendar-Checkbox") {
                  function drawCheckBox(aColor, aChecked) {
                      var canvas = document.createElementNS("http://www.w3.org/1999/xhtml", 'canvas');
                      var ctx = canvas.getContext('2d');
                      if (!aColor) {
                          // Default color
                          aColor = "#A8C2E1";
                      }
                      ctx.fillStyle = aColor.toString();
                      ctx.globalAlpha=.75;
                      ctx.beginPath();
                      var radius = 3;
                      var height = 12;
                      var width = 12;
                      ctx.moveTo(0, radius);
                      ctx.lineTo(0, height-radius);
                      ctx.quadraticCurveTo(0, height, radius, height);
                      ctx.lineTo(width-radius, height);
                      ctx.quadraticCurveTo(width, height, width, height-radius);
                      ctx.lineTo(width, radius);
                      ctx.quadraticCurveTo(width, 0, width-radius,0);
                      ctx.lineTo(radius, 0);
                      ctx.quadraticCurveTo(0, 0, 0, radius);
                      ctx.fill();
                      ctx.globalAlpha = 1.0;
                      ctx.stroke();
                      if (aChecked) {
                          ctx.lineWidth = 2.0;
                          ctx.moveTo(4,4);
                          ctx.lineTo(width/2, height-1);
                          ctx.lineTo(width+1, 0);
                          ctx.stroke();
                      }
jDebug.logMessage("returing:"+canvas.toDataURL());
                      return canvas.toDataURL();
                  }
                  var cal = this.calTree.mTreeRows[row];
                  if (!(cal instanceof Components.interfaces.calICalendar) ||
                      !this.calTree.mDisplayCalendar) {
                      // Containers
                      return;
                  }
                  var calMgr = Components.classes["@mozilla.org/calendar/manager;1"]
                                         .getService(Components.interfaces.calICalendarManager);
                  var color = calMgr.getCalendarPref(cal, 'color');

                  if (this.calTree.mDisplayCalendar.getCalendar(cal.uri)) {
                      //XXX someone broke data: for tree icons
                      return "chrome://calendar/skin/unifinder/checkbox_checked.png";
                      var res = drawCheckBox(color,true);
                      jDebug.logMessage("res:"+res.toString()+'\n'+row);
                      return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAACf0lEQVR4nO3bT2jOcRwH8I9nW9sQa7OVlU1MGYqsrGSkFCnjRuFAmsOuGko5strFYUXtRuE25eDkIC0UdjArMzH/1sz+pG2W2Ry2p55HJpTnubxe9T38Pt/P4X16H379fhERM/9wWgIgw3IjInbuO/T24IlTfUXFZd9+tTQyNJB36Xzj2u7OhyVzo/aMJQSYk4iI+F1ZRUQsKSqZGux/X5gyuv/fkwH8JBERkVpWfS+7C2NmOm3p1rXW5Z/63y3McDaANInUh7PH925qOra7tqfr6aLkbODD6/z2q62rMh8NIF1aYZWWr5iIiHh0707yXVVcaT6zZvLrRO76zVsHMx0OIFVaYW2s3TEUEfHscUdxRMTd2zdKu550LMsvKJw6efpiTzYCAiSlFVZt3Z7hRE7OzJve50s/9PUWXL98oSoi4sDRxldl5SsnsxMRYFZaYS0uKp6qXL1udPr79wXnGuprvowO51dWVY/uP9L4MVsBAZISEbPfWSUHG2q2DkVEjI99ycvJzZtuaGp+kUjkzKTsjGchJ8BsYd1sa6lIFtKW7Xs+Jy931R/uW129aWxkaCDvZltLxdy4Mws5ASLi73/LqctOTICIbRHxICLGYv6SGpvb2ZaljADzWpbtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPyZH4e6m4acevVEAAAAAElFTkSuQmCC";
                  } else {
                      //XXX see above
                      return "chrome://calendar/skin/unifinder/checkbox_unchecked.png";
                      return drawCheckBox(color, false);
                  }
              }
          },