Mercurial > hg > events2kml
annotate WebContent/mmpa/geotemco.js @ 6:a7c8d212f5f4 JS-viewer tip
exchanged e4D for new JS-viewer (GeoTemCo)
+ whitespace-changes (sorry!)
author | Sebastian Kruse <skruse@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 22 Jan 2013 15:12:30 +0100 |
parents | 2715bff4628d |
children |
rev | line source |
---|---|
5
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1 /*! jQuery v1.7.2 jquery.com | jquery.org/license */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2 (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3 a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 .clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 * basic.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
27 * basic code which is included first for the minified version |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
28 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
29 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
30 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
31 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
32 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
33 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
34 var arrayIndex = function(array, obj) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
35 if (Array.indexOf) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
36 return array.indexOf(obj); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
38 for (var i = 0; i < array.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
39 if (array[i] == obj) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
40 return i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
42 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
43 return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
44 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
45 var GeoTemCoMinifier_urlPrefix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
46 for (var i = 0; i < document.getElementsByTagName("script").length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
47 var script = document.getElementsByTagName("script")[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
48 var index = script.src.indexOf("geotemco.js"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
49 if (index == -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
50 index = script.src.indexOf("geotemco-min.js"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
51 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 if (index != -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
53 GeoTemCoMinifier_urlPrefix = script.src.substring(0, index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
54 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
55 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
56 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
57 // Copyright 2006 Google Inc. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
58 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
59 // Licensed under the Apache License, Version 2.0 (the "License"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
60 // you may not use this file except in compliance with the License. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
61 // You may obtain a copy of the License at |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
62 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
63 // http://www.apache.org/licenses/LICENSE-2.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
64 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
65 // Unless required by applicable law or agreed to in writing, software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
66 // distributed under the License is distributed on an "AS IS" BASIS, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
67 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
68 // See the License for the specific language governing permissions and |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
69 // limitations under the License. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
70 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
71 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
72 // Known Issues: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
73 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
74 // * Patterns are not implemented. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
75 // * Radial gradient are not implemented. The VML version of these look very |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
76 // different from the canvas one. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
77 // * Clipping paths are not implemented. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
78 // * Coordsize. The width and height attribute have higher priority than the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
79 // width and height style values which isn't correct. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
80 // * Painting mode isn't implemented. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
81 // * Canvas width/height should is using content-box by default. IE in |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
82 // Quirks mode will draw the canvas using border-box. Either change your |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
83 // doctype to HTML5 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
84 // (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
85 // or use Box Sizing Behavior from WebFX |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
86 // (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
87 // * Non uniform scaling does not correctly scale strokes. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
88 // * Optimize. There is always room for speed improvements. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
89 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
90 // Only add this code if we do not already have a canvas implementation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
91 if (!document.createElement('canvas').getContext) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
92 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
93 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
94 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
95 // alias some functions to make (compiled) code shorter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
96 var m = Math; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
97 var mr = m.round; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
98 var ms = m.sin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
99 var mc = m.cos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
100 var abs = m.abs; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
101 var sqrt = m.sqrt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
102 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
103 // this is used for sub pixel precision |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
104 var Z = 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
105 var Z2 = Z / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
106 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
107 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
108 * This funtion is assigned to the <canvas> elements as element.getContext(). |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
109 * @this {HTMLElement} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
110 * @return {CanvasRenderingContext2D_} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
111 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
112 function getContext() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
113 return this.context_ || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
114 (this.context_ = new CanvasRenderingContext2D_(this)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
115 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
116 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
117 var slice = Array.prototype.slice; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
118 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
119 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
120 * Binds a function to an object. The returned function will always use the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
121 * passed in {@code obj} as {@code this}. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
122 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
123 * Example: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
124 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
125 * g = bind(f, obj, a, b) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
126 * g(c, d) // will do f.call(obj, a, b, c, d) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
127 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
128 * @param {Function} f The function to bind the object to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
129 * @param {Object} obj The object that should act as this when the function |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
130 * is called |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
131 * @param {*} var_args Rest arguments that will be used as the initial |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
132 * arguments when the function is called |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
133 * @return {Function} A new function that has bound this |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
134 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
135 function bind(f, obj, var_args) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
136 var a = slice.call(arguments, 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
137 return function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
138 return f.apply(obj, a.concat(slice.call(arguments))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
139 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
140 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
141 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
142 var G_vmlCanvasManager_ = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
143 init: function(opt_doc) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
144 if (/MSIE/.test(navigator.userAgent) && !window.opera) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
145 var doc = opt_doc || document; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
146 // Create a dummy element so that IE will allow canvas elements to be |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
147 // recognized. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
148 doc.createElement('canvas'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
149 doc.attachEvent('onreadystatechange', bind(this.init_, this, doc)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
150 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
151 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
152 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
153 init_: function(doc) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
154 // create xmlns |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
155 if (!doc.namespaces['g_vml_']) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
156 doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
157 '#default#VML'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
158 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
159 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
160 if (!doc.namespaces['g_o_']) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
161 doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
162 '#default#VML'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
163 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
164 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
165 // Setup default CSS. Only add one style sheet per document |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
166 if (!doc.styleSheets['ex_canvas_']) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
167 var ss = doc.createStyleSheet(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
168 ss.owningElement.id = 'ex_canvas_'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
169 ss.cssText = 'canvas{display:inline-block;overflow:hidden;' + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
170 // default size is 300x150 in Gecko and Opera |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
171 'text-align:left;width:300px;height:150px}' + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
172 'g_vml_\\:*{behavior:url(#default#VML)}' + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
173 'g_o_\\:*{behavior:url(#default#VML)}'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
174 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
175 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
176 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
177 // find all canvas elements |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
178 var els = doc.getElementsByTagName('canvas'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
179 for (var i = 0; i < els.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
180 this.initElement(els[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
181 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
182 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
183 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
184 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
185 * Public initializes a canvas element so that it can be used as canvas |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
186 * element from now on. This is called automatically before the page is |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
187 * loaded but if you are creating elements using createElement you need to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
188 * make sure this is called on the element. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
189 * @param {HTMLElement} el The canvas element to initialize. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
190 * @return {HTMLElement} the element that was created. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
191 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
192 initElement: function(el) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
193 if (!el.getContext) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
194 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
195 el.getContext = getContext; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
196 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
197 // Remove fallback content. There is no way to hide text nodes so we |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
198 // just remove all childNodes. We could hide all elements and remove |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
199 // text nodes but who really cares about the fallback content. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
200 el.innerHTML = ''; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
201 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
202 // do not use inline function because that will leak memory |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
203 el.attachEvent('onpropertychange', onPropertyChange); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
204 el.attachEvent('onresize', onResize); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
205 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
206 var attrs = el.attributes; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
207 if (attrs.width && attrs.width.specified) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
208 // TODO: use runtimeStyle and coordsize |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
209 // el.getContext().setWidth_(attrs.width.nodeValue); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
210 el.style.width = attrs.width.nodeValue + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
211 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
212 el.width = el.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
213 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
214 if (attrs.height && attrs.height.specified) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
215 // TODO: use runtimeStyle and coordsize |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
216 // el.getContext().setHeight_(attrs.height.nodeValue); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
217 el.style.height = attrs.height.nodeValue + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
218 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
219 el.height = el.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
220 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
221 //el.getContext().setCoordsize_() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
222 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
223 return el; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
224 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
225 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
226 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
227 function onPropertyChange(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
228 var el = e.srcElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
229 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
230 switch (e.propertyName) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
231 case 'width': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
232 el.style.width = el.attributes.width.nodeValue + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
233 el.getContext().clearRect(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
234 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
235 case 'height': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
236 el.style.height = el.attributes.height.nodeValue + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
237 el.getContext().clearRect(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
238 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
239 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
240 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
241 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
242 function onResize(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
243 var el = e.srcElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
244 if (el.firstChild) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
245 el.firstChild.style.width = el.clientWidth + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
246 el.firstChild.style.height = el.clientHeight + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
247 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
248 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
249 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
250 G_vmlCanvasManager_.init(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
251 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
252 // precompute "00" to "FF" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
253 var dec2hex = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
254 for (var i = 0; i < 16; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
255 for (var j = 0; j < 16; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
256 dec2hex[i * 16 + j] = i.toString(16) + j.toString(16); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
257 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
258 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
259 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
260 function createMatrixIdentity() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
261 return [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
262 [1, 0, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
263 [0, 1, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
264 [0, 0, 1] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
265 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
266 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
267 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
268 function matrixMultiply(m1, m2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
269 var result = createMatrixIdentity(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
270 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
271 for (var x = 0; x < 3; x++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
272 for (var y = 0; y < 3; y++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
273 var sum = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
274 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
275 for (var z = 0; z < 3; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
276 sum += m1[x][z] * m2[z][y]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
277 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
278 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
279 result[x][y] = sum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
280 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
281 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
282 return result; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
283 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
284 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
285 function copyState(o1, o2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
286 o2.fillStyle = o1.fillStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
287 o2.lineCap = o1.lineCap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
288 o2.lineJoin = o1.lineJoin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
289 o2.lineWidth = o1.lineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
290 o2.miterLimit = o1.miterLimit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
291 o2.shadowBlur = o1.shadowBlur; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
292 o2.shadowColor = o1.shadowColor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
293 o2.shadowOffsetX = o1.shadowOffsetX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
294 o2.shadowOffsetY = o1.shadowOffsetY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
295 o2.strokeStyle = o1.strokeStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
296 o2.globalAlpha = o1.globalAlpha; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
297 o2.arcScaleX_ = o1.arcScaleX_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
298 o2.arcScaleY_ = o1.arcScaleY_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
299 o2.lineScale_ = o1.lineScale_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
300 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
301 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
302 function processStyle(styleString) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
303 var str, alpha = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
304 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
305 styleString = String(styleString); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
306 if (styleString.substring(0, 3) == 'rgb') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
307 var start = styleString.indexOf('(', 3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
308 var end = styleString.indexOf(')', start + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
309 var guts = styleString.substring(start + 1, end).split(','); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
310 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
311 str = '#'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
312 for (var i = 0; i < 3; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
313 str += dec2hex[Number(guts[i])]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
314 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
315 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
316 if (guts.length == 4 && styleString.substr(3, 1) == 'a') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
317 alpha = guts[3]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
318 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
319 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
320 str = styleString; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
321 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
322 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
323 return {color: str, alpha: alpha}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
324 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
325 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
326 function processLineCap(lineCap) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
327 switch (lineCap) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
328 case 'butt': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
329 return 'flat'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
330 case 'round': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
331 return 'round'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
332 case 'square': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
333 default: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
334 return 'square'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
335 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
336 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
337 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
338 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
339 * This class implements CanvasRenderingContext2D interface as described by |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
340 * the WHATWG. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
341 * @param {HTMLElement} surfaceElement The element that the 2D context should |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
342 * be associated with |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
343 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
344 function CanvasRenderingContext2D_(surfaceElement) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
345 this.m_ = createMatrixIdentity(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
346 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
347 this.mStack_ = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
348 this.aStack_ = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
349 this.currentPath_ = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
350 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
351 // Canvas context properties |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
352 this.strokeStyle = '#000'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
353 this.fillStyle = '#000'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
354 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
355 this.lineWidth = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
356 this.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
357 this.lineCap = 'butt'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
358 this.miterLimit = Z * 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
359 this.globalAlpha = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
360 this.canvas = surfaceElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
361 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
362 var el = surfaceElement.ownerDocument.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
363 el.style.width = surfaceElement.clientWidth + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
364 el.style.height = surfaceElement.clientHeight + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
365 el.style.overflow = 'hidden'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
366 el.style.position = 'absolute'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
367 surfaceElement.appendChild(el); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
369 this.element_ = el; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
370 this.arcScaleX_ = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
371 this.arcScaleY_ = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
372 this.lineScale_ = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
373 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
374 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
375 var contextPrototype = CanvasRenderingContext2D_.prototype; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
376 contextPrototype.clearRect = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
377 this.element_.innerHTML = ''; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
378 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
379 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
380 contextPrototype.beginPath = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
381 // TODO: Branch current matrix so that save/restore has no effect |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
382 // as per safari docs. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
383 this.currentPath_ = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
384 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
385 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
386 contextPrototype.moveTo = function(aX, aY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
387 var p = this.getCoords_(aX, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
388 this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
389 this.currentX_ = p.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
390 this.currentY_ = p.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
391 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
392 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
393 contextPrototype.lineTo = function(aX, aY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
394 var p = this.getCoords_(aX, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
395 this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
396 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
397 this.currentX_ = p.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
398 this.currentY_ = p.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
399 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
400 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
401 contextPrototype.bezierCurveTo = function(aCP1x, aCP1y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
402 aCP2x, aCP2y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
403 aX, aY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
404 var p = this.getCoords_(aX, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
405 var cp1 = this.getCoords_(aCP1x, aCP1y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
406 var cp2 = this.getCoords_(aCP2x, aCP2y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
407 bezierCurveTo(this, cp1, cp2, p); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
408 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
409 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
410 // Helper function that takes the already fixed cordinates. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
411 function bezierCurveTo(self, cp1, cp2, p) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
412 self.currentPath_.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
413 type: 'bezierCurveTo', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
414 cp1x: cp1.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
415 cp1y: cp1.y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
416 cp2x: cp2.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
417 cp2y: cp2.y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
418 x: p.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
419 y: p.y |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
420 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
421 self.currentX_ = p.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
422 self.currentY_ = p.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
423 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
424 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
425 contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
426 // the following is lifted almost directly from |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
427 // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
428 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
429 var cp = this.getCoords_(aCPx, aCPy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
430 var p = this.getCoords_(aX, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
431 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
432 var cp1 = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
433 x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
434 y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
435 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
436 var cp2 = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
437 x: cp1.x + (p.x - this.currentX_) / 3.0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
438 y: cp1.y + (p.y - this.currentY_) / 3.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
439 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
440 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
441 bezierCurveTo(this, cp1, cp2, p); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
442 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
443 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
444 contextPrototype.arc = function(aX, aY, aRadius, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
445 aStartAngle, aEndAngle, aClockwise) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
446 aRadius *= Z; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
447 var arcType = aClockwise ? 'at' : 'wa'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
448 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
449 var xStart = aX + mc(aStartAngle) * aRadius - Z2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
450 var yStart = aY + ms(aStartAngle) * aRadius - Z2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
451 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
452 var xEnd = aX + mc(aEndAngle) * aRadius - Z2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
453 var yEnd = aY + ms(aEndAngle) * aRadius - Z2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
454 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
455 // IE won't render arches drawn counter clockwise if xStart == xEnd. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
456 if (xStart == xEnd && !aClockwise) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
457 xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
458 // that can be represented in binary |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
459 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
460 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
461 var p = this.getCoords_(aX, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
462 var pStart = this.getCoords_(xStart, yStart); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
463 var pEnd = this.getCoords_(xEnd, yEnd); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
464 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
465 this.currentPath_.push({type: arcType, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
466 x: p.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
467 y: p.y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
468 radius: aRadius, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
469 xStart: pStart.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
470 yStart: pStart.y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
471 xEnd: pEnd.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
472 yEnd: pEnd.y}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
473 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
474 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
475 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
476 contextPrototype.rect = function(aX, aY, aWidth, aHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
477 this.moveTo(aX, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
478 this.lineTo(aX + aWidth, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
479 this.lineTo(aX + aWidth, aY + aHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
480 this.lineTo(aX, aY + aHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
481 this.closePath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
482 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
483 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
484 contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
485 var oldPath = this.currentPath_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
486 this.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
487 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
488 this.moveTo(aX, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
489 this.lineTo(aX + aWidth, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
490 this.lineTo(aX + aWidth, aY + aHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
491 this.lineTo(aX, aY + aHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
492 this.closePath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
493 this.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
494 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
495 this.currentPath_ = oldPath; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
496 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
497 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
498 contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
499 var oldPath = this.currentPath_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
500 this.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
501 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
502 this.moveTo(aX, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
503 this.lineTo(aX + aWidth, aY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
504 this.lineTo(aX + aWidth, aY + aHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
505 this.lineTo(aX, aY + aHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
506 this.closePath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
507 this.fill(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
508 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
509 this.currentPath_ = oldPath; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
510 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
511 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
512 contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
513 var gradient = new CanvasGradient_('gradient'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
514 gradient.x0_ = aX0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
515 gradient.y0_ = aY0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
516 gradient.x1_ = aX1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
517 gradient.y1_ = aY1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
518 return gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
519 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
520 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
521 contextPrototype.createRadialGradient = function(aX0, aY0, aR0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
522 aX1, aY1, aR1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
523 var gradient = new CanvasGradient_('gradientradial'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
524 gradient.x0_ = aX0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
525 gradient.y0_ = aY0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
526 gradient.r0_ = aR0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
527 gradient.x1_ = aX1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
528 gradient.y1_ = aY1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
529 gradient.r1_ = aR1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
530 return gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
531 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
532 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
533 contextPrototype.drawImage = function(image, var_args) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
534 var dx, dy, dw, dh, sx, sy, sw, sh; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
535 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
536 // to find the original width we overide the width and height |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
537 var oldRuntimeWidth = image.runtimeStyle.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
538 var oldRuntimeHeight = image.runtimeStyle.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
539 image.runtimeStyle.width = 'auto'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
540 image.runtimeStyle.height = 'auto'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
541 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
542 // get the original size |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
543 var w = image.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
544 var h = image.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
545 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
546 // and remove overides |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
547 image.runtimeStyle.width = oldRuntimeWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
548 image.runtimeStyle.height = oldRuntimeHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
549 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
550 if (arguments.length == 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
551 dx = arguments[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
552 dy = arguments[2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
553 sx = sy = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
554 sw = dw = w; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
555 sh = dh = h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
556 } else if (arguments.length == 5) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
557 dx = arguments[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
558 dy = arguments[2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
559 dw = arguments[3]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
560 dh = arguments[4]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
561 sx = sy = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
562 sw = w; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
563 sh = h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
564 } else if (arguments.length == 9) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
565 sx = arguments[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
566 sy = arguments[2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
567 sw = arguments[3]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
568 sh = arguments[4]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
569 dx = arguments[5]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
570 dy = arguments[6]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
571 dw = arguments[7]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
572 dh = arguments[8]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
573 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
574 throw Error('Invalid number of arguments'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
575 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
576 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
577 var d = this.getCoords_(dx, dy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
578 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
579 var w2 = sw / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
580 var h2 = sh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
581 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
582 var vmlStr = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
583 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
584 var W = 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
585 var H = 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
586 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
587 // For some reason that I've now forgotten, using divs didn't work |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
588 vmlStr.push(' <g_vml_:group', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
589 ' coordsize="', Z * W, ',', Z * H, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
590 ' coordorigin="0,0"' , |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
591 ' style="width:', W, 'px;height:', H, 'px;position:absolute;'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
592 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
593 // If filters are necessary (rotation exists), create them |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
594 // filters are bog-slow, so only create them if abbsolutely necessary |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
595 // The following check doesn't account for skews (which don't exist |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
596 // in the canvas spec (yet) anyway. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
597 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
598 if (this.m_[0][0] != 1 || this.m_[0][1]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
599 var filter = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
600 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
601 // Note the 12/21 reversal |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
602 filter.push('M11=', this.m_[0][0], ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
603 'M12=', this.m_[1][0], ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
604 'M21=', this.m_[0][1], ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
605 'M22=', this.m_[1][1], ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
606 'Dx=', mr(d.x / Z), ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
607 'Dy=', mr(d.y / Z), ''); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
608 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
609 // Bounding box calculation (need to minimize displayed area so that |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
610 // filters don't waste time on unused pixels. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
611 var max = d; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
612 var c2 = this.getCoords_(dx + dw, dy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
613 var c3 = this.getCoords_(dx, dy + dh); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
614 var c4 = this.getCoords_(dx + dw, dy + dh); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
615 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
616 max.x = m.max(max.x, c2.x, c3.x, c4.x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
617 max.y = m.max(max.y, c2.y, c3.y, c4.y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
618 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
619 vmlStr.push('padding:0 ', mr(max.x / Z), 'px ', mr(max.y / Z), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
620 'px 0;filter:progid:DXImageTransform.Microsoft.Matrix(', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
621 filter.join(''), ", sizingmethod='clip');") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
622 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
623 vmlStr.push('top:', mr(d.y / Z), 'px;left:', mr(d.x / Z), 'px;'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
624 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
625 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
626 vmlStr.push(' ">' , |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
627 '<g_vml_:image src="', image.src, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
628 ' style="width:', Z * dw, 'px;', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
629 ' height:', Z * dh, 'px;"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
630 ' cropleft="', sx / w, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
631 ' croptop="', sy / h, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
632 ' cropright="', (w - sx - sw) / w, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
633 ' cropbottom="', (h - sy - sh) / h, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
634 ' />', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
635 '</g_vml_:group>'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
636 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
637 this.element_.insertAdjacentHTML('BeforeEnd', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
638 vmlStr.join('')); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
639 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
640 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
641 contextPrototype.stroke = function(aFill) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
642 var lineStr = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
643 var lineOpen = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
644 var a = processStyle(aFill ? this.fillStyle : this.strokeStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
645 var color = a.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
646 var opacity = a.alpha * this.globalAlpha; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
647 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
648 var W = 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
649 var H = 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
650 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
651 lineStr.push('<g_vml_:shape', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
652 ' filled="', !!aFill, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
653 ' style="position:absolute;width:', W, 'px;height:', H, 'px;"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
654 ' coordorigin="0 0" coordsize="', Z * W, ' ', Z * H, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
655 ' stroked="', !aFill, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
656 ' path="'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
657 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
658 var newSeq = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
659 var min = {x: null, y: null}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
660 var max = {x: null, y: null}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
661 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
662 for (var i = 0; i < this.currentPath_.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
663 var p = this.currentPath_[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
664 var c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
665 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
666 switch (p.type) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
667 case 'moveTo': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
668 c = p; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
669 lineStr.push(' m ', mr(p.x), ',', mr(p.y)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
670 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
671 case 'lineTo': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
672 lineStr.push(' l ', mr(p.x), ',', mr(p.y)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
673 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
674 case 'close': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
675 lineStr.push(' x '); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
676 p = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
677 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
678 case 'bezierCurveTo': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
679 lineStr.push(' c ', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
680 mr(p.cp1x), ',', mr(p.cp1y), ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
681 mr(p.cp2x), ',', mr(p.cp2y), ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
682 mr(p.x), ',', mr(p.y)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
683 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
684 case 'at': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
685 case 'wa': |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
686 lineStr.push(' ', p.type, ' ', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
687 mr(p.x - this.arcScaleX_ * p.radius), ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
688 mr(p.y - this.arcScaleY_ * p.radius), ' ', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
689 mr(p.x + this.arcScaleX_ * p.radius), ',', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
690 mr(p.y + this.arcScaleY_ * p.radius), ' ', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
691 mr(p.xStart), ',', mr(p.yStart), ' ', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
692 mr(p.xEnd), ',', mr(p.yEnd)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
693 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
694 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
695 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
696 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
697 // TODO: Following is broken for curves due to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
698 // move to proper paths. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
699 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
700 // Figure out dimensions so we can do gradient fills |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
701 // properly |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
702 if (p) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
703 if (min.x == null || p.x < min.x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
704 min.x = p.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
705 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
706 if (max.x == null || p.x > max.x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
707 max.x = p.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
708 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
709 if (min.y == null || p.y < min.y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
710 min.y = p.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
711 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
712 if (max.y == null || p.y > max.y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
713 max.y = p.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
714 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
715 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
716 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
717 lineStr.push(' ">'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
718 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
719 if (!aFill) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
720 var lineWidth = this.lineScale_ * this.lineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
721 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
722 // VML cannot correctly render a line if the width is less than 1px. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
723 // In that case, we dilute the color to make the line look thinner. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
724 if (lineWidth < 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
725 opacity *= lineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
726 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
727 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
728 lineStr.push( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
729 '<g_vml_:stroke', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
730 ' opacity="', opacity, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
731 ' joinstyle="', this.lineJoin, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
732 ' miterlimit="', this.miterLimit, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
733 ' endcap="', processLineCap(this.lineCap), '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
734 ' weight="', lineWidth, 'px"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
735 ' color="', color, '" />' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
736 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
737 } else if (typeof this.fillStyle == 'object') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
738 var fillStyle = this.fillStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
739 var angle = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
740 var focus = {x: 0, y: 0}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
741 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
742 // additional offset |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
743 var shift = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
744 // scale factor for offset |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
745 var expansion = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
746 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
747 if (fillStyle.type_ == 'gradient') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
748 var x0 = fillStyle.x0_ / this.arcScaleX_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
749 var y0 = fillStyle.y0_ / this.arcScaleY_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
750 var x1 = fillStyle.x1_ / this.arcScaleX_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
751 var y1 = fillStyle.y1_ / this.arcScaleY_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
752 var p0 = this.getCoords_(x0, y0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
753 var p1 = this.getCoords_(x1, y1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
754 var dx = p1.x - p0.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
755 var dy = p1.y - p0.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
756 angle = Math.atan2(dx, dy) * 180 / Math.PI; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
757 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
758 // The angle should be a non-negative number. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
759 if (angle < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
760 angle += 360; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
761 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
762 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
763 // Very small angles produce an unexpected result because they are |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
764 // converted to a scientific notation string. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
765 if (angle < 1e-6) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
766 angle = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
767 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
768 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
769 var p0 = this.getCoords_(fillStyle.x0_, fillStyle.y0_); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
770 var width = max.x - min.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
771 var height = max.y - min.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
772 focus = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
773 x: (p0.x - min.x) / width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
774 y: (p0.y - min.y) / height |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
775 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
776 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
777 width /= this.arcScaleX_ * Z; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
778 height /= this.arcScaleY_ * Z; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
779 var dimension = m.max(width, height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
780 shift = 2 * fillStyle.r0_ / dimension; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
781 expansion = 2 * fillStyle.r1_ / dimension - shift; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
782 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
783 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
784 // We need to sort the color stops in ascending order by offset, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
785 // otherwise IE won't interpret it correctly. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
786 var stops = fillStyle.colors_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
787 stops.sort(function(cs1, cs2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
788 return cs1.offset - cs2.offset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
789 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
790 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
791 var length = stops.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
792 var color1 = stops[0].color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
793 var color2 = stops[length - 1].color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
794 var opacity1 = stops[0].alpha * this.globalAlpha; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
795 var opacity2 = stops[length - 1].alpha * this.globalAlpha; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
796 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
797 var colors = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
798 for (var i = 0; i < length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
799 var stop = stops[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
800 colors.push(stop.offset * expansion + shift + ' ' + stop.color); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
801 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
802 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
803 // When colors attribute is used, the meanings of opacity and o:opacity2 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
804 // are reversed. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
805 lineStr.push('<g_vml_:fill type="', fillStyle.type_, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
806 ' method="none" focus="100%"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
807 ' color="', color1, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
808 ' color2="', color2, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
809 ' colors="', colors.join(','), '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
810 ' opacity="', opacity2, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
811 ' g_o_:opacity2="', opacity1, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
812 ' angle="', angle, '"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
813 ' focusposition="', focus.x, ',', focus.y, '" />'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
814 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
815 lineStr.push('<g_vml_:fill color="', color, '" opacity="', opacity, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
816 '" />'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
817 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
818 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
819 lineStr.push('</g_vml_:shape>'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
820 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
821 this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
822 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
823 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
824 contextPrototype.fill = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
825 this.stroke(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
826 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
827 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
828 contextPrototype.closePath = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
829 this.currentPath_.push({type: 'close'}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
830 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
831 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
832 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
833 * @private |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
834 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
835 contextPrototype.getCoords_ = function(aX, aY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
836 var m = this.m_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
837 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
838 x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
839 y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
840 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
841 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
842 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
843 contextPrototype.save = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
844 var o = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
845 copyState(this, o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
846 this.aStack_.push(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
847 this.mStack_.push(this.m_); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
848 this.m_ = matrixMultiply(createMatrixIdentity(), this.m_); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
849 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
850 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
851 contextPrototype.restore = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
852 copyState(this.aStack_.pop(), this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
853 this.m_ = this.mStack_.pop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
854 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
855 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
856 function matrixIsFinite(m) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
857 for (var j = 0; j < 3; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
858 for (var k = 0; k < 2; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
859 if (!isFinite(m[j][k]) || isNaN(m[j][k])) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
860 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
861 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
862 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
863 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
864 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
865 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
866 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
867 function setM(ctx, m, updateLineScale) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
868 if (!matrixIsFinite(m)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
869 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
870 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
871 ctx.m_ = m; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
872 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
873 if (updateLineScale) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
874 // Get the line scale. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
875 // Determinant of this.m_ means how much the area is enlarged by the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
876 // transformation. So its square root can be used as a scale factor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
877 // for width. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
878 var det = m[0][0] * m[1][1] - m[0][1] * m[1][0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
879 ctx.lineScale_ = sqrt(abs(det)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
880 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
881 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
882 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
883 contextPrototype.translate = function(aX, aY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
884 var m1 = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
885 [1, 0, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
886 [0, 1, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
887 [aX, aY, 1] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
888 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
889 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
890 setM(this, matrixMultiply(m1, this.m_), false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
891 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
892 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
893 contextPrototype.rotate = function(aRot) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
894 var c = mc(aRot); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
895 var s = ms(aRot); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
896 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
897 var m1 = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
898 [c, s, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
899 [-s, c, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
900 [0, 0, 1] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
901 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
902 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
903 setM(this, matrixMultiply(m1, this.m_), false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
904 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
905 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
906 contextPrototype.scale = function(aX, aY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
907 this.arcScaleX_ *= aX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
908 this.arcScaleY_ *= aY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
909 var m1 = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
910 [aX, 0, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
911 [0, aY, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
912 [0, 0, 1] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
913 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
914 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
915 setM(this, matrixMultiply(m1, this.m_), true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
916 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
917 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
918 contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
919 var m1 = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
920 [m11, m12, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
921 [m21, m22, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
922 [dx, dy, 1] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
923 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
924 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
925 setM(this, matrixMultiply(m1, this.m_), true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
926 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
927 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
928 contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
929 var m = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
930 [m11, m12, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
931 [m21, m22, 0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
932 [dx, dy, 1] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
933 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
934 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
935 setM(this, m, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
936 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
937 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
938 /******** STUBS ********/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
939 contextPrototype.clip = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
940 // TODO: Implement |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
941 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
942 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
943 contextPrototype.arcTo = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
944 // TODO: Implement |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
945 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
946 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
947 contextPrototype.createPattern = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
948 return new CanvasPattern_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
949 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
950 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
951 // Gradient / Pattern Stubs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
952 function CanvasGradient_(aType) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
953 this.type_ = aType; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
954 this.x0_ = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
955 this.y0_ = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
956 this.r0_ = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
957 this.x1_ = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
958 this.y1_ = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
959 this.r1_ = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
960 this.colors_ = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
961 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
962 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
963 CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
964 aColor = processStyle(aColor); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
965 this.colors_.push({offset: aOffset, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
966 color: aColor.color, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
967 alpha: aColor.alpha}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
968 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
969 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
970 function CanvasPattern_() {} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
971 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
972 // set up externs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
973 G_vmlCanvasManager = G_vmlCanvasManager_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
974 CanvasRenderingContext2D = CanvasRenderingContext2D_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
975 CanvasGradient = CanvasGradient_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
976 CanvasPattern = CanvasPattern_; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
977 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
978 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
979 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
980 } // if |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
981 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
982 * simile-ajax-basic.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
983 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
984 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
985 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
986 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
987 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
988 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
989 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
990 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
991 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
992 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
993 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
994 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
995 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
996 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
997 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
998 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
999 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1000 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1001 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1002 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1003 * basic code which is included in front of simile ajax code for the minified version |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1004 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1005 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1006 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1007 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1008 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1009 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1010 SimileAjax_urlPrefix = GeoTemCoMinifier_urlPrefix + 'lib/simile/ajax/'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1011 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1012 if ( typeof window.SimileAjax == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1013 window.SimileAjax = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1014 loadingScriptsCount : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1015 error : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1016 params : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1017 bundle : "true" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1018 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1019 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1020 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1021 SimileAjax.Platform = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1022 SimileAjax.includeCssFile = function(doc, url) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1023 var link = doc.createElement("link"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1024 link.setAttribute("rel", "stylesheet"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1025 link.setAttribute("type", "text/css"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1026 link.setAttribute("href", url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1027 doc.getElementsByTagName("head")[0].appendChild(link); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1028 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1029 SimileAjax.urlPrefix = SimileAjax_urlPrefix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1030 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1031 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1032 * Platform Utility Functions and Constants |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1033 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1034 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1035 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1036 /* This must be called after our jQuery has been loaded |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1037 but before control returns to user-code. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1038 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1039 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1040 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1041 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1042 * REMEMBER to update the Version! |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1043 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1044 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1045 SimileAjax.version = '2.2.1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1046 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1047 SimileAjax.jQuery = jQuery.noConflict(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1048 if (typeof window["$"] == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1049 window.$ = SimileAjax.jQuery; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1050 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1051 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1052 SimileAjax.Platform.os = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1053 isMac: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1054 isWin: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1055 isWin32: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1056 isUnix: false |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1057 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1058 SimileAjax.Platform.browser = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1059 isIE: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1060 isNetscape: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1061 isMozilla: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1062 isFirefox: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1063 isOpera: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1064 isSafari: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1065 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1066 majorVersion: 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1067 minorVersion: 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1068 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1069 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1070 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1071 var an = navigator.appName.toLowerCase(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1072 var ua = navigator.userAgent.toLowerCase(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1073 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1074 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1075 * Operating system |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1076 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1077 SimileAjax.Platform.os.isMac = (ua.indexOf('mac') != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1078 SimileAjax.Platform.os.isWin = (ua.indexOf('win') != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1079 SimileAjax.Platform.os.isWin32 = SimileAjax.Platform.isWin && ( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1080 ua.indexOf('95') != -1 || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1081 ua.indexOf('98') != -1 || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1082 ua.indexOf('nt') != -1 || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1083 ua.indexOf('win32') != -1 || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1084 ua.indexOf('32bit') != -1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1085 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1086 SimileAjax.Platform.os.isUnix = (ua.indexOf('x11') != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1087 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1088 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1089 * Browser |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1090 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1091 SimileAjax.Platform.browser.isIE = (an.indexOf("microsoft") != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1092 SimileAjax.Platform.browser.isNetscape = (an.indexOf("netscape") != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1093 SimileAjax.Platform.browser.isMozilla = (ua.indexOf("mozilla") != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1094 SimileAjax.Platform.browser.isFirefox = (ua.indexOf("firefox") != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1095 SimileAjax.Platform.browser.isOpera = (an.indexOf("opera") != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1096 SimileAjax.Platform.browser.isSafari = (an.indexOf("safari") != -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1097 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1098 var parseVersionString = function(s) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1099 var a = s.split("."); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1100 SimileAjax.Platform.browser.majorVersion = parseInt(a[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1101 SimileAjax.Platform.browser.minorVersion = parseInt(a[1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1102 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1103 var indexOf = function(s, sub, start) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1104 var i = s.indexOf(sub, start); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1105 return i >= 0 ? i : s.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1106 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1107 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1108 if (SimileAjax.Platform.browser.isMozilla) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1109 var offset = ua.indexOf("mozilla/"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1110 if (offset >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1111 parseVersionString(ua.substring(offset + 8, indexOf(ua, " ", offset))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1112 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1113 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1114 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1115 var offset = ua.indexOf("msie "); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1116 if (offset >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1117 parseVersionString(ua.substring(offset + 5, indexOf(ua, ";", offset))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1118 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1119 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1120 if (SimileAjax.Platform.browser.isNetscape) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1121 var offset = ua.indexOf("rv:"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1122 if (offset >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1123 parseVersionString(ua.substring(offset + 3, indexOf(ua, ")", offset))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1124 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1125 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1126 if (SimileAjax.Platform.browser.isFirefox) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1127 var offset = ua.indexOf("firefox/"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1128 if (offset >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1129 parseVersionString(ua.substring(offset + 8, indexOf(ua, " ", offset))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1130 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1131 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1132 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1133 if (!("localeCompare" in String.prototype)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1134 String.prototype.localeCompare = function (s) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1135 if (this < s) return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1136 else if (this > s) return 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1137 else return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1138 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1139 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1140 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1141 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1142 SimileAjax.Platform.getDefaultLocale = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1143 return SimileAjax.Platform.clientLocale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1144 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1145 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1146 * Debug Utility Functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1147 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1148 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1149 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1150 SimileAjax.Debug = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1151 silent: false |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1152 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1153 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1154 SimileAjax.Debug.log = function(msg) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1155 var f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1156 if ("console" in window && "log" in window.console) { // FireBug installed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1157 f = function(msg2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1158 console.log(msg2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1159 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1160 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1161 f = function(msg2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1162 if (!SimileAjax.Debug.silent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1163 alert(msg2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1164 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1165 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1166 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1167 SimileAjax.Debug.log = f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1168 f(msg); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1169 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1170 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1171 SimileAjax.Debug.warn = function(msg) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1172 var f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1173 if ("console" in window && "warn" in window.console) { // FireBug installed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1174 f = function(msg2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1175 console.warn(msg2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1176 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1177 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1178 f = function(msg2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1179 if (!SimileAjax.Debug.silent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1180 alert(msg2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1181 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1182 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1183 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1184 SimileAjax.Debug.warn = f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1185 f(msg); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1186 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1187 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1188 SimileAjax.Debug.exception = function(e, msg) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1189 var f, params = SimileAjax.parseURLParameters(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1190 if (params.errors == "throw" || SimileAjax.params.errors == "throw") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1191 f = function(e2, msg2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1192 throw(e2); // do not hide from browser's native debugging features |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1193 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1194 } else if ("console" in window && "error" in window.console) { // FireBug installed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1195 f = function(e2, msg2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1196 if (msg2 != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1197 console.error(msg2 + " %o", e2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1198 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1199 console.error(e2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1200 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1201 throw(e2); // do not hide from browser's native debugging features |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1202 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1203 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1204 f = function(e2, msg2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1205 if (!SimileAjax.Debug.silent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1206 alert("Caught exception: " + msg2 + "\n\nDetails: " + ("description" in e2 ? e2.description : e2)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1207 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1208 throw(e2); // do not hide from browser's native debugging features |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1209 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1210 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1211 SimileAjax.Debug.exception = f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1212 f(e, msg); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1213 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1214 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1215 SimileAjax.Debug.objectToString = function(o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1216 return SimileAjax.Debug._objectToString(o, ""); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1217 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1218 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1219 SimileAjax.Debug._objectToString = function(o, indent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1220 var indent2 = indent + " "; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1221 if (typeof o == "object") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1222 var s = "{"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1223 for (n in o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1224 s += indent2 + n + ": " + SimileAjax.Debug._objectToString(o[n], indent2) + "\n"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1225 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1226 s += indent + "}"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1227 return s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1228 } else if (typeof o == "array") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1229 var s = "["; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1230 for (var n = 0; n < o.length; n++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1231 s += SimileAjax.Debug._objectToString(o[n], indent2) + "\n"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1232 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1233 s += indent + "]"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1234 return s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1235 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1236 return o; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1237 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1238 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1239 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1240 * @fileOverview XmlHttp utility functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1241 * @name SimileAjax.XmlHttp |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1242 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1243 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1244 SimileAjax.XmlHttp = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1245 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1246 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1247 * Callback for XMLHttp onRequestStateChange. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1248 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1249 SimileAjax.XmlHttp._onReadyStateChange = function(xmlhttp, fError, fDone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1250 switch (xmlhttp.readyState) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1251 // 1: Request not yet made |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1252 // 2: Contact established with server but nothing downloaded yet |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1253 // 3: Called multiple while downloading in progress |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1254 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1255 // Download complete |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1256 case 4: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1257 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1258 if (xmlhttp.status == 0 // file:// urls, works on Firefox |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1259 || xmlhttp.status == 200 // http:// urls |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1260 ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1261 if (fDone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1262 fDone(xmlhttp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1263 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1264 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1265 if (fError) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1266 fError( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1267 xmlhttp.statusText, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1268 xmlhttp.status, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1269 xmlhttp |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1270 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1271 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1272 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1273 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1274 SimileAjax.Debug.exception("XmlHttp: Error handling onReadyStateChange", e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1275 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1276 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1277 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1278 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1279 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1280 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1281 * Creates an XMLHttpRequest object. On the first run, this |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1282 * function creates a platform-specific function for |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1283 * instantiating an XMLHttpRequest object and then replaces |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1284 * itself with that function. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1285 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1286 SimileAjax.XmlHttp._createRequest = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1287 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1288 var programIDs = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1289 "Msxml2.XMLHTTP", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1290 "Microsoft.XMLHTTP", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1291 "Msxml2.XMLHTTP.4.0" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1292 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1293 for (var i = 0; i < programIDs.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1294 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1295 var programID = programIDs[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1296 var f = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1297 return new ActiveXObject(programID); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1298 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1299 var o = f(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1300 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1301 // We are replacing the SimileAjax._createXmlHttpRequest |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1302 // function with this inner function as we've |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1303 // found out that it works. This is so that we |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1304 // don't have to do all the testing over again |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1305 // on subsequent calls. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1306 SimileAjax.XmlHttp._createRequest = f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1307 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1308 return o; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1309 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1310 // silent |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1311 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1312 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1313 // fall through to try new XMLHttpRequest(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1314 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1315 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1316 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1317 var f = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1318 return new XMLHttpRequest(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1319 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1320 var o = f(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1321 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1322 // We are replacing the SimileAjax._createXmlHttpRequest |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1323 // function with this inner function as we've |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1324 // found out that it works. This is so that we |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1325 // don't have to do all the testing over again |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1326 // on subsequent calls. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1327 SimileAjax.XmlHttp._createRequest = f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1328 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1329 return o; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1330 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1331 throw new Error("Failed to create an XMLHttpRequest object"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1332 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1333 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1334 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1335 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1336 * Performs an asynchronous HTTP GET. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1337 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1338 * @param {Function} fError a function of the form |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1339 function(statusText, statusCode, xmlhttp) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1340 * @param {Function} fDone a function of the form function(xmlhttp) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1341 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1342 SimileAjax.XmlHttp.get = function(url, fError, fDone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1343 var xmlhttp = SimileAjax.XmlHttp._createRequest(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1344 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1345 xmlhttp.open("GET", url, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1346 xmlhttp.onreadystatechange = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1347 SimileAjax.XmlHttp._onReadyStateChange(xmlhttp, fError, fDone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1348 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1349 xmlhttp.send(null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1350 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1351 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1352 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1353 * Performs an asynchronous HTTP POST. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1354 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1355 * @param {Function} fError a function of the form |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1356 function(statusText, statusCode, xmlhttp) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1357 * @param {Function} fDone a function of the form function(xmlhttp) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1358 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1359 SimileAjax.XmlHttp.post = function(url, body, fError, fDone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1360 var xmlhttp = SimileAjax.XmlHttp._createRequest(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1361 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1362 xmlhttp.open("POST", url, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1363 xmlhttp.onreadystatechange = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1364 SimileAjax.XmlHttp._onReadyStateChange(xmlhttp, fError, fDone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1365 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1366 xmlhttp.send(body); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1367 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1369 SimileAjax.XmlHttp._forceXML = function(xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1370 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1371 xmlhttp.overrideMimeType("text/xml"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1372 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1373 xmlhttp.setrequestheader("Content-Type", "text/xml"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1374 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1375 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1376 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1377 * Copied directly from http://www.json.org/json.js. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1378 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1379 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1380 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1381 json.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1382 2006-04-28 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1383 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1384 This file adds these methods to JavaScript: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1385 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1386 object.toJSONString() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1387 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1388 This method produces a JSON text from an object. The |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1389 object must not contain any cyclical references. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1390 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1391 array.toJSONString() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1392 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1393 This method produces a JSON text from an array. The |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1394 array must not contain any cyclical references. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1395 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1396 string.parseJSON() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1397 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1398 This method parses a JSON text to produce an object or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1399 array. It will return false if there is an error. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1400 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1401 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1402 SimileAjax.JSON = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1403 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1404 (function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1405 var m = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1406 '\b': '\\b', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1407 '\t': '\\t', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1408 '\n': '\\n', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1409 '\f': '\\f', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1410 '\r': '\\r', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1411 '"' : '\\"', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1412 '\\': '\\\\' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1413 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1414 var s = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1415 array: function (x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1416 var a = ['['], b, f, i, l = x.length, v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1417 for (i = 0; i < l; i += 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1418 v = x[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1419 f = s[typeof v]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1420 if (f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1421 v = f(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1422 if (typeof v == 'string') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1423 if (b) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1424 a[a.length] = ','; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1425 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1426 a[a.length] = v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1427 b = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1428 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1429 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1430 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1431 a[a.length] = ']'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1432 return a.join(''); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1433 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1434 'boolean': function (x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1435 return String(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1436 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1437 'null': function (x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1438 return "null"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1439 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1440 number: function (x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1441 return isFinite(x) ? String(x) : 'null'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1442 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1443 object: function (x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1444 if (x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1445 if (x instanceof Array) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1446 return s.array(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1447 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1448 var a = ['{'], b, f, i, v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1449 for (i in x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1450 v = x[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1451 f = s[typeof v]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1452 if (f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1453 v = f(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1454 if (typeof v == 'string') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1455 if (b) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1456 a[a.length] = ','; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1457 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1458 a.push(s.string(i), ':', v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1459 b = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1460 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1461 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1462 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1463 a[a.length] = '}'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1464 return a.join(''); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1465 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1466 return 'null'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1467 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1468 string: function (x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1469 if (/["\\\x00-\x1f]/.test(x)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1470 x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1471 var c = m[b]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1472 if (c) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1473 return c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1474 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1475 c = b.charCodeAt(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1476 return '\\u00' + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1477 Math.floor(c / 16).toString(16) + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1478 (c % 16).toString(16); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1479 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1480 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1481 return '"' + x + '"'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1482 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1483 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1484 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1485 SimileAjax.JSON.toJSONString = function(o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1486 if (o instanceof Object) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1487 return s.object(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1488 } else if (o instanceof Array) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1489 return s.array(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1490 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1491 return o.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1492 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1493 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1494 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1495 SimileAjax.JSON.parseJSON = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1496 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1497 return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1498 this.replace(/"(\\.|[^"\\])*"/g, ''))) && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1499 eval('(' + this + ')'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1500 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1501 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1502 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1503 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1504 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1505 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1506 * DOM Utility Functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1507 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1508 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1509 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1510 SimileAjax.DOM = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1511 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1512 SimileAjax.DOM.registerEventWithObject = function(elmt, eventName, obj, handlerName) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1513 SimileAjax.DOM.registerEvent(elmt, eventName, function(elmt2, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1514 return obj[handlerName].call(obj, elmt2, evt, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1515 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1516 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1517 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1518 SimileAjax.DOM.registerEvent = function(elmt, eventName, handler) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1519 var handler2 = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1520 evt = (evt) ? evt : ((event) ? event : null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1521 if (evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1522 var target = (evt.target) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1523 evt.target : ((evt.srcElement) ? evt.srcElement : null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1524 if (target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1525 target = (target.nodeType == 1 || target.nodeType == 9) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1526 target : target.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1527 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1528 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1529 return handler(elmt, evt, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1530 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1531 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1532 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1533 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1534 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1535 elmt.attachEvent("on" + eventName, handler2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1536 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1537 elmt.addEventListener(eventName, handler2, false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1538 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1539 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1540 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1541 SimileAjax.DOM.getPageCoordinates = function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1542 var left = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1543 var top = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1544 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1545 if (elmt.nodeType != 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1546 elmt = elmt.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1547 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1548 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1549 var elmt2 = elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1550 while (elmt2 != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1551 left += elmt2.offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1552 top += elmt2.offsetTop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1553 elmt2 = elmt2.offsetParent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1554 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1555 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1556 var body = document.body; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1557 while (elmt != null && elmt != body) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1558 if ("scrollLeft" in elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1559 left -= elmt.scrollLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1560 top -= elmt.scrollTop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1561 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1562 elmt = elmt.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1563 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1564 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1565 return { left: left, top: top }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1566 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1567 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1568 SimileAjax.DOM.getSize = function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1569 var w = this.getStyle(elmt,"width"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1570 var h = this.getStyle(elmt,"height"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1571 if (w.indexOf("px") > -1) w = w.replace("px",""); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1572 if (h.indexOf("px") > -1) h = h.replace("px",""); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1573 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1574 w: w, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1575 h: h |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1576 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1577 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1578 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1579 SimileAjax.DOM.getStyle = function(elmt, styleProp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1580 if (elmt.currentStyle) { // IE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1581 var style = elmt.currentStyle[styleProp]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1582 } else if (window.getComputedStyle) { // standard DOM |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1583 var style = document.defaultView.getComputedStyle(elmt, null).getPropertyValue(styleProp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1584 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1585 var style = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1586 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1587 return style; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1588 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1589 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1590 SimileAjax.DOM.getEventRelativeCoordinates = function(evt, elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1591 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1592 if (evt.type == "mousewheel") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1593 var coords = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1594 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1595 x: evt.clientX - coords.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1596 y: evt.clientY - coords.top |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1597 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1598 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1599 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1600 x: evt.offsetX, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1601 y: evt.offsetY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1602 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1603 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1604 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1605 var coords = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1606 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1607 if ((evt.type == "DOMMouseScroll") && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1608 SimileAjax.Platform.browser.isFirefox && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1609 (SimileAjax.Platform.browser.majorVersion == 2)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1610 // Due to: https://bugzilla.mozilla.org/show_bug.cgi?id=352179 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1611 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1612 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1613 x: evt.screenX - coords.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1614 y: evt.screenY - coords.top |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1615 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1616 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1617 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1618 x: evt.pageX - coords.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1619 y: evt.pageY - coords.top |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1620 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1621 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1622 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1623 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1624 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1625 SimileAjax.DOM.getEventPageCoordinates = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1626 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1627 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1628 x: evt.clientX + document.body.scrollLeft, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1629 y: evt.clientY + document.body.scrollTop |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1630 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1631 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1632 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1633 x: evt.pageX, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1634 y: evt.pageY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1635 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1636 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1637 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1638 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1639 SimileAjax.DOM.hittest = function(x, y, except) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1640 return SimileAjax.DOM._hittest(document.body, x, y, except); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1641 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1642 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1643 SimileAjax.DOM._hittest = function(elmt, x, y, except) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1644 var childNodes = elmt.childNodes; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1645 outer: for (var i = 0; i < childNodes.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1646 var childNode = childNodes[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1647 for (var j = 0; j < except.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1648 if (childNode == except[j]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1649 continue outer; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1650 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1651 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1652 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1653 if (childNode.offsetWidth == 0 && childNode.offsetHeight == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1654 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1655 * Sometimes SPAN elements have zero width and height but |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1656 * they have children like DIVs that cover non-zero areas. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1657 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1658 var hitNode = SimileAjax.DOM._hittest(childNode, x, y, except); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1659 if (hitNode != childNode) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1660 return hitNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1661 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1662 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1663 var top = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1664 var left = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1665 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1666 var node = childNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1667 while (node) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1668 top += node.offsetTop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1669 left += node.offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1670 node = node.offsetParent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1671 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1672 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1673 if (left <= x && top <= y && (x - left) < childNode.offsetWidth && (y - top) < childNode.offsetHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1674 return SimileAjax.DOM._hittest(childNode, x, y, except); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1675 } else if (childNode.nodeType == 1 && childNode.tagName == "TR") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1676 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1677 * Table row might have cells that span several rows. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1678 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1679 var childNode2 = SimileAjax.DOM._hittest(childNode, x, y, except); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1680 if (childNode2 != childNode) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1681 return childNode2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1682 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1683 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1684 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1685 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1686 return elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1687 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1688 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1689 SimileAjax.DOM.cancelEvent = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1690 evt.returnValue = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1691 evt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1692 if ("preventDefault" in evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1693 evt.preventDefault(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1694 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1695 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1696 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1697 SimileAjax.DOM.appendClassName = function(elmt, className) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1698 var classes = elmt.className.split(" "); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1699 for (var i = 0; i < classes.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1700 if (classes[i] == className) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1701 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1702 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1703 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1704 classes.push(className); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1705 elmt.className = classes.join(" "); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1706 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1707 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1708 SimileAjax.DOM.createInputElement = function(type) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1709 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1710 div.innerHTML = "<input type='" + type + "' />"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1711 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1712 return div.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1713 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1714 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1715 SimileAjax.DOM.createDOMFromTemplate = function(template) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1716 var result = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1717 result.elmt = SimileAjax.DOM._createDOMFromTemplate(template, result, null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1718 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1719 return result; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1720 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1721 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1722 SimileAjax.DOM._createDOMFromTemplate = function(templateNode, result, parentElmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1723 if (templateNode == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1724 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1725 var node = doc.createTextNode("--null--"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1726 if (parentElmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1727 parentElmt.appendChild(node); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1728 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1729 return node; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1730 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1731 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1732 } else if (typeof templateNode != "object") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1733 var node = document.createTextNode(templateNode); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1734 if (parentElmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1735 parentElmt.appendChild(node); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1736 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1737 return node; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1738 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1739 var elmt = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1740 if ("tag" in templateNode) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1741 var tag = templateNode.tag; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1742 if (parentElmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1743 if (tag == "tr") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1744 elmt = parentElmt.insertRow(parentElmt.rows.length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1745 } else if (tag == "td") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1746 elmt = parentElmt.insertCell(parentElmt.cells.length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1747 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1748 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1749 if (elmt == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1750 elmt = tag == "input" ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1751 SimileAjax.DOM.createInputElement(templateNode.type) : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1752 document.createElement(tag); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1753 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1754 if (parentElmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1755 parentElmt.appendChild(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1756 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1757 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1758 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1759 elmt = templateNode.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1760 if (parentElmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1761 parentElmt.appendChild(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1762 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1763 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1764 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1765 for (var attribute in templateNode) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1766 var value = templateNode[attribute]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1767 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1768 if (attribute == "field") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1769 result[value] = elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1770 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1771 } else if (attribute == "className") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1772 elmt.className = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1773 } else if (attribute == "id") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1774 elmt.id = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1775 } else if (attribute == "title") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1776 elmt.title = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1777 } else if (attribute == "type" && elmt.tagName == "input") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1778 // do nothing |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1779 } else if (attribute == "style") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1780 for (n in value) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1781 var v = value[n]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1782 if (n == "float") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1783 n = SimileAjax.Platform.browser.isIE ? "styleFloat" : "cssFloat"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1784 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1785 elmt.style[n] = v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1786 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1787 } else if (attribute == "children") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1788 for (var i = 0; i < value.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1789 SimileAjax.DOM._createDOMFromTemplate(value[i], result, elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1790 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1791 } else if (attribute != "tag" && attribute != "elmt") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1792 elmt.setAttribute(attribute, value); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1793 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1794 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1795 return elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1796 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1797 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1798 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1799 SimileAjax.DOM._cachedParent = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1800 SimileAjax.DOM.createElementFromString = function(s) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1801 if (SimileAjax.DOM._cachedParent == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1802 SimileAjax.DOM._cachedParent = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1803 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1804 SimileAjax.DOM._cachedParent.innerHTML = s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1805 return SimileAjax.DOM._cachedParent.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1806 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1807 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1808 SimileAjax.DOM.createDOMFromString = function(root, s, fieldElmts) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1809 var elmt = typeof root == "string" ? document.createElement(root) : root; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1810 elmt.innerHTML = s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1811 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1812 var dom = { elmt: elmt }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1813 SimileAjax.DOM._processDOMChildrenConstructedFromString(dom, elmt, fieldElmts != null ? fieldElmts : {} ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1814 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1815 return dom; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1816 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1817 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1818 SimileAjax.DOM._processDOMConstructedFromString = function(dom, elmt, fieldElmts) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1819 var id = elmt.id; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1820 if (id != null && id.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1821 elmt.removeAttribute("id"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1822 if (id in fieldElmts) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1823 var parentElmt = elmt.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1824 parentElmt.insertBefore(fieldElmts[id], elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1825 parentElmt.removeChild(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1826 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1827 dom[id] = fieldElmts[id]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1828 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1829 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1830 dom[id] = elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1831 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1832 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1833 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1834 if (elmt.hasChildNodes()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1835 SimileAjax.DOM._processDOMChildrenConstructedFromString(dom, elmt, fieldElmts); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1836 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1837 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1838 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1839 SimileAjax.DOM._processDOMChildrenConstructedFromString = function(dom, elmt, fieldElmts) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1840 var node = elmt.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1841 while (node != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1842 var node2 = node.nextSibling; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1843 if (node.nodeType == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1844 SimileAjax.DOM._processDOMConstructedFromString(dom, node, fieldElmts); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1845 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1846 node = node2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1847 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1848 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1849 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1850 * @fileOverview Graphics utility functions and constants |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1851 * @name SimileAjax.Graphics |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1852 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1853 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1854 SimileAjax.Graphics = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1855 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1856 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1857 * A boolean value indicating whether PNG translucency is supported on the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1858 * user's browser or not. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1859 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1860 * @type Boolean |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1861 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1862 SimileAjax.Graphics.pngIsTranslucent = (!SimileAjax.Platform.browser.isIE) || (SimileAjax.Platform.browser.majorVersion > 6); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1863 if (!SimileAjax.Graphics.pngIsTranslucent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1864 SimileAjax.includeCssFile(document, SimileAjax.urlPrefix + "styles/graphics-ie6.css"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1865 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1866 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1867 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1868 * Opacity, translucency |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1869 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1870 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1871 SimileAjax.Graphics._createTranslucentImage1 = function(url, verticalAlign) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1872 var elmt = document.createElement("img"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1873 elmt.setAttribute("src", url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1874 if (verticalAlign != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1875 elmt.style.verticalAlign = verticalAlign; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1876 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1877 return elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1878 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1879 SimileAjax.Graphics._createTranslucentImage2 = function(url, verticalAlign) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1880 var elmt = document.createElement("img"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1881 elmt.style.width = "1px"; // just so that IE will calculate the size property |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1882 elmt.style.height = "1px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1883 elmt.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + url +"', sizingMethod='image')"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1884 elmt.style.verticalAlign = (verticalAlign != null) ? verticalAlign : "middle"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1885 return elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1886 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1887 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1888 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1889 * Creates a DOM element for an <code>img</code> tag using the URL given. This |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1890 * is a convenience method that automatically includes the necessary CSS to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1891 * allow for translucency, even on IE. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1892 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1893 * @function |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1894 * @param {String} url the URL to the image |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1895 * @param {String} verticalAlign the CSS value for the image's vertical-align |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1896 * @return {Element} a DOM element containing the <code>img</code> tag |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1897 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1898 SimileAjax.Graphics.createTranslucentImage = SimileAjax.Graphics.pngIsTranslucent ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1899 SimileAjax.Graphics._createTranslucentImage1 : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1900 SimileAjax.Graphics._createTranslucentImage2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1901 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1902 SimileAjax.Graphics._createTranslucentImageHTML1 = function(url, verticalAlign) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1903 return "<img src=\"" + url + "\"" + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1904 (verticalAlign != null ? " style=\"vertical-align: " + verticalAlign + ";\"" : "") + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1905 " />"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1906 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1907 SimileAjax.Graphics._createTranslucentImageHTML2 = function(url, verticalAlign) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1908 var style = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1909 "width: 1px; height: 1px; " + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1910 "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + url +"', sizingMethod='image');" + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1911 (verticalAlign != null ? " vertical-align: " + verticalAlign + ";" : ""); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1912 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1913 return "<img src='" + url + "' style=\"" + style + "\" />"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1914 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1915 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1916 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1917 * Creates an HTML string for an <code>img</code> tag using the URL given. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1918 * This is a convenience method that automatically includes the necessary CSS |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1919 * to allow for translucency, even on IE. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1920 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1921 * @function |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1922 * @param {String} url the URL to the image |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1923 * @param {String} verticalAlign the CSS value for the image's vertical-align |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1924 * @return {String} a string containing the <code>img</code> tag |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1925 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1926 SimileAjax.Graphics.createTranslucentImageHTML = SimileAjax.Graphics.pngIsTranslucent ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1927 SimileAjax.Graphics._createTranslucentImageHTML1 : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1928 SimileAjax.Graphics._createTranslucentImageHTML2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1929 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1930 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1931 * Sets the opacity on the given DOM element. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1932 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1933 * @param {Element} elmt the DOM element to set the opacity on |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1934 * @param {Number} opacity an integer from 0 to 100 specifying the opacity |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1935 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1936 SimileAjax.Graphics.setOpacity = function(elmt, opacity) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1937 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1938 elmt.style.filter = "progid:DXImageTransform.Microsoft.Alpha(Style=0,Opacity=" + opacity + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1939 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1940 var o = (opacity / 100).toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1941 elmt.style.opacity = o; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1942 elmt.style.MozOpacity = o; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1943 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1944 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1945 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1946 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1947 * Bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1948 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1949 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1950 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1951 SimileAjax.Graphics.bubbleConfig = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1952 containerCSSClass: "simileAjax-bubble-container", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1953 innerContainerCSSClass: "simileAjax-bubble-innerContainer", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1954 contentContainerCSSClass: "simileAjax-bubble-contentContainer", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1955 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1956 borderGraphicSize: 50, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1957 borderGraphicCSSClassPrefix: "simileAjax-bubble-border-", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1958 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1959 arrowGraphicTargetOffset: 33, // from tip of arrow to the side of the graphic that touches the content of the bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1960 arrowGraphicLength: 100, // dimension of arrow graphic along the direction that the arrow points |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1961 arrowGraphicWidth: 49, // dimension of arrow graphic perpendicular to the direction that the arrow points |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1962 arrowGraphicCSSClassPrefix: "simileAjax-bubble-arrow-", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1963 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1964 closeGraphicCSSClass: "simileAjax-bubble-close", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1965 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1966 extraPadding: 20 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1967 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1968 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1969 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1970 * Creates a nice, rounded bubble popup with the given content in a div, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1971 * page coordinates and a suggested width. The bubble will point to the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1972 * location on the page as described by pageX and pageY. All measurements |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1973 * should be given in pixels. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1974 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1975 * @param {Element} the content div |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1976 * @param {Number} pageX the x coordinate of the point to point to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1977 * @param {Number} pageY the y coordinate of the point to point to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1978 * @param {Number} contentWidth a suggested width of the content |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1979 * @param {String} orientation a string ("top", "bottom", "left", or "right") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1980 * that describes the orientation of the arrow on the bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1981 * @param {Number} maxHeight. Add a scrollbar div if bubble would be too tall. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1982 * Default of 0 or null means no maximum |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1983 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1984 SimileAjax.Graphics.createBubbleForContentAndPoint = function( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1985 div, pageX, pageY, contentWidth, orientation, maxHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1986 if (typeof contentWidth != "number") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1987 contentWidth = 300; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1988 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1989 if (typeof maxHeight != "number") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1990 maxHeight = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1991 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1992 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1993 div.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1994 div.style.left = "-5000px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1995 div.style.top = "0px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1996 div.style.width = contentWidth + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1997 document.body.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1998 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1999 window.setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2000 var width = div.scrollWidth + 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2001 var height = div.scrollHeight + 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2002 var scrollDivW = 0; // width of the possible inner container when we want vertical scrolling |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2003 if (maxHeight > 0 && height > maxHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2004 height = maxHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2005 scrollDivW = width - 25; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2006 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2007 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2008 var bubble = SimileAjax.Graphics.createBubbleForPoint(pageX, pageY, width, height, orientation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2009 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2010 document.body.removeChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2011 div.style.position = "static"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2012 div.style.left = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2013 div.style.top = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2014 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2015 // create a scroll div if needed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2016 if (scrollDivW > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2017 var scrollDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2018 div.style.width = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2019 scrollDiv.style.width = scrollDivW + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2020 scrollDiv.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2021 bubble.content.appendChild(scrollDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2022 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2023 div.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2024 bubble.content.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2025 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2026 }, 200); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2027 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2028 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2029 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2030 * Creates a nice, rounded bubble popup with the given page coordinates and |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2031 * content dimensions. The bubble will point to the location on the page |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2032 * as described by pageX and pageY. All measurements should be given in |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2033 * pixels. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2034 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2035 * @param {Number} pageX the x coordinate of the point to point to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2036 * @param {Number} pageY the y coordinate of the point to point to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2037 * @param {Number} contentWidth the width of the content box in the bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2038 * @param {Number} contentHeight the height of the content box in the bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2039 * @param {String} orientation a string ("top", "bottom", "left", or "right") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2040 * that describes the orientation of the arrow on the bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2041 * @return {Element} a DOM element for the newly created bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2042 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2043 SimileAjax.Graphics.createBubbleForPoint = function(pageX, pageY, contentWidth, contentHeight, orientation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2044 contentWidth = parseInt(contentWidth, 10); // harden against bad input bugs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2045 contentHeight = parseInt(contentHeight, 10); // getting numbers-as-strings |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2046 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2047 var bubbleConfig = SimileAjax.Graphics.bubbleConfig; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2048 var pngTransparencyClassSuffix = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2049 SimileAjax.Graphics.pngIsTranslucent ? "pngTranslucent" : "pngNotTranslucent"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2050 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2051 var bubbleWidth = contentWidth + 2 * bubbleConfig.borderGraphicSize; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2052 var bubbleHeight = contentHeight + 2 * bubbleConfig.borderGraphicSize; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2053 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2054 var generatePngSensitiveClass = function(className) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2055 return className + " " + className + "-" + pngTransparencyClassSuffix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2056 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2057 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2058 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2059 * Render container divs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2060 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2061 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2062 div.className = generatePngSensitiveClass(bubbleConfig.containerCSSClass); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2063 div.style.width = contentWidth + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2064 div.style.height = contentHeight + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2065 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2066 var divInnerContainer = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2067 divInnerContainer.className = generatePngSensitiveClass(bubbleConfig.innerContainerCSSClass); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2068 div.appendChild(divInnerContainer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2069 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2070 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2071 * Create layer for bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2072 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2073 var close = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2074 if (!bubble._closed) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2075 document.body.removeChild(bubble._div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2076 bubble._doc = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2077 bubble._div = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2078 bubble._content = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2079 bubble._closed = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2080 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2081 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2082 var bubble = { _closed: false }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2083 var layer = SimileAjax.WindowManager.pushLayer(close, true, div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2084 bubble._div = div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2085 bubble.close = function() { SimileAjax.WindowManager.popLayer(layer); } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2086 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2087 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2088 * Render border graphics |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2089 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2090 var createBorder = function(classNameSuffix) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2091 var divBorderGraphic = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2092 divBorderGraphic.className = generatePngSensitiveClass(bubbleConfig.borderGraphicCSSClassPrefix + classNameSuffix); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2093 divInnerContainer.appendChild(divBorderGraphic); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2094 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2095 createBorder("top-left"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2096 createBorder("top-right"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2097 createBorder("bottom-left"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2098 createBorder("bottom-right"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2099 createBorder("left"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2100 createBorder("right"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2101 createBorder("top"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2102 createBorder("bottom"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2103 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2104 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2105 * Render content |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2106 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2107 var divContentContainer = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2108 divContentContainer.className = generatePngSensitiveClass(bubbleConfig.contentContainerCSSClass); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2109 divInnerContainer.appendChild(divContentContainer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2110 bubble.content = divContentContainer; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2111 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2112 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2113 * Render close button |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2114 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2115 var divClose = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2116 divClose.className = generatePngSensitiveClass(bubbleConfig.closeGraphicCSSClass); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2117 divInnerContainer.appendChild(divClose); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2118 SimileAjax.WindowManager.registerEventWithObject(divClose, "click", bubble, "close"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2119 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2120 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2121 var dims = SimileAjax.Graphics.getWindowDimensions(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2122 var docWidth = dims.w; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2123 var docHeight = dims.h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2124 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2125 var halfArrowGraphicWidth = Math.ceil(bubbleConfig.arrowGraphicWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2126 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2127 var createArrow = function(classNameSuffix) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2128 var divArrowGraphic = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2129 divArrowGraphic.className = generatePngSensitiveClass(bubbleConfig.arrowGraphicCSSClassPrefix + "point-" + classNameSuffix); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2130 divInnerContainer.appendChild(divArrowGraphic); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2131 return divArrowGraphic; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2132 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2133 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2134 if (pageX - halfArrowGraphicWidth - bubbleConfig.borderGraphicSize - bubbleConfig.extraPadding > 0 && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2135 pageX + halfArrowGraphicWidth + bubbleConfig.borderGraphicSize + bubbleConfig.extraPadding < docWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2136 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2137 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2138 * Bubble can be positioned above or below the target point. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2139 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2140 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2141 var left = pageX - Math.round(contentWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2142 left = pageX < (docWidth / 2) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2143 Math.max(left, bubbleConfig.extraPadding + bubbleConfig.borderGraphicSize) : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2144 Math.min(left, docWidth - bubbleConfig.extraPadding - bubbleConfig.borderGraphicSize - contentWidth); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2145 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2146 if ((orientation && orientation == "top") || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2147 (!orientation && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2148 (pageY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2149 - bubbleConfig.arrowGraphicTargetOffset |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2150 - contentHeight |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2151 - bubbleConfig.borderGraphicSize |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2152 - bubbleConfig.extraPadding > 0))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2153 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2154 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2155 * Position bubble above the target point. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2156 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2157 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2158 var divArrow = createArrow("down"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2159 divArrow.style.left = (pageX - halfArrowGraphicWidth - left) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2160 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2161 div.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2162 div.style.top = (pageY - bubbleConfig.arrowGraphicTargetOffset - contentHeight) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2163 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2164 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2165 } else if ((orientation && orientation == "bottom") || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2166 (!orientation && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2167 (pageY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2168 + bubbleConfig.arrowGraphicTargetOffset |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2169 + contentHeight |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2170 + bubbleConfig.borderGraphicSize |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2171 + bubbleConfig.extraPadding < docHeight))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2172 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2173 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2174 * Position bubble below the target point. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2175 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2176 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2177 var divArrow = createArrow("up"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2178 divArrow.style.left = (pageX - halfArrowGraphicWidth - left) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2179 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2180 div.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2181 div.style.top = (pageY + bubbleConfig.arrowGraphicTargetOffset) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2182 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2183 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2184 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2185 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2186 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2187 var top = pageY - Math.round(contentHeight / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2188 top = pageY < (docHeight / 2) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2189 Math.max(top, bubbleConfig.extraPadding + bubbleConfig.borderGraphicSize) : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2190 Math.min(top, docHeight - bubbleConfig.extraPadding - bubbleConfig.borderGraphicSize - contentHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2191 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2192 if ((orientation && orientation == "left") || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2193 (!orientation && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2194 (pageX |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2195 - bubbleConfig.arrowGraphicTargetOffset |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2196 - contentWidth |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2197 - bubbleConfig.borderGraphicSize |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2198 - bubbleConfig.extraPadding > 0))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2199 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2200 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2201 * Position bubble left of the target point. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2202 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2203 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2204 var divArrow = createArrow("right"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2205 divArrow.style.top = (pageY - halfArrowGraphicWidth - top) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2206 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2207 div.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2208 div.style.left = (pageX - bubbleConfig.arrowGraphicTargetOffset - contentWidth) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2209 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2210 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2211 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2212 * Position bubble right of the target point, as the last resort. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2213 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2214 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2215 var divArrow = createArrow("left"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2216 divArrow.style.top = (pageY - halfArrowGraphicWidth - top) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2217 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2218 div.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2219 div.style.left = (pageX + bubbleConfig.arrowGraphicTargetOffset) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2220 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2221 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2222 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2223 document.body.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2224 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2225 return bubble; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2226 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2227 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2228 SimileAjax.Graphics.getWindowDimensions = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2229 if (typeof window.innerHeight == 'number') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2230 return { w:window.innerWidth, h:window.innerHeight }; // Non-IE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2231 } else if (document.documentElement && document.documentElement.clientHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2232 return { // IE6+, in "standards compliant mode" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2233 w:document.documentElement.clientWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2234 h:document.documentElement.clientHeight |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2235 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2236 } else if (document.body && document.body.clientHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2237 return { // IE 4 compatible |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2238 w:document.body.clientWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2239 h:document.body.clientHeight |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2240 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2241 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2242 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2243 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2244 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2245 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2246 * Creates a floating, rounded message bubble in the center of the window for |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2247 * displaying modal information, e.g. "Loading..." |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2248 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2249 * @param {Document} doc the root document for the page to render on |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2250 * @param {Object} an object with two properties, contentDiv and containerDiv, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2251 * consisting of the newly created DOM elements |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2252 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2253 SimileAjax.Graphics.createMessageBubble = function(doc) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2254 var containerDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2255 if (SimileAjax.Graphics.pngIsTranslucent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2256 var topDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2257 topDiv.style.height = "33px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2258 topDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-top-left.png) top left no-repeat"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2259 topDiv.style.paddingLeft = "44px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2260 containerDiv.appendChild(topDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2261 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2262 var topRightDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2263 topRightDiv.style.height = "33px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2264 topRightDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-top-right.png) top right no-repeat"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2265 topDiv.appendChild(topRightDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2266 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2267 var middleDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2268 middleDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-left.png) top left repeat-y"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2269 middleDiv.style.paddingLeft = "44px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2270 containerDiv.appendChild(middleDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2271 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2272 var middleRightDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2273 middleRightDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-right.png) top right repeat-y"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2274 middleRightDiv.style.paddingRight = "44px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2275 middleDiv.appendChild(middleRightDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2276 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2277 var contentDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2278 middleRightDiv.appendChild(contentDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2279 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2280 var bottomDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2281 bottomDiv.style.height = "55px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2282 bottomDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-bottom-left.png) bottom left no-repeat"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2283 bottomDiv.style.paddingLeft = "44px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2284 containerDiv.appendChild(bottomDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2285 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2286 var bottomRightDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2287 bottomRightDiv.style.height = "55px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2288 bottomRightDiv.style.background = "url(" + SimileAjax.urlPrefix + "images/message-bottom-right.png) bottom right no-repeat"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2289 bottomDiv.appendChild(bottomRightDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2290 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2291 containerDiv.style.border = "2px solid #7777AA"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2292 containerDiv.style.padding = "20px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2293 containerDiv.style.background = "white"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2294 SimileAjax.Graphics.setOpacity(containerDiv, 90); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2295 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2296 var contentDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2297 containerDiv.appendChild(contentDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2298 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2299 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2300 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2301 containerDiv: containerDiv, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2302 contentDiv: contentDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2303 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2304 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2305 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2306 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2307 * Animation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2308 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2309 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2310 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2311 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2312 * Creates an animation for a function, and an interval of values. The word |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2313 * "animation" here is used in the sense of repeatedly calling a function with |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2314 * a current value from within an interval, and a delta value. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2315 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2316 * @param {Function} f a function to be called every 50 milliseconds throughout |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2317 * the animation duration, of the form f(current, delta), where current is |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2318 * the current value within the range and delta is the current change. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2319 * @param {Number} from a starting value |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2320 * @param {Number} to an ending value |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2321 * @param {Number} duration the duration of the animation in milliseconds |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2322 * @param {Function} [cont] an optional function that is called at the end of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2323 * the animation, i.e. a continuation. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2324 * @return {SimileAjax.Graphics._Animation} a new animation object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2325 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2326 SimileAjax.Graphics.createAnimation = function(f, from, to, duration, cont) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2327 return new SimileAjax.Graphics._Animation(f, from, to, duration, cont); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2328 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2329 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2330 SimileAjax.Graphics._Animation = function(f, from, to, duration, cont) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2331 this.f = f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2332 this.cont = (typeof cont == "function") ? cont : function() {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2333 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2334 this.from = from; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2335 this.to = to; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2336 this.current = from; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2337 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2338 this.duration = duration; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2339 this.start = new Date().getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2340 this.timePassed = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2341 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2342 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2343 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2344 * Runs this animation. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2345 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2346 SimileAjax.Graphics._Animation.prototype.run = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2347 var a = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2348 window.setTimeout(function() { a.step(); }, 50); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2349 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2350 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2351 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2352 * Increments this animation by one step, and then continues the animation with |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2353 * <code>run()</code>. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2354 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2355 SimileAjax.Graphics._Animation.prototype.step = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2356 this.timePassed += 50; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2357 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2358 var timePassedFraction = this.timePassed / this.duration; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2359 var parameterFraction = -Math.cos(timePassedFraction * Math.PI) / 2 + 0.5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2360 var current = parameterFraction * (this.to - this.from) + this.from; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2361 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2362 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2363 this.f(current, current - this.current); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2364 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2365 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2366 this.current = current; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2367 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2368 if (this.timePassed < this.duration) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2369 this.run(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2370 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2371 this.f(this.to, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2372 this["cont"](); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2373 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2374 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2375 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2376 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2377 * CopyPasteButton |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2378 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2379 * Adapted from http://spaces.live.com/editorial/rayozzie/demo/liveclip/liveclipsample/techPreview.html. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2380 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2381 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2382 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2383 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2384 * Creates a button and textarea for displaying structured data and copying it |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2385 * to the clipboard. The data is dynamically generated by the given |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2386 * createDataFunction parameter. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2387 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2388 * @param {String} image an image URL to use as the background for the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2389 * generated box |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2390 * @param {Number} width the width in pixels of the generated box |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2391 * @param {Number} height the height in pixels of the generated box |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2392 * @param {Function} createDataFunction a function that is called with no |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2393 * arguments to generate the structured data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2394 * @return a new DOM element |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2395 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2396 SimileAjax.Graphics.createStructuredDataCopyButton = function(image, width, height, createDataFunction) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2397 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2398 div.style.position = "relative"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2399 div.style.display = "inline"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2400 div.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2401 div.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2402 div.style.overflow = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2403 div.style.margin = "2px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2404 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2405 if (SimileAjax.Graphics.pngIsTranslucent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2406 div.style.background = "url(" + image + ") no-repeat"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2407 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2408 div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + image +"', sizingMethod='image')"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2409 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2410 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2411 var style; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2412 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2413 style = "filter:alpha(opacity=0)"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2414 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2415 style = "opacity: 0"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2416 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2417 div.innerHTML = "<textarea rows='1' autocomplete='off' value='none' style='" + style + "' />"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2418 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2419 var textarea = div.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2420 textarea.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2421 textarea.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2422 textarea.onmousedown = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2423 evt = (evt) ? evt : ((event) ? event : null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2424 if (evt.button == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2425 textarea.value = createDataFunction(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2426 textarea.select(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2427 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2428 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2429 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2430 return div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2431 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2432 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2433 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2434 * getWidthHeight |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2435 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2436 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2437 SimileAjax.Graphics.getWidthHeight = function(el) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2438 // RETURNS hash {width: w, height: h} in pixels |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2439 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2440 var w, h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2441 // offsetWidth rounds on FF, so doesn't work for us. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2442 // See https://bugzilla.mozilla.org/show_bug.cgi?id=458617 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2443 if (el.getBoundingClientRect == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2444 // use offsetWidth |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2445 w = el.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2446 h = el.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2447 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2448 // use getBoundingClientRect |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2449 var rect = el.getBoundingClientRect(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2450 w = Math.ceil(rect.right - rect.left); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2451 h = Math.ceil(rect.bottom - rect.top); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2452 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2453 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2454 width: w, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2455 height: h |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2456 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2457 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2458 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2459 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2460 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2461 * FontRenderingContext |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2462 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2463 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2464 SimileAjax.Graphics.getFontRenderingContext = function(elmt, width) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2465 return new SimileAjax.Graphics._FontRenderingContext(elmt, width); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2466 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2467 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2468 SimileAjax.Graphics._FontRenderingContext = function(elmt, width) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2469 this._elmt = elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2470 this._elmt.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2471 if (typeof width == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2472 this._elmt.style.width = width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2473 } else if (typeof width == "number") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2474 this._elmt.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2475 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2476 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2477 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2478 SimileAjax.Graphics._FontRenderingContext.prototype.dispose = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2479 this._elmt = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2480 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2481 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2482 SimileAjax.Graphics._FontRenderingContext.prototype.update = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2483 this._elmt.innerHTML = "A"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2484 this._lineHeight = this._elmt.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2485 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2486 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2487 SimileAjax.Graphics._FontRenderingContext.prototype.computeSize = function(text, className) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2488 // className arg is optional |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2489 var el = this._elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2490 el.innerHTML = text; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2491 el.className = className === undefined ? '' : className; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2492 var wh = SimileAjax.Graphics.getWidthHeight(el); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2493 el.className = ''; // reset for the next guy |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2494 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2495 return wh; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2496 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2497 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2498 SimileAjax.Graphics._FontRenderingContext.prototype.getLineHeight = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2499 return this._lineHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2500 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2501 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2502 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2503 * @fileOverview A collection of date/time utility functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2504 * @name SimileAjax.DateTime |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2505 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2506 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2507 SimileAjax.DateTime = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2508 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2509 SimileAjax.DateTime.MILLISECOND = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2510 SimileAjax.DateTime.SECOND = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2511 SimileAjax.DateTime.MINUTE = 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2512 SimileAjax.DateTime.HOUR = 3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2513 SimileAjax.DateTime.DAY = 4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2514 SimileAjax.DateTime.WEEK = 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2515 SimileAjax.DateTime.MONTH = 6; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2516 SimileAjax.DateTime.YEAR = 7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2517 SimileAjax.DateTime.DECADE = 8; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2518 SimileAjax.DateTime.CENTURY = 9; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2519 SimileAjax.DateTime.MILLENNIUM = 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2520 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2521 SimileAjax.DateTime.EPOCH = -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2522 SimileAjax.DateTime.ERA = -2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2523 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2524 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2525 * An array of unit lengths, expressed in milliseconds, of various lengths of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2526 * time. The array indices are predefined and stored as properties of the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2527 * SimileAjax.DateTime object, e.g. SimileAjax.DateTime.YEAR. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2528 * @type Array |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2529 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2530 SimileAjax.DateTime.gregorianUnitLengths = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2531 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2532 var d = SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2533 var a = d.gregorianUnitLengths; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2534 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2535 a[d.MILLISECOND] = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2536 a[d.SECOND] = 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2537 a[d.MINUTE] = a[d.SECOND] * 60; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2538 a[d.HOUR] = a[d.MINUTE] * 60; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2539 a[d.DAY] = a[d.HOUR] * 24; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2540 a[d.WEEK] = a[d.DAY] * 7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2541 a[d.MONTH] = a[d.DAY] * 31; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2542 a[d.YEAR] = a[d.DAY] * 365; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2543 a[d.DECADE] = a[d.YEAR] * 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2544 a[d.CENTURY] = a[d.YEAR] * 100; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2545 a[d.MILLENNIUM] = a[d.YEAR] * 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2546 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2547 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2548 SimileAjax.DateTime._dateRegexp = new RegExp( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2549 "^(-?)([0-9]{4})(" + [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2550 "(-?([0-9]{2})(-?([0-9]{2}))?)", // -month-dayOfMonth |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2551 "(-?([0-9]{3}))", // -dayOfYear |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2552 "(-?W([0-9]{2})(-?([1-7]))?)" // -Wweek-dayOfWeek |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2553 ].join("|") + ")?$" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2554 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2555 SimileAjax.DateTime._timezoneRegexp = new RegExp( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2556 "Z|(([-+])([0-9]{2})(:?([0-9]{2}))?)$" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2557 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2558 SimileAjax.DateTime._timeRegexp = new RegExp( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2559 "^([0-9]{2})(:?([0-9]{2})(:?([0-9]{2})(\.([0-9]+))?)?)?$" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2560 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2561 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2562 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2563 * Takes a date object and a string containing an ISO 8601 date and sets the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2564 * the date using information parsed from the string. Note that this method |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2565 * does not parse any time information. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2566 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2567 * @param {Date} dateObject the date object to modify |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2568 * @param {String} string an ISO 8601 string to parse |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2569 * @return {Date} the modified date object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2570 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2571 SimileAjax.DateTime.setIso8601Date = function(dateObject, string) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2572 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2573 * This function has been adapted from dojo.date, v.0.3.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2574 * http://dojotoolkit.org/. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2575 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2576 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2577 var d = string.match(SimileAjax.DateTime._dateRegexp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2578 if(!d) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2579 throw new Error("Invalid date string: " + string); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2580 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2581 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2582 var sign = (d[1] == "-") ? -1 : 1; // BC or AD |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2583 var year = sign * d[2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2584 var month = d[5]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2585 var date = d[7]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2586 var dayofyear = d[9]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2587 var week = d[11]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2588 var dayofweek = (d[13]) ? d[13] : 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2589 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2590 dateObject.setUTCFullYear(year); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2591 if (dayofyear) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2592 dateObject.setUTCMonth(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2593 dateObject.setUTCDate(Number(dayofyear)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2594 } else if (week) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2595 dateObject.setUTCMonth(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2596 dateObject.setUTCDate(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2597 var gd = dateObject.getUTCDay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2598 var day = (gd) ? gd : 7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2599 var offset = Number(dayofweek) + (7 * Number(week)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2600 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2601 if (day <= 4) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2602 dateObject.setUTCDate(offset + 1 - day); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2603 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2604 dateObject.setUTCDate(offset + 8 - day); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2605 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2606 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2607 if (month) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2608 dateObject.setUTCDate(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2609 dateObject.setUTCMonth(month - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2610 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2611 if (date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2612 dateObject.setUTCDate(date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2613 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2614 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2615 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2616 return dateObject; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2617 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2618 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2619 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2620 * Takes a date object and a string containing an ISO 8601 time and sets the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2621 * the time using information parsed from the string. Note that this method |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2622 * does not parse any date information. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2623 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2624 * @param {Date} dateObject the date object to modify |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2625 * @param {String} string an ISO 8601 string to parse |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2626 * @return {Date} the modified date object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2627 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2628 SimileAjax.DateTime.setIso8601Time = function (dateObject, string) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2629 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2630 * This function has been adapted from dojo.date, v.0.3.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2631 * http://dojotoolkit.org/. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2632 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2633 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2634 var d = string.match(SimileAjax.DateTime._timeRegexp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2635 if(!d) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2636 SimileAjax.Debug.warn("Invalid time string: " + string); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2637 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2638 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2639 var hours = d[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2640 var mins = Number((d[3]) ? d[3] : 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2641 var secs = (d[5]) ? d[5] : 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2642 var ms = d[7] ? (Number("0." + d[7]) * 1000) : 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2643 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2644 dateObject.setUTCHours(hours); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2645 dateObject.setUTCMinutes(mins); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2646 dateObject.setUTCSeconds(secs); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2647 dateObject.setUTCMilliseconds(ms); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2648 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2649 return dateObject; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2650 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2651 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2652 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2653 * The timezone offset in minutes in the user's browser. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2654 * @type Number |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2655 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2656 SimileAjax.DateTime.timezoneOffset = new Date().getTimezoneOffset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2657 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2658 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2659 * Takes a date object and a string containing an ISO 8601 date and time and |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2660 * sets the date object using information parsed from the string. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2661 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2662 * @param {Date} dateObject the date object to modify |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2663 * @param {String} string an ISO 8601 string to parse |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2664 * @return {Date} the modified date object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2665 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2666 SimileAjax.DateTime.setIso8601 = function (dateObject, string){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2667 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2668 * This function has been adapted from dojo.date, v.0.3.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2669 * http://dojotoolkit.org/. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2670 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2671 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2672 var offset = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2673 var comps = (string.indexOf("T") == -1) ? string.split(" ") : string.split("T"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2674 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2675 SimileAjax.DateTime.setIso8601Date(dateObject, comps[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2676 if (comps.length == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2677 // first strip timezone info from the end |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2678 var d = comps[1].match(SimileAjax.DateTime._timezoneRegexp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2679 if (d) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2680 if (d[0] == 'Z') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2681 offset = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2682 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2683 offset = (Number(d[3]) * 60) + Number(d[5]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2684 offset *= ((d[2] == '-') ? 1 : -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2685 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2686 comps[1] = comps[1].substr(0, comps[1].length - d[0].length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2687 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2688 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2689 SimileAjax.DateTime.setIso8601Time(dateObject, comps[1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2690 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2691 if (offset == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2692 offset = dateObject.getTimezoneOffset(); // local time zone if no tz info |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2693 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2694 dateObject.setTime(dateObject.getTime() + offset * 60000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2695 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2696 return dateObject; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2697 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2698 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2699 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2700 * Takes a string containing an ISO 8601 date and returns a newly instantiated |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2701 * date object with the parsed date and time information from the string. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2702 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2703 * @param {String} string an ISO 8601 string to parse |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2704 * @return {Date} a new date object created from the string |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2705 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2706 SimileAjax.DateTime.parseIso8601DateTime = function (string) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2707 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2708 return SimileAjax.DateTime.setIso8601(new Date(0), string); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2709 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2710 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2711 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2712 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2713 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2714 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2715 * Takes a string containing a Gregorian date and time and returns a newly |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2716 * instantiated date object with the parsed date and time information from the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2717 * string. If the param is actually an instance of Date instead of a string, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2718 * simply returns the given date instead. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2719 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2720 * @param {Object} o an object, to either return or parse as a string |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2721 * @return {Date} the date object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2722 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2723 SimileAjax.DateTime.parseGregorianDateTime = function(o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2724 if (o == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2725 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2726 } else if (o instanceof Date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2727 return o; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2728 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2729 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2730 var s = o.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2731 if (s.length > 0 && s.length < 8) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2732 var space = s.indexOf(" "); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2733 if (space > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2734 var year = parseInt(s.substr(0, space)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2735 var suffix = s.substr(space + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2736 if (suffix.toLowerCase() == "bc") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2737 year = 1 - year; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2738 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2739 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2740 var year = parseInt(s); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2741 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2742 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2743 var d = new Date(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2744 d.setUTCFullYear(year); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2745 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2746 return d; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2747 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2748 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2749 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2750 return new Date(Date.parse(s)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2751 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2752 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2753 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2754 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2755 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2756 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2757 * Rounds date objects down to the nearest interval or multiple of an interval. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2758 * This method modifies the given date object, converting it to the given |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2759 * timezone if specified. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2760 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2761 * @param {Date} date the date object to round |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2762 * @param {Number} intervalUnit a constant, integer index specifying an |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2763 * interval, e.g. SimileAjax.DateTime.HOUR |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2764 * @param {Number} timeZone a timezone shift, given in hours |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2765 * @param {Number} multiple a multiple of the interval to round by |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2766 * @param {Number} firstDayOfWeek an integer specifying the first day of the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2767 * week, 0 corresponds to Sunday, 1 to Monday, etc. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2768 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2769 SimileAjax.DateTime.roundDownToInterval = function(date, intervalUnit, timeZone, multiple, firstDayOfWeek) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2770 var timeShift = timeZone * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2771 SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2772 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2773 var date2 = new Date(date.getTime() + timeShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2774 var clearInDay = function(d) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2775 d.setUTCMilliseconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2776 d.setUTCSeconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2777 d.setUTCMinutes(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2778 d.setUTCHours(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2779 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2780 var clearInYear = function(d) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2781 clearInDay(d); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2782 d.setUTCDate(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2783 d.setUTCMonth(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2784 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2785 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2786 switch(intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2787 case SimileAjax.DateTime.MILLISECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2788 var x = date2.getUTCMilliseconds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2789 date2.setUTCMilliseconds(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2790 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2791 case SimileAjax.DateTime.SECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2792 date2.setUTCMilliseconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2793 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2794 var x = date2.getUTCSeconds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2795 date2.setUTCSeconds(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2796 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2797 case SimileAjax.DateTime.MINUTE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2798 date2.setUTCMilliseconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2799 date2.setUTCSeconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2800 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2801 var x = date2.getUTCMinutes(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2802 date2.setTime(date2.getTime() - |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2803 (x % multiple) * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2804 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2805 case SimileAjax.DateTime.HOUR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2806 date2.setUTCMilliseconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2807 date2.setUTCSeconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2808 date2.setUTCMinutes(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2809 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2810 var x = date2.getUTCHours(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2811 date2.setUTCHours(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2812 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2813 case SimileAjax.DateTime.DAY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2814 clearInDay(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2815 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2816 case SimileAjax.DateTime.WEEK: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2817 clearInDay(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2818 var d = (date2.getUTCDay() + 7 - firstDayOfWeek) % 7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2819 date2.setTime(date2.getTime() - |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2820 d * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2821 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2822 case SimileAjax.DateTime.MONTH: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2823 clearInDay(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2824 date2.setUTCDate(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2825 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2826 var x = date2.getUTCMonth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2827 date2.setUTCMonth(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2828 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2829 case SimileAjax.DateTime.YEAR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2830 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2831 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2832 var x = date2.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2833 date2.setUTCFullYear(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2834 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2835 case SimileAjax.DateTime.DECADE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2836 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2837 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 10) * 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2838 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2839 case SimileAjax.DateTime.CENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2840 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2841 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 100) * 100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2842 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2843 case SimileAjax.DateTime.MILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2844 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2845 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 1000) * 1000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2846 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2847 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2848 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2849 date.setTime(date2.getTime() - timeShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2850 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2851 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2852 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2853 * Rounds date objects up to the nearest interval or multiple of an interval. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2854 * This method modifies the given date object, converting it to the given |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2855 * timezone if specified. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2856 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2857 * @param {Date} date the date object to round |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2858 * @param {Number} intervalUnit a constant, integer index specifying an |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2859 * interval, e.g. SimileAjax.DateTime.HOUR |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2860 * @param {Number} timeZone a timezone shift, given in hours |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2861 * @param {Number} multiple a multiple of the interval to round by |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2862 * @param {Number} firstDayOfWeek an integer specifying the first day of the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2863 * week, 0 corresponds to Sunday, 1 to Monday, etc. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2864 * @see SimileAjax.DateTime.roundDownToInterval |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2865 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2866 SimileAjax.DateTime.roundUpToInterval = function(date, intervalUnit, timeZone, multiple, firstDayOfWeek) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2867 var originalTime = date.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2868 SimileAjax.DateTime.roundDownToInterval(date, intervalUnit, timeZone, multiple, firstDayOfWeek); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2869 if (date.getTime() < originalTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2870 date.setTime(date.getTime() + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2871 SimileAjax.DateTime.gregorianUnitLengths[intervalUnit] * multiple); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2872 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2873 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2874 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2875 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2876 * Increments a date object by a specified interval, taking into |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2877 * consideration the timezone. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2878 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2879 * @param {Date} date the date object to increment |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2880 * @param {Number} intervalUnit a constant, integer index specifying an |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2881 * interval, e.g. SimileAjax.DateTime.HOUR |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2882 * @param {Number} timeZone the timezone offset in hours |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2883 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2884 SimileAjax.DateTime.incrementByInterval = function(date, intervalUnit, timeZone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2885 timeZone = (typeof timeZone == 'undefined') ? 0 : timeZone; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2886 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2887 var timeShift = timeZone * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2888 SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2889 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2890 var date2 = new Date(date.getTime() + timeShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2891 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2892 switch(intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2893 case SimileAjax.DateTime.MILLISECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2894 date2.setTime(date2.getTime() + 1) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2895 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2896 case SimileAjax.DateTime.SECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2897 date2.setTime(date2.getTime() + 1000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2898 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2899 case SimileAjax.DateTime.MINUTE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2900 date2.setTime(date2.getTime() + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2901 SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2902 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2903 case SimileAjax.DateTime.HOUR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2904 date2.setTime(date2.getTime() + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2905 SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2906 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2907 case SimileAjax.DateTime.DAY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2908 date2.setUTCDate(date2.getUTCDate() + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2909 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2910 case SimileAjax.DateTime.WEEK: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2911 date2.setUTCDate(date2.getUTCDate() + 7); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2912 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2913 case SimileAjax.DateTime.MONTH: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2914 date2.setUTCMonth(date2.getUTCMonth() + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2915 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2916 case SimileAjax.DateTime.YEAR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2917 date2.setUTCFullYear(date2.getUTCFullYear() + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2918 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2919 case SimileAjax.DateTime.DECADE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2920 date2.setUTCFullYear(date2.getUTCFullYear() + 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2921 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2922 case SimileAjax.DateTime.CENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2923 date2.setUTCFullYear(date2.getUTCFullYear() + 100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2924 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2925 case SimileAjax.DateTime.MILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2926 date2.setUTCFullYear(date2.getUTCFullYear() + 1000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2927 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2928 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2929 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2930 date.setTime(date2.getTime() - timeShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2931 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2932 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2933 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2934 * Returns a new date object with the given time offset removed. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2935 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2936 * @param {Date} date the starting date |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2937 * @param {Number} timeZone a timezone specified in an hour offset to remove |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2938 * @return {Date} a new date object with the offset removed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2939 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2940 SimileAjax.DateTime.removeTimeZoneOffset = function(date, timeZone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2941 return new Date(date.getTime() + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2942 timeZone * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2943 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2944 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2945 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2946 * Returns the timezone of the user's browser. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2947 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2948 * @return {Number} the timezone in the user's locale in hours |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2949 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2950 SimileAjax.DateTime.getTimezone = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2951 var d = new Date().getTimezoneOffset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2952 return d / -60; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2953 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2954 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2955 * String Utility Functions and Constants |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2956 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2957 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2958 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2959 String.prototype.trim = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2960 return this.replace(/^\s+|\s+$/g, ''); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2961 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2962 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2963 String.prototype.startsWith = function(prefix) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2964 return this.length >= prefix.length && this.substr(0, prefix.length) == prefix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2965 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2966 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2967 String.prototype.endsWith = function(suffix) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2968 return this.length >= suffix.length && this.substr(this.length - suffix.length) == suffix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2969 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2970 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2971 String.substitute = function(s, objects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2972 var result = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2973 var start = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2974 while (start < s.length - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2975 var percent = s.indexOf("%", start); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2976 if (percent < 0 || percent == s.length - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2977 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2978 } else if (percent > start && s.charAt(percent - 1) == "\\") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2979 result += s.substring(start, percent - 1) + "%"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2980 start = percent + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2981 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2982 var n = parseInt(s.charAt(percent + 1)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2983 if (isNaN(n) || n >= objects.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2984 result += s.substring(start, percent + 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2985 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2986 result += s.substring(start, percent) + objects[n].toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2987 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2988 start = percent + 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2989 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2990 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2991 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2992 if (start < s.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2993 result += s.substring(start); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2994 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2995 return result; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2996 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2997 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2998 * HTML Utility Functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2999 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3000 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3001 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3002 SimileAjax.HTML = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3003 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3004 SimileAjax.HTML._e2uHash = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3005 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3006 var e2uHash = SimileAjax.HTML._e2uHash; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3007 e2uHash['nbsp']= '\u00A0[space]'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3008 e2uHash['iexcl']= '\u00A1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3009 e2uHash['cent']= '\u00A2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3010 e2uHash['pound']= '\u00A3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3011 e2uHash['curren']= '\u00A4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3012 e2uHash['yen']= '\u00A5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3013 e2uHash['brvbar']= '\u00A6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3014 e2uHash['sect']= '\u00A7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3015 e2uHash['uml']= '\u00A8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3016 e2uHash['copy']= '\u00A9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3017 e2uHash['ordf']= '\u00AA'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3018 e2uHash['laquo']= '\u00AB'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3019 e2uHash['not']= '\u00AC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3020 e2uHash['shy']= '\u00AD'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3021 e2uHash['reg']= '\u00AE'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3022 e2uHash['macr']= '\u00AF'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3023 e2uHash['deg']= '\u00B0'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3024 e2uHash['plusmn']= '\u00B1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3025 e2uHash['sup2']= '\u00B2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3026 e2uHash['sup3']= '\u00B3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3027 e2uHash['acute']= '\u00B4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3028 e2uHash['micro']= '\u00B5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3029 e2uHash['para']= '\u00B6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3030 e2uHash['middot']= '\u00B7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3031 e2uHash['cedil']= '\u00B8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3032 e2uHash['sup1']= '\u00B9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3033 e2uHash['ordm']= '\u00BA'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3034 e2uHash['raquo']= '\u00BB'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3035 e2uHash['frac14']= '\u00BC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3036 e2uHash['frac12']= '\u00BD'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3037 e2uHash['frac34']= '\u00BE'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3038 e2uHash['iquest']= '\u00BF'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3039 e2uHash['Agrave']= '\u00C0'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3040 e2uHash['Aacute']= '\u00C1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3041 e2uHash['Acirc']= '\u00C2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3042 e2uHash['Atilde']= '\u00C3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3043 e2uHash['Auml']= '\u00C4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3044 e2uHash['Aring']= '\u00C5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3045 e2uHash['AElig']= '\u00C6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3046 e2uHash['Ccedil']= '\u00C7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3047 e2uHash['Egrave']= '\u00C8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3048 e2uHash['Eacute']= '\u00C9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3049 e2uHash['Ecirc']= '\u00CA'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3050 e2uHash['Euml']= '\u00CB'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3051 e2uHash['Igrave']= '\u00CC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3052 e2uHash['Iacute']= '\u00CD'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3053 e2uHash['Icirc']= '\u00CE'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3054 e2uHash['Iuml']= '\u00CF'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3055 e2uHash['ETH']= '\u00D0'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3056 e2uHash['Ntilde']= '\u00D1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3057 e2uHash['Ograve']= '\u00D2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3058 e2uHash['Oacute']= '\u00D3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3059 e2uHash['Ocirc']= '\u00D4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3060 e2uHash['Otilde']= '\u00D5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3061 e2uHash['Ouml']= '\u00D6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3062 e2uHash['times']= '\u00D7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3063 e2uHash['Oslash']= '\u00D8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3064 e2uHash['Ugrave']= '\u00D9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3065 e2uHash['Uacute']= '\u00DA'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3066 e2uHash['Ucirc']= '\u00DB'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3067 e2uHash['Uuml']= '\u00DC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3068 e2uHash['Yacute']= '\u00DD'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3069 e2uHash['THORN']= '\u00DE'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3070 e2uHash['szlig']= '\u00DF'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3071 e2uHash['agrave']= '\u00E0'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3072 e2uHash['aacute']= '\u00E1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3073 e2uHash['acirc']= '\u00E2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3074 e2uHash['atilde']= '\u00E3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3075 e2uHash['auml']= '\u00E4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3076 e2uHash['aring']= '\u00E5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3077 e2uHash['aelig']= '\u00E6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3078 e2uHash['ccedil']= '\u00E7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3079 e2uHash['egrave']= '\u00E8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3080 e2uHash['eacute']= '\u00E9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3081 e2uHash['ecirc']= '\u00EA'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3082 e2uHash['euml']= '\u00EB'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3083 e2uHash['igrave']= '\u00EC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3084 e2uHash['iacute']= '\u00ED'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3085 e2uHash['icirc']= '\u00EE'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3086 e2uHash['iuml']= '\u00EF'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3087 e2uHash['eth']= '\u00F0'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3088 e2uHash['ntilde']= '\u00F1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3089 e2uHash['ograve']= '\u00F2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3090 e2uHash['oacute']= '\u00F3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3091 e2uHash['ocirc']= '\u00F4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3092 e2uHash['otilde']= '\u00F5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3093 e2uHash['ouml']= '\u00F6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3094 e2uHash['divide']= '\u00F7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3095 e2uHash['oslash']= '\u00F8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3096 e2uHash['ugrave']= '\u00F9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3097 e2uHash['uacute']= '\u00FA'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3098 e2uHash['ucirc']= '\u00FB'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3099 e2uHash['uuml']= '\u00FC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3100 e2uHash['yacute']= '\u00FD'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3101 e2uHash['thorn']= '\u00FE'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3102 e2uHash['yuml']= '\u00FF'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3103 e2uHash['quot']= '\u0022'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3104 e2uHash['amp']= '\u0026'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3105 e2uHash['lt']= '\u003C'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3106 e2uHash['gt']= '\u003E'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3107 e2uHash['OElig']= ''; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3108 e2uHash['oelig']= '\u0153'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3109 e2uHash['Scaron']= '\u0160'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3110 e2uHash['scaron']= '\u0161'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3111 e2uHash['Yuml']= '\u0178'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3112 e2uHash['circ']= '\u02C6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3113 e2uHash['tilde']= '\u02DC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3114 e2uHash['ensp']= '\u2002'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3115 e2uHash['emsp']= '\u2003'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3116 e2uHash['thinsp']= '\u2009'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3117 e2uHash['zwnj']= '\u200C'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3118 e2uHash['zwj']= '\u200D'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3119 e2uHash['lrm']= '\u200E'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3120 e2uHash['rlm']= '\u200F'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3121 e2uHash['ndash']= '\u2013'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3122 e2uHash['mdash']= '\u2014'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3123 e2uHash['lsquo']= '\u2018'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3124 e2uHash['rsquo']= '\u2019'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3125 e2uHash['sbquo']= '\u201A'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3126 e2uHash['ldquo']= '\u201C'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3127 e2uHash['rdquo']= '\u201D'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3128 e2uHash['bdquo']= '\u201E'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3129 e2uHash['dagger']= '\u2020'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3130 e2uHash['Dagger']= '\u2021'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3131 e2uHash['permil']= '\u2030'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3132 e2uHash['lsaquo']= '\u2039'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3133 e2uHash['rsaquo']= '\u203A'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3134 e2uHash['euro']= '\u20AC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3135 e2uHash['fnof']= '\u0192'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3136 e2uHash['Alpha']= '\u0391'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3137 e2uHash['Beta']= '\u0392'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3138 e2uHash['Gamma']= '\u0393'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3139 e2uHash['Delta']= '\u0394'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3140 e2uHash['Epsilon']= '\u0395'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3141 e2uHash['Zeta']= '\u0396'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3142 e2uHash['Eta']= '\u0397'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3143 e2uHash['Theta']= '\u0398'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3144 e2uHash['Iota']= '\u0399'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3145 e2uHash['Kappa']= '\u039A'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3146 e2uHash['Lambda']= '\u039B'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3147 e2uHash['Mu']= '\u039C'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3148 e2uHash['Nu']= '\u039D'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3149 e2uHash['Xi']= '\u039E'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3150 e2uHash['Omicron']= '\u039F'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3151 e2uHash['Pi']= '\u03A0'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3152 e2uHash['Rho']= '\u03A1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3153 e2uHash['Sigma']= '\u03A3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3154 e2uHash['Tau']= '\u03A4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3155 e2uHash['Upsilon']= '\u03A5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3156 e2uHash['Phi']= '\u03A6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3157 e2uHash['Chi']= '\u03A7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3158 e2uHash['Psi']= '\u03A8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3159 e2uHash['Omega']= '\u03A9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3160 e2uHash['alpha']= '\u03B1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3161 e2uHash['beta']= '\u03B2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3162 e2uHash['gamma']= '\u03B3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3163 e2uHash['delta']= '\u03B4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3164 e2uHash['epsilon']= '\u03B5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3165 e2uHash['zeta']= '\u03B6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3166 e2uHash['eta']= '\u03B7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3167 e2uHash['theta']= '\u03B8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3168 e2uHash['iota']= '\u03B9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3169 e2uHash['kappa']= '\u03BA'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3170 e2uHash['lambda']= '\u03BB'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3171 e2uHash['mu']= '\u03BC'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3172 e2uHash['nu']= '\u03BD'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3173 e2uHash['xi']= '\u03BE'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3174 e2uHash['omicron']= '\u03BF'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3175 e2uHash['pi']= '\u03C0'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3176 e2uHash['rho']= '\u03C1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3177 e2uHash['sigmaf']= '\u03C2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3178 e2uHash['sigma']= '\u03C3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3179 e2uHash['tau']= '\u03C4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3180 e2uHash['upsilon']= '\u03C5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3181 e2uHash['phi']= '\u03C6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3182 e2uHash['chi']= '\u03C7'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3183 e2uHash['psi']= '\u03C8'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3184 e2uHash['omega']= '\u03C9'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3185 e2uHash['thetasym']= '\u03D1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3186 e2uHash['upsih']= '\u03D2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3187 e2uHash['piv']= '\u03D6'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3188 e2uHash['bull']= '\u2022'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3189 e2uHash['hellip']= '\u2026'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3190 e2uHash['prime']= '\u2032'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3191 e2uHash['Prime']= '\u2033'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3192 e2uHash['oline']= '\u203E'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3193 e2uHash['frasl']= '\u2044'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3194 e2uHash['weierp']= '\u2118'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3195 e2uHash['image']= '\u2111'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3196 e2uHash['real']= '\u211C'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3197 e2uHash['trade']= '\u2122'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3198 e2uHash['alefsym']= '\u2135'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3199 e2uHash['larr']= '\u2190'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3200 e2uHash['uarr']= '\u2191'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3201 e2uHash['rarr']= '\u2192'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3202 e2uHash['darr']= '\u2193'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3203 e2uHash['harr']= '\u2194'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3204 e2uHash['crarr']= '\u21B5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3205 e2uHash['lArr']= '\u21D0'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3206 e2uHash['uArr']= '\u21D1'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3207 e2uHash['rArr']= '\u21D2'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3208 e2uHash['dArr']= '\u21D3'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3209 e2uHash['hArr']= '\u21D4'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3210 e2uHash['forall']= '\u2200'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3211 e2uHash['part']= '\u2202'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3212 e2uHash['exist']= '\u2203'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3213 e2uHash['empty']= '\u2205'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3214 e2uHash['nabla']= '\u2207'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3215 e2uHash['isin']= '\u2208'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3216 e2uHash['notin']= '\u2209'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3217 e2uHash['ni']= '\u220B'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3218 e2uHash['prod']= '\u220F'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3219 e2uHash['sum']= '\u2211'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3220 e2uHash['minus']= '\u2212'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3221 e2uHash['lowast']= '\u2217'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3222 e2uHash['radic']= '\u221A'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3223 e2uHash['prop']= '\u221D'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3224 e2uHash['infin']= '\u221E'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3225 e2uHash['ang']= '\u2220'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3226 e2uHash['and']= '\u2227'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3227 e2uHash['or']= '\u2228'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3228 e2uHash['cap']= '\u2229'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3229 e2uHash['cup']= '\u222A'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3230 e2uHash['int']= '\u222B'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3231 e2uHash['there4']= '\u2234'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3232 e2uHash['sim']= '\u223C'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3233 e2uHash['cong']= '\u2245'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3234 e2uHash['asymp']= '\u2248'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3235 e2uHash['ne']= '\u2260'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3236 e2uHash['equiv']= '\u2261'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3237 e2uHash['le']= '\u2264'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3238 e2uHash['ge']= '\u2265'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3239 e2uHash['sub']= '\u2282'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3240 e2uHash['sup']= '\u2283'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3241 e2uHash['nsub']= '\u2284'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3242 e2uHash['sube']= '\u2286'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3243 e2uHash['supe']= '\u2287'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3244 e2uHash['oplus']= '\u2295'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3245 e2uHash['otimes']= '\u2297'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3246 e2uHash['perp']= '\u22A5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3247 e2uHash['sdot']= '\u22C5'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3248 e2uHash['lceil']= '\u2308'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3249 e2uHash['rceil']= '\u2309'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3250 e2uHash['lfloor']= '\u230A'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3251 e2uHash['rfloor']= '\u230B'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3252 e2uHash['lang']= '\u2329'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3253 e2uHash['rang']= '\u232A'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3254 e2uHash['loz']= '\u25CA'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3255 e2uHash['spades']= '\u2660'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3256 e2uHash['clubs']= '\u2663'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3257 e2uHash['hearts']= '\u2665'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3258 e2uHash['diams']= '\u2666'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3259 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3260 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3261 SimileAjax.HTML.deEntify = function(s) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3262 var e2uHash = SimileAjax.HTML._e2uHash; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3263 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3264 var re = /&(\w+?);/; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3265 while (re.test(s)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3266 var m = s.match(re); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3267 s = s.replace(re, e2uHash[m[1]]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3268 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3269 return s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3270 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3271 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3272 * A basic set (in the mathematical sense) data structure |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3273 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3274 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3275 * @param {Array or SimileAjax.Set} [a] an initial collection |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3276 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3277 SimileAjax.Set = function(a) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3278 this._hash = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3279 this._count = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3280 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3281 if (a instanceof Array) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3282 for (var i = 0; i < a.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3283 this.add(a[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3284 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3285 } else if (a instanceof SimileAjax.Set) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3286 this.addSet(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3287 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3288 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3289 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3290 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3291 * Adds the given object to this set, assuming there it does not already exist |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3292 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3293 * @param {Object} o the object to add |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3294 * @return {Boolean} true if the object was added, false if not |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3295 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3296 SimileAjax.Set.prototype.add = function(o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3297 if (!(o in this._hash)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3298 this._hash[o] = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3299 this._count++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3300 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3301 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3302 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3303 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3304 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3305 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3306 * Adds each element in the given set to this set |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3307 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3308 * @param {SimileAjax.Set} set the set of elements to add |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3309 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3310 SimileAjax.Set.prototype.addSet = function(set) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3311 for (var o in set._hash) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3312 this.add(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3313 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3314 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3315 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3316 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3317 * Removes the given element from this set |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3318 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3319 * @param {Object} o the object to remove |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3320 * @return {Boolean} true if the object was successfully removed, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3321 * false otherwise |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3322 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3323 SimileAjax.Set.prototype.remove = function(o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3324 if (o in this._hash) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3325 delete this._hash[o]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3326 this._count--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3327 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3328 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3329 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3330 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3331 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3332 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3333 * Removes the elements in this set that correspond to the elements in the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3334 * given set |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3335 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3336 * @param {SimileAjax.Set} set the set of elements to remove |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3337 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3338 SimileAjax.Set.prototype.removeSet = function(set) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3339 for (var o in set._hash) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3340 this.remove(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3341 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3342 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3343 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3344 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3345 * Removes all elements in this set that are not present in the given set, i.e. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3346 * modifies this set to the intersection of the two sets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3347 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3348 * @param {SimileAjax.Set} set the set to intersect |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3349 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3350 SimileAjax.Set.prototype.retainSet = function(set) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3351 for (var o in this._hash) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3352 if (!set.contains(o)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3353 delete this._hash[o]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3354 this._count--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3355 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3356 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3357 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3358 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3359 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3360 * Returns whether or not the given element exists in this set |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3361 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3362 * @param {SimileAjax.Set} o the object to test for |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3363 * @return {Boolean} true if the object is present, false otherwise |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3364 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3365 SimileAjax.Set.prototype.contains = function(o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3366 return (o in this._hash); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3367 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3369 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3370 * Returns the number of elements in this set |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3371 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3372 * @return {Number} the number of elements in this set |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3373 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3374 SimileAjax.Set.prototype.size = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3375 return this._count; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3376 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3377 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3378 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3379 * Returns the elements of this set as an array |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3380 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3381 * @return {Array} a new array containing the elements of this set |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3382 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3383 SimileAjax.Set.prototype.toArray = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3384 var a = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3385 for (var o in this._hash) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3386 a.push(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3387 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3388 return a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3389 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3390 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3391 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3392 * Iterates through the elements of this set, order unspecified, executing the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3393 * given function on each element until the function returns true |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3394 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3395 * @param {Function} f a function of form f(element) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3396 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3397 SimileAjax.Set.prototype.visit = function(f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3398 for (var o in this._hash) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3399 if (f(o) == true) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3400 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3401 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3402 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3403 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3404 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3405 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3406 * A sorted array data structure |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3407 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3408 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3409 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3410 SimileAjax.SortedArray = function(compare, initialArray) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3411 this._a = (initialArray instanceof Array) ? initialArray : []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3412 this._compare = compare; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3413 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3414 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3415 SimileAjax.SortedArray.prototype.add = function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3416 var sa = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3417 var index = this.find(function(elmt2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3418 return sa._compare(elmt2, elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3419 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3420 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3421 if (index < this._a.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3422 this._a.splice(index, 0, elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3423 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3424 this._a.push(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3425 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3426 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3427 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3428 SimileAjax.SortedArray.prototype.remove = function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3429 var sa = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3430 var index = this.find(function(elmt2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3431 return sa._compare(elmt2, elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3432 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3433 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3434 while (index < this._a.length && this._compare(this._a[index], elmt) == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3435 if (this._a[index] == elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3436 this._a.splice(index, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3437 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3438 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3439 index++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3440 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3441 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3442 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3443 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3444 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3445 SimileAjax.SortedArray.prototype.removeAll = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3446 this._a = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3447 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3448 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3449 SimileAjax.SortedArray.prototype.elementAt = function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3450 return this._a[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3451 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3452 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3453 SimileAjax.SortedArray.prototype.length = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3454 return this._a.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3455 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3456 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3457 SimileAjax.SortedArray.prototype.find = function(compare) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3458 var a = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3459 var b = this._a.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3460 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3461 while (a < b) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3462 var mid = Math.floor((a + b) / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3463 var c = compare(this._a[mid]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3464 if (mid == a) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3465 return c < 0 ? a+1 : a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3466 } else if (c < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3467 a = mid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3468 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3469 b = mid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3470 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3471 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3472 return a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3473 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3474 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3475 SimileAjax.SortedArray.prototype.getFirst = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3476 return (this._a.length > 0) ? this._a[0] : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3477 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3478 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3479 SimileAjax.SortedArray.prototype.getLast = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3480 return (this._a.length > 0) ? this._a[this._a.length - 1] : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3481 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3482 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3483 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3484 * Event Index |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3485 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3486 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3487 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3488 SimileAjax.EventIndex = function(unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3489 var eventIndex = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3490 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3491 this._unit = (unit != null) ? unit : SimileAjax.NativeDateUnit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3492 this._events = new SimileAjax.SortedArray( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3493 function(event1, event2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3494 return eventIndex._unit.compare(event1.getStart(), event2.getStart()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3495 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3496 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3497 this._idToEvent = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3498 this._indexed = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3499 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3500 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3501 SimileAjax.EventIndex.prototype.getUnit = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3502 return this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3503 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3504 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3505 SimileAjax.EventIndex.prototype.getEvent = function(id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3506 return this._idToEvent[id]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3507 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3508 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3509 SimileAjax.EventIndex.prototype.add = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3510 this._events.add(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3511 this._idToEvent[evt.getID()] = evt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3512 this._indexed = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3513 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3514 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3515 SimileAjax.EventIndex.prototype.removeAll = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3516 this._events.removeAll(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3517 this._idToEvent = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3518 this._indexed = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3519 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3520 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3521 SimileAjax.EventIndex.prototype.getCount = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3522 return this._events.length(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3523 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3524 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3525 SimileAjax.EventIndex.prototype.getIterator = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3526 if (!this._indexed) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3527 this._index(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3528 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3529 return new SimileAjax.EventIndex._Iterator(this._events, startDate, endDate, this._unit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3530 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3531 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3532 SimileAjax.EventIndex.prototype.getReverseIterator = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3533 if (!this._indexed) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3534 this._index(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3535 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3536 return new SimileAjax.EventIndex._ReverseIterator(this._events, startDate, endDate, this._unit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3537 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3538 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3539 SimileAjax.EventIndex.prototype.getAllIterator = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3540 return new SimileAjax.EventIndex._AllIterator(this._events); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3541 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3542 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3543 SimileAjax.EventIndex.prototype.getEarliestDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3544 var evt = this._events.getFirst(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3545 return (evt == null) ? null : evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3546 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3547 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3548 SimileAjax.EventIndex.prototype.getLatestDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3549 var evt = this._events.getLast(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3550 if (evt == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3551 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3552 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3553 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3554 if (!this._indexed) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3555 this._index(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3556 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3557 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3558 var index = evt._earliestOverlapIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3559 var date = this._events.elementAt(index).getEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3560 for (var i = index + 1; i < this._events.length(); i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3561 date = this._unit.later(date, this._events.elementAt(i).getEnd()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3562 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3563 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3564 return date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3565 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3566 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3567 SimileAjax.EventIndex.prototype._index = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3568 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3569 * For each event, we want to find the earliest preceding |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3570 * event that overlaps with it, if any. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3571 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3572 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3573 var l = this._events.length(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3574 for (var i = 0; i < l; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3575 var evt = this._events.elementAt(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3576 evt._earliestOverlapIndex = i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3577 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3578 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3579 var toIndex = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3580 for (var i = 0; i < l; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3581 var evt = this._events.elementAt(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3582 var end = evt.getEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3583 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3584 toIndex = Math.max(toIndex, i + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3585 while (toIndex < l) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3586 var evt2 = this._events.elementAt(toIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3587 var start2 = evt2.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3588 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3589 if (this._unit.compare(start2, end) < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3590 evt2._earliestOverlapIndex = i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3591 toIndex++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3592 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3593 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3594 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3595 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3596 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3597 this._indexed = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3598 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3599 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3600 SimileAjax.EventIndex._Iterator = function(events, startDate, endDate, unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3601 this._events = events; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3602 this._startDate = startDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3603 this._endDate = endDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3604 this._unit = unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3605 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3606 this._currentIndex = events.find(function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3607 return unit.compare(evt.getStart(), startDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3608 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3609 if (this._currentIndex - 1 >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3610 this._currentIndex = this._events.elementAt(this._currentIndex - 1)._earliestOverlapIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3611 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3612 this._currentIndex--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3613 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3614 this._maxIndex = events.find(function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3615 return unit.compare(evt.getStart(), endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3616 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3617 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3618 this._hasNext = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3619 this._next = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3620 this._findNext(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3621 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3622 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3623 SimileAjax.EventIndex._Iterator.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3624 hasNext: function() { return this._hasNext; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3625 next: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3626 if (this._hasNext) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3627 var next = this._next; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3628 this._findNext(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3629 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3630 return next; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3631 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3632 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3633 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3634 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3635 _findNext: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3636 var unit = this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3637 while ((++this._currentIndex) < this._maxIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3638 var evt = this._events.elementAt(this._currentIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3639 if (unit.compare(evt.getStart(), this._endDate) < 0 && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3640 unit.compare(evt.getEnd(), this._startDate) > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3641 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3642 this._next = evt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3643 this._hasNext = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3644 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3645 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3646 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3647 this._next = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3648 this._hasNext = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3649 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3650 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3651 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3652 SimileAjax.EventIndex._ReverseIterator = function(events, startDate, endDate, unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3653 this._events = events; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3654 this._startDate = startDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3655 this._endDate = endDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3656 this._unit = unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3657 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3658 this._minIndex = events.find(function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3659 return unit.compare(evt.getStart(), startDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3660 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3661 if (this._minIndex - 1 >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3662 this._minIndex = this._events.elementAt(this._minIndex - 1)._earliestOverlapIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3663 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3664 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3665 this._maxIndex = events.find(function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3666 return unit.compare(evt.getStart(), endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3667 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3668 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3669 this._currentIndex = this._maxIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3670 this._hasNext = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3671 this._next = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3672 this._findNext(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3673 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3674 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3675 SimileAjax.EventIndex._ReverseIterator.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3676 hasNext: function() { return this._hasNext; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3677 next: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3678 if (this._hasNext) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3679 var next = this._next; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3680 this._findNext(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3681 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3682 return next; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3683 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3684 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3685 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3686 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3687 _findNext: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3688 var unit = this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3689 while ((--this._currentIndex) >= this._minIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3690 var evt = this._events.elementAt(this._currentIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3691 if (unit.compare(evt.getStart(), this._endDate) < 0 && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3692 unit.compare(evt.getEnd(), this._startDate) > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3693 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3694 this._next = evt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3695 this._hasNext = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3696 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3697 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3698 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3699 this._next = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3700 this._hasNext = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3701 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3702 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3703 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3704 SimileAjax.EventIndex._AllIterator = function(events) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3705 this._events = events; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3706 this._index = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3707 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3708 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3709 SimileAjax.EventIndex._AllIterator.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3710 hasNext: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3711 return this._index < this._events.length(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3712 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3713 next: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3714 return this._index < this._events.length() ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3715 this._events.elementAt(this._index++) : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3716 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3717 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3718 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3719 * Default Unit |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3720 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3721 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3722 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3723 SimileAjax.NativeDateUnit = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3724 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3725 SimileAjax.NativeDateUnit.makeDefaultValue = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3726 return new Date(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3727 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3728 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3729 SimileAjax.NativeDateUnit.cloneValue = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3730 return new Date(v.getTime()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3731 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3732 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3733 SimileAjax.NativeDateUnit.getParser = function(format) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3734 if (typeof format == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3735 format = format.toLowerCase(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3736 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3737 return (format == "iso8601" || format == "iso 8601") ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3738 SimileAjax.DateTime.parseIso8601DateTime : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3739 SimileAjax.DateTime.parseGregorianDateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3740 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3741 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3742 SimileAjax.NativeDateUnit.parseFromObject = function(o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3743 return SimileAjax.DateTime.parseGregorianDateTime(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3744 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3745 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3746 SimileAjax.NativeDateUnit.toNumber = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3747 return v.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3748 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3749 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3750 SimileAjax.NativeDateUnit.fromNumber = function(n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3751 return new Date(n); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3752 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3753 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3754 SimileAjax.NativeDateUnit.compare = function(v1, v2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3755 var n1, n2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3756 if (typeof v1 == "object") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3757 n1 = v1.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3758 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3759 n1 = Number(v1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3760 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3761 if (typeof v2 == "object") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3762 n2 = v2.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3763 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3764 n2 = Number(v2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3765 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3766 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3767 return n1 - n2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3768 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3769 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3770 SimileAjax.NativeDateUnit.earlier = function(v1, v2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3771 return SimileAjax.NativeDateUnit.compare(v1, v2) < 0 ? v1 : v2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3772 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3773 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3774 SimileAjax.NativeDateUnit.later = function(v1, v2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3775 return SimileAjax.NativeDateUnit.compare(v1, v2) > 0 ? v1 : v2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3776 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3777 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3778 SimileAjax.NativeDateUnit.change = function(v, n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3779 return new Date(v.getTime() + n); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3780 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3781 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3782 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3783 * General, miscellaneous SimileAjax stuff |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3784 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3785 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3786 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3787 SimileAjax.ListenerQueue = function(wildcardHandlerName) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3788 this._listeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3789 this._wildcardHandlerName = wildcardHandlerName; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3790 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3791 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3792 SimileAjax.ListenerQueue.prototype.add = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3793 this._listeners.push(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3794 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3795 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3796 SimileAjax.ListenerQueue.prototype.remove = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3797 var listeners = this._listeners; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3798 for (var i = 0; i < listeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3799 if (listeners[i] == listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3800 listeners.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3801 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3802 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3803 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3804 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3805 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3806 SimileAjax.ListenerQueue.prototype.fire = function(handlerName, args) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3807 var listeners = [].concat(this._listeners); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3808 for (var i = 0; i < listeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3809 var listener = listeners[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3810 if (handlerName in listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3811 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3812 listener[handlerName].apply(listener, args); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3813 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3814 SimileAjax.Debug.exception("Error firing event of name " + handlerName, e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3815 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3816 } else if (this._wildcardHandlerName != null && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3817 this._wildcardHandlerName in listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3818 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3819 listener[this._wildcardHandlerName].apply(listener, [ handlerName ]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3820 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3821 SimileAjax.Debug.exception("Error firing event of name " + handlerName + " to wildcard handler", e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3822 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3823 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3824 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3825 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3826 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3827 /*====================================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3828 * History |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3829 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3830 * This is a singleton that keeps track of undoable user actions and |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3831 * performs undos and redos in response to the browser's Back and |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3832 * Forward buttons. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3833 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3834 * Call addAction(action) to register an undoable user action. action |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3835 * must have 4 fields: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3836 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3837 * perform: an argument-less function that carries out the action |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3838 * undo: an argument-less function that undos the action |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3839 * label: a short, user-friendly string describing the action |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3840 * uiLayer: the UI layer on which the action takes place |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3841 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3842 * By default, the history keeps track of upto 10 actions. You can |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3843 * configure this behavior by setting |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3844 * SimileAjax.History.maxHistoryLength |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3845 * to a different number. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3846 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3847 * An iframe is inserted into the document's body element to track |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3848 * onload events. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3849 *====================================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3850 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3851 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3852 SimileAjax.History = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3853 maxHistoryLength: 10, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3854 historyFile: "__history__.html", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3855 enabled: true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3856 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3857 _initialized: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3858 _listeners: new SimileAjax.ListenerQueue(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3859 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3860 _actions: [], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3861 _baseIndex: 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3862 _currentIndex: 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3863 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3864 _plainDocumentTitle: document.title |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3865 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3866 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3867 SimileAjax.History.formatHistoryEntryTitle = function(actionLabel) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3868 return SimileAjax.History._plainDocumentTitle + " {" + actionLabel + "}"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3869 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3870 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3871 SimileAjax.History.initialize = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3872 if (SimileAjax.History._initialized) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3873 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3874 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3875 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3876 if (SimileAjax.History.enabled) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3877 var iframe = document.createElement("iframe"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3878 iframe.id = "simile-ajax-history"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3879 iframe.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3880 iframe.style.width = "10px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3881 iframe.style.height = "10px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3882 iframe.style.top = "0px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3883 iframe.style.left = "0px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3884 iframe.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3885 iframe.src = SimileAjax.History.historyFile + "?0"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3886 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3887 document.body.appendChild(iframe); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3888 SimileAjax.DOM.registerEvent(iframe, "load", SimileAjax.History._handleIFrameOnLoad); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3889 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3890 SimileAjax.History._iframe = iframe; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3891 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3892 SimileAjax.History._initialized = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3893 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3894 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3895 SimileAjax.History.addListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3896 SimileAjax.History.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3897 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3898 SimileAjax.History._listeners.add(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3899 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3900 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3901 SimileAjax.History.removeListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3902 SimileAjax.History.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3903 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3904 SimileAjax.History._listeners.remove(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3905 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3906 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3907 SimileAjax.History.addAction = function(action) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3908 SimileAjax.History.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3909 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3910 SimileAjax.History._listeners.fire("onBeforePerform", [ action ]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3911 window.setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3912 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3913 action.perform(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3914 SimileAjax.History._listeners.fire("onAfterPerform", [ action ]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3915 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3916 if (SimileAjax.History.enabled) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3917 SimileAjax.History._actions = SimileAjax.History._actions.slice( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3918 0, SimileAjax.History._currentIndex - SimileAjax.History._baseIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3919 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3920 SimileAjax.History._actions.push(action); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3921 SimileAjax.History._currentIndex++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3922 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3923 var diff = SimileAjax.History._actions.length - SimileAjax.History.maxHistoryLength; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3924 if (diff > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3925 SimileAjax.History._actions = SimileAjax.History._actions.slice(diff); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3926 SimileAjax.History._baseIndex += diff; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3927 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3928 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3929 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3930 SimileAjax.History._iframe.contentWindow.location.search = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3931 "?" + SimileAjax.History._currentIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3932 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3933 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3934 * We can't modify location.search most probably because it's a file:// url. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3935 * We'll just going to modify the document's title. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3936 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3937 var title = SimileAjax.History.formatHistoryEntryTitle(action.label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3938 document.title = title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3939 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3940 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3941 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3942 SimileAjax.Debug.exception(e, "Error adding action {" + action.label + "} to history"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3943 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3944 }, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3945 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3946 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3947 SimileAjax.History.addLengthyAction = function(perform, undo, label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3948 SimileAjax.History.addAction({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3949 perform: perform, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3950 undo: undo, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3951 label: label, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3952 uiLayer: SimileAjax.WindowManager.getBaseLayer(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3953 lengthy: true |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3954 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3955 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3956 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3957 SimileAjax.History._handleIFrameOnLoad = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3958 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3959 * This function is invoked when the user herself |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3960 * navigates backward or forward. We need to adjust |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3961 * the application's state accordingly. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3962 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3963 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3964 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3965 var q = SimileAjax.History._iframe.contentWindow.location.search; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3966 var c = (q.length == 0) ? 0 : Math.max(0, parseInt(q.substr(1))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3967 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3968 var finishUp = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3969 var diff = c - SimileAjax.History._currentIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3970 SimileAjax.History._currentIndex += diff; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3971 SimileAjax.History._baseIndex += diff; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3972 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3973 SimileAjax.History._iframe.contentWindow.location.search = "?" + c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3974 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3975 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3976 if (c < SimileAjax.History._currentIndex) { // need to undo |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3977 SimileAjax.History._listeners.fire("onBeforeUndoSeveral", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3978 window.setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3979 while (SimileAjax.History._currentIndex > c && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3980 SimileAjax.History._currentIndex > SimileAjax.History._baseIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3981 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3982 SimileAjax.History._currentIndex--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3983 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3984 var action = SimileAjax.History._actions[SimileAjax.History._currentIndex - SimileAjax.History._baseIndex]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3985 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3986 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3987 action.undo(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3988 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3989 SimileAjax.Debug.exception(e, "History: Failed to undo action {" + action.label + "}"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3990 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3991 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3992 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3993 SimileAjax.History._listeners.fire("onAfterUndoSeveral", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3994 finishUp(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3995 }, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3996 } else if (c > SimileAjax.History._currentIndex) { // need to redo |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3997 SimileAjax.History._listeners.fire("onBeforeRedoSeveral", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3998 window.setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3999 while (SimileAjax.History._currentIndex < c && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4000 SimileAjax.History._currentIndex - SimileAjax.History._baseIndex < SimileAjax.History._actions.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4001 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4002 var action = SimileAjax.History._actions[SimileAjax.History._currentIndex - SimileAjax.History._baseIndex]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4003 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4004 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4005 action.perform(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4006 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4007 SimileAjax.Debug.exception(e, "History: Failed to redo action {" + action.label + "}"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4008 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4009 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4010 SimileAjax.History._currentIndex++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4011 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4012 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4013 SimileAjax.History._listeners.fire("onAfterRedoSeveral", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4014 finishUp(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4015 }, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4016 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4017 var index = SimileAjax.History._currentIndex - SimileAjax.History._baseIndex - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4018 var title = (index >= 0 && index < SimileAjax.History._actions.length) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4019 SimileAjax.History.formatHistoryEntryTitle(SimileAjax.History._actions[index].label) : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4020 SimileAjax.History._plainDocumentTitle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4021 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4022 SimileAjax.History._iframe.contentWindow.document.title = title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4023 document.title = title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4024 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4025 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4026 // silent |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4027 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4028 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4029 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4030 SimileAjax.History.getNextUndoAction = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4031 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4032 var index = SimileAjax.History._currentIndex - SimileAjax.History._baseIndex - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4033 return SimileAjax.History._actions[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4034 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4035 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4036 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4037 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4038 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4039 SimileAjax.History.getNextRedoAction = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4040 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4041 var index = SimileAjax.History._currentIndex - SimileAjax.History._baseIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4042 return SimileAjax.History._actions[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4043 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4044 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4045 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4046 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4047 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4048 * @fileOverview UI layers and window-wide dragging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4049 * @name SimileAjax.WindowManager |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4050 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4051 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4052 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4053 * This is a singleton that keeps track of UI layers (modal and |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4054 * modeless) and enables/disables UI elements based on which layers |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4055 * they belong to. It also provides window-wide dragging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4056 * implementation. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4057 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4058 SimileAjax.WindowManager = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4059 _initialized: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4060 _listeners: [], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4061 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4062 _draggedElement: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4063 _draggedElementCallback: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4064 _dropTargetHighlightElement: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4065 _lastCoords: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4066 _ghostCoords: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4067 _draggingMode: "", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4068 _dragging: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4069 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4070 _layers: [] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4071 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4072 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4073 SimileAjax.WindowManager.initialize = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4074 if (SimileAjax.WindowManager._initialized) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4075 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4076 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4077 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4078 SimileAjax.DOM.registerEvent(document.body, "mousedown", SimileAjax.WindowManager._onBodyMouseDown); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4079 SimileAjax.DOM.registerEvent(document.body, "mousemove", SimileAjax.WindowManager._onBodyMouseMove); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4080 SimileAjax.DOM.registerEvent(document.body, "mouseup", SimileAjax.WindowManager._onBodyMouseUp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4081 SimileAjax.DOM.registerEvent(document, "keydown", SimileAjax.WindowManager._onBodyKeyDown); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4082 SimileAjax.DOM.registerEvent(document, "keyup", SimileAjax.WindowManager._onBodyKeyUp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4083 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4084 SimileAjax.WindowManager._layers.push({index: 0}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4085 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4086 SimileAjax.WindowManager._historyListener = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4087 onBeforeUndoSeveral: function() {}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4088 onAfterUndoSeveral: function() {}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4089 onBeforeUndo: function() {}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4090 onAfterUndo: function() {}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4091 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4092 onBeforeRedoSeveral: function() {}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4093 onAfterRedoSeveral: function() {}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4094 onBeforeRedo: function() {}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4095 onAfterRedo: function() {} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4096 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4097 SimileAjax.History.addListener(SimileAjax.WindowManager._historyListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4098 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4099 SimileAjax.WindowManager._initialized = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4100 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4101 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4102 SimileAjax.WindowManager.getBaseLayer = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4103 SimileAjax.WindowManager.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4104 return SimileAjax.WindowManager._layers[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4105 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4106 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4107 SimileAjax.WindowManager.getHighestLayer = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4108 SimileAjax.WindowManager.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4109 return SimileAjax.WindowManager._layers[SimileAjax.WindowManager._layers.length - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4110 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4111 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4112 SimileAjax.WindowManager.registerEventWithObject = function(elmt, eventName, obj, handlerName, layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4113 SimileAjax.WindowManager.registerEvent( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4114 elmt, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4115 eventName, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4116 function(elmt2, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4117 return obj[handlerName].call(obj, elmt2, evt, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4118 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4119 layer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4120 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4121 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4122 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4123 SimileAjax.WindowManager.registerEvent = function(elmt, eventName, handler, layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4124 if (layer == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4125 layer = SimileAjax.WindowManager.getHighestLayer(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4126 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4127 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4128 var handler2 = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4129 if (SimileAjax.WindowManager._canProcessEventAtLayer(layer)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4130 SimileAjax.WindowManager._popToLayer(layer.index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4131 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4132 handler(elmt, evt, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4133 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4134 SimileAjax.Debug.exception(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4135 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4136 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4137 SimileAjax.DOM.cancelEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4138 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4139 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4140 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4141 SimileAjax.DOM.registerEvent(elmt, eventName, handler2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4142 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4143 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4144 SimileAjax.WindowManager.pushLayer = function(f, ephemeral, elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4145 var layer = { onPop: f, index: SimileAjax.WindowManager._layers.length, ephemeral: (ephemeral), elmt: elmt }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4146 SimileAjax.WindowManager._layers.push(layer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4147 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4148 return layer; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4149 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4150 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4151 SimileAjax.WindowManager.popLayer = function(layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4152 for (var i = 1; i < SimileAjax.WindowManager._layers.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4153 if (SimileAjax.WindowManager._layers[i] == layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4154 SimileAjax.WindowManager._popToLayer(i - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4155 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4156 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4157 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4158 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4159 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4160 SimileAjax.WindowManager.popAllLayers = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4161 SimileAjax.WindowManager._popToLayer(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4162 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4163 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4164 SimileAjax.WindowManager.registerForDragging = function(elmt, callback, layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4165 SimileAjax.WindowManager.registerEvent( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4166 elmt, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4167 "mousedown", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4168 function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4169 SimileAjax.WindowManager._handleMouseDown(elmt, evt, callback); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4170 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4171 layer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4172 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4173 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4174 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4175 SimileAjax.WindowManager._popToLayer = function(level) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4176 while (level+1 < SimileAjax.WindowManager._layers.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4177 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4178 var layer = SimileAjax.WindowManager._layers.pop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4179 if (layer.onPop != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4180 layer.onPop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4181 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4182 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4183 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4184 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4185 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4186 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4187 SimileAjax.WindowManager._canProcessEventAtLayer = function(layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4188 if (layer.index == (SimileAjax.WindowManager._layers.length - 1)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4189 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4190 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4191 for (var i = layer.index + 1; i < SimileAjax.WindowManager._layers.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4192 if (!SimileAjax.WindowManager._layers[i].ephemeral) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4193 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4194 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4195 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4196 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4197 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4198 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4199 SimileAjax.WindowManager.cancelPopups = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4200 var evtCoords = (evt) ? SimileAjax.DOM.getEventPageCoordinates(evt) : { x: -1, y: -1 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4201 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4202 var i = SimileAjax.WindowManager._layers.length - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4203 while (i > 0 && SimileAjax.WindowManager._layers[i].ephemeral) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4204 var layer = SimileAjax.WindowManager._layers[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4205 if (layer.elmt != null) { // if event falls within main element of layer then don't cancel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4206 var elmt = layer.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4207 var elmtCoords = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4208 if (evtCoords.x >= elmtCoords.left && evtCoords.x < (elmtCoords.left + elmt.offsetWidth) && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4209 evtCoords.y >= elmtCoords.top && evtCoords.y < (elmtCoords.top + elmt.offsetHeight)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4210 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4211 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4212 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4213 i--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4214 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4215 SimileAjax.WindowManager._popToLayer(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4216 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4217 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4218 SimileAjax.WindowManager._onBodyMouseDown = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4219 if (!("eventPhase" in evt) || evt.eventPhase == evt.BUBBLING_PHASE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4220 SimileAjax.WindowManager.cancelPopups(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4221 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4222 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4223 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4224 SimileAjax.WindowManager._handleMouseDown = function(elmt, evt, callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4225 SimileAjax.WindowManager._draggedElement = elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4226 SimileAjax.WindowManager._draggedElementCallback = callback; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4227 SimileAjax.WindowManager._lastCoords = { x: evt.clientX, y: evt.clientY }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4228 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4229 SimileAjax.DOM.cancelEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4230 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4231 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4232 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4233 SimileAjax.WindowManager._onBodyKeyDown = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4234 if (SimileAjax.WindowManager._dragging) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4235 if (evt.keyCode == 27) { // esc |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4236 SimileAjax.WindowManager._cancelDragging(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4237 } else if ((evt.keyCode == 17 || evt.keyCode == 16) && SimileAjax.WindowManager._draggingMode != "copy") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4238 SimileAjax.WindowManager._draggingMode = "copy"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4239 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4240 var img = SimileAjax.Graphics.createTranslucentImage(SimileAjax.urlPrefix + "images/copy.png"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4241 img.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4242 img.style.left = (SimileAjax.WindowManager._ghostCoords.left - 16) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4243 img.style.top = (SimileAjax.WindowManager._ghostCoords.top) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4244 document.body.appendChild(img); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4245 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4246 SimileAjax.WindowManager._draggingModeIndicatorElmt = img; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4247 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4248 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4249 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4250 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4251 SimileAjax.WindowManager._onBodyKeyUp = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4252 if (SimileAjax.WindowManager._dragging) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4253 if (evt.keyCode == 17 || evt.keyCode == 16) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4254 SimileAjax.WindowManager._draggingMode = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4255 if (SimileAjax.WindowManager._draggingModeIndicatorElmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4256 document.body.removeChild(SimileAjax.WindowManager._draggingModeIndicatorElmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4257 SimileAjax.WindowManager._draggingModeIndicatorElmt = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4258 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4259 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4260 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4261 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4262 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4263 SimileAjax.WindowManager._onBodyMouseMove = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4264 if (SimileAjax.WindowManager._draggedElement != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4265 var callback = SimileAjax.WindowManager._draggedElementCallback; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4266 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4267 var lastCoords = SimileAjax.WindowManager._lastCoords; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4268 var diffX = evt.clientX - lastCoords.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4269 var diffY = evt.clientY - lastCoords.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4270 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4271 if (!SimileAjax.WindowManager._dragging) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4272 if (Math.abs(diffX) > 5 || Math.abs(diffY) > 5) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4273 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4274 if ("onDragStart" in callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4275 callback.onDragStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4276 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4277 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4278 if ("ghost" in callback && callback.ghost) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4279 var draggedElmt = SimileAjax.WindowManager._draggedElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4280 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4281 SimileAjax.WindowManager._ghostCoords = SimileAjax.DOM.getPageCoordinates(draggedElmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4282 SimileAjax.WindowManager._ghostCoords.left += diffX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4283 SimileAjax.WindowManager._ghostCoords.top += diffY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4284 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4285 var ghostElmt = draggedElmt.cloneNode(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4286 ghostElmt.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4287 ghostElmt.style.left = SimileAjax.WindowManager._ghostCoords.left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4288 ghostElmt.style.top = SimileAjax.WindowManager._ghostCoords.top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4289 ghostElmt.style.zIndex = 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4290 SimileAjax.Graphics.setOpacity(ghostElmt, 50); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4291 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4292 document.body.appendChild(ghostElmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4293 callback._ghostElmt = ghostElmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4294 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4295 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4296 SimileAjax.WindowManager._dragging = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4297 SimileAjax.WindowManager._lastCoords = { x: evt.clientX, y: evt.clientY }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4298 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4299 document.body.focus(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4300 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4301 SimileAjax.Debug.exception("WindowManager: Error handling mouse down", e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4302 SimileAjax.WindowManager._cancelDragging(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4303 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4304 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4305 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4306 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4307 SimileAjax.WindowManager._lastCoords = { x: evt.clientX, y: evt.clientY }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4308 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4309 if ("onDragBy" in callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4310 callback.onDragBy(diffX, diffY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4311 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4312 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4313 if ("_ghostElmt" in callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4314 var ghostElmt = callback._ghostElmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4315 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4316 SimileAjax.WindowManager._ghostCoords.left += diffX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4317 SimileAjax.WindowManager._ghostCoords.top += diffY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4318 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4319 ghostElmt.style.left = SimileAjax.WindowManager._ghostCoords.left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4320 ghostElmt.style.top = SimileAjax.WindowManager._ghostCoords.top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4321 if (SimileAjax.WindowManager._draggingModeIndicatorElmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4322 var indicatorElmt = SimileAjax.WindowManager._draggingModeIndicatorElmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4323 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4324 indicatorElmt.style.left = (SimileAjax.WindowManager._ghostCoords.left - 16) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4325 indicatorElmt.style.top = SimileAjax.WindowManager._ghostCoords.top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4326 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4327 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4328 if ("droppable" in callback && callback.droppable) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4329 var coords = SimileAjax.DOM.getEventPageCoordinates(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4330 var target = SimileAjax.DOM.hittest( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4331 coords.x, coords.y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4332 [ SimileAjax.WindowManager._ghostElmt, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4333 SimileAjax.WindowManager._dropTargetHighlightElement |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4334 ] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4335 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4336 target = SimileAjax.WindowManager._findDropTarget(target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4337 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4338 if (target != SimileAjax.WindowManager._potentialDropTarget) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4339 if (SimileAjax.WindowManager._dropTargetHighlightElement != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4340 document.body.removeChild(SimileAjax.WindowManager._dropTargetHighlightElement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4341 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4342 SimileAjax.WindowManager._dropTargetHighlightElement = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4343 SimileAjax.WindowManager._potentialDropTarget = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4344 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4345 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4346 var droppable = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4347 if (target != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4348 if ((!("canDropOn" in callback) || callback.canDropOn(target)) && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4349 (!("canDrop" in target) || target.canDrop(SimileAjax.WindowManager._draggedElement))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4350 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4351 droppable = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4352 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4353 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4354 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4355 if (droppable) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4356 var border = 4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4357 var targetCoords = SimileAjax.DOM.getPageCoordinates(target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4358 var highlight = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4359 highlight.style.border = border + "px solid yellow"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4360 highlight.style.backgroundColor = "yellow"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4361 highlight.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4362 highlight.style.left = targetCoords.left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4363 highlight.style.top = targetCoords.top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4364 highlight.style.width = (target.offsetWidth - border * 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4365 highlight.style.height = (target.offsetHeight - border * 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4366 SimileAjax.Graphics.setOpacity(highlight, 30); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4367 document.body.appendChild(highlight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4369 SimileAjax.WindowManager._potentialDropTarget = target; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4370 SimileAjax.WindowManager._dropTargetHighlightElement = highlight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4371 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4372 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4373 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4374 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4375 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4376 SimileAjax.Debug.exception("WindowManager: Error handling mouse move", e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4377 SimileAjax.WindowManager._cancelDragging(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4378 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4379 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4380 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4381 SimileAjax.DOM.cancelEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4382 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4383 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4384 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4385 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4386 SimileAjax.WindowManager._onBodyMouseUp = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4387 if (SimileAjax.WindowManager._draggedElement != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4388 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4389 if (SimileAjax.WindowManager._dragging) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4390 var callback = SimileAjax.WindowManager._draggedElementCallback; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4391 if ("onDragEnd" in callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4392 callback.onDragEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4393 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4394 if ("droppable" in callback && callback.droppable) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4395 var dropped = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4396 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4397 var target = SimileAjax.WindowManager._potentialDropTarget; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4398 if (target != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4399 if ((!("canDropOn" in callback) || callback.canDropOn(target)) && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4400 (!("canDrop" in target) || target.canDrop(SimileAjax.WindowManager._draggedElement))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4401 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4402 if ("onDropOn" in callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4403 callback.onDropOn(target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4404 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4405 target.ondrop(SimileAjax.WindowManager._draggedElement, SimileAjax.WindowManager._draggingMode); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4406 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4407 dropped = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4408 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4409 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4410 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4411 if (!dropped) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4412 // TODO: do holywood explosion here |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4413 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4414 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4415 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4416 } finally { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4417 SimileAjax.WindowManager._cancelDragging(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4418 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4419 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4420 SimileAjax.DOM.cancelEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4421 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4422 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4423 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4424 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4425 SimileAjax.WindowManager._cancelDragging = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4426 var callback = SimileAjax.WindowManager._draggedElementCallback; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4427 if ("_ghostElmt" in callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4428 var ghostElmt = callback._ghostElmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4429 document.body.removeChild(ghostElmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4430 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4431 delete callback._ghostElmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4432 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4433 if (SimileAjax.WindowManager._dropTargetHighlightElement != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4434 document.body.removeChild(SimileAjax.WindowManager._dropTargetHighlightElement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4435 SimileAjax.WindowManager._dropTargetHighlightElement = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4436 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4437 if (SimileAjax.WindowManager._draggingModeIndicatorElmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4438 document.body.removeChild(SimileAjax.WindowManager._draggingModeIndicatorElmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4439 SimileAjax.WindowManager._draggingModeIndicatorElmt = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4440 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4441 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4442 SimileAjax.WindowManager._draggedElement = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4443 SimileAjax.WindowManager._draggedElementCallback = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4444 SimileAjax.WindowManager._potentialDropTarget = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4445 SimileAjax.WindowManager._dropTargetHighlightElement = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4446 SimileAjax.WindowManager._lastCoords = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4447 SimileAjax.WindowManager._ghostCoords = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4448 SimileAjax.WindowManager._draggingMode = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4449 SimileAjax.WindowManager._dragging = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4450 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4451 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4452 SimileAjax.WindowManager._findDropTarget = function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4453 while (elmt != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4454 if ("ondrop" in elmt && (typeof elmt.ondrop) == "function") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4455 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4456 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4457 elmt = elmt.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4458 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4459 return elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4460 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4461 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4462 * timeline.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4463 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4464 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4465 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4466 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4467 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4468 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4469 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4470 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4471 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4472 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4473 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4474 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4475 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4476 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4477 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4478 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4479 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4480 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4481 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4482 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4483 * basic code which is included in front of timeline code for the minified version |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4484 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4485 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4486 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4487 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4488 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4489 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4490 Timeline_urlPrefix = GeoTemCoMinifier_urlPrefix + 'lib/simile/timeline/'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4491 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4492 SimileAjax.History.enabled = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4493 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4494 if ( typeof window.Timeline == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4495 window.Timeline = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4496 Timeline.urlPrefix = Timeline_urlPrefix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4497 window.Timeline.DateTime = window.SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4498 // for backward compatibility |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4499 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4500 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4501 * Timeline API |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4502 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4503 * This file will load all the Javascript files |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4504 * necessary to make the standard timeline work. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4505 * It also detects the default locale. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4506 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4507 * To run from the MIT copy of Timeline: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4508 * Include this file in your HTML file as follows: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4509 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4510 * <script src="http://api.simile-widgets.org/timeline/2.3.1/timeline-api.js" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4511 * type="text/javascript"></script> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4512 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4513 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4514 * To host the Timeline files on your own server: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4515 * 1) Install the Timeline and Simile-Ajax files onto your webserver using |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4516 * timeline_libraries.zip or timeline_source.zip |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4517 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4518 * 2) Set global js variables used to send parameters to this script: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4519 * Timeline_ajax_url -- url for simile-ajax-api.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4520 * Timeline_urlPrefix -- url for the *directory* that contains timeline-api.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4521 * Include trailing slash |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4522 * Timeline_parameters='bundle=true'; // you must set bundle to true if you are using |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4523 * // timeline_libraries.zip since only the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4524 * // bundled libraries are included |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4525 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4526 * eg your html page would include |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4527 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4528 * <script> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4529 * Timeline_ajax_url="http://YOUR_SERVER/javascripts/timeline/timeline_ajax/simile-ajax-api.js"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4530 * Timeline_urlPrefix='http://YOUR_SERVER/javascripts/timeline/timeline_js/'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4531 * Timeline_parameters='bundle=true'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4532 * </script> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4533 * <script src="http://YOUR_SERVER/javascripts/timeline/timeline_js/timeline-api.js" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4534 * type="text/javascript"> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4535 * </script> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4536 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4537 * SCRIPT PARAMETERS |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4538 * This script auto-magically figures out locale and has defaults for other parameters |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4539 * To set parameters explicity, set js global variable Timeline_parameters or include as |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4540 * parameters on the url using GET style. Eg the two next lines pass the same parameters: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4541 * Timeline_parameters='bundle=true'; // pass parameter via js variable |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4542 * <script src="http://....timeline-api.js?bundle=true" // pass parameter via url |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4543 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4544 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4545 * PARAMETERS |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4546 * specified as a query string in the url or as Timeline_parameters = 'bundle=true&defaultLocale=cs'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4547 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4548 * timeline-use-local-resources -- not handled when in Timeline_parameters |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4549 * bundle -- true: use the single js bundle file; false: load individual files (for debugging) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4550 * locales -- loads a comma separated list of locales, which will be available for use when requested, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4551 * e.g. &locales=es,fr,it |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4552 * defaultLocale -- sets a default locale, however it will be overridden by browser locale if different, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4553 * e.g. defaultLocale = cs yet browser is set to en or en-US |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4554 * forceLocale -- force locale to be a particular value--used for debugging. Normally locale is determined |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4555 * by browser's and server's locale settings. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4556 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4557 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4558 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4559 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4560 var useLocalResources = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4561 if (document.location.search.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4562 var params = document.location.search.substr(1).split("&"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4563 for (var i = 0; i < params.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4564 if (params[i] == "timeline-use-local-resources") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4565 useLocalResources = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4566 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4567 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4568 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4569 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4570 var loadMe = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4571 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4572 if ("Timeline" in window) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4573 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4574 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4575 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4576 if( window.SimileAjax.DateTime == undefined ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4577 window.SimileAjax.DateTime = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4578 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4579 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4580 window.Timeline = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4581 window.Timeline.DateTime = window.SimileAjax.DateTime; // for backward compatibility |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4582 window.Timeline.loaded = { core : {}, localized : {} }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4583 if ( !window.console ) { window.console = { log : {}, error : {}, info : {} }; } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4584 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4585 var bundle = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4586 var javascriptFiles = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4587 "timeline.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4588 "band.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4589 "themes.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4590 "ethers.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4591 "ether-painters.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4592 "event-utils.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4593 "labellers.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4594 "sources.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4595 "original-painter.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4596 "detailed-painter.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4597 "overview-painter.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4598 "compact-painter.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4599 "decorators.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4600 "units.js" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4601 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4602 var cssFiles = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4603 "timeline.css", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4604 "ethers.css", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4605 "events.css" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4606 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4607 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4608 var localizedJavascriptFiles = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4609 "timeline.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4610 "labellers.js" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4611 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4612 var localizedCssFiles = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4613 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4614 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4615 // ISO-639 language codes, ISO-3166 country codes (2 characters) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4616 var supportedLocales = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4617 "cs", // Czech |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4618 "de", // German |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4619 "en", // English |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4620 "es", // Spanish |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4621 "fr", // French |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4622 "it", // Italian |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4623 "nl", // Dutch (The Netherlands) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4624 "ru", // Russian |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4625 "se", // Swedish |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4626 "tr", // Turkish |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4627 "vi", // Vietnamese |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4628 "zh" // Chinese |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4629 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4630 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4631 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4632 var desiredLocales = [ "en" ], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4633 defaultServerLocale = "en", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4634 forceLocale = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4635 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4636 var parseURLParameters = function(parameters) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4637 var params = parameters.split("&"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4638 for (var p = 0; p < params.length; p++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4639 var pair = params[p].split("="); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4640 if (pair[0] == "locales") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4641 desiredLocales = desiredLocales.concat(pair[1].split(",")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4642 } else if (pair[0] == "defaultLocale") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4643 defaultServerLocale = pair[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4644 } else if (pair[0] == "forceLocale") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4645 forceLocale = pair[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4646 desiredLocales = desiredLocales.concat(pair[1].split(",")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4647 } else if (pair[0] == "bundle") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4648 bundle = pair[1] != "false"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4649 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4650 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4651 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4652 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4653 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4654 if (typeof Timeline_urlPrefix == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4655 Timeline.urlPrefix = Timeline_urlPrefix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4656 if (typeof Timeline_parameters == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4657 parseURLParameters(Timeline_parameters); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4658 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4659 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4660 var heads = document.documentElement.getElementsByTagName("head"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4661 for (var h = 0; h < heads.length; h++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4662 var scripts = heads[h].getElementsByTagName("script"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4663 for (var s = 0; s < scripts.length; s++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4664 var url = scripts[s].src; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4665 var i = url.indexOf("timeline-api.js"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4666 if (i >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4667 Timeline.urlPrefix = url.substr(0, i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4668 var q = url.indexOf("?"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4669 if (q > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4670 parseURLParameters(url.substr(q + 1)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4671 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4672 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4673 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4674 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4675 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4676 throw new Error("Failed to derive URL prefix for Timeline API code files"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4677 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4678 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4679 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4680 var includeJavascriptFiles = function(urlPrefix, filenames) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4681 SimileAjax.includeJavascriptFiles(document, urlPrefix, filenames); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4682 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4683 var includeCssFiles = function(urlPrefix, filenames) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4684 SimileAjax.includeCssFiles(document, urlPrefix, filenames); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4685 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4686 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4687 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4688 * Include non-localized files |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4689 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4690 var js_files_to_load = (bundle) ? [ "timeline-bundle.js" ] : javascriptFiles; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4691 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4692 window.SimileAjax_onLoad = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4693 Timeline.loaded.core.files = js_files_to_load; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4694 Timeline.loaded.core.loaded = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4695 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4696 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4697 if (bundle) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4698 includeJavascriptFiles(Timeline.urlPrefix, [ "timeline-bundle.js" ]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4699 includeCssFiles(Timeline.urlPrefix, [ "timeline-bundle.css" ]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4700 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4701 includeJavascriptFiles(Timeline.urlPrefix + "scripts/", javascriptFiles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4702 includeCssFiles(Timeline.urlPrefix + "styles/", cssFiles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4703 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4704 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4705 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4706 * Include localized files |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4707 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4708 var loadLocale = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4709 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4710 var tryExactLocale = function(locale) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4711 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4712 for (var l = 0; l < supportedLocales.length; l++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4713 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4714 if (locale == supportedLocales[l]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4715 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4716 loadLocale[locale] = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4717 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4718 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4719 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4720 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4721 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4722 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4723 console.error('Timeline locale [' + locale + '] is not yet supported'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4724 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4725 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4726 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4727 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4728 var tryLocale = function(locale) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4729 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4730 var dash = locale.indexOf("-"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4731 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4732 if (dash > 0 && tryExactLocale(locale.substr(0, dash))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4733 return locale.substr(0, dash); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4734 } else if (tryExactLocale(locale)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4735 return locale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4736 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4737 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4738 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4739 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4740 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4741 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4742 if ( !tryExactLocale( defaultServerLocale ) ) { defaultServerLocale = 'en'; } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4743 loadLocale[defaultServerLocale] = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4744 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4745 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4746 for (var l = 0; l < desiredLocales.length; l++) { tryLocale(desiredLocales[l]); } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4747 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4748 var defaultClientLocale = defaultServerLocale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4749 var defaultClientLocales = ("language" in navigator ? navigator.language : navigator.browserLanguage).split(";"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4750 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4751 for (var l = 0; l < defaultClientLocales.length; l++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4752 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4753 var locale = tryLocale(defaultClientLocales[l]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4754 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4755 if (locale != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4756 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4757 defaultClientLocale = locale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4758 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4759 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4760 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4761 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4762 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4763 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4764 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4765 (function loadLocales() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4766 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4767 var iteration_limit = 50; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4768 if ( !this.iteration ) { this.iteration = 0; } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4769 this.iteration += 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4770 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4771 if ( !Timeline.loaded.core.loaded ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4772 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4773 if ( this.iteration >= iteration_limit ) { console.info('could not load Timeline core assets'); return; } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4774 setTimeout( function() { loadLocales(); }, 10 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4775 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4776 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4777 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4778 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4779 var locales_loaded = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4780 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4781 for (var l = 0; l < supportedLocales.length; l++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4782 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4783 var locale = supportedLocales[l]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4784 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4785 if (loadLocale[locale]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4786 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4787 locales_loaded.push ( locale ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4788 includeJavascriptFiles(Timeline.urlPrefix + "scripts/l10n/" + locale + "/", localizedJavascriptFiles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4789 includeCssFiles(Timeline.urlPrefix + "styles/l10n/" + locale + "/", localizedCssFiles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4790 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4791 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4792 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4793 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4794 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4795 // nb: the SimileAjax_onload function cannot acurately handle each individual locale loaded |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4796 // without further code being written. signal.js can only handle one onload event at a time; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4797 SimileAjax_onLoad = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4798 Timeline.loaded.localized.loaded = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4799 Timeline.loaded.localized.locales = locales_loaded; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4800 console.info('Timeline core loaded'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4801 console.info('Timeline locales loaded: ' + Timeline.loaded.localized.locales); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4802 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4803 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4804 if (forceLocale == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4805 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4806 Timeline.serverLocale = defaultServerLocale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4807 Timeline.clientLocale = defaultClientLocale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4808 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4809 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4810 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4811 if (!tryExactLocale(forceLocale) ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4812 forceLocale = 'en'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4813 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4814 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4815 Timeline.serverLocale = forceLocale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4816 Timeline.clientLocale = forceLocale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4817 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4818 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4819 }()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4820 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4821 } catch (e) { alert(e); } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4822 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4823 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4824 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4825 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4826 * Load SimileAjax if it's not already loaded |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4827 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4828 if (typeof SimileAjax == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4829 window.SimileAjax_onLoad = loadMe; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4830 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4831 var url = useLocalResources ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4832 "http://127.0.0.1:9999/ajax/api/simile-ajax-api.js?bundle=false" : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4833 "http://api.simile-widgets.org/ajax/2.2.1/simile-ajax-api.js"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4834 if (typeof Timeline_ajax_url == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4835 url = Timeline_ajax_url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4836 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4837 var createScriptElement = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4838 var script = document.createElement("script"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4839 script.type = "text/javascript"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4840 script.language = "JavaScript"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4841 script.src = url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4842 document.getElementsByTagName("head")[0].appendChild(script); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4843 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4844 if (document.body == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4845 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4846 document.write("<script src='" + url + "' type='text/javascript'></script>"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4847 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4848 createScriptElement(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4849 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4850 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4851 createScriptElement(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4852 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4853 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4854 loadMe(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4855 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4856 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4857 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4858 /*================================================= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4859 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4860 * Coding standards: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4861 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4862 * We aim towards Douglas Crockford's Javascript conventions. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4863 * See: http://javascript.crockford.com/code.html |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4864 * See also: http://www.crockford.com/javascript/javascript.html |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4865 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4866 * That said, this JS code was written before some recent JS |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4867 * support libraries became widely used or available. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4868 * In particular, the _ character is used to indicate a class function or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4869 * variable that should be considered private to the class. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4870 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4871 * The code mostly uses accessor methods for getting/setting the private |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4872 * class variables. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4873 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4874 * Over time, we'd like to formalize the convention by using support libraries |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4875 * which enforce privacy in objects. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4876 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4877 * We also want to use jslint: http://www.jslint.com/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4878 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4879 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4880 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4881 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4882 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4883 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4884 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4885 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4886 * Timeline VERSION |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4887 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4888 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4889 // Note: version is also stored in the build.xml file |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4890 Timeline.version = '2.3.1'; // use format 'pre 1.2.3' for trunk versions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4891 Timeline.ajax_lib_version = SimileAjax.version; // Waiting for version string method from Ajax library |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4892 Timeline.display_version = Timeline.version + ' (with Ajax lib ' + Timeline.ajax_lib_version + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4893 // cf method Timeline.writeVersion |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4894 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4895 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4896 * Timeline |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4897 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4898 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4899 Timeline.strings = {}; // localization string tables |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4900 Timeline.HORIZONTAL = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4901 Timeline.VERTICAL = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4902 Timeline._defaultTheme = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4903 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4904 Timeline.getDefaultLocale = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4905 return Timeline.clientLocale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4906 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4907 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4908 Timeline.create = function(elmt, bandInfos, orientation, unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4909 if (Timeline.timelines == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4910 Timeline.timelines = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4911 // Timeline.timelines array can have null members--Timelines that |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4912 // once existed on the page, but were later disposed of. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4913 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4914 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4915 var timelineID = Timeline.timelines.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4916 Timeline.timelines[timelineID] = null; // placeholder until we have the object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4917 var new_tl = new Timeline._Impl(elmt, bandInfos, orientation, unit, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4918 timelineID); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4919 Timeline.timelines[timelineID] = new_tl; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4920 return new_tl; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4921 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4922 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4923 Timeline.createBandInfo = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4924 var theme = ("theme" in params) ? params.theme : Timeline.getDefaultTheme(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4925 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4926 var eventSource = ("eventSource" in params) ? params.eventSource : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4927 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4928 var ether = new Timeline.LinearEther({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4929 centersOn: ("date" in params) ? params.date : new Date(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4930 interval: SimileAjax.DateTime.gregorianUnitLengths[params.intervalUnit], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4931 pixelsPerInterval: params.intervalPixels, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4932 theme: theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4933 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4934 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4935 var etherPainter = new Timeline.GregorianEtherPainter({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4936 unit: params.intervalUnit, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4937 multiple: ("multiple" in params) ? params.multiple : 1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4938 theme: theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4939 align: ("align" in params) ? params.align : undefined |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4940 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4941 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4942 var eventPainterParams = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4943 showText: ("showEventText" in params) ? params.showEventText : true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4944 theme: theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4945 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4946 // pass in custom parameters for the event painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4947 if ("eventPainterParams" in params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4948 for (var prop in params.eventPainterParams) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4949 eventPainterParams[prop] = params.eventPainterParams[prop]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4950 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4951 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4952 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4953 if ("trackHeight" in params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4954 eventPainterParams.trackHeight = params.trackHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4955 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4956 if ("trackGap" in params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4957 eventPainterParams.trackGap = params.trackGap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4958 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4959 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4960 var layout = ("overview" in params && params.overview) ? "overview" : ("layout" in params ? params.layout : "original"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4961 var eventPainter; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4962 if ("eventPainter" in params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4963 eventPainter = new params.eventPainter(eventPainterParams); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4964 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4965 switch (layout) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4966 case "overview" : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4967 eventPainter = new Timeline.OverviewEventPainter(eventPainterParams); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4968 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4969 case "detailed" : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4970 eventPainter = new Timeline.DetailedEventPainter(eventPainterParams); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4971 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4972 default: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4973 eventPainter = new Timeline.OriginalEventPainter(eventPainterParams); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4974 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4975 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4976 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4977 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4978 width: params.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4979 eventSource: eventSource, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4980 timeZone: ("timeZone" in params) ? params.timeZone : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4981 ether: ether, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4982 etherPainter: etherPainter, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4983 eventPainter: eventPainter, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4984 theme: theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4985 zoomIndex: ("zoomIndex" in params) ? params.zoomIndex : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4986 zoomSteps: ("zoomSteps" in params) ? params.zoomSteps : null |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4987 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4988 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4989 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4990 Timeline.createHotZoneBandInfo = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4991 var theme = ("theme" in params) ? params.theme : Timeline.getDefaultTheme(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4992 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4993 var eventSource = ("eventSource" in params) ? params.eventSource : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4994 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4995 var ether = new Timeline.HotZoneEther({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4996 centersOn: ("date" in params) ? params.date : new Date(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4997 interval: SimileAjax.DateTime.gregorianUnitLengths[params.intervalUnit], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4998 pixelsPerInterval: params.intervalPixels, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4999 zones: params.zones, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5000 theme: theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5001 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5002 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5003 var etherPainter = new Timeline.HotZoneGregorianEtherPainter({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5004 unit: params.intervalUnit, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5005 zones: params.zones, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5006 theme: theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5007 align: ("align" in params) ? params.align : undefined |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5008 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5009 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5010 var eventPainterParams = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5011 showText: ("showEventText" in params) ? params.showEventText : true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5012 theme: theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5013 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5014 // pass in custom parameters for the event painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5015 if ("eventPainterParams" in params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5016 for (var prop in params.eventPainterParams) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5017 eventPainterParams[prop] = params.eventPainterParams[prop]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5018 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5019 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5020 if ("trackHeight" in params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5021 eventPainterParams.trackHeight = params.trackHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5022 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5023 if ("trackGap" in params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5024 eventPainterParams.trackGap = params.trackGap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5025 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5026 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5027 var layout = ("overview" in params && params.overview) ? "overview" : ("layout" in params ? params.layout : "original"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5028 var eventPainter; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5029 if ("eventPainter" in params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5030 eventPainter = new params.eventPainter(eventPainterParams); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5031 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5032 switch (layout) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5033 case "overview" : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5034 eventPainter = new Timeline.OverviewEventPainter(eventPainterParams); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5035 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5036 case "detailed" : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5037 eventPainter = new Timeline.DetailedEventPainter(eventPainterParams); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5038 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5039 default: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5040 eventPainter = new Timeline.OriginalEventPainter(eventPainterParams); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5041 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5042 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5043 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5044 width: params.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5045 eventSource: eventSource, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5046 timeZone: ("timeZone" in params) ? params.timeZone : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5047 ether: ether, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5048 etherPainter: etherPainter, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5049 eventPainter: eventPainter, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5050 theme: theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5051 zoomIndex: ("zoomIndex" in params) ? params.zoomIndex : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5052 zoomSteps: ("zoomSteps" in params) ? params.zoomSteps : null |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5053 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5054 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5055 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5056 Timeline.getDefaultTheme = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5057 if (Timeline._defaultTheme == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5058 Timeline._defaultTheme = Timeline.ClassicTheme.create(Timeline.getDefaultLocale()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5059 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5060 return Timeline._defaultTheme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5061 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5062 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5063 Timeline.setDefaultTheme = function(theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5064 Timeline._defaultTheme = theme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5065 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5066 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5067 Timeline.loadXML = function(url, f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5068 var fError = function(statusText, status, xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5069 alert("Failed to load data xml from " + url + "\n" + statusText); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5070 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5071 var fDone = function(xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5072 var xml = xmlhttp.responseXML; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5073 if (!xml.documentElement && xmlhttp.responseStream) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5074 xml.load(xmlhttp.responseStream); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5075 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5076 f(xml, url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5077 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5078 SimileAjax.XmlHttp.get(url, fError, fDone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5079 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5080 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5081 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5082 Timeline.loadJSON = function(url, f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5083 var fError = function(statusText, status, xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5084 alert("Failed to load json data from " + url + "\n" + statusText); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5085 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5086 var fDone = function(xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5087 f(eval('(' + xmlhttp.responseText + ')'), url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5088 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5089 SimileAjax.XmlHttp.get(url, fError, fDone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5090 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5091 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5092 Timeline.getTimelineFromID = function(timelineID) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5093 return Timeline.timelines[timelineID]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5094 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5095 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5096 // Write the current Timeline version as the contents of element with id el_id |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5097 Timeline.writeVersion = function(el_id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5098 document.getElementById(el_id).innerHTML = this.display_version; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5099 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5100 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5101 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5102 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5103 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5104 * Timeline Implementation object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5105 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5106 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5107 Timeline._Impl = function(elmt, bandInfos, orientation, unit, timelineID) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5108 SimileAjax.WindowManager.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5109 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5110 this._containerDiv = elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5111 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5112 this._bandInfos = bandInfos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5113 this._orientation = orientation == null ? Timeline.HORIZONTAL : orientation; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5114 this._unit = (unit != null) ? unit : SimileAjax.NativeDateUnit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5115 this._starting = true; // is the Timeline being created? Used by autoWidth |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5116 // functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5117 this._autoResizing = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5118 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5119 // autoWidth is a "public" property of the Timeline object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5120 this.autoWidth = bandInfos && bandInfos[0] && bandInfos[0].theme && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5121 bandInfos[0].theme.autoWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5122 this.autoWidthAnimationTime = bandInfos && bandInfos[0] && bandInfos[0].theme && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5123 bandInfos[0].theme.autoWidthAnimationTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5124 this.timelineID = timelineID; // also public attribute |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5125 this.timeline_start = bandInfos && bandInfos[0] && bandInfos[0].theme && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5126 bandInfos[0].theme.timeline_start; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5127 this.timeline_stop = bandInfos && bandInfos[0] && bandInfos[0].theme && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5128 bandInfos[0].theme.timeline_stop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5129 this.timeline_at_start = false; // already at start or stop? Then won't |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5130 this.timeline_at_stop = false; // try to move further in the wrong direction |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5131 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5132 this._initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5133 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5134 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5135 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5136 // Public functions used by client sw |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5137 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5138 Timeline._Impl.prototype.dispose = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5139 for (var i = 0; i < this._bands.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5140 this._bands[i].dispose(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5141 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5142 this._bands = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5143 this._bandInfos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5144 this._containerDiv.innerHTML = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5145 // remove from array of Timelines |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5146 Timeline.timelines[this.timelineID] = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5147 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5148 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5149 Timeline._Impl.prototype.getBandCount = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5150 return this._bands.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5151 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5152 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5153 Timeline._Impl.prototype.getBand = function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5154 return this._bands[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5155 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5156 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5157 Timeline._Impl.prototype.finishedEventLoading = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5158 // Called by client after events have been loaded into Timeline |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5159 // Only used if the client has set autoWidth |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5160 // Sets width to Timeline's requested amount and will shrink down the div if |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5161 // need be. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5162 this._autoWidthCheck(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5163 this._starting = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5164 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5165 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5166 Timeline._Impl.prototype.layout = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5167 // called by client when browser is resized |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5168 this._autoWidthCheck(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5169 this._distributeWidths(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5170 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5171 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5172 Timeline._Impl.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5173 for (var i = 0; i < this._bands.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5174 this._bands[i].paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5175 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5176 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5177 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5178 Timeline._Impl.prototype.getDocument = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5179 return this._containerDiv.ownerDocument; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5180 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5181 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5182 Timeline._Impl.prototype.addDiv = function(div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5183 this._containerDiv.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5184 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5185 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5186 Timeline._Impl.prototype.removeDiv = function(div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5187 this._containerDiv.removeChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5188 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5189 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5190 Timeline._Impl.prototype.isHorizontal = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5191 return this._orientation == Timeline.HORIZONTAL; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5192 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5193 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5194 Timeline._Impl.prototype.isVertical = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5195 return this._orientation == Timeline.VERTICAL; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5196 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5197 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5198 Timeline._Impl.prototype.getPixelLength = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5199 return this._orientation == Timeline.HORIZONTAL ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5200 this._containerDiv.offsetWidth : this._containerDiv.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5201 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5202 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5203 Timeline._Impl.prototype.getPixelWidth = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5204 return this._orientation == Timeline.VERTICAL ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5205 this._containerDiv.offsetWidth : this._containerDiv.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5206 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5207 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5208 Timeline._Impl.prototype.getUnit = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5209 return this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5210 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5211 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5212 Timeline._Impl.prototype.getWidthStyle = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5213 // which element.style attribute should be changed to affect Timeline's "width" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5214 return this._orientation == Timeline.HORIZONTAL ? 'height' : 'width'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5215 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5216 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5217 Timeline._Impl.prototype.loadXML = function(url, f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5218 var tl = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5219 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5220 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5221 var fError = function(statusText, status, xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5222 alert("Failed to load data xml from " + url + "\n" + statusText); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5223 tl.hideLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5224 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5225 var fDone = function(xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5226 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5227 var xml = xmlhttp.responseXML; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5228 if (!xml.documentElement && xmlhttp.responseStream) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5229 xml.load(xmlhttp.responseStream); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5230 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5231 f(xml, url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5232 } finally { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5233 tl.hideLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5234 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5235 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5236 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5237 this.showLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5238 window.setTimeout(function() { SimileAjax.XmlHttp.get(url, fError, fDone); }, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5239 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5240 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5241 Timeline._Impl.prototype.loadJSON = function(url, f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5242 var tl = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5243 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5244 var fError = function(statusText, status, xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5245 alert("Failed to load json data from " + url + "\n" + statusText); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5246 tl.hideLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5247 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5248 var fDone = function(xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5249 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5250 f(eval('(' + xmlhttp.responseText + ')'), url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5251 } finally { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5252 tl.hideLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5253 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5254 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5255 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5256 this.showLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5257 window.setTimeout(function() { SimileAjax.XmlHttp.get(url, fError, fDone); }, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5258 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5259 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5260 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5261 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5262 // Private functions used by Timeline object functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5263 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5264 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5265 Timeline._Impl.prototype._autoWidthScrollListener = function(band) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5266 band.getTimeline()._autoWidthCheck(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5267 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5268 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5269 // called to re-calculate auto width and adjust the overall Timeline div if needed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5270 Timeline._Impl.prototype._autoWidthCheck = function(okToShrink) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5271 var timeline = this; // this Timeline |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5272 var immediateChange = timeline._starting; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5273 var newWidth = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5274 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5275 function changeTimelineWidth() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5276 var widthStyle = timeline.getWidthStyle(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5277 if (immediateChange) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5278 timeline._containerDiv.style[widthStyle] = newWidth + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5279 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5280 // animate change |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5281 timeline._autoResizing = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5282 var animateParam ={}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5283 animateParam[widthStyle] = newWidth + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5284 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5285 SimileAjax.jQuery(timeline._containerDiv).animate( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5286 animateParam, timeline.autoWidthAnimationTime, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5287 'linear', function(){timeline._autoResizing = false;}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5288 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5289 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5290 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5291 function checkTimelineWidth() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5292 var targetWidth = 0; // the new desired width |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5293 var currentWidth = timeline.getPixelWidth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5294 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5295 if (timeline._autoResizing) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5296 return; // early return |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5297 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5298 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5299 // compute targetWidth |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5300 for (var i = 0; i < timeline._bands.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5301 timeline._bands[i].checkAutoWidth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5302 targetWidth += timeline._bandInfos[i].width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5303 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5304 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5305 if (targetWidth > currentWidth || okToShrink) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5306 // yes, let's change the size |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5307 newWidth = targetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5308 changeTimelineWidth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5309 timeline._distributeWidths(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5310 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5311 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5312 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5313 // function's mainline |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5314 if (!timeline.autoWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5315 return; // early return |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5316 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5317 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5318 checkTimelineWidth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5319 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5320 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5321 Timeline._Impl.prototype._initialize = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5322 var containerDiv = this._containerDiv; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5323 var doc = containerDiv.ownerDocument; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5324 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5325 containerDiv.className = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5326 containerDiv.className.split(" ").concat("timeline-container").join(" "); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5327 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5328 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5329 * Set css-class on container div that will define orientation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5330 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5331 var orientation = (this.isHorizontal()) ? 'horizontal' : 'vertical' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5332 containerDiv.className +=' timeline-'+orientation; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5333 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5334 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5335 while (containerDiv.firstChild) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5336 containerDiv.removeChild(containerDiv.firstChild); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5337 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5338 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5339 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5340 * inserting copyright and link to simile |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5341 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5342 var elmtCopyright = SimileAjax.Graphics.createTranslucentImage(Timeline.urlPrefix + (this.isHorizontal() ? "images/copyright-vertical.png" : "images/copyright.png")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5343 elmtCopyright.className = "timeline-copyright"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5344 elmtCopyright.title = "Timeline copyright SIMILE - www.code.google.com/p/simile-widgets/"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5345 SimileAjax.DOM.registerEvent(elmtCopyright, "click", function() { window.location = "http://code.google.com/p/simile-widgets/"; }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5346 containerDiv.appendChild(elmtCopyright); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5347 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5348 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5349 * creating bands |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5350 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5351 this._bands = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5352 for (var i = 0; i < this._bandInfos.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5353 var band = new Timeline._Band(this, this._bandInfos[i], i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5354 this._bands.push(band); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5355 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5356 this._distributeWidths(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5357 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5358 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5359 * sync'ing bands |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5360 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5361 for (var i = 0; i < this._bandInfos.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5362 var bandInfo = this._bandInfos[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5363 if ("syncWith" in bandInfo) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5364 this._bands[i].setSyncWithBand( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5365 this._bands[bandInfo.syncWith], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5366 ("highlight" in bandInfo) ? bandInfo.highlight : false |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5367 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5368 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5369 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5370 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5371 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5372 if (this.autoWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5373 for (var i = 0; i < this._bands.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5374 this._bands[i].addOnScrollListener(this._autoWidthScrollListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5375 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5376 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5377 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5378 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5379 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5380 * creating loading UI |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5381 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5382 var message = SimileAjax.Graphics.createMessageBubble(doc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5383 message.containerDiv.className = "timeline-message-container"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5384 containerDiv.appendChild(message.containerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5385 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5386 message.contentDiv.className = "timeline-message"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5387 message.contentDiv.innerHTML = "<img src='" + Timeline.urlPrefix + "images/progress-running.gif' /> Loading..."; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5388 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5389 this.showLoadingMessage = function() { message.containerDiv.style.display = "block"; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5390 this.hideLoadingMessage = function() { message.containerDiv.style.display = "none"; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5391 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5392 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5393 Timeline._Impl.prototype._distributeWidths = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5394 var length = this.getPixelLength(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5395 var width = this.getPixelWidth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5396 var cumulativeWidth = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5397 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5398 for (var i = 0; i < this._bands.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5399 var band = this._bands[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5400 var bandInfos = this._bandInfos[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5401 var widthString = bandInfos.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5402 var bandWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5403 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5404 if (typeof widthString == 'string') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5405 var x = widthString.indexOf("%"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5406 if (x > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5407 var percent = parseInt(widthString.substr(0, x)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5408 bandWidth = Math.round(percent * width / 100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5409 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5410 bandWidth = parseInt(widthString); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5411 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5412 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5413 // was given an integer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5414 bandWidth = widthString; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5415 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5416 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5417 band.setBandShiftAndWidth(cumulativeWidth, bandWidth); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5418 band.setViewLength(length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5419 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5420 cumulativeWidth += bandWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5421 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5422 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5423 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5424 Timeline._Impl.prototype.shiftOK = function(index, shift) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5425 // Returns true if the proposed shift is ok |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5426 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5427 // Positive shift means going back in time |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5428 var going_back = shift > 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5429 going_forward = shift < 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5430 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5431 // Is there an edge? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5432 if ((going_back && this.timeline_start == null) || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5433 (going_forward && this.timeline_stop == null) || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5434 (shift == 0)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5435 return (true); // early return |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5436 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5437 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5438 // If any of the bands has noted that it is changing the others, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5439 // then this shift is a secondary shift in reaction to the real shift, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5440 // which already happened. In such cases, ignore it. (The issue is |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5441 // that a positive original shift can cause a negative secondary shift, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5442 // as the bands adjust.) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5443 var secondary_shift = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5444 for (var i = 0; i < this._bands.length && !secondary_shift; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5445 secondary_shift = this._bands[i].busy(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5446 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5447 if (secondary_shift) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5448 return(true); // early return |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5449 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5450 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5451 // If we are already at an edge, then don't even think about going any further |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5452 if ((going_back && this.timeline_at_start) || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5453 (going_forward && this.timeline_at_stop)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5454 return (false); // early return |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5455 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5456 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5457 // Need to check all the bands |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5458 var ok = false; // return value |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5459 // If any of the bands will be or are showing an ok date, then let the shift proceed. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5460 for (var i = 0; i < this._bands.length && !ok; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5461 var band = this._bands[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5462 if (going_back) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5463 ok = (i == index ? band.getMinVisibleDateAfterDelta(shift) : band.getMinVisibleDate()) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5464 >= this.timeline_start; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5465 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5466 ok = (i == index ? band.getMaxVisibleDateAfterDelta(shift) : band.getMaxVisibleDate()) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5467 <= this.timeline_stop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5468 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5469 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5470 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5471 // process results |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5472 if (going_back) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5473 this.timeline_at_start = !ok; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5474 this.timeline_at_stop = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5475 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5476 this.timeline_at_stop = !ok; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5477 this.timeline_at_start = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5478 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5479 // This is where you could have an effect once per hitting an |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5480 // edge of the Timeline. Eg jitter the Timeline |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5481 //if (!ok) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5482 //alert(going_back ? "At beginning" : "At end"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5483 //} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5484 return (ok); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5485 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5486 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5487 Timeline._Impl.prototype.zoom = function (zoomIn, x, y, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5488 var matcher = new RegExp("^timeline-band-([0-9]+)$"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5489 var bandIndex = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5490 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5491 var result = matcher.exec(target.id); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5492 if (result) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5493 bandIndex = parseInt(result[1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5494 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5495 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5496 if (bandIndex != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5497 this._bands[bandIndex].zoom(zoomIn, x, y, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5498 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5499 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5500 this.paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5501 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5502 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5503 /*================================================= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5504 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5505 * Coding standards: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5506 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5507 * We aim towards Douglas Crockford's Javascript conventions. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5508 * See: http://javascript.crockford.com/code.html |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5509 * See also: http://www.crockford.com/javascript/javascript.html |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5510 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5511 * That said, this JS code was written before some recent JS |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5512 * support libraries became widely used or available. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5513 * In particular, the _ character is used to indicate a class function or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5514 * variable that should be considered private to the class. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5515 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5516 * The code mostly uses accessor methods for getting/setting the private |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5517 * class variables. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5518 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5519 * Over time, we'd like to formalize the convention by using support libraries |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5520 * which enforce privacy in objects. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5521 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5522 * We also want to use jslint: http://www.jslint.com/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5523 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5524 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5525 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5526 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5527 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5528 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5529 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5530 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5531 * Band |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5532 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5533 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5534 Timeline._Band = function(timeline, bandInfo, index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5535 // Set up the band's object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5536 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5537 // Munge params: If autoWidth is on for the Timeline, then ensure that |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5538 // bandInfo.width is an integer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5539 if (timeline.autoWidth && typeof bandInfo.width == 'string') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5540 bandInfo.width = bandInfo.width.indexOf("%") > -1 ? 0 : parseInt(bandInfo.width); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5541 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5542 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5543 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5544 this._bandInfo = bandInfo; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5545 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5546 this._index = index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5547 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5548 this._locale = ("locale" in bandInfo) ? bandInfo.locale : Timeline.getDefaultLocale(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5549 this._timeZone = ("timeZone" in bandInfo) ? bandInfo.timeZone : 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5550 this._labeller = ("labeller" in bandInfo) ? bandInfo.labeller : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5551 (("createLabeller" in timeline.getUnit()) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5552 timeline.getUnit().createLabeller(this._locale, this._timeZone) : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5553 new Timeline.GregorianDateLabeller(this._locale, this._timeZone)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5554 this._theme = bandInfo.theme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5555 this._zoomIndex = ("zoomIndex" in bandInfo) ? bandInfo.zoomIndex : 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5556 this._zoomSteps = ("zoomSteps" in bandInfo) ? bandInfo.zoomSteps : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5557 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5558 this._dragging = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5559 this._changing = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5560 this._originalScrollSpeed = 5; // pixels |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5561 this._scrollSpeed = this._originalScrollSpeed; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5562 this._onScrollListeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5563 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5564 var b = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5565 this._syncWithBand = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5566 this._syncWithBandHandler = function(band) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5567 b._onHighlightBandScroll(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5568 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5569 this._selectorListener = function(band) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5570 b._onHighlightBandScroll(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5571 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5572 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5573 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5574 * Install a textbox to capture keyboard events |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5575 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5576 var inputDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5577 inputDiv.className = "timeline-band-input"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5578 this._timeline.addDiv(inputDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5579 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5580 this._keyboardInput = document.createElement("input"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5581 this._keyboardInput.type = "text"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5582 inputDiv.appendChild(this._keyboardInput); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5583 SimileAjax.DOM.registerEventWithObject(this._keyboardInput, "keydown", this, "_onKeyDown"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5584 SimileAjax.DOM.registerEventWithObject(this._keyboardInput, "keyup", this, "_onKeyUp"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5585 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5586 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5587 * The band's outer most div that slides with respect to the timeline's div |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5588 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5589 this._div = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5590 this._div.id = "timeline-band-" + index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5591 this._div.className = "timeline-band timeline-band-" + index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5592 this._timeline.addDiv(this._div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5593 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5594 SimileAjax.DOM.registerEventWithObject(this._div, "mousedown", this, "_onMouseDown"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5595 SimileAjax.DOM.registerEventWithObject(this._div, "mousemove", this, "_onMouseMove"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5596 SimileAjax.DOM.registerEventWithObject(this._div, "mouseup", this, "_onMouseUp"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5597 SimileAjax.DOM.registerEventWithObject(this._div, "mouseout", this, "_onMouseOut"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5598 SimileAjax.DOM.registerEventWithObject(this._div, "dblclick", this, "_onDblClick"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5599 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5600 var mouseWheel = this._theme!= null ? this._theme.mouseWheel : 'scroll'; // theme is not always defined |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5601 if (mouseWheel === 'zoom' || mouseWheel === 'scroll' || this._zoomSteps) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5602 // capture mouse scroll |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5603 if (SimileAjax.Platform.browser.isFirefox) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5604 SimileAjax.DOM.registerEventWithObject(this._div, "DOMMouseScroll", this, "_onMouseScroll"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5605 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5606 SimileAjax.DOM.registerEventWithObject(this._div, "mousewheel", this, "_onMouseScroll"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5607 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5608 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5609 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5610 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5611 * The inner div that contains layers |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5612 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5613 this._innerDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5614 this._innerDiv.className = "timeline-band-inner"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5615 this._div.appendChild(this._innerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5616 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5617 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5618 * Initialize parts of the band |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5619 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5620 this._ether = bandInfo.ether; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5621 bandInfo.ether.initialize(this, timeline); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5622 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5623 this._etherPainter = bandInfo.etherPainter; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5624 bandInfo.etherPainter.initialize(this, timeline); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5625 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5626 this._eventSource = bandInfo.eventSource; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5627 if (this._eventSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5628 this._eventListener = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5629 onAddMany: function() { b._onAddMany(); }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5630 onClear: function() { b._onClear(); } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5631 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5632 this._eventSource.addListener(this._eventListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5633 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5634 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5635 this._eventPainter = bandInfo.eventPainter; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5636 this._eventTracksNeeded = 0; // set by painter via updateEventTrackInfo |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5637 this._eventTrackIncrement = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5638 bandInfo.eventPainter.initialize(this, timeline); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5639 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5640 this._decorators = ("decorators" in bandInfo) ? bandInfo.decorators : []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5641 for (var i = 0; i < this._decorators.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5642 this._decorators[i].initialize(this, timeline); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5643 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5644 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5645 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5646 Timeline._Band.SCROLL_MULTIPLES = 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5647 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5648 Timeline._Band.prototype.dispose = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5649 this.closeBubble(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5650 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5651 if (this._eventSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5652 this._eventSource.removeListener(this._eventListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5653 this._eventListener = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5654 this._eventSource = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5655 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5656 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5657 this._timeline = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5658 this._bandInfo = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5659 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5660 this._labeller = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5661 this._ether = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5662 this._etherPainter = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5663 this._eventPainter = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5664 this._decorators = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5665 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5666 this._onScrollListeners = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5667 this._syncWithBandHandler = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5668 this._selectorListener = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5669 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5670 this._div = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5671 this._innerDiv = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5672 this._keyboardInput = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5673 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5674 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5675 Timeline._Band.prototype.addOnScrollListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5676 this._onScrollListeners.push(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5677 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5678 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5679 Timeline._Band.prototype.removeOnScrollListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5680 for (var i = 0; i < this._onScrollListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5681 if (this._onScrollListeners[i] == listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5682 this._onScrollListeners.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5683 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5684 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5685 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5686 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5687 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5688 Timeline._Band.prototype.setSyncWithBand = function(band, highlight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5689 if (this._syncWithBand) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5690 this._syncWithBand.removeOnScrollListener(this._syncWithBandHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5691 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5692 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5693 this._syncWithBand = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5694 this._syncWithBand.addOnScrollListener(this._syncWithBandHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5695 this._highlight = highlight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5696 this._positionHighlight(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5697 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5698 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5699 Timeline._Band.prototype.getLocale = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5700 return this._locale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5701 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5702 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5703 Timeline._Band.prototype.getTimeZone = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5704 return this._timeZone; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5705 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5706 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5707 Timeline._Band.prototype.getLabeller = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5708 return this._labeller; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5709 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5710 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5711 Timeline._Band.prototype.getIndex = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5712 return this._index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5713 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5714 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5715 Timeline._Band.prototype.getEther = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5716 return this._ether; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5717 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5718 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5719 Timeline._Band.prototype.getEtherPainter = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5720 return this._etherPainter; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5721 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5722 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5723 Timeline._Band.prototype.getEventSource = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5724 return this._eventSource; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5725 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5726 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5727 Timeline._Band.prototype.getEventPainter = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5728 return this._eventPainter; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5729 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5730 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5731 Timeline._Band.prototype.getTimeline = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5732 return this._timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5733 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5734 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5735 // Autowidth support |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5736 Timeline._Band.prototype.updateEventTrackInfo = function(tracks, increment) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5737 this._eventTrackIncrement = increment; // doesn't vary for a specific band |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5738 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5739 if (tracks > this._eventTracksNeeded) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5740 this._eventTracksNeeded = tracks; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5741 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5742 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5743 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5744 // Autowidth support |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5745 Timeline._Band.prototype.checkAutoWidth = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5746 // if a new (larger) width is needed by the band |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5747 // then: a) updates the band's bandInfo.width |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5748 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5749 // desiredWidth for the band is |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5750 // (number of tracks + margin) * track increment |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5751 if (! this._timeline.autoWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5752 return; // early return |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5753 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5754 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5755 var overviewBand = this._eventPainter.getType() == 'overview'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5756 var margin = overviewBand ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5757 this._theme.event.overviewTrack.autoWidthMargin : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5758 this._theme.event.track.autoWidthMargin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5759 var desiredWidth = Math.ceil((this._eventTracksNeeded + margin) * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5760 this._eventTrackIncrement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5761 // add offset amount (additional margin) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5762 desiredWidth += overviewBand ? this._theme.event.overviewTrack.offset : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5763 this._theme.event.track.offset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5764 var bandInfo = this._bandInfo; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5765 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5766 if (desiredWidth != bandInfo.width) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5767 bandInfo.width = desiredWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5768 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5769 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5770 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5771 Timeline._Band.prototype.layout = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5772 this.paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5773 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5774 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5775 Timeline._Band.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5776 this._etherPainter.paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5777 this._paintDecorators(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5778 this._paintEvents(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5779 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5780 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5781 Timeline._Band.prototype.softLayout = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5782 this.softPaint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5783 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5784 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5785 Timeline._Band.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5786 this._etherPainter.softPaint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5787 this._softPaintDecorators(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5788 this._softPaintEvents(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5789 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5790 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5791 Timeline._Band.prototype.setBandShiftAndWidth = function(shift, width) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5792 var inputDiv = this._keyboardInput.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5793 var middle = shift + Math.floor(width / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5794 if (this._timeline.isHorizontal()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5795 this._div.style.top = shift + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5796 this._div.style.height = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5797 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5798 inputDiv.style.top = middle + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5799 inputDiv.style.left = "-1em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5800 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5801 this._div.style.left = shift + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5802 this._div.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5803 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5804 inputDiv.style.left = middle + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5805 inputDiv.style.top = "-1em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5806 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5807 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5808 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5809 Timeline._Band.prototype.getViewWidth = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5810 if (this._timeline.isHorizontal()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5811 return this._div.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5812 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5813 return this._div.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5814 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5815 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5816 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5817 Timeline._Band.prototype.setViewLength = function(length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5818 this._viewLength = length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5819 this._recenterDiv(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5820 this._onChanging(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5821 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5822 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5823 Timeline._Band.prototype.getViewLength = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5824 return this._viewLength; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5825 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5826 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5827 Timeline._Band.prototype.getTotalViewLength = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5828 return Timeline._Band.SCROLL_MULTIPLES * this._viewLength; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5829 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5830 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5831 Timeline._Band.prototype.getViewOffset = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5832 return this._viewOffset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5833 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5834 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5835 Timeline._Band.prototype.getMinDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5836 return this._ether.pixelOffsetToDate(this._viewOffset); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5837 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5838 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5839 Timeline._Band.prototype.getMaxDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5840 return this._ether.pixelOffsetToDate(this._viewOffset + Timeline._Band.SCROLL_MULTIPLES * this._viewLength); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5841 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5842 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5843 Timeline._Band.prototype.getMinVisibleDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5844 return this._ether.pixelOffsetToDate(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5845 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5846 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5847 Timeline._Band.prototype.getMinVisibleDateAfterDelta = function(delta) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5848 return this._ether.pixelOffsetToDate(delta); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5849 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5850 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5851 Timeline._Band.prototype.getMaxVisibleDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5852 // Max date currently visible on band |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5853 return this._ether.pixelOffsetToDate(this._viewLength); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5854 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5855 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5856 Timeline._Band.prototype.getMaxVisibleDateAfterDelta = function(delta) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5857 // Max date visible on band after delta px view change is applied |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5858 return this._ether.pixelOffsetToDate(this._viewLength + delta); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5859 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5860 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5861 Timeline._Band.prototype.getCenterVisibleDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5862 return this._ether.pixelOffsetToDate(this._viewLength / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5863 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5864 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5865 Timeline._Band.prototype.setMinVisibleDate = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5866 if (!this._changing) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5867 this._moveEther(Math.round(-this._ether.dateToPixelOffset(date))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5868 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5869 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5870 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5871 Timeline._Band.prototype.setMaxVisibleDate = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5872 if (!this._changing) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5873 this._moveEther(Math.round(this._viewLength - this._ether.dateToPixelOffset(date))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5874 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5875 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5876 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5877 Timeline._Band.prototype.setCenterVisibleDate = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5878 if (!this._changing) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5879 this._moveEther(Math.round(this._viewLength / 2 - this._ether.dateToPixelOffset(date))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5880 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5881 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5882 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5883 Timeline._Band.prototype.dateToPixelOffset = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5884 return this._ether.dateToPixelOffset(date) - this._viewOffset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5885 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5886 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5887 Timeline._Band.prototype.pixelOffsetToDate = function(pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5888 return this._ether.pixelOffsetToDate(pixels + this._viewOffset); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5889 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5890 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5891 Timeline._Band.prototype.createLayerDiv = function(zIndex, className) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5892 var div = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5893 div.className = "timeline-band-layer" + (typeof className == "string" ? (" " + className) : ""); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5894 div.style.zIndex = zIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5895 this._innerDiv.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5896 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5897 var innerDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5898 innerDiv.className = "timeline-band-layer-inner"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5899 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5900 innerDiv.style.cursor = "move"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5901 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5902 innerDiv.style.cursor = "-moz-grab"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5903 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5904 div.appendChild(innerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5905 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5906 return innerDiv; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5907 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5908 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5909 Timeline._Band.prototype.removeLayerDiv = function(div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5910 this._innerDiv.removeChild(div.parentNode); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5911 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5912 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5913 Timeline._Band.prototype.scrollToCenter = function(date, f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5914 var pixelOffset = this._ether.dateToPixelOffset(date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5915 if (pixelOffset < -this._viewLength / 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5916 this.setCenterVisibleDate(this.pixelOffsetToDate(pixelOffset + this._viewLength)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5917 } else if (pixelOffset > 3 * this._viewLength / 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5918 this.setCenterVisibleDate(this.pixelOffsetToDate(pixelOffset - this._viewLength)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5919 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5920 this._autoScroll(Math.round(this._viewLength / 2 - this._ether.dateToPixelOffset(date)), f); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5921 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5922 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5923 Timeline._Band.prototype.showBubbleForEvent = function(eventID) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5924 var evt = this.getEventSource().getEvent(eventID); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5925 if (evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5926 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5927 this.scrollToCenter(evt.getStart(), function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5928 self._eventPainter.showBubble(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5929 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5930 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5931 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5932 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5933 Timeline._Band.prototype.zoom = function(zoomIn, x, y, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5934 if (!this._zoomSteps) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5935 // zoom disabled |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5936 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5937 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5938 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5939 // shift the x value by our offset |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5940 x += this._viewOffset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5941 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5942 var zoomDate = this._ether.pixelOffsetToDate(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5943 var netIntervalChange = this._ether.zoom(zoomIn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5944 this._etherPainter.zoom(netIntervalChange); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5945 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5946 // shift our zoom date to the far left |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5947 this._moveEther(Math.round(-this._ether.dateToPixelOffset(zoomDate))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5948 // then shift it back to where the mouse was |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5949 this._moveEther(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5950 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5951 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5952 Timeline._Band.prototype._onMouseDown = function(innerFrame, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5953 this.closeBubble(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5954 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5955 this._dragging = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5956 this._dragX = evt.clientX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5957 this._dragY = evt.clientY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5958 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5959 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5960 Timeline._Band.prototype._onMouseMove = function(innerFrame, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5961 if (this._dragging) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5962 var diffX = evt.clientX - this._dragX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5963 var diffY = evt.clientY - this._dragY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5964 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5965 this._dragX = evt.clientX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5966 this._dragY = evt.clientY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5967 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5968 this._moveEther(this._timeline.isHorizontal() ? diffX : diffY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5969 this._positionHighlight(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5970 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5971 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5972 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5973 Timeline._Band.prototype._onMouseUp = function(innerFrame, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5974 this._dragging = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5975 this._keyboardInput.focus(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5976 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5977 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5978 Timeline._Band.prototype._onMouseOut = function(innerFrame, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5979 var coords = SimileAjax.DOM.getEventRelativeCoordinates(evt, innerFrame); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5980 coords.x += this._viewOffset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5981 if (coords.x < 0 || coords.x > innerFrame.offsetWidth || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5982 coords.y < 0 || coords.y > innerFrame.offsetHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5983 this._dragging = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5984 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5985 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5986 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5987 Timeline._Band.prototype._onMouseScroll = function(innerFrame, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5988 var now = new Date(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5989 now = now.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5990 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5991 if (!this._lastScrollTime || ((now - this._lastScrollTime) > 50)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5992 // limit 1 scroll per 200ms due to FF3 sending multiple events back to back |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5993 this._lastScrollTime = now; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5994 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5995 var delta = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5996 if (evt.wheelDelta) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5997 delta = evt.wheelDelta/120; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5998 } else if (evt.detail) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5999 delta = -evt.detail/3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6000 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6001 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6002 // either scroll or zoom |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6003 var mouseWheel = this._theme.mouseWheel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6004 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6005 if (this._zoomSteps || mouseWheel === 'zoom') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6006 var loc = SimileAjax.DOM.getEventRelativeCoordinates(evt, innerFrame); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6007 if (delta != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6008 var zoomIn; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6009 if (delta > 0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6010 zoomIn = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6011 if (delta < 0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6012 zoomIn = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6013 // call zoom on the timeline so we could zoom multiple bands if desired |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6014 this._timeline.zoom(zoomIn, loc.x, loc.y, innerFrame); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6015 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6016 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6017 else if (mouseWheel === 'scroll') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6018 var move_amt = 50 * (delta < 0 ? -1 : 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6019 this._moveEther(move_amt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6020 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6021 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6022 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6023 // prevent bubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6024 if (evt.stopPropagation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6025 evt.stopPropagation(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6026 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6027 evt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6028 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6029 // prevent the default action |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6030 if (evt.preventDefault) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6031 evt.preventDefault(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6032 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6033 evt.returnValue = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6034 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6035 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6036 Timeline._Band.prototype._onDblClick = function(innerFrame, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6037 var coords = SimileAjax.DOM.getEventRelativeCoordinates(evt, innerFrame); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6038 var distance = coords.x - (this._viewLength / 2 - this._viewOffset); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6039 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6040 this._autoScroll(-distance); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6041 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6042 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6043 Timeline._Band.prototype._onKeyDown = function(keyboardInput, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6044 if (!this._dragging) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6045 switch (evt.keyCode) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6046 case 27: // ESC |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6047 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6048 case 37: // left arrow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6049 case 38: // up arrow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6050 this._scrollSpeed = Math.min(50, Math.abs(this._scrollSpeed * 1.05)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6051 this._moveEther(this._scrollSpeed); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6052 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6053 case 39: // right arrow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6054 case 40: // down arrow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6055 this._scrollSpeed = -Math.min(50, Math.abs(this._scrollSpeed * 1.05)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6056 this._moveEther(this._scrollSpeed); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6057 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6058 default: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6059 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6060 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6061 this.closeBubble(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6062 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6063 SimileAjax.DOM.cancelEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6064 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6065 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6066 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6067 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6068 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6069 Timeline._Band.prototype._onKeyUp = function(keyboardInput, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6070 if (!this._dragging) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6071 this._scrollSpeed = this._originalScrollSpeed; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6072 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6073 switch (evt.keyCode) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6074 case 35: // end |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6075 this.setCenterVisibleDate(this._eventSource.getLatestDate()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6076 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6077 case 36: // home |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6078 this.setCenterVisibleDate(this._eventSource.getEarliestDate()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6079 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6080 case 33: // page up |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6081 this._autoScroll(this._timeline.getPixelLength()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6082 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6083 case 34: // page down |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6084 this._autoScroll(-this._timeline.getPixelLength()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6085 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6086 default: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6087 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6088 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6089 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6090 this.closeBubble(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6091 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6092 SimileAjax.DOM.cancelEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6093 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6094 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6095 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6096 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6097 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6098 Timeline._Band.prototype._autoScroll = function(distance, f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6099 var b = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6100 var a = SimileAjax.Graphics.createAnimation( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6101 function(abs, diff) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6102 b._moveEther(diff); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6103 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6104 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6105 distance, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6106 1000, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6107 f |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6108 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6109 a.run(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6110 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6111 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6112 Timeline._Band.prototype._moveEther = function(shift) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6113 this.closeBubble(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6114 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6115 // A positive shift means back in time |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6116 // Check that we're not moving beyond Timeline's limits |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6117 if (!this._timeline.shiftOK(this._index, shift)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6118 return; // early return |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6119 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6120 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6121 this._viewOffset += shift; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6122 this._ether.shiftPixels(-shift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6123 if (this._timeline.isHorizontal()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6124 this._div.style.left = this._viewOffset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6125 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6126 this._div.style.top = this._viewOffset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6127 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6128 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6129 if (this._viewOffset > -this._viewLength * 0.5 || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6130 this._viewOffset < -this._viewLength * (Timeline._Band.SCROLL_MULTIPLES - 1.5)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6131 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6132 this._recenterDiv(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6133 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6134 this.softLayout(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6135 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6136 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6137 this._onChanging(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6138 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6139 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6140 Timeline._Band.prototype._onChanging = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6141 this._changing = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6142 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6143 this._fireOnScroll(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6144 this._setSyncWithBandDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6145 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6146 this._changing = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6147 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6148 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6149 Timeline._Band.prototype.busy = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6150 // Is this band busy changing other bands? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6151 return(this._changing); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6152 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6153 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6154 Timeline._Band.prototype._fireOnScroll = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6155 for (var i = 0; i < this._onScrollListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6156 this._onScrollListeners[i](this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6157 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6158 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6159 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6160 Timeline._Band.prototype._setSyncWithBandDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6161 if (this._syncWithBand) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6162 var centerDate = this._ether.pixelOffsetToDate(this.getViewLength() / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6163 this._syncWithBand.setCenterVisibleDate(centerDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6164 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6165 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6166 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6167 Timeline._Band.prototype._onHighlightBandScroll = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6168 if (this._syncWithBand) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6169 var centerDate = this._syncWithBand.getCenterVisibleDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6170 var centerPixelOffset = this._ether.dateToPixelOffset(centerDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6171 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6172 this._moveEther(Math.round(this._viewLength / 2 - centerPixelOffset)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6173 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6174 if (this._highlight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6175 this._etherPainter.setHighlight( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6176 this._syncWithBand.getMinVisibleDate(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6177 this._syncWithBand.getMaxVisibleDate()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6178 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6179 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6180 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6181 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6182 Timeline._Band.prototype._onAddMany = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6183 this._paintEvents(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6184 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6185 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6186 Timeline._Band.prototype._onClear = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6187 this._paintEvents(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6188 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6189 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6190 Timeline._Band.prototype._positionHighlight = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6191 if (this._syncWithBand) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6192 var startDate = this._syncWithBand.getMinVisibleDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6193 var endDate = this._syncWithBand.getMaxVisibleDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6194 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6195 if (this._highlight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6196 this._etherPainter.setHighlight(startDate, endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6197 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6198 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6199 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6200 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6201 Timeline._Band.prototype._recenterDiv = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6202 this._viewOffset = -this._viewLength * (Timeline._Band.SCROLL_MULTIPLES - 1) / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6203 if (this._timeline.isHorizontal()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6204 this._div.style.left = this._viewOffset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6205 this._div.style.width = (Timeline._Band.SCROLL_MULTIPLES * this._viewLength) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6206 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6207 this._div.style.top = this._viewOffset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6208 this._div.style.height = (Timeline._Band.SCROLL_MULTIPLES * this._viewLength) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6209 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6210 this.layout(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6211 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6212 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6213 Timeline._Band.prototype._paintEvents = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6214 this._eventPainter.paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6215 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6216 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6217 Timeline._Band.prototype._softPaintEvents = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6218 this._eventPainter.softPaint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6219 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6220 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6221 Timeline._Band.prototype._paintDecorators = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6222 for (var i = 0; i < this._decorators.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6223 this._decorators[i].paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6224 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6225 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6226 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6227 Timeline._Band.prototype._softPaintDecorators = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6228 for (var i = 0; i < this._decorators.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6229 this._decorators[i].softPaint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6230 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6231 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6232 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6233 Timeline._Band.prototype.closeBubble = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6234 SimileAjax.WindowManager.cancelPopups(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6235 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6236 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6237 * Classic Theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6238 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6239 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6240 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6241 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6242 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6243 Timeline.ClassicTheme = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6244 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6245 Timeline.ClassicTheme.implementations = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6246 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6247 Timeline.ClassicTheme.create = function(locale) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6248 if (locale == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6249 locale = Timeline.getDefaultLocale(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6250 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6251 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6252 var f = Timeline.ClassicTheme.implementations[locale]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6253 if (f == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6254 f = Timeline.ClassicTheme._Impl; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6255 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6256 return new f(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6257 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6258 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6259 Timeline.ClassicTheme._Impl = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6260 this.firstDayOfWeek = 0; // Sunday |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6261 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6262 // Note: Many styles previously set here are now set using CSS |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6263 // The comments indicate settings controlled by CSS, not |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6264 // lines to be un-commented. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6265 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6266 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6267 // Attributes autoWidth, autoWidthAnimationTime, timeline_start |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6268 // and timeline_stop must be set on the first band's theme. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6269 // The other attributes can be set differently for each |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6270 // band by using different themes for the bands. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6271 this.autoWidth = false; // Should the Timeline automatically grow itself, as |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6272 // needed when too many events for the available width |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6273 // are painted on the visible part of the Timeline? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6274 this.autoWidthAnimationTime = 500; // mSec |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6275 this.timeline_start = null; // Setting a date, eg new Date(Date.UTC(2008,0,17,20,00,00,0)) will prevent the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6276 // Timeline from being moved to anytime before the date. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6277 this.timeline_stop = null; // Use for setting a maximum date. The Timeline will not be able |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6278 // to be moved to anytime after this date. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6279 this.ether = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6280 backgroundColors: [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6281 // "#EEE", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6282 // "#DDD", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6283 // "#CCC", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6284 // "#AAA" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6285 ], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6286 // highlightColor: "white", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6287 highlightOpacity: 50, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6288 interval: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6289 line: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6290 show: true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6291 opacity: 25 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6292 // color: "#aaa", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6293 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6294 weekend: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6295 opacity: 30 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6296 // color: "#FFFFE0", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6297 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6298 marker: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6299 hAlign: "Bottom", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6300 vAlign: "Right" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6301 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6302 hBottomStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6303 elmt.className = "timeline-ether-marker-bottom"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6304 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6305 hBottomEmphasizedStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6306 elmt.className = "timeline-ether-marker-bottom-emphasized"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6307 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6308 hTopStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6309 elmt.className = "timeline-ether-marker-top"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6310 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6311 hTopEmphasizedStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6312 elmt.className = "timeline-ether-marker-top-emphasized"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6313 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6314 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6315 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6316 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6317 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6318 vRightStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6319 elmt.className = "timeline-ether-marker-right"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6320 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6321 vRightEmphasizedStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6322 elmt.className = "timeline-ether-marker-right-emphasized"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6323 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6324 vLeftStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6325 elmt.className = "timeline-ether-marker-left"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6326 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6327 vLeftEmphasizedStyler:function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6328 elmt.className = "timeline-ether-marker-left-emphasized"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6329 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6330 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6331 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6332 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6333 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6334 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6335 this.event = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6336 track: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6337 height: 10, // px. You will need to change the track |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6338 // height if you change the tape height. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6339 gap: 2, // px. Gap between tracks |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6340 offset: 2, // px. top margin above tapes |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6341 autoWidthMargin: 1.5 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6342 /* autoWidthMargin is only used if autoWidth (see above) is true. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6343 The autoWidthMargin setting is used to set how close the bottom of the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6344 lowest track is to the edge of the band's div. The units are total track |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6345 width (tape + label + gap). A min of 0.5 is suggested. Use this setting to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6346 move the bottom track's tapes above the axis markers, if needed for your |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6347 Timeline. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6348 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6349 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6350 overviewTrack: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6351 offset: 20, // px -- top margin above tapes |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6352 tickHeight: 6, // px |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6353 height: 2, // px |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6354 gap: 1, // px |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6355 autoWidthMargin: 5 // This attribute is only used if autoWidth (see above) is true. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6356 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6357 tape: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6358 height: 4 // px. For thicker tapes, remember to change track height too. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6359 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6360 instant: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6361 icon: Timeline.urlPrefix + "images/dull-blue-circle.png", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6362 // default icon. Icon can also be specified per event |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6363 iconWidth: 10, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6364 iconHeight: 10, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6365 impreciseOpacity: 20, // opacity of the tape when durationEvent is false |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6366 impreciseIconMargin: 3 // A tape and an icon are painted for imprecise instant |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6367 // events. This attribute is the margin between the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6368 // bottom of the tape and the top of the icon in that |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6369 // case. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6370 // color: "#58A0DC", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6371 // impreciseColor: "#58A0DC", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6372 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6373 duration: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6374 impreciseOpacity: 20 // tape opacity for imprecise part of duration events |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6375 // color: "#58A0DC", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6376 // impreciseColor: "#58A0DC", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6377 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6378 label: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6379 backgroundOpacity: 50,// only used in detailed painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6380 offsetFromLine: 3 // px left margin amount from icon's right edge |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6381 // backgroundColor: "white", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6382 // lineColor: "#58A0DC", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6383 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6384 highlightColors: [ // Use with getEventPainter().setHighlightMatcher |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6385 // See webapp/examples/examples.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6386 "#FFFF00", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6387 "#FFC000", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6388 "#FF0000", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6389 "#0000FF" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6390 ], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6391 highlightLabelBackground: false, // When highlighting an event, also change the event's label background? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6392 bubble: { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6393 width: 250, // px |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6394 maxHeight: 0, // px Maximum height of bubbles. 0 means no max height. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6395 // scrollbar will be added for taller bubbles |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6396 titleStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6397 elmt.className = "timeline-event-bubble-title"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6398 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6399 bodyStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6400 elmt.className = "timeline-event-bubble-body"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6401 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6402 imageStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6403 elmt.className = "timeline-event-bubble-image"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6404 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6405 wikiStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6406 elmt.className = "timeline-event-bubble-wiki"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6407 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6408 timeStyler: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6409 elmt.className = "timeline-event-bubble-time"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6410 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6411 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6412 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6413 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6414 this.mouseWheel = 'scroll'; // 'default', 'zoom', 'scroll' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6415 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6416 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6417 * An "ether" is a object that maps date/time to pixel coordinates. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6418 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6419 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6420 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6421 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6422 * Linear Ether |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6423 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6424 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6425 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6426 Timeline.LinearEther = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6427 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6428 this._interval = params.interval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6429 this._pixelsPerInterval = params.pixelsPerInterval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6430 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6431 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6432 Timeline.LinearEther.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6433 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6434 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6435 this._unit = timeline.getUnit(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6436 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6437 if ("startsOn" in this._params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6438 this._start = this._unit.parseFromObject(this._params.startsOn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6439 } else if ("endsOn" in this._params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6440 this._start = this._unit.parseFromObject(this._params.endsOn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6441 this.shiftPixels(-this._timeline.getPixelLength()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6442 } else if ("centersOn" in this._params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6443 this._start = this._unit.parseFromObject(this._params.centersOn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6444 this.shiftPixels(-this._timeline.getPixelLength() / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6445 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6446 this._start = this._unit.makeDefaultValue(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6447 this.shiftPixels(-this._timeline.getPixelLength() / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6448 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6449 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6450 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6451 Timeline.LinearEther.prototype.setDate = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6452 this._start = this._unit.cloneValue(date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6453 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6454 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6455 Timeline.LinearEther.prototype.shiftPixels = function(pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6456 var numeric = this._interval * pixels / this._pixelsPerInterval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6457 this._start = this._unit.change(this._start, numeric); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6458 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6459 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6460 Timeline.LinearEther.prototype.dateToPixelOffset = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6461 var numeric = this._unit.compare(date, this._start); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6462 return this._pixelsPerInterval * numeric / this._interval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6463 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6464 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6465 Timeline.LinearEther.prototype.pixelOffsetToDate = function(pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6466 var numeric = pixels * this._interval / this._pixelsPerInterval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6467 return this._unit.change(this._start, numeric); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6468 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6469 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6470 Timeline.LinearEther.prototype.zoom = function(zoomIn) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6471 var netIntervalChange = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6472 var currentZoomIndex = this._band._zoomIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6473 var newZoomIndex = currentZoomIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6474 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6475 if (zoomIn && (currentZoomIndex > 0)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6476 newZoomIndex = currentZoomIndex - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6477 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6478 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6479 if (!zoomIn && (currentZoomIndex < (this._band._zoomSteps.length - 1))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6480 newZoomIndex = currentZoomIndex + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6481 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6482 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6483 this._band._zoomIndex = newZoomIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6484 this._interval = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6485 SimileAjax.DateTime.gregorianUnitLengths[this._band._zoomSteps[newZoomIndex].unit]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6486 this._pixelsPerInterval = this._band._zoomSteps[newZoomIndex].pixelsPerInterval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6487 netIntervalChange = this._band._zoomSteps[newZoomIndex].unit - |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6488 this._band._zoomSteps[currentZoomIndex].unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6489 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6490 return netIntervalChange; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6491 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6492 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6493 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6494 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6495 * Hot Zone Ether |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6496 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6497 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6498 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6499 Timeline.HotZoneEther = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6500 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6501 this._interval = params.interval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6502 this._pixelsPerInterval = params.pixelsPerInterval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6503 this._theme = params.theme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6504 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6505 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6506 Timeline.HotZoneEther.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6507 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6508 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6509 this._unit = timeline.getUnit(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6510 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6511 this._zones = [{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6512 startTime: Number.NEGATIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6513 endTime: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6514 magnify: 1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6515 }]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6516 var params = this._params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6517 for (var i = 0; i < params.zones.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6518 var zone = params.zones[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6519 var zoneStart = this._unit.parseFromObject(zone.start); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6520 var zoneEnd = this._unit.parseFromObject(zone.end); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6521 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6522 for (var j = 0; j < this._zones.length && this._unit.compare(zoneEnd, zoneStart) > 0; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6523 var zone2 = this._zones[j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6524 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6525 if (this._unit.compare(zoneStart, zone2.endTime) < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6526 if (this._unit.compare(zoneStart, zone2.startTime) > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6527 this._zones.splice(j, 0, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6528 startTime: zone2.startTime, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6529 endTime: zoneStart, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6530 magnify: zone2.magnify |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6531 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6532 j++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6533 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6534 zone2.startTime = zoneStart; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6535 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6536 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6537 if (this._unit.compare(zoneEnd, zone2.endTime) < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6538 this._zones.splice(j, 0, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6539 startTime: zoneStart, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6540 endTime: zoneEnd, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6541 magnify: zone.magnify * zone2.magnify |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6542 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6543 j++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6544 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6545 zone2.startTime = zoneEnd; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6546 zoneStart = zoneEnd; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6547 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6548 zone2.magnify *= zone.magnify; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6549 zoneStart = zone2.endTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6550 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6551 } // else, try the next existing zone |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6552 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6553 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6554 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6555 if ("startsOn" in this._params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6556 this._start = this._unit.parseFromObject(this._params.startsOn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6557 } else if ("endsOn" in this._params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6558 this._start = this._unit.parseFromObject(this._params.endsOn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6559 this.shiftPixels(-this._timeline.getPixelLength()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6560 } else if ("centersOn" in this._params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6561 this._start = this._unit.parseFromObject(this._params.centersOn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6562 this.shiftPixels(-this._timeline.getPixelLength() / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6563 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6564 this._start = this._unit.makeDefaultValue(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6565 this.shiftPixels(-this._timeline.getPixelLength() / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6566 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6567 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6568 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6569 Timeline.HotZoneEther.prototype.setDate = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6570 this._start = this._unit.cloneValue(date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6571 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6572 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6573 Timeline.HotZoneEther.prototype.shiftPixels = function(pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6574 this._start = this.pixelOffsetToDate(pixels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6575 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6576 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6577 Timeline.HotZoneEther.prototype.dateToPixelOffset = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6578 return this._dateDiffToPixelOffset(this._start, date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6579 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6580 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6581 Timeline.HotZoneEther.prototype.pixelOffsetToDate = function(pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6582 return this._pixelOffsetToDate(pixels, this._start); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6583 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6584 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6585 Timeline.HotZoneEther.prototype.zoom = function(zoomIn) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6586 var netIntervalChange = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6587 var currentZoomIndex = this._band._zoomIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6588 var newZoomIndex = currentZoomIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6589 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6590 if (zoomIn && (currentZoomIndex > 0)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6591 newZoomIndex = currentZoomIndex - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6592 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6593 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6594 if (!zoomIn && (currentZoomIndex < (this._band._zoomSteps.length - 1))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6595 newZoomIndex = currentZoomIndex + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6596 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6597 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6598 this._band._zoomIndex = newZoomIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6599 this._interval = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6600 SimileAjax.DateTime.gregorianUnitLengths[this._band._zoomSteps[newZoomIndex].unit]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6601 this._pixelsPerInterval = this._band._zoomSteps[newZoomIndex].pixelsPerInterval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6602 netIntervalChange = this._band._zoomSteps[newZoomIndex].unit - |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6603 this._band._zoomSteps[currentZoomIndex].unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6604 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6605 return netIntervalChange; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6606 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6607 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6608 Timeline.HotZoneEther.prototype._dateDiffToPixelOffset = function(fromDate, toDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6609 var scale = this._getScale(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6610 var fromTime = fromDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6611 var toTime = toDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6612 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6613 var pixels = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6614 if (this._unit.compare(fromTime, toTime) < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6615 var z = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6616 while (z < this._zones.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6617 if (this._unit.compare(fromTime, this._zones[z].endTime) < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6618 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6619 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6620 z++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6621 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6622 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6623 while (this._unit.compare(fromTime, toTime) < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6624 var zone = this._zones[z]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6625 var toTime2 = this._unit.earlier(toTime, zone.endTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6626 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6627 pixels += (this._unit.compare(toTime2, fromTime) / (scale / zone.magnify)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6628 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6629 fromTime = toTime2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6630 z++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6631 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6632 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6633 var z = this._zones.length - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6634 while (z >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6635 if (this._unit.compare(fromTime, this._zones[z].startTime) > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6636 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6637 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6638 z--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6639 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6640 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6641 while (this._unit.compare(fromTime, toTime) > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6642 var zone = this._zones[z]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6643 var toTime2 = this._unit.later(toTime, zone.startTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6644 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6645 pixels += (this._unit.compare(toTime2, fromTime) / (scale / zone.magnify)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6646 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6647 fromTime = toTime2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6648 z--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6649 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6650 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6651 return pixels; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6652 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6653 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6654 Timeline.HotZoneEther.prototype._pixelOffsetToDate = function(pixels, fromDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6655 var scale = this._getScale(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6656 var time = fromDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6657 if (pixels > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6658 var z = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6659 while (z < this._zones.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6660 if (this._unit.compare(time, this._zones[z].endTime) < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6661 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6662 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6663 z++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6664 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6665 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6666 while (pixels > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6667 var zone = this._zones[z]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6668 var scale2 = scale / zone.magnify; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6669 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6670 if (zone.endTime == Number.POSITIVE_INFINITY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6671 time = this._unit.change(time, pixels * scale2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6672 pixels = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6673 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6674 var pixels2 = this._unit.compare(zone.endTime, time) / scale2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6675 if (pixels2 > pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6676 time = this._unit.change(time, pixels * scale2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6677 pixels = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6678 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6679 time = zone.endTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6680 pixels -= pixels2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6681 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6682 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6683 z++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6684 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6685 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6686 var z = this._zones.length - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6687 while (z >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6688 if (this._unit.compare(time, this._zones[z].startTime) > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6689 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6690 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6691 z--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6692 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6693 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6694 pixels = -pixels; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6695 while (pixels > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6696 var zone = this._zones[z]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6697 var scale2 = scale / zone.magnify; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6698 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6699 if (zone.startTime == Number.NEGATIVE_INFINITY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6700 time = this._unit.change(time, -pixels * scale2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6701 pixels = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6702 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6703 var pixels2 = this._unit.compare(time, zone.startTime) / scale2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6704 if (pixels2 > pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6705 time = this._unit.change(time, -pixels * scale2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6706 pixels = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6707 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6708 time = zone.startTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6709 pixels -= pixels2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6710 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6711 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6712 z--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6713 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6714 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6715 return time; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6716 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6717 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6718 Timeline.HotZoneEther.prototype._getScale = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6719 return this._interval / this._pixelsPerInterval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6720 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6721 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6722 * Gregorian Ether Painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6723 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6724 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6725 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6726 Timeline.GregorianEtherPainter = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6727 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6728 this._theme = params.theme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6729 this._unit = params.unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6730 this._multiple = ("multiple" in params) ? params.multiple : 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6731 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6732 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6733 Timeline.GregorianEtherPainter.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6734 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6735 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6736 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6737 this._backgroundLayer = band.createLayerDiv(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6738 this._backgroundLayer.setAttribute("name", "ether-background"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6739 this._backgroundLayer.className = 'timeline-ether-bg'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6740 // this._backgroundLayer.style.background = this._theme.ether.backgroundColors[band.getIndex()]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6741 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6742 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6743 this._markerLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6744 this._lineLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6745 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6746 var align = ("align" in this._params && this._params.align != undefined) ? this._params.align : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6747 this._theme.ether.interval.marker[timeline.isHorizontal() ? "hAlign" : "vAlign"]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6748 var showLine = ("showLine" in this._params) ? this._params.showLine : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6749 this._theme.ether.interval.line.show; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6750 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6751 this._intervalMarkerLayout = new Timeline.EtherIntervalMarkerLayout( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6752 this._timeline, this._band, this._theme, align, showLine); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6753 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6754 this._highlight = new Timeline.EtherHighlight( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6755 this._timeline, this._band, this._theme, this._backgroundLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6756 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6757 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6758 Timeline.GregorianEtherPainter.prototype.setHighlight = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6759 this._highlight.position(startDate, endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6760 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6761 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6762 Timeline.GregorianEtherPainter.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6763 if (this._markerLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6764 this._band.removeLayerDiv(this._markerLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6765 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6766 this._markerLayer = this._band.createLayerDiv(100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6767 this._markerLayer.setAttribute("name", "ether-markers"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6768 this._markerLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6769 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6770 if (this._lineLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6771 this._band.removeLayerDiv(this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6772 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6773 this._lineLayer = this._band.createLayerDiv(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6774 this._lineLayer.setAttribute("name", "ether-lines"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6775 this._lineLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6776 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6777 var minDate = this._band.getMinDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6778 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6779 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6780 var timeZone = this._band.getTimeZone(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6781 var labeller = this._band.getLabeller(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6782 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6783 SimileAjax.DateTime.roundDownToInterval(minDate, this._unit, timeZone, this._multiple, this._theme.firstDayOfWeek); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6784 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6785 var p = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6786 var incrementDate = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6787 for (var i = 0; i < p._multiple; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6788 SimileAjax.DateTime.incrementByInterval(date, p._unit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6789 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6790 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6791 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6792 while (minDate.getTime() < maxDate.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6793 this._intervalMarkerLayout.createIntervalMarker( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6794 minDate, labeller, this._unit, this._markerLayer, this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6795 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6796 incrementDate(minDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6797 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6798 this._markerLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6799 this._lineLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6800 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6801 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6802 Timeline.GregorianEtherPainter.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6803 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6804 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6805 Timeline.GregorianEtherPainter.prototype.zoom = function(netIntervalChange) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6806 if (netIntervalChange != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6807 this._unit += netIntervalChange; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6808 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6809 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6810 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6811 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6812 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6813 * Hot Zone Gregorian Ether Painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6814 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6815 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6816 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6817 Timeline.HotZoneGregorianEtherPainter = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6818 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6819 this._theme = params.theme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6820 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6821 this._zones = [{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6822 startTime: Number.NEGATIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6823 endTime: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6824 unit: params.unit, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6825 multiple: 1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6826 }]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6827 for (var i = 0; i < params.zones.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6828 var zone = params.zones[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6829 var zoneStart = SimileAjax.DateTime.parseGregorianDateTime(zone.start).getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6830 var zoneEnd = SimileAjax.DateTime.parseGregorianDateTime(zone.end).getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6831 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6832 for (var j = 0; j < this._zones.length && zoneEnd > zoneStart; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6833 var zone2 = this._zones[j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6834 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6835 if (zoneStart < zone2.endTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6836 if (zoneStart > zone2.startTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6837 this._zones.splice(j, 0, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6838 startTime: zone2.startTime, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6839 endTime: zoneStart, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6840 unit: zone2.unit, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6841 multiple: zone2.multiple |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6842 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6843 j++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6844 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6845 zone2.startTime = zoneStart; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6846 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6847 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6848 if (zoneEnd < zone2.endTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6849 this._zones.splice(j, 0, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6850 startTime: zoneStart, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6851 endTime: zoneEnd, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6852 unit: zone.unit, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6853 multiple: (zone.multiple) ? zone.multiple : 1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6854 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6855 j++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6856 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6857 zone2.startTime = zoneEnd; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6858 zoneStart = zoneEnd; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6859 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6860 zone2.multiple = zone.multiple; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6861 zone2.unit = zone.unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6862 zoneStart = zone2.endTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6863 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6864 } // else, try the next existing zone |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6865 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6866 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6867 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6868 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6869 Timeline.HotZoneGregorianEtherPainter.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6870 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6871 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6872 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6873 this._backgroundLayer = band.createLayerDiv(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6874 this._backgroundLayer.setAttribute("name", "ether-background"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6875 this._backgroundLayer.className ='timeline-ether-bg'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6876 //this._backgroundLayer.style.background = this._theme.ether.backgroundColors[band.getIndex()]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6877 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6878 this._markerLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6879 this._lineLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6880 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6881 var align = ("align" in this._params && this._params.align != undefined) ? this._params.align : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6882 this._theme.ether.interval.marker[timeline.isHorizontal() ? "hAlign" : "vAlign"]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6883 var showLine = ("showLine" in this._params) ? this._params.showLine : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6884 this._theme.ether.interval.line.show; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6885 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6886 this._intervalMarkerLayout = new Timeline.EtherIntervalMarkerLayout( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6887 this._timeline, this._band, this._theme, align, showLine); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6888 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6889 this._highlight = new Timeline.EtherHighlight( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6890 this._timeline, this._band, this._theme, this._backgroundLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6891 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6892 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6893 Timeline.HotZoneGregorianEtherPainter.prototype.setHighlight = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6894 this._highlight.position(startDate, endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6895 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6896 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6897 Timeline.HotZoneGregorianEtherPainter.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6898 if (this._markerLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6899 this._band.removeLayerDiv(this._markerLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6900 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6901 this._markerLayer = this._band.createLayerDiv(100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6902 this._markerLayer.setAttribute("name", "ether-markers"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6903 this._markerLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6904 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6905 if (this._lineLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6906 this._band.removeLayerDiv(this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6907 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6908 this._lineLayer = this._band.createLayerDiv(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6909 this._lineLayer.setAttribute("name", "ether-lines"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6910 this._lineLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6911 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6912 var minDate = this._band.getMinDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6913 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6914 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6915 var timeZone = this._band.getTimeZone(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6916 var labeller = this._band.getLabeller(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6917 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6918 var p = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6919 var incrementDate = function(date, zone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6920 for (var i = 0; i < zone.multiple; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6921 SimileAjax.DateTime.incrementByInterval(date, zone.unit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6922 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6923 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6924 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6925 var zStart = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6926 while (zStart < this._zones.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6927 if (minDate.getTime() < this._zones[zStart].endTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6928 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6929 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6930 zStart++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6931 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6932 var zEnd = this._zones.length - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6933 while (zEnd >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6934 if (maxDate.getTime() > this._zones[zEnd].startTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6935 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6936 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6937 zEnd--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6938 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6939 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6940 for (var z = zStart; z <= zEnd; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6941 var zone = this._zones[z]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6942 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6943 var minDate2 = new Date(Math.max(minDate.getTime(), zone.startTime)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6944 var maxDate2 = new Date(Math.min(maxDate.getTime(), zone.endTime)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6945 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6946 SimileAjax.DateTime.roundDownToInterval(minDate2, zone.unit, timeZone, zone.multiple, this._theme.firstDayOfWeek); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6947 SimileAjax.DateTime.roundUpToInterval(maxDate2, zone.unit, timeZone, zone.multiple, this._theme.firstDayOfWeek); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6948 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6949 while (minDate2.getTime() < maxDate2.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6950 this._intervalMarkerLayout.createIntervalMarker( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6951 minDate2, labeller, zone.unit, this._markerLayer, this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6952 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6953 incrementDate(minDate2, zone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6954 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6955 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6956 this._markerLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6957 this._lineLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6958 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6959 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6960 Timeline.HotZoneGregorianEtherPainter.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6961 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6962 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6963 Timeline.HotZoneGregorianEtherPainter.prototype.zoom = function(netIntervalChange) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6964 if (netIntervalChange != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6965 for (var i = 0; i < this._zones.length; ++i) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6966 if (this._zones[i]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6967 this._zones[i].unit += netIntervalChange; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6968 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6969 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6970 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6971 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6972 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6973 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6974 * Year Count Ether Painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6975 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6976 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6977 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6978 Timeline.YearCountEtherPainter = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6979 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6980 this._theme = params.theme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6981 this._startDate = SimileAjax.DateTime.parseGregorianDateTime(params.startDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6982 this._multiple = ("multiple" in params) ? params.multiple : 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6983 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6984 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6985 Timeline.YearCountEtherPainter.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6986 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6987 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6988 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6989 this._backgroundLayer = band.createLayerDiv(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6990 this._backgroundLayer.setAttribute("name", "ether-background"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6991 this._backgroundLayer.className = 'timeline-ether-bg'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6992 // this._backgroundLayer.style.background = this._theme.ether.backgroundColors[band.getIndex()]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6993 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6994 this._markerLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6995 this._lineLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6996 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6997 var align = ("align" in this._params) ? this._params.align : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6998 this._theme.ether.interval.marker[timeline.isHorizontal() ? "hAlign" : "vAlign"]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6999 var showLine = ("showLine" in this._params) ? this._params.showLine : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7000 this._theme.ether.interval.line.show; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7001 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7002 this._intervalMarkerLayout = new Timeline.EtherIntervalMarkerLayout( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7003 this._timeline, this._band, this._theme, align, showLine); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7004 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7005 this._highlight = new Timeline.EtherHighlight( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7006 this._timeline, this._band, this._theme, this._backgroundLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7007 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7008 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7009 Timeline.YearCountEtherPainter.prototype.setHighlight = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7010 this._highlight.position(startDate, endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7011 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7012 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7013 Timeline.YearCountEtherPainter.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7014 if (this._markerLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7015 this._band.removeLayerDiv(this._markerLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7016 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7017 this._markerLayer = this._band.createLayerDiv(100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7018 this._markerLayer.setAttribute("name", "ether-markers"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7019 this._markerLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7020 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7021 if (this._lineLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7022 this._band.removeLayerDiv(this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7023 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7024 this._lineLayer = this._band.createLayerDiv(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7025 this._lineLayer.setAttribute("name", "ether-lines"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7026 this._lineLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7027 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7028 var minDate = new Date(this._startDate.getTime()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7029 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7030 var yearDiff = this._band.getMinDate().getUTCFullYear() - this._startDate.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7031 minDate.setUTCFullYear(this._band.getMinDate().getUTCFullYear() - yearDiff % this._multiple); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7032 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7033 var p = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7034 var incrementDate = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7035 for (var i = 0; i < p._multiple; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7036 SimileAjax.DateTime.incrementByInterval(date, SimileAjax.DateTime.YEAR); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7037 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7038 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7039 var labeller = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7040 labelInterval: function(date, intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7041 var diff = date.getUTCFullYear() - p._startDate.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7042 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7043 text: diff, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7044 emphasized: diff == 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7045 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7046 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7047 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7048 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7049 while (minDate.getTime() < maxDate.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7050 this._intervalMarkerLayout.createIntervalMarker( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7051 minDate, labeller, SimileAjax.DateTime.YEAR, this._markerLayer, this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7052 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7053 incrementDate(minDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7054 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7055 this._markerLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7056 this._lineLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7057 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7058 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7059 Timeline.YearCountEtherPainter.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7060 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7061 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7062 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7063 * Quarterly Ether Painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7064 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7065 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7066 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7067 Timeline.QuarterlyEtherPainter = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7068 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7069 this._theme = params.theme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7070 this._startDate = SimileAjax.DateTime.parseGregorianDateTime(params.startDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7071 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7072 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7073 Timeline.QuarterlyEtherPainter.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7074 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7075 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7076 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7077 this._backgroundLayer = band.createLayerDiv(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7078 this._backgroundLayer.setAttribute("name", "ether-background"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7079 this._backgroundLayer.className = 'timeline-ether-bg'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7080 // this._backgroundLayer.style.background = this._theme.ether.backgroundColors[band.getIndex()]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7081 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7082 this._markerLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7083 this._lineLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7084 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7085 var align = ("align" in this._params) ? this._params.align : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7086 this._theme.ether.interval.marker[timeline.isHorizontal() ? "hAlign" : "vAlign"]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7087 var showLine = ("showLine" in this._params) ? this._params.showLine : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7088 this._theme.ether.interval.line.show; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7089 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7090 this._intervalMarkerLayout = new Timeline.EtherIntervalMarkerLayout( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7091 this._timeline, this._band, this._theme, align, showLine); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7092 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7093 this._highlight = new Timeline.EtherHighlight( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7094 this._timeline, this._band, this._theme, this._backgroundLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7095 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7096 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7097 Timeline.QuarterlyEtherPainter.prototype.setHighlight = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7098 this._highlight.position(startDate, endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7099 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7100 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7101 Timeline.QuarterlyEtherPainter.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7102 if (this._markerLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7103 this._band.removeLayerDiv(this._markerLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7104 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7105 this._markerLayer = this._band.createLayerDiv(100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7106 this._markerLayer.setAttribute("name", "ether-markers"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7107 this._markerLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7108 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7109 if (this._lineLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7110 this._band.removeLayerDiv(this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7111 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7112 this._lineLayer = this._band.createLayerDiv(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7113 this._lineLayer.setAttribute("name", "ether-lines"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7114 this._lineLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7115 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7116 var minDate = new Date(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7117 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7118 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7119 minDate.setUTCFullYear(Math.max(this._startDate.getUTCFullYear(), this._band.getMinDate().getUTCFullYear())); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7120 minDate.setUTCMonth(this._startDate.getUTCMonth()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7121 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7122 var p = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7123 var incrementDate = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7124 date.setUTCMonth(date.getUTCMonth() + 3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7125 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7126 var labeller = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7127 labelInterval: function(date, intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7128 var quarters = (4 + (date.getUTCMonth() - p._startDate.getUTCMonth()) / 3) % 4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7129 if (quarters != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7130 return { text: "Q" + (quarters + 1), emphasized: false }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7131 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7132 return { text: "Y" + (date.getUTCFullYear() - p._startDate.getUTCFullYear() + 1), emphasized: true }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7133 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7134 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7135 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7136 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7137 while (minDate.getTime() < maxDate.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7138 this._intervalMarkerLayout.createIntervalMarker( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7139 minDate, labeller, SimileAjax.DateTime.YEAR, this._markerLayer, this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7140 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7141 incrementDate(minDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7142 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7143 this._markerLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7144 this._lineLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7145 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7146 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7147 Timeline.QuarterlyEtherPainter.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7148 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7149 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7150 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7151 * Ether Interval Marker Layout |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7152 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7153 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7154 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7155 Timeline.EtherIntervalMarkerLayout = function(timeline, band, theme, align, showLine) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7156 var horizontal = timeline.isHorizontal(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7157 if (horizontal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7158 if (align == "Top") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7159 this.positionDiv = function(div, offset) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7160 div.style.left = offset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7161 div.style.top = "0px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7162 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7163 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7164 this.positionDiv = function(div, offset) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7165 div.style.left = offset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7166 div.style.bottom = "0px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7167 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7168 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7169 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7170 if (align == "Left") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7171 this.positionDiv = function(div, offset) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7172 div.style.top = offset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7173 div.style.left = "0px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7174 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7175 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7176 this.positionDiv = function(div, offset) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7177 div.style.top = offset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7178 div.style.right = "0px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7179 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7180 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7181 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7182 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7183 var markerTheme = theme.ether.interval.marker; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7184 var lineTheme = theme.ether.interval.line; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7185 var weekendTheme = theme.ether.interval.weekend; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7186 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7187 var stylePrefix = (horizontal ? "h" : "v") + align; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7188 var labelStyler = markerTheme[stylePrefix + "Styler"]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7189 var emphasizedLabelStyler = markerTheme[stylePrefix + "EmphasizedStyler"]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7190 var day = SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.DAY]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7191 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7192 this.createIntervalMarker = function(date, labeller, unit, markerDiv, lineDiv) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7193 var offset = Math.round(band.dateToPixelOffset(date)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7194 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7195 if (showLine && unit != SimileAjax.DateTime.WEEK) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7196 var divLine = timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7197 divLine.className = "timeline-ether-lines"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7198 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7199 if (lineTheme.opacity < 100) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7200 SimileAjax.Graphics.setOpacity(divLine, lineTheme.opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7201 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7202 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7203 if (horizontal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7204 //divLine.className += " timeline-ether-lines-vertical"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7205 divLine.style.left = offset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7206 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7207 //divLine.className += " timeline-ether-lines-horizontal"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7208 divLine.style.top = offset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7209 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7210 lineDiv.appendChild(divLine); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7211 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7212 if (unit == SimileAjax.DateTime.WEEK) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7213 var firstDayOfWeek = theme.firstDayOfWeek; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7214 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7215 var saturday = new Date(date.getTime() + (6 - firstDayOfWeek - 7) * day); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7216 var monday = new Date(saturday.getTime() + 2 * day); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7217 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7218 var saturdayPixel = Math.round(band.dateToPixelOffset(saturday)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7219 var mondayPixel = Math.round(band.dateToPixelOffset(monday)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7220 var length = Math.max(1, mondayPixel - saturdayPixel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7221 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7222 var divWeekend = timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7223 divWeekend.className = 'timeline-ether-weekends' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7224 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7225 if (weekendTheme.opacity < 100) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7226 SimileAjax.Graphics.setOpacity(divWeekend, weekendTheme.opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7227 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7228 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7229 if (horizontal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7230 divWeekend.style.left = saturdayPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7231 divWeekend.style.width = length + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7232 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7233 divWeekend.style.top = saturdayPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7234 divWeekend.style.height = length + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7235 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7236 lineDiv.appendChild(divWeekend); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7237 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7238 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7239 var label = labeller.labelInterval(date, unit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7240 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7241 var div = timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7242 div.innerHTML = label.text; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7243 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7244 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7245 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7246 div.className = 'timeline-date-label' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7247 if(label.emphasized) div.className += ' timeline-date-label-em' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7248 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7249 this.positionDiv(div, offset); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7250 markerDiv.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7251 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7252 return div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7253 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7254 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7255 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7256 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7257 * Ether Highlight Layout |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7258 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7259 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7260 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7261 Timeline.EtherHighlight = function(timeline, band, theme, backgroundLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7262 var horizontal = timeline.isHorizontal(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7263 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7264 this._highlightDiv = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7265 this._createHighlightDiv = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7266 if (this._highlightDiv == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7267 this._highlightDiv = timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7268 this._highlightDiv.setAttribute("name", "ether-highlight"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7269 this._highlightDiv.className = 'timeline-ether-highlight' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7270 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7271 var opacity = theme.ether.highlightOpacity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7272 if (opacity < 100) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7273 SimileAjax.Graphics.setOpacity(this._highlightDiv, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7274 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7275 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7276 backgroundLayer.appendChild(this._highlightDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7277 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7278 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7279 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7280 this.position = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7281 this._createHighlightDiv(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7282 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7283 var startPixel = Math.round(band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7284 var endPixel = Math.round(band.dateToPixelOffset(endDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7285 var length = Math.max(endPixel - startPixel, 3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7286 if (horizontal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7287 this._highlightDiv.style.left = startPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7288 this._highlightDiv.style.width = length + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7289 this._highlightDiv.style.height = (band.getViewWidth() - 4) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7290 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7291 this._highlightDiv.style.top = startPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7292 this._highlightDiv.style.height = length + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7293 this._highlightDiv.style.width = (band.getViewWidth() - 4) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7294 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7295 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7296 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7297 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7298 * Event Utils |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7299 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7300 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7301 Timeline.EventUtils = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7302 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7303 Timeline.EventUtils.getNewEventID = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7304 // global across page |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7305 if (this._lastEventID == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7306 this._lastEventID = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7307 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7308 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7309 this._lastEventID += 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7310 return "e" + this._lastEventID; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7311 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7312 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7313 Timeline.EventUtils.decodeEventElID = function(elementID) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7314 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7315 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7316 * Use this function to decode an event element's id on a band (label div, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7317 * tape div or icon img). |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7318 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7319 * Returns {band: <bandObj>, evt: <eventObj>} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7320 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7321 * To enable a single event listener to monitor everything |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7322 * on a Timeline, a set format is used for the id's of the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7323 * elements on the Timeline-- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7324 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7325 * element id format for labels, icons, tapes: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7326 * labels: label-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7327 * icons: icon-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7328 * tapes: tape1-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7329 * tape2-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7330 * // some events have more than one tape |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7331 * highlight: highlight1-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7332 * highlight2-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7333 * // some events have more than one highlight div (future) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7334 * Note: use split('-') to get array of the format's parts |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7335 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7336 * You can then retrieve the timeline object and event object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7337 * by using Timeline.getTimeline, Timeline.getBand, or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7338 * Timeline.getEvent and passing in the element's id |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7339 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7340 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7341 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7342 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7343 var parts = elementID.split('-'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7344 if (parts[1] != 'tl') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7345 alert("Internal Timeline problem 101, please consult support"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7346 return {band: null, evt: null}; // early return |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7347 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7348 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7349 var timeline = Timeline.getTimelineFromID(parts[2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7350 var band = timeline.getBand(parts[3]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7351 var evt = band.getEventSource.getEvent(parts[4]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7352 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7353 return {band: band, evt: evt}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7354 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7355 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7356 Timeline.EventUtils.encodeEventElID = function(timeline, band, elType, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7357 // elType should be one of {label | icon | tapeN | highlightN} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7358 return elType + "-tl-" + timeline.timelineID + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7359 "-" + band.getIndex() + "-" + evt.getID(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7360 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7361 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7362 * Gregorian Date Labeller |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7363 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7364 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7365 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7366 Timeline.GregorianDateLabeller = function(locale, timeZone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7367 this._locale = locale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7368 this._timeZone = timeZone; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7369 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7370 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7371 Timeline.GregorianDateLabeller.monthNames = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7372 Timeline.GregorianDateLabeller.dayNames = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7373 Timeline.GregorianDateLabeller.labelIntervalFunctions = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7374 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7375 Timeline.GregorianDateLabeller.getMonthName = function(month, locale) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7376 return Timeline.GregorianDateLabeller.monthNames[locale][month]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7377 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7378 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7379 Timeline.GregorianDateLabeller.prototype.labelInterval = function(date, intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7380 var f = Timeline.GregorianDateLabeller.labelIntervalFunctions[this._locale]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7381 if (f == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7382 f = Timeline.GregorianDateLabeller.prototype.defaultLabelInterval; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7383 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7384 return f.call(this, date, intervalUnit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7385 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7386 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7387 Timeline.GregorianDateLabeller.prototype.labelPrecise = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7388 return SimileAjax.DateTime.removeTimeZoneOffset( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7389 date, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7390 this._timeZone //+ (new Date().getTimezoneOffset() / 60) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7391 ).toUTCString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7392 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7393 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7394 Timeline.GregorianDateLabeller.prototype.defaultLabelInterval = function(date, intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7395 var text; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7396 var emphasized = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7397 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7398 date = SimileAjax.DateTime.removeTimeZoneOffset(date, this._timeZone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7399 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7400 switch(intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7401 case SimileAjax.DateTime.MILLISECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7402 text = date.getUTCMilliseconds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7403 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7404 case SimileAjax.DateTime.SECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7405 text = date.getUTCSeconds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7406 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7407 case SimileAjax.DateTime.MINUTE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7408 var m = date.getUTCMinutes(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7409 if (m == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7410 text = date.getUTCHours() + ":00"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7411 emphasized = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7412 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7413 text = m; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7414 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7415 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7416 case SimileAjax.DateTime.HOUR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7417 text = date.getUTCHours() + "hr"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7418 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7419 case SimileAjax.DateTime.DAY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7420 text = Timeline.GregorianDateLabeller.getMonthName(date.getUTCMonth(), this._locale) + " " + date.getUTCDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7421 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7422 case SimileAjax.DateTime.WEEK: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7423 text = Timeline.GregorianDateLabeller.getMonthName(date.getUTCMonth(), this._locale) + " " + date.getUTCDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7424 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7425 case SimileAjax.DateTime.MONTH: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7426 var m = date.getUTCMonth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7427 if (m != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7428 text = Timeline.GregorianDateLabeller.getMonthName(m, this._locale); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7429 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7430 } // else, fall through |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7431 case SimileAjax.DateTime.YEAR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7432 case SimileAjax.DateTime.DECADE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7433 case SimileAjax.DateTime.CENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7434 case SimileAjax.DateTime.MILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7435 var y = date.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7436 if (y > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7437 text = date.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7438 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7439 text = (1 - y) + "BC"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7440 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7441 emphasized = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7442 (intervalUnit == SimileAjax.DateTime.MONTH) || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7443 (intervalUnit == SimileAjax.DateTime.DECADE && y % 100 == 0) || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7444 (intervalUnit == SimileAjax.DateTime.CENTURY && y % 1000 == 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7445 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7446 default: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7447 text = date.toUTCString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7448 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7449 return { text: text, emphasized: emphasized }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7450 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7451 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7452 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7453 * Default Event Source |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7454 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7455 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7456 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7457 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7458 Timeline.DefaultEventSource = function(eventIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7459 this._events = (eventIndex instanceof Object) ? eventIndex : new SimileAjax.EventIndex(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7460 this._listeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7461 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7462 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7463 Timeline.DefaultEventSource.prototype.addListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7464 this._listeners.push(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7465 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7466 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7467 Timeline.DefaultEventSource.prototype.removeListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7468 for (var i = 0; i < this._listeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7469 if (this._listeners[i] == listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7470 this._listeners.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7471 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7472 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7473 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7474 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7475 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7476 Timeline.DefaultEventSource.prototype.loadXML = function(xml, url) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7477 var base = this._getBaseURL(url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7478 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7479 var wikiURL = xml.documentElement.getAttribute("wiki-url"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7480 var wikiSection = xml.documentElement.getAttribute("wiki-section"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7481 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7482 var dateTimeFormat = xml.documentElement.getAttribute("date-time-format"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7483 var parseDateTimeFunction = this._events.getUnit().getParser(dateTimeFormat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7484 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7485 var node = xml.documentElement.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7486 var added = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7487 while (node != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7488 if (node.nodeType == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7489 var description = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7490 if (node.firstChild != null && node.firstChild.nodeType == 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7491 description = node.firstChild.nodeValue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7492 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7493 // instant event: default is true. Or use values from isDuration or durationEvent |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7494 var instant = (node.getAttribute("isDuration") === null && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7495 node.getAttribute("durationEvent") === null) || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7496 node.getAttribute("isDuration") == "false" || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7497 node.getAttribute("durationEvent") == "false"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7498 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7499 var evt = new Timeline.DefaultEventSource.Event( { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7500 id: node.getAttribute("id"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7501 start: parseDateTimeFunction(node.getAttribute("start")), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7502 end: parseDateTimeFunction(node.getAttribute("end")), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7503 latestStart: parseDateTimeFunction(node.getAttribute("latestStart")), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7504 earliestEnd: parseDateTimeFunction(node.getAttribute("earliestEnd")), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7505 instant: instant, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7506 text: node.getAttribute("title"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7507 description: description, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7508 image: this._resolveRelativeURL(node.getAttribute("image"), base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7509 link: this._resolveRelativeURL(node.getAttribute("link") , base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7510 icon: this._resolveRelativeURL(node.getAttribute("icon") , base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7511 color: node.getAttribute("color"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7512 textColor: node.getAttribute("textColor"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7513 hoverText: node.getAttribute("hoverText"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7514 classname: node.getAttribute("classname"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7515 tapeImage: node.getAttribute("tapeImage"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7516 tapeRepeat: node.getAttribute("tapeRepeat"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7517 caption: node.getAttribute("caption"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7518 eventID: node.getAttribute("eventID"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7519 trackNum: node.getAttribute("trackNum") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7520 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7521 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7522 evt._node = node; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7523 evt.getProperty = function(name) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7524 return this._node.getAttribute(name); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7525 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7526 evt.setWikiInfo(wikiURL, wikiSection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7527 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7528 this._events.add(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7529 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7530 added = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7531 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7532 node = node.nextSibling; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7533 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7534 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7535 if (added) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7536 this._fire("onAddMany", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7537 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7538 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7539 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7540 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7541 Timeline.DefaultEventSource.prototype.loadJSON = function(data, url) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7542 var base = this._getBaseURL(url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7543 var added = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7544 if (data && data.events){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7545 var wikiURL = ("wikiURL" in data) ? data.wikiURL : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7546 var wikiSection = ("wikiSection" in data) ? data.wikiSection : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7547 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7548 var dateTimeFormat = ("dateTimeFormat" in data) ? data.dateTimeFormat : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7549 var parseDateTimeFunction = this._events.getUnit().getParser(dateTimeFormat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7550 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7551 for (var i=0; i < data.events.length; i++){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7552 var event = data.events[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7553 // Fixing issue 33: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7554 // instant event: default (for JSON only) is false. Or use values from isDuration or durationEvent |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7555 // isDuration was negated (see issue 33, so keep that interpretation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7556 var instant = event.isDuration || (event.durationEvent != null && !event.durationEvent); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7557 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7558 var evt = new Timeline.DefaultEventSource.Event({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7559 id: ("id" in event) ? event.id : undefined, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7560 start: parseDateTimeFunction(event.start), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7561 end: parseDateTimeFunction(event.end), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7562 latestStart: parseDateTimeFunction(event.latestStart), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7563 earliestEnd: parseDateTimeFunction(event.earliestEnd), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7564 instant: instant, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7565 text: event.title, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7566 description: event.description, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7567 image: this._resolveRelativeURL(event.image, base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7568 link: this._resolveRelativeURL(event.link , base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7569 icon: this._resolveRelativeURL(event.icon , base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7570 color: event.color, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7571 textColor: event.textColor, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7572 hoverText: event.hoverText, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7573 classname: event.classname, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7574 tapeImage: event.tapeImage, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7575 tapeRepeat: event.tapeRepeat, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7576 caption: event.caption, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7577 eventID: event.eventID, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7578 trackNum: event.trackNum |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7579 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7580 evt._obj = event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7581 evt.getProperty = function(name) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7582 return this._obj[name]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7583 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7584 evt.setWikiInfo(wikiURL, wikiSection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7585 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7586 this._events.add(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7587 added = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7588 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7589 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7590 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7591 if (added) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7592 this._fire("onAddMany", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7593 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7594 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7595 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7596 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7597 * Contributed by Morten Frederiksen, http://www.wasab.dk/morten/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7598 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7599 Timeline.DefaultEventSource.prototype.loadSPARQL = function(xml, url) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7600 var base = this._getBaseURL(url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7601 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7602 var dateTimeFormat = 'iso8601'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7603 var parseDateTimeFunction = this._events.getUnit().getParser(dateTimeFormat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7604 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7605 if (xml == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7606 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7607 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7608 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7609 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7610 * Find <results> tag |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7611 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7612 var node = xml.documentElement.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7613 while (node != null && (node.nodeType != 1 || node.nodeName != 'results')) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7614 node = node.nextSibling; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7615 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7616 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7617 var wikiURL = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7618 var wikiSection = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7619 if (node != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7620 wikiURL = node.getAttribute("wiki-url"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7621 wikiSection = node.getAttribute("wiki-section"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7622 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7623 node = node.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7624 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7625 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7626 var added = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7627 while (node != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7628 if (node.nodeType == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7629 var bindings = { }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7630 var binding = node.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7631 while (binding != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7632 if (binding.nodeType == 1 && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7633 binding.firstChild != null && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7634 binding.firstChild.nodeType == 1 && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7635 binding.firstChild.firstChild != null && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7636 binding.firstChild.firstChild.nodeType == 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7637 bindings[binding.getAttribute('name')] = binding.firstChild.firstChild.nodeValue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7638 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7639 binding = binding.nextSibling; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7640 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7641 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7642 if (bindings["start"] == null && bindings["date"] != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7643 bindings["start"] = bindings["date"]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7644 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7645 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7646 // instant event: default is true. Or use values from isDuration or durationEvent |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7647 var instant = (bindings["isDuration"] === null && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7648 bindings["durationEvent"] === null) || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7649 bindings["isDuration"] == "false" || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7650 bindings["durationEvent"] == "false"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7651 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7652 var evt = new Timeline.DefaultEventSource.Event({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7653 id: bindings["id"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7654 start: parseDateTimeFunction(bindings["start"]), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7655 end: parseDateTimeFunction(bindings["end"]), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7656 latestStart: parseDateTimeFunction(bindings["latestStart"]), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7657 earliestEnd: parseDateTimeFunction(bindings["earliestEnd"]), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7658 instant: instant, // instant |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7659 text: bindings["title"], // text |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7660 description: bindings["description"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7661 image: this._resolveRelativeURL(bindings["image"], base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7662 link: this._resolveRelativeURL(bindings["link"] , base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7663 icon: this._resolveRelativeURL(bindings["icon"] , base), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7664 color: bindings["color"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7665 textColor: bindings["textColor"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7666 hoverText: bindings["hoverText"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7667 caption: bindings["caption"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7668 classname: bindings["classname"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7669 tapeImage: bindings["tapeImage"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7670 tapeRepeat: bindings["tapeRepeat"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7671 eventID: bindings["eventID"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7672 trackNum: bindings["trackNum"] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7673 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7674 evt._bindings = bindings; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7675 evt.getProperty = function(name) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7676 return this._bindings[name]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7677 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7678 evt.setWikiInfo(wikiURL, wikiSection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7679 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7680 this._events.add(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7681 added = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7682 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7683 node = node.nextSibling; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7684 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7685 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7686 if (added) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7687 this._fire("onAddMany", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7688 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7689 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7690 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7691 Timeline.DefaultEventSource.prototype.add = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7692 this._events.add(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7693 this._fire("onAddOne", [evt]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7694 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7695 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7696 Timeline.DefaultEventSource.prototype.addMany = function(events) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7697 for (var i = 0; i < events.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7698 this._events.add(events[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7699 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7700 this._fire("onAddMany", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7701 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7702 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7703 Timeline.DefaultEventSource.prototype.clear = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7704 this._events.removeAll(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7705 this._fire("onClear", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7706 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7707 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7708 Timeline.DefaultEventSource.prototype.getEvent = function(id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7709 return this._events.getEvent(id); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7710 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7711 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7712 Timeline.DefaultEventSource.prototype.getEventIterator = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7713 return this._events.getIterator(startDate, endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7714 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7715 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7716 Timeline.DefaultEventSource.prototype.getEventReverseIterator = function(startDate, endDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7717 return this._events.getReverseIterator(startDate, endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7718 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7719 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7720 Timeline.DefaultEventSource.prototype.getAllEventIterator = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7721 return this._events.getAllIterator(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7722 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7723 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7724 Timeline.DefaultEventSource.prototype.getCount = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7725 return this._events.getCount(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7726 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7727 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7728 Timeline.DefaultEventSource.prototype.getEarliestDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7729 return this._events.getEarliestDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7730 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7731 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7732 Timeline.DefaultEventSource.prototype.getLatestDate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7733 return this._events.getLatestDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7734 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7735 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7736 Timeline.DefaultEventSource.prototype._fire = function(handlerName, args) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7737 for (var i = 0; i < this._listeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7738 var listener = this._listeners[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7739 if (handlerName in listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7740 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7741 listener[handlerName].apply(listener, args); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7742 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7743 SimileAjax.Debug.exception(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7744 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7745 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7746 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7747 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7748 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7749 Timeline.DefaultEventSource.prototype._getBaseURL = function(url) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7750 if (url.indexOf("://") < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7751 var url2 = this._getBaseURL(document.location.href); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7752 if (url.substr(0,1) == "/") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7753 url = url2.substr(0, url2.indexOf("/", url2.indexOf("://") + 3)) + url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7754 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7755 url = url2 + url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7756 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7757 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7758 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7759 var i = url.lastIndexOf("/"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7760 if (i < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7761 return ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7762 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7763 return url.substr(0, i+1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7764 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7765 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7766 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7767 Timeline.DefaultEventSource.prototype._resolveRelativeURL = function(url, base) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7768 if (url == null || url == "") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7769 return url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7770 } else if (url.indexOf("://") > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7771 return url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7772 } else if (url.substr(0,1) == "/") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7773 return base.substr(0, base.indexOf("/", base.indexOf("://") + 3)) + url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7774 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7775 return base + url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7776 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7777 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7778 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7779 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7780 Timeline.DefaultEventSource.Event = function(args) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7781 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7782 // Attention developers! |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7783 // If you add a new event attribute, please be sure to add it to |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7784 // all three load functions: loadXML, loadSPARCL, loadJSON. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7785 // Thanks! |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7786 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7787 // args is a hash/object. It supports the following keys. Most are optional |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7788 // id -- an internal id. Really shouldn't be used by events. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7789 // Timeline library clients should use eventID |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7790 // eventID -- For use by library client when writing custom painters or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7791 // custom fillInfoBubble |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7792 // start |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7793 // end |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7794 // latestStart |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7795 // earliestEnd |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7796 // instant -- boolean. Controls precise/non-precise logic & duration/instant issues |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7797 // text -- event source attribute 'title' -- used as the label on Timelines and in bubbles. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7798 // description -- used in bubbles |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7799 // image -- used in bubbles |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7800 // link -- used in bubbles |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7801 // icon -- on the Timeline |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7802 // color -- Timeline label and tape color |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7803 // textColor -- Timeline label color, overrides color attribute |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7804 // hoverText -- deprecated, here for backwards compatibility. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7805 // Superceeded by caption |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7806 // caption -- tooltip-like caption on the Timeline. Uses HTML title attribute |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7807 // classname -- used to set classname in Timeline. Enables better CSS selector rules |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7808 // tapeImage -- background image of the duration event's tape div on the Timeline |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7809 // tapeRepeat -- repeat attribute for tapeImage. {repeat | repeat-x | repeat-y } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7810 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7811 function cleanArg(arg) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7812 // clean up an arg |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7813 return (args[arg] != null && args[arg] != "") ? args[arg] : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7814 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7815 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7816 var id = args.id ? args.id.trim() : ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7817 this._id = id.length > 0 ? id : Timeline.EventUtils.getNewEventID(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7818 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7819 this._instant = args.instant || (args.end == null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7820 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7821 this._start = args.start; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7822 this._end = (args.end != null) ? args.end : args.start; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7823 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7824 this._latestStart = (args.latestStart != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7825 args.latestStart : (args.instant ? this._end : this._start); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7826 this._earliestEnd = (args.earliestEnd != null) ? args.earliestEnd : this._end; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7827 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7828 // check sanity of dates since incorrect dates will later cause calculation errors |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7829 // when painting |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7830 var err=[]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7831 if (this._start > this._latestStart) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7832 this._latestStart = this._start; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7833 err.push("start is > latestStart");} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7834 if (this._start > this._earliestEnd) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7835 this._earliestEnd = this._latestStart; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7836 err.push("start is > earliestEnd");} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7837 if (this._start > this._end) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7838 this._end = this._earliestEnd; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7839 err.push("start is > end");} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7840 if (this._latestStart > this._earliestEnd) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7841 this._earliestEnd = this._latestStart; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7842 err.push("latestStart is > earliestEnd");} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7843 if (this._latestStart > this._end) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7844 this._end = this._earliestEnd; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7845 err.push("latestStart is > end");} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7846 if (this._earliestEnd > this._end) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7847 this._end = this._earliestEnd; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7848 err.push("earliestEnd is > end");} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7849 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7850 this._eventID = cleanArg('eventID'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7851 this._text = (args.text != null) ? SimileAjax.HTML.deEntify(args.text) : ""; // Change blank titles to "" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7852 if (err.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7853 this._text += " PROBLEM: " + err.join(", "); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7854 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7855 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7856 this._description = SimileAjax.HTML.deEntify(args.description); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7857 this._image = cleanArg('image'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7858 this._link = cleanArg('link'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7859 this._title = cleanArg('hoverText'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7860 this._title = cleanArg('caption'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7861 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7862 this._icon = cleanArg('icon'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7863 this._color = cleanArg('color'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7864 this._textColor = cleanArg('textColor'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7865 this._classname = cleanArg('classname'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7866 this._tapeImage = cleanArg('tapeImage'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7867 this._tapeRepeat = cleanArg('tapeRepeat'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7868 this._trackNum = cleanArg('trackNum'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7869 if (this._trackNum != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7870 this._trackNum = parseInt(this._trackNum); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7871 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7872 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7873 this._wikiURL = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7874 this._wikiSection = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7875 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7876 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7877 Timeline.DefaultEventSource.Event.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7878 getID: function() { return this._id; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7879 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7880 isInstant: function() { return this._instant; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7881 isImprecise: function() { return this._start != this._latestStart || this._end != this._earliestEnd; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7882 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7883 getStart: function() { return this._start; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7884 getEnd: function() { return this._end; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7885 getLatestStart: function() { return this._latestStart; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7886 getEarliestEnd: function() { return this._earliestEnd; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7887 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7888 getEventID: function() { return this._eventID; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7889 getText: function() { return this._text; }, // title |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7890 getDescription: function() { return this._description; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7891 getImage: function() { return this._image; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7892 getLink: function() { return this._link; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7893 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7894 getIcon: function() { return this._icon; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7895 getColor: function() { return this._color; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7896 getTextColor: function() { return this._textColor; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7897 getClassName: function() { return this._classname; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7898 getTapeImage: function() { return this._tapeImage; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7899 getTapeRepeat: function() { return this._tapeRepeat; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7900 getTrackNum: function() { return this._trackNum; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7901 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7902 getProperty: function(name) { return null; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7903 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7904 getWikiURL: function() { return this._wikiURL; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7905 getWikiSection: function() { return this._wikiSection; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7906 setWikiInfo: function(wikiURL, wikiSection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7907 this._wikiURL = wikiURL; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7908 this._wikiSection = wikiSection; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7909 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7910 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7911 fillDescription: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7912 elmt.innerHTML = this._description; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7913 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7914 fillWikiInfo: function(elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7915 // Many bubbles will not support a wiki link. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7916 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7917 // Strategy: assume no wiki link. If we do have |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7918 // enough parameters for one, then create it. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7919 elmt.style.display = "none"; // default |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7920 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7921 if (this._wikiURL == null || this._wikiSection == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7922 return; // EARLY RETURN |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7923 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7924 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7925 // create the wikiID from the property or from the event text (the title) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7926 var wikiID = this.getProperty("wikiID"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7927 if (wikiID == null || wikiID.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7928 wikiID = this.getText(); // use the title as the backup wiki id |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7929 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7930 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7931 if (wikiID == null || wikiID.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7932 return; // No wikiID. Thus EARLY RETURN |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7933 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7934 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7935 // ready to go... |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7936 elmt.style.display = "inline"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7937 wikiID = wikiID.replace(/\s/g, "_"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7938 var url = this._wikiURL + this._wikiSection.replace(/\s/g, "_") + "/" + wikiID; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7939 var a = document.createElement("a"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7940 a.href = url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7941 a.target = "new"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7942 a.innerHTML = Timeline.strings[Timeline.clientLocale].wikiLinkLabel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7943 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7944 elmt.appendChild(document.createTextNode("[")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7945 elmt.appendChild(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7946 elmt.appendChild(document.createTextNode("]")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7947 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7948 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7949 fillTime: function(elmt, labeller) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7950 if (this._instant) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7951 if (this.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7952 elmt.appendChild(elmt.ownerDocument.createTextNode(labeller.labelPrecise(this._start))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7953 elmt.appendChild(elmt.ownerDocument.createElement("br")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7954 elmt.appendChild(elmt.ownerDocument.createTextNode(labeller.labelPrecise(this._end))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7955 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7956 elmt.appendChild(elmt.ownerDocument.createTextNode(labeller.labelPrecise(this._start))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7957 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7958 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7959 if (this.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7960 elmt.appendChild(elmt.ownerDocument.createTextNode( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7961 labeller.labelPrecise(this._start) + " ~ " + labeller.labelPrecise(this._latestStart))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7962 elmt.appendChild(elmt.ownerDocument.createElement("br")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7963 elmt.appendChild(elmt.ownerDocument.createTextNode( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7964 labeller.labelPrecise(this._earliestEnd) + " ~ " + labeller.labelPrecise(this._end))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7965 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7966 elmt.appendChild(elmt.ownerDocument.createTextNode(labeller.labelPrecise(this._start))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7967 elmt.appendChild(elmt.ownerDocument.createElement("br")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7968 elmt.appendChild(elmt.ownerDocument.createTextNode(labeller.labelPrecise(this._end))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7969 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7970 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7971 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7972 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7973 fillInfoBubble: function(elmt, theme, labeller) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7974 var doc = elmt.ownerDocument; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7975 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7976 var title = this.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7977 var link = this.getLink(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7978 var image = this.getImage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7979 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7980 if (image != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7981 var img = doc.createElement("img"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7982 img.src = image; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7983 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7984 theme.event.bubble.imageStyler(img); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7985 elmt.appendChild(img); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7986 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7987 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7988 var divTitle = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7989 var textTitle = doc.createTextNode(title); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7990 if (link != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7991 var a = doc.createElement("a"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7992 a.href = link; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7993 a.appendChild(textTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7994 divTitle.appendChild(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7995 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7996 divTitle.appendChild(textTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7997 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7998 theme.event.bubble.titleStyler(divTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7999 elmt.appendChild(divTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8000 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8001 var divBody = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8002 this.fillDescription(divBody); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8003 theme.event.bubble.bodyStyler(divBody); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8004 elmt.appendChild(divBody); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8005 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8006 var divTime = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8007 this.fillTime(divTime, labeller); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8008 theme.event.bubble.timeStyler(divTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8009 elmt.appendChild(divTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8010 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8011 var divWiki = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8012 this.fillWikiInfo(divWiki); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8013 theme.event.bubble.wikiStyler(divWiki); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8014 elmt.appendChild(divWiki); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8015 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8016 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8017 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8018 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8019 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8020 * Original Event Painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8021 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8022 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8023 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8024 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8025 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8026 * To enable a single event listener to monitor everything |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8027 * on a Timeline, we need a way to map from an event's icon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8028 * label or tape element to the associated timeline, band and |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8029 * specific event. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8030 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8031 * Thus a set format is used for the id's of the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8032 * events' elements on the Timeline-- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8033 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8034 * element id format for labels, icons, tapes: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8035 * labels: label-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8036 * icons: icon-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8037 * tapes: tape1-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8038 * tape2-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8039 * // some events have more than one tape |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8040 * highlight: highlight1-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8041 * highlight2-tl-<timelineID>-<band_index>-<evt.id> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8042 * // some events have more than one highlight div (future) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8043 * You can then retrieve the band/timeline objects and event object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8044 * by using Timeline.EventUtils.decodeEventElID |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8045 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8046 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8047 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8048 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8049 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8050 * eventPaintListener functions receive calls about painting. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8051 * function(band, op, evt, els) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8052 * context: 'this' will be an OriginalEventPainter object. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8053 * It has properties and methods for obtaining |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8054 * the relevant band, timeline, etc |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8055 * band = the band being painted |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8056 * op = 'paintStarting' // the painter is about to remove |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8057 * all previously painted events, if any. It will |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8058 * then start painting all of the visible events that |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8059 * pass the filter. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8060 * evt = null, els = null |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8061 * op = 'paintEnded' // the painter has finished painting |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8062 * all of the visible events that passed the filter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8063 * evt = null, els = null |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8064 * op = 'paintedEvent' // the painter just finished painting an event |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8065 * evt = event just painted |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8066 * els = array of painted elements' divs. Depending on the event, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8067 * the array could be just a tape or icon (if no label). |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8068 * Or could include label, multiple tape divs (imprecise event), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8069 * highlight divs. The array is not ordered. The meaning of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8070 * each el is available by decoding the el's id |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8071 * Note that there may be no paintedEvent calls if no events were visible |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8072 * or passed the filter. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8073 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8074 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8075 Timeline.OriginalEventPainter = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8076 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8077 this._onSelectListeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8078 this._eventPaintListeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8079 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8080 this._filterMatcher = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8081 this._highlightMatcher = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8082 this._frc = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8083 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8084 this._eventIdToElmt = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8085 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8086 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8087 Timeline.OriginalEventPainter.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8088 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8089 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8090 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8091 this._backLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8092 this._eventLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8093 this._lineLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8094 this._highlightLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8095 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8096 this._eventIdToElmt = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8097 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8098 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8099 Timeline.OriginalEventPainter.prototype.getType = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8100 return 'original'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8101 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8102 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8103 Timeline.OriginalEventPainter.prototype.addOnSelectListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8104 this._onSelectListeners.push(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8105 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8106 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8107 Timeline.OriginalEventPainter.prototype.removeOnSelectListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8108 for (var i = 0; i < this._onSelectListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8109 if (this._onSelectListeners[i] == listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8110 this._onSelectListeners.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8111 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8112 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8113 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8114 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8115 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8116 Timeline.OriginalEventPainter.prototype.addEventPaintListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8117 this._eventPaintListeners.push(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8118 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8119 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8120 Timeline.OriginalEventPainter.prototype.removeEventPaintListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8121 for (var i = 0; i < this._eventPaintListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8122 if (this._eventPaintListeners[i] == listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8123 this._eventPaintListeners.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8124 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8125 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8126 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8127 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8128 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8129 Timeline.OriginalEventPainter.prototype.getFilterMatcher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8130 return this._filterMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8131 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8132 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8133 Timeline.OriginalEventPainter.prototype.setFilterMatcher = function(filterMatcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8134 this._filterMatcher = filterMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8135 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8136 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8137 Timeline.OriginalEventPainter.prototype.getHighlightMatcher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8138 return this._highlightMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8139 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8140 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8141 Timeline.OriginalEventPainter.prototype.setHighlightMatcher = function(highlightMatcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8142 this._highlightMatcher = highlightMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8143 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8144 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8145 Timeline.OriginalEventPainter.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8146 // Paints the events for a given section of the band--what is |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8147 // visible on screen and some extra. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8148 var eventSource = this._band.getEventSource(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8149 if (eventSource == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8150 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8151 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8152 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8153 this._eventIdToElmt = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8154 this._fireEventPaintListeners('paintStarting', null, null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8155 this._prepareForPainting(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8156 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8157 var eventTheme = this._params.theme.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8158 var trackHeight = Math.max(eventTheme.track.height, eventTheme.tape.height + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8159 this._frc.getLineHeight()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8160 var metrics = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8161 trackOffset: eventTheme.track.offset, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8162 trackHeight: trackHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8163 trackGap: eventTheme.track.gap, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8164 trackIncrement: trackHeight + eventTheme.track.gap, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8165 icon: eventTheme.instant.icon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8166 iconWidth: eventTheme.instant.iconWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8167 iconHeight: eventTheme.instant.iconHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8168 labelWidth: eventTheme.label.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8169 maxLabelChar: eventTheme.label.maxLabelChar, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8170 impreciseIconMargin: eventTheme.instant.impreciseIconMargin |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8171 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8172 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8173 var minDate = this._band.getMinDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8174 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8175 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8176 var filterMatcher = (this._filterMatcher != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8177 this._filterMatcher : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8178 function(evt) { return true; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8179 var highlightMatcher = (this._highlightMatcher != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8180 this._highlightMatcher : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8181 function(evt) { return -1; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8182 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8183 var iterator = eventSource.getEventReverseIterator(minDate, maxDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8184 while (iterator.hasNext()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8185 var evt = iterator.next(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8186 if (filterMatcher(evt)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8187 this.paintEvent(evt, metrics, this._params.theme, highlightMatcher(evt)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8188 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8189 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8190 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8191 this._highlightLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8192 this._lineLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8193 this._eventLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8194 // update the band object for max number of tracks in this section of the ether |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8195 this._band.updateEventTrackInfo(this._tracks.length, metrics.trackIncrement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8196 this._fireEventPaintListeners('paintEnded', null, null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8197 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8198 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8199 Timeline.OriginalEventPainter.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8200 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8201 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8202 Timeline.OriginalEventPainter.prototype._prepareForPainting = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8203 // Remove everything previously painted: highlight, line and event layers. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8204 // Prepare blank layers for painting. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8205 var band = this._band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8206 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8207 if (this._backLayer == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8208 this._backLayer = this._band.createLayerDiv(0, "timeline-band-events"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8209 this._backLayer.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8210 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8211 var eventLabelPrototype = document.createElement("span"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8212 eventLabelPrototype.className = "timeline-event-label"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8213 this._backLayer.appendChild(eventLabelPrototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8214 this._frc = SimileAjax.Graphics.getFontRenderingContext(eventLabelPrototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8215 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8216 this._frc.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8217 this._tracks = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8218 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8219 if (this._highlightLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8220 band.removeLayerDiv(this._highlightLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8221 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8222 this._highlightLayer = band.createLayerDiv(105, "timeline-band-highlights"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8223 this._highlightLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8224 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8225 if (this._lineLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8226 band.removeLayerDiv(this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8227 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8228 this._lineLayer = band.createLayerDiv(110, "timeline-band-lines"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8229 this._lineLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8230 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8231 if (this._eventLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8232 band.removeLayerDiv(this._eventLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8233 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8234 this._eventLayer = band.createLayerDiv(115, "timeline-band-events"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8235 this._eventLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8236 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8237 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8238 Timeline.OriginalEventPainter.prototype.paintEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8239 if (evt.isInstant()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8240 this.paintInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8241 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8242 this.paintDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8243 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8244 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8245 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8246 Timeline.OriginalEventPainter.prototype.paintInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8247 if (evt.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8248 this.paintImpreciseInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8249 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8250 this.paintPreciseInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8251 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8252 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8253 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8254 Timeline.OriginalEventPainter.prototype.paintDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8255 if (evt.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8256 this.paintImpreciseDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8257 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8258 this.paintPreciseDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8259 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8260 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8261 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8262 Timeline.OriginalEventPainter.prototype.paintPreciseInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8263 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8264 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8265 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8266 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8267 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8268 var iconRightEdge = Math.round(startPixel + metrics.iconWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8269 var iconLeftEdge = Math.round(startPixel - metrics.iconWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8270 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8271 var labelDivClassName = this._getLabelDivClassName(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8272 var labelSize = this._frc.computeSize(text, labelDivClassName); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8273 var labelLeft = iconRightEdge + theme.event.label.offsetFromLine; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8274 var labelRight = labelLeft + labelSize.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8275 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8276 var rightEdge = labelRight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8277 var track = this._findFreeTrack(evt, rightEdge); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8278 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8279 var labelTop = Math.round( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8280 metrics.trackOffset + track * metrics.trackIncrement + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8281 metrics.trackHeight / 2 - labelSize.height / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8282 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8283 var iconElmtData = this._paintEventIcon(evt, track, iconLeftEdge, metrics, theme, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8284 var labelElmtData = this._paintEventLabel(evt, text, labelLeft, labelTop, labelSize.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8285 labelSize.height, theme, labelDivClassName, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8286 var els = [iconElmtData.elmt, labelElmtData.elmt]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8287 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8288 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8289 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8290 return self._onClickInstantEvent(iconElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8291 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8292 SimileAjax.DOM.registerEvent(iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8293 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8294 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8295 var hDiv = this._createHighlightDiv(highlightIndex, iconElmtData, theme, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8296 if (hDiv != null) {els.push(hDiv);} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8297 this._fireEventPaintListeners('paintedEvent', evt, els); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8298 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8299 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8300 this._eventIdToElmt[evt.getID()] = iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8301 this._tracks[track] = iconLeftEdge; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8302 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8303 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8304 Timeline.OriginalEventPainter.prototype.paintImpreciseInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8305 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8306 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8307 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8308 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8309 var endDate = evt.getEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8310 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8311 var endPixel = Math.round(this._band.dateToPixelOffset(endDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8312 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8313 var iconRightEdge = Math.round(startPixel + metrics.iconWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8314 var iconLeftEdge = Math.round(startPixel - metrics.iconWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8315 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8316 var labelDivClassName = this._getLabelDivClassName(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8317 var labelSize = this._frc.computeSize(text, labelDivClassName); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8318 var labelLeft = iconRightEdge + theme.event.label.offsetFromLine; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8319 var labelRight = labelLeft + labelSize.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8320 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8321 var rightEdge = Math.max(labelRight, endPixel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8322 var track = this._findFreeTrack(evt, rightEdge); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8323 var tapeHeight = theme.event.tape.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8324 var labelTop = Math.round( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8325 metrics.trackOffset + track * metrics.trackIncrement + tapeHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8326 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8327 var iconElmtData = this._paintEventIcon(evt, track, iconLeftEdge, metrics, theme, tapeHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8328 var labelElmtData = this._paintEventLabel(evt, text, labelLeft, labelTop, labelSize.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8329 labelSize.height, theme, labelDivClassName, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8330 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8331 var color = evt.getColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8332 color = color != null ? color : theme.event.instant.impreciseColor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8333 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8334 var tapeElmtData = this._paintEventTape(evt, track, startPixel, endPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8335 color, theme.event.instant.impreciseOpacity, metrics, theme, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8336 var els = [iconElmtData.elmt, labelElmtData.elmt, tapeElmtData.elmt]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8337 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8338 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8339 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8340 return self._onClickInstantEvent(iconElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8341 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8342 SimileAjax.DOM.registerEvent(iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8343 SimileAjax.DOM.registerEvent(tapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8344 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8345 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8346 var hDiv = this._createHighlightDiv(highlightIndex, iconElmtData, theme, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8347 if (hDiv != null) {els.push(hDiv);} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8348 this._fireEventPaintListeners('paintedEvent', evt, els); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8349 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8350 this._eventIdToElmt[evt.getID()] = iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8351 this._tracks[track] = iconLeftEdge; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8352 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8353 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8354 Timeline.OriginalEventPainter.prototype.paintPreciseDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8355 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8356 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8357 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8358 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8359 var endDate = evt.getEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8360 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8361 var endPixel = Math.round(this._band.dateToPixelOffset(endDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8362 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8363 var labelDivClassName = this._getLabelDivClassName(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8364 var labelSize = this._frc.computeSize(text, labelDivClassName); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8365 var labelLeft = startPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8366 var labelRight = labelLeft + labelSize.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8367 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8368 var rightEdge = Math.max(labelRight, endPixel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8369 var track = this._findFreeTrack(evt, rightEdge); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8370 var labelTop = Math.round( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8371 metrics.trackOffset + track * metrics.trackIncrement + theme.event.tape.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8372 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8373 var color = evt.getColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8374 color = color != null ? color : theme.event.duration.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8375 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8376 var tapeElmtData = this._paintEventTape(evt, track, startPixel, endPixel, color, 100, metrics, theme, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8377 var labelElmtData = this._paintEventLabel(evt, text, labelLeft, labelTop, labelSize.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8378 labelSize.height, theme, labelDivClassName, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8379 var els = [tapeElmtData.elmt, labelElmtData.elmt]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8380 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8381 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8382 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8383 return self._onClickDurationEvent(tapeElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8384 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8385 SimileAjax.DOM.registerEvent(tapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8386 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8387 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8388 var hDiv = this._createHighlightDiv(highlightIndex, tapeElmtData, theme, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8389 if (hDiv != null) {els.push(hDiv);} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8390 this._fireEventPaintListeners('paintedEvent', evt, els); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8391 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8392 this._eventIdToElmt[evt.getID()] = tapeElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8393 this._tracks[track] = startPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8394 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8395 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8396 Timeline.OriginalEventPainter.prototype.paintImpreciseDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8397 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8398 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8399 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8400 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8401 var latestStartDate = evt.getLatestStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8402 var endDate = evt.getEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8403 var earliestEndDate = evt.getEarliestEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8404 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8405 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8406 var latestStartPixel = Math.round(this._band.dateToPixelOffset(latestStartDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8407 var endPixel = Math.round(this._band.dateToPixelOffset(endDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8408 var earliestEndPixel = Math.round(this._band.dateToPixelOffset(earliestEndDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8409 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8410 var labelDivClassName = this._getLabelDivClassName(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8411 var labelSize = this._frc.computeSize(text, labelDivClassName); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8412 var labelLeft = latestStartPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8413 var labelRight = labelLeft + labelSize.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8414 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8415 var rightEdge = Math.max(labelRight, endPixel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8416 var track = this._findFreeTrack(evt, rightEdge); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8417 var labelTop = Math.round( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8418 metrics.trackOffset + track * metrics.trackIncrement + theme.event.tape.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8419 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8420 var color = evt.getColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8421 color = color != null ? color : theme.event.duration.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8422 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8423 // Imprecise events can have two event tapes |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8424 // The imprecise dates tape, uses opacity to be dimmer than precise dates |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8425 var impreciseTapeElmtData = this._paintEventTape(evt, track, startPixel, endPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8426 theme.event.duration.impreciseColor, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8427 theme.event.duration.impreciseOpacity, metrics, theme, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8428 // The precise dates tape, regular (100%) opacity |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8429 var tapeElmtData = this._paintEventTape(evt, track, latestStartPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8430 earliestEndPixel, color, 100, metrics, theme, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8431 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8432 var labelElmtData = this._paintEventLabel(evt, text, labelLeft, labelTop, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8433 labelSize.width, labelSize.height, theme, labelDivClassName, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8434 var els = [impreciseTapeElmtData.elmt, tapeElmtData.elmt, labelElmtData.elmt]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8435 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8436 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8437 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8438 return self._onClickDurationEvent(tapeElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8439 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8440 SimileAjax.DOM.registerEvent(tapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8441 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8442 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8443 var hDiv = this._createHighlightDiv(highlightIndex, tapeElmtData, theme, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8444 if (hDiv != null) {els.push(hDiv);} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8445 this._fireEventPaintListeners('paintedEvent', evt, els); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8446 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8447 this._eventIdToElmt[evt.getID()] = tapeElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8448 this._tracks[track] = startPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8449 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8450 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8451 Timeline.OriginalEventPainter.prototype._encodeEventElID = function(elType, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8452 return Timeline.EventUtils.encodeEventElID(this._timeline, this._band, elType, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8453 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8454 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8455 Timeline.OriginalEventPainter.prototype._findFreeTrack = function(event, rightEdge) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8456 var trackAttribute = event.getTrackNum(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8457 if (trackAttribute != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8458 return trackAttribute; // early return since event includes track number |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8459 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8460 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8461 // normal case: find an open track |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8462 for (var i = 0; i < this._tracks.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8463 var t = this._tracks[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8464 if (t > rightEdge) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8465 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8466 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8467 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8468 return i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8469 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8470 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8471 Timeline.OriginalEventPainter.prototype._paintEventIcon = function(evt, iconTrack, left, metrics, theme, tapeHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8472 // If no tape, then paint the icon in the middle of the track. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8473 // If there is a tape, paint the icon below the tape + impreciseIconMargin |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8474 var icon = evt.getIcon(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8475 icon = icon != null ? icon : metrics.icon; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8476 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8477 var top; // top of the icon |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8478 if (tapeHeight > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8479 top = metrics.trackOffset + iconTrack * metrics.trackIncrement + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8480 tapeHeight + metrics.impreciseIconMargin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8481 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8482 var middle = metrics.trackOffset + iconTrack * metrics.trackIncrement + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8483 metrics.trackHeight / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8484 top = Math.round(middle - metrics.iconHeight / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8485 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8486 var img = SimileAjax.Graphics.createTranslucentImage(icon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8487 var iconDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8488 iconDiv.className = this._getElClassName('timeline-event-icon', evt, 'icon'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8489 iconDiv.id = this._encodeEventElID('icon', evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8490 iconDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8491 iconDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8492 iconDiv.appendChild(img); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8493 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8494 if(evt._title != null) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8495 iconDiv.title = evt._title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8496 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8497 this._eventLayer.appendChild(iconDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8498 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8499 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8500 left: left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8501 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8502 width: metrics.iconWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8503 height: metrics.iconHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8504 elmt: iconDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8505 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8506 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8507 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8508 Timeline.OriginalEventPainter.prototype._paintEventLabel = function(evt, text, left, top, width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8509 height, theme, labelDivClassName, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8510 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8511 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8512 var labelDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8513 labelDiv.className = labelDivClassName; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8514 labelDiv.id = this._encodeEventElID('label', evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8515 labelDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8516 labelDiv.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8517 labelDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8518 labelDiv.innerHTML = text; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8519 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8520 if(evt._title != null) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8521 labelDiv.title = evt._title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8522 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8523 var color = evt.getTextColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8524 if (color == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8525 color = evt.getColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8526 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8527 if (color != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8528 labelDiv.style.color = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8529 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8530 if (theme.event.highlightLabelBackground && highlightIndex >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8531 labelDiv.style.background = this._getHighlightColor(highlightIndex, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8532 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8533 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8534 this._eventLayer.appendChild(labelDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8535 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8536 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8537 left: left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8538 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8539 width: width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8540 height: height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8541 elmt: labelDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8542 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8543 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8544 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8545 Timeline.OriginalEventPainter.prototype._paintEventTape = function( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8546 evt, iconTrack, startPixel, endPixel, color, opacity, metrics, theme, tape_index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8547 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8548 var tapeWidth = endPixel - startPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8549 var tapeHeight = theme.event.tape.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8550 var top = metrics.trackOffset + iconTrack * metrics.trackIncrement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8551 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8552 var tapeDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8553 tapeDiv.className = this._getElClassName('timeline-event-tape', evt, 'tape'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8554 tapeDiv.id = this._encodeEventElID('tape' + tape_index, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8555 tapeDiv.style.left = startPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8556 tapeDiv.style.width = tapeWidth + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8557 tapeDiv.style.height = tapeHeight + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8558 tapeDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8559 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8560 if(evt._title != null) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8561 tapeDiv.title = evt._title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8562 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8563 if(color != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8564 tapeDiv.style.backgroundColor = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8565 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8566 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8567 var backgroundImage = evt.getTapeImage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8568 var backgroundRepeat = evt.getTapeRepeat(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8569 backgroundRepeat = backgroundRepeat != null ? backgroundRepeat : 'repeat'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8570 if(backgroundImage != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8571 tapeDiv.style.backgroundImage = "url(" + backgroundImage + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8572 tapeDiv.style.backgroundRepeat = backgroundRepeat; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8573 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8574 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8575 SimileAjax.Graphics.setOpacity(tapeDiv, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8576 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8577 this._eventLayer.appendChild(tapeDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8578 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8579 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8580 left: startPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8581 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8582 width: tapeWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8583 height: tapeHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8584 elmt: tapeDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8585 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8586 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8587 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8588 Timeline.OriginalEventPainter.prototype._getLabelDivClassName = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8589 return this._getElClassName('timeline-event-label', evt, 'label'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8590 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8591 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8592 Timeline.OriginalEventPainter.prototype._getElClassName = function(elClassName, evt, prefix) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8593 // Prefix and '_' is added to the event's classname. Set to null for no prefix |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8594 var evt_classname = evt.getClassName(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8595 pieces = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8596 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8597 if (evt_classname) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8598 if (prefix) {pieces.push(prefix + '-' + evt_classname + ' ');} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8599 pieces.push(evt_classname + ' '); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8600 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8601 pieces.push(elClassName); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8602 return(pieces.join('')); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8603 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8604 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8605 Timeline.OriginalEventPainter.prototype._getHighlightColor = function(highlightIndex, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8606 var highlightColors = theme.event.highlightColors; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8607 return highlightColors[Math.min(highlightIndex, highlightColors.length - 1)]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8608 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8609 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8610 Timeline.OriginalEventPainter.prototype._createHighlightDiv = function(highlightIndex, dimensions, theme, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8611 var div = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8612 if (highlightIndex >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8613 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8614 var color = this._getHighlightColor(highlightIndex, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8615 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8616 div = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8617 div.className = this._getElClassName('timeline-event-highlight', evt, 'highlight'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8618 div.id = this._encodeEventElID('highlight0', evt); // in future will have other |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8619 // highlight divs for tapes + icons |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8620 div.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8621 div.style.overflow = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8622 div.style.left = (dimensions.left - 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8623 div.style.width = (dimensions.width + 4) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8624 div.style.top = (dimensions.top - 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8625 div.style.height = (dimensions.height + 4) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8626 div.style.background = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8627 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8628 this._highlightLayer.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8629 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8630 return div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8631 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8632 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8633 Timeline.OriginalEventPainter.prototype._onClickInstantEvent = function(icon, domEvt, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8634 var c = SimileAjax.DOM.getPageCoordinates(icon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8635 this._showBubble( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8636 c.left + Math.ceil(icon.offsetWidth / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8637 c.top + Math.ceil(icon.offsetHeight / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8638 evt |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8639 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8640 this._fireOnSelect(evt.getID()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8641 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8642 domEvt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8643 SimileAjax.DOM.cancelEvent(domEvt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8644 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8645 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8646 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8647 Timeline.OriginalEventPainter.prototype._onClickDurationEvent = function(target, domEvt, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8648 if ("pageX" in domEvt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8649 var x = domEvt.pageX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8650 var y = domEvt.pageY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8651 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8652 var c = SimileAjax.DOM.getPageCoordinates(target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8653 var x = domEvt.offsetX + c.left; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8654 var y = domEvt.offsetY + c.top; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8655 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8656 this._showBubble(x, y, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8657 this._fireOnSelect(evt.getID()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8658 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8659 domEvt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8660 SimileAjax.DOM.cancelEvent(domEvt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8661 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8662 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8663 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8664 Timeline.OriginalEventPainter.prototype.showBubble = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8665 var elmt = this._eventIdToElmt[evt.getID()]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8666 if (elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8667 var c = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8668 this._showBubble(c.left + elmt.offsetWidth / 2, c.top + elmt.offsetHeight / 2, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8669 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8670 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8671 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8672 Timeline.OriginalEventPainter.prototype._showBubble = function(x, y, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8673 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8674 var themeBubble = this._params.theme.event.bubble; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8675 evt.fillInfoBubble(div, this._params.theme, this._band.getLabeller()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8676 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8677 SimileAjax.WindowManager.cancelPopups(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8678 SimileAjax.Graphics.createBubbleForContentAndPoint(div, x, y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8679 themeBubble.width, null, themeBubble.maxHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8680 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8681 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8682 Timeline.OriginalEventPainter.prototype._fireOnSelect = function(eventID) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8683 for (var i = 0; i < this._onSelectListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8684 this._onSelectListeners[i](eventID); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8685 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8686 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8687 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8688 Timeline.OriginalEventPainter.prototype._fireEventPaintListeners = function(op, evt, els) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8689 for (var i = 0; i < this._eventPaintListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8690 this._eventPaintListeners[i](this._band, op, evt, els); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8691 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8692 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8693 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8694 * Detailed Event Painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8695 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8696 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8697 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8698 // Note: a number of features from original-painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8699 // are not yet implemented in detailed painter. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8700 // Eg classname, id attributes for icons, labels, tapes |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8701 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8702 Timeline.DetailedEventPainter = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8703 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8704 this._onSelectListeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8705 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8706 this._filterMatcher = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8707 this._highlightMatcher = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8708 this._frc = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8709 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8710 this._eventIdToElmt = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8711 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8712 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8713 Timeline.DetailedEventPainter.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8714 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8715 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8716 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8717 this._backLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8718 this._eventLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8719 this._lineLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8720 this._highlightLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8721 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8722 this._eventIdToElmt = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8723 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8724 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8725 Timeline.DetailedEventPainter.prototype.getType = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8726 return 'detailed'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8727 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8728 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8729 Timeline.DetailedEventPainter.prototype.addOnSelectListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8730 this._onSelectListeners.push(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8731 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8732 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8733 Timeline.DetailedEventPainter.prototype.removeOnSelectListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8734 for (var i = 0; i < this._onSelectListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8735 if (this._onSelectListeners[i] == listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8736 this._onSelectListeners.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8737 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8738 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8739 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8740 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8741 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8742 Timeline.DetailedEventPainter.prototype.getFilterMatcher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8743 return this._filterMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8744 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8745 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8746 Timeline.DetailedEventPainter.prototype.setFilterMatcher = function(filterMatcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8747 this._filterMatcher = filterMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8748 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8749 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8750 Timeline.DetailedEventPainter.prototype.getHighlightMatcher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8751 return this._highlightMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8752 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8753 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8754 Timeline.DetailedEventPainter.prototype.setHighlightMatcher = function(highlightMatcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8755 this._highlightMatcher = highlightMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8756 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8757 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8758 Timeline.DetailedEventPainter.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8759 var eventSource = this._band.getEventSource(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8760 if (eventSource == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8761 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8762 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8763 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8764 this._eventIdToElmt = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8765 this._prepareForPainting(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8766 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8767 var eventTheme = this._params.theme.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8768 var trackHeight = Math.max(eventTheme.track.height, this._frc.getLineHeight()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8769 var metrics = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8770 trackOffset: Math.round(this._band.getViewWidth() / 2 - trackHeight / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8771 trackHeight: trackHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8772 trackGap: eventTheme.track.gap, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8773 trackIncrement: trackHeight + eventTheme.track.gap, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8774 icon: eventTheme.instant.icon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8775 iconWidth: eventTheme.instant.iconWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8776 iconHeight: eventTheme.instant.iconHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8777 labelWidth: eventTheme.label.width |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8778 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8779 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8780 var minDate = this._band.getMinDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8781 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8782 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8783 var filterMatcher = (this._filterMatcher != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8784 this._filterMatcher : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8785 function(evt) { return true; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8786 var highlightMatcher = (this._highlightMatcher != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8787 this._highlightMatcher : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8788 function(evt) { return -1; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8789 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8790 var iterator = eventSource.getEventReverseIterator(minDate, maxDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8791 while (iterator.hasNext()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8792 var evt = iterator.next(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8793 if (filterMatcher(evt)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8794 this.paintEvent(evt, metrics, this._params.theme, highlightMatcher(evt)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8795 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8796 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8797 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8798 this._highlightLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8799 this._lineLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8800 this._eventLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8801 // update the band object for max number of tracks in this section of the ether |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8802 this._band.updateEventTrackInfo(this._lowerTracks.length + this._upperTracks.length, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8803 metrics.trackIncrement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8804 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8805 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8806 Timeline.DetailedEventPainter.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8807 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8808 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8809 Timeline.DetailedEventPainter.prototype._prepareForPainting = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8810 var band = this._band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8811 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8812 if (this._backLayer == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8813 this._backLayer = this._band.createLayerDiv(0, "timeline-band-events"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8814 this._backLayer.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8815 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8816 var eventLabelPrototype = document.createElement("span"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8817 eventLabelPrototype.className = "timeline-event-label"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8818 this._backLayer.appendChild(eventLabelPrototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8819 this._frc = SimileAjax.Graphics.getFontRenderingContext(eventLabelPrototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8820 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8821 this._frc.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8822 this._lowerTracks = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8823 this._upperTracks = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8824 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8825 if (this._highlightLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8826 band.removeLayerDiv(this._highlightLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8827 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8828 this._highlightLayer = band.createLayerDiv(105, "timeline-band-highlights"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8829 this._highlightLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8830 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8831 if (this._lineLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8832 band.removeLayerDiv(this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8833 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8834 this._lineLayer = band.createLayerDiv(110, "timeline-band-lines"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8835 this._lineLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8836 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8837 if (this._eventLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8838 band.removeLayerDiv(this._eventLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8839 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8840 this._eventLayer = band.createLayerDiv(110, "timeline-band-events"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8841 this._eventLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8842 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8843 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8844 Timeline.DetailedEventPainter.prototype.paintEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8845 if (evt.isInstant()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8846 this.paintInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8847 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8848 this.paintDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8849 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8850 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8851 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8852 Timeline.DetailedEventPainter.prototype.paintInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8853 if (evt.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8854 this.paintImpreciseInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8855 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8856 this.paintPreciseInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8857 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8858 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8859 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8860 Timeline.DetailedEventPainter.prototype.paintDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8861 if (evt.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8862 this.paintImpreciseDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8863 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8864 this.paintPreciseDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8865 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8866 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8867 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8868 Timeline.DetailedEventPainter.prototype.paintPreciseInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8869 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8870 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8871 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8872 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8873 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8874 var iconRightEdge = Math.round(startPixel + metrics.iconWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8875 var iconLeftEdge = Math.round(startPixel - metrics.iconWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8876 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8877 var labelSize = this._frc.computeSize(text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8878 var iconTrack = this._findFreeTrackForSolid(iconRightEdge, startPixel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8879 var iconElmtData = this._paintEventIcon(evt, iconTrack, iconLeftEdge, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8880 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8881 var labelLeft = iconRightEdge + theme.event.label.offsetFromLine; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8882 var labelTrack = iconTrack; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8883 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8884 var iconTrackData = this._getTrackData(iconTrack); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8885 if (Math.min(iconTrackData.solid, iconTrackData.text) >= labelLeft + labelSize.width) { // label on the same track, to the right of icon |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8886 iconTrackData.solid = iconLeftEdge; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8887 iconTrackData.text = labelLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8888 } else { // label on a different track, below icon |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8889 iconTrackData.solid = iconLeftEdge; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8890 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8891 labelLeft = startPixel + theme.event.label.offsetFromLine; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8892 labelTrack = this._findFreeTrackForText(iconTrack, labelLeft + labelSize.width, function(t) { t.line = startPixel - 2; }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8893 this._getTrackData(labelTrack).text = iconLeftEdge; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8894 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8895 this._paintEventLine(evt, startPixel, iconTrack, labelTrack, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8896 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8897 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8898 var labelTop = Math.round( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8899 metrics.trackOffset + labelTrack * metrics.trackIncrement + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8900 metrics.trackHeight / 2 - labelSize.height / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8901 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8902 var labelElmtData = this._paintEventLabel(evt, text, labelLeft, labelTop, labelSize.width, labelSize.height, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8903 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8904 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8905 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8906 return self._onClickInstantEvent(iconElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8907 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8908 SimileAjax.DOM.registerEvent(iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8909 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8910 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8911 this._createHighlightDiv(highlightIndex, iconElmtData, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8912 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8913 this._eventIdToElmt[evt.getID()] = iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8914 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8915 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8916 Timeline.DetailedEventPainter.prototype.paintImpreciseInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8917 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8918 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8919 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8920 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8921 var endDate = evt.getEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8922 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8923 var endPixel = Math.round(this._band.dateToPixelOffset(endDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8924 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8925 var iconRightEdge = Math.round(startPixel + metrics.iconWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8926 var iconLeftEdge = Math.round(startPixel - metrics.iconWidth / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8927 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8928 var labelSize = this._frc.computeSize(text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8929 var iconTrack = this._findFreeTrackForSolid(endPixel, startPixel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8930 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8931 var tapeElmtData = this._paintEventTape(evt, iconTrack, startPixel, endPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8932 theme.event.instant.impreciseColor, theme.event.instant.impreciseOpacity, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8933 var iconElmtData = this._paintEventIcon(evt, iconTrack, iconLeftEdge, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8934 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8935 var iconTrackData = this._getTrackData(iconTrack); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8936 iconTrackData.solid = iconLeftEdge; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8937 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8938 var labelLeft = iconRightEdge + theme.event.label.offsetFromLine; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8939 var labelRight = labelLeft + labelSize.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8940 var labelTrack; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8941 if (labelRight < endPixel) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8942 labelTrack = iconTrack; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8943 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8944 labelLeft = startPixel + theme.event.label.offsetFromLine; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8945 labelRight = labelLeft + labelSize.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8946 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8947 labelTrack = this._findFreeTrackForText(iconTrack, labelRight, function(t) { t.line = startPixel - 2; }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8948 this._getTrackData(labelTrack).text = iconLeftEdge; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8949 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8950 this._paintEventLine(evt, startPixel, iconTrack, labelTrack, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8951 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8952 var labelTop = Math.round( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8953 metrics.trackOffset + labelTrack * metrics.trackIncrement + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8954 metrics.trackHeight / 2 - labelSize.height / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8955 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8956 var labelElmtData = this._paintEventLabel(evt, text, labelLeft, labelTop, labelSize.width, labelSize.height, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8957 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8958 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8959 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8960 return self._onClickInstantEvent(iconElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8961 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8962 SimileAjax.DOM.registerEvent(iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8963 SimileAjax.DOM.registerEvent(tapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8964 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8965 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8966 this._createHighlightDiv(highlightIndex, iconElmtData, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8967 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8968 this._eventIdToElmt[evt.getID()] = iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8969 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8970 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8971 Timeline.DetailedEventPainter.prototype.paintPreciseDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8972 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8973 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8974 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8975 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8976 var endDate = evt.getEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8977 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8978 var endPixel = Math.round(this._band.dateToPixelOffset(endDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8979 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8980 var labelSize = this._frc.computeSize(text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8981 var tapeTrack = this._findFreeTrackForSolid(endPixel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8982 var color = evt.getColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8983 color = color != null ? color : theme.event.duration.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8984 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8985 var tapeElmtData = this._paintEventTape(evt, tapeTrack, startPixel, endPixel, color, 100, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8986 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8987 var tapeTrackData = this._getTrackData(tapeTrack); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8988 tapeTrackData.solid = startPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8989 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8990 var labelLeft = startPixel + theme.event.label.offsetFromLine; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8991 var labelTrack = this._findFreeTrackForText(tapeTrack, labelLeft + labelSize.width, function(t) { t.line = startPixel - 2; }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8992 this._getTrackData(labelTrack).text = startPixel - 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8993 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8994 this._paintEventLine(evt, startPixel, tapeTrack, labelTrack, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8995 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8996 var labelTop = Math.round( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8997 metrics.trackOffset + labelTrack * metrics.trackIncrement + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8998 metrics.trackHeight / 2 - labelSize.height / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8999 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9000 var labelElmtData = this._paintEventLabel(evt, text, labelLeft, labelTop, labelSize.width, labelSize.height, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9001 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9002 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9003 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9004 return self._onClickDurationEvent(tapeElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9005 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9006 SimileAjax.DOM.registerEvent(tapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9007 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9008 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9009 this._createHighlightDiv(highlightIndex, tapeElmtData, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9010 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9011 this._eventIdToElmt[evt.getID()] = tapeElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9012 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9013 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9014 Timeline.DetailedEventPainter.prototype.paintImpreciseDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9015 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9016 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9017 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9018 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9019 var latestStartDate = evt.getLatestStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9020 var endDate = evt.getEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9021 var earliestEndDate = evt.getEarliestEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9022 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9023 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9024 var latestStartPixel = Math.round(this._band.dateToPixelOffset(latestStartDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9025 var endPixel = Math.round(this._band.dateToPixelOffset(endDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9026 var earliestEndPixel = Math.round(this._band.dateToPixelOffset(earliestEndDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9027 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9028 var labelSize = this._frc.computeSize(text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9029 var tapeTrack = this._findFreeTrackForSolid(endPixel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9030 var color = evt.getColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9031 color = color != null ? color : theme.event.duration.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9032 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9033 var impreciseTapeElmtData = this._paintEventTape(evt, tapeTrack, startPixel, endPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9034 theme.event.duration.impreciseColor, theme.event.duration.impreciseOpacity, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9035 var tapeElmtData = this._paintEventTape(evt, tapeTrack, latestStartPixel, earliestEndPixel, color, 100, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9036 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9037 var tapeTrackData = this._getTrackData(tapeTrack); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9038 tapeTrackData.solid = startPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9039 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9040 var labelLeft = latestStartPixel + theme.event.label.offsetFromLine; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9041 var labelTrack = this._findFreeTrackForText(tapeTrack, labelLeft + labelSize.width, function(t) { t.line = latestStartPixel - 2; }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9042 this._getTrackData(labelTrack).text = latestStartPixel - 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9043 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9044 this._paintEventLine(evt, latestStartPixel, tapeTrack, labelTrack, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9045 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9046 var labelTop = Math.round( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9047 metrics.trackOffset + labelTrack * metrics.trackIncrement + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9048 metrics.trackHeight / 2 - labelSize.height / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9049 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9050 var labelElmtData = this._paintEventLabel(evt, text, labelLeft, labelTop, labelSize.width, labelSize.height, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9051 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9052 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9053 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9054 return self._onClickDurationEvent(tapeElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9055 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9056 SimileAjax.DOM.registerEvent(tapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9057 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9058 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9059 this._createHighlightDiv(highlightIndex, tapeElmtData, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9060 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9061 this._eventIdToElmt[evt.getID()] = tapeElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9062 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9063 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9064 Timeline.DetailedEventPainter.prototype._findFreeTrackForSolid = function(solidEdge, softEdge) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9065 for (var i = 0; true; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9066 if (i < this._lowerTracks.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9067 var t = this._lowerTracks[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9068 if (Math.min(t.solid, t.text) > solidEdge && (!(softEdge) || t.line > softEdge)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9069 return i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9070 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9071 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9072 this._lowerTracks.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9073 solid: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9074 text: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9075 line: Number.POSITIVE_INFINITY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9076 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9077 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9078 return i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9079 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9080 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9081 if (i < this._upperTracks.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9082 var t = this._upperTracks[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9083 if (Math.min(t.solid, t.text) > solidEdge && (!(softEdge) || t.line > softEdge)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9084 return -1 - i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9085 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9086 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9087 this._upperTracks.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9088 solid: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9089 text: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9090 line: Number.POSITIVE_INFINITY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9091 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9092 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9093 return -1 - i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9094 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9095 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9096 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9097 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9098 Timeline.DetailedEventPainter.prototype._findFreeTrackForText = function(fromTrack, edge, occupiedTrackVisitor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9099 var extendUp; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9100 var index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9101 var firstIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9102 var result; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9103 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9104 if (fromTrack < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9105 extendUp = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9106 firstIndex = -fromTrack; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9107 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9108 index = this._findFreeUpperTrackForText(firstIndex, edge); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9109 result = -1 - index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9110 } else if (fromTrack > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9111 extendUp = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9112 firstIndex = fromTrack + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9113 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9114 index = this._findFreeLowerTrackForText(firstIndex, edge); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9115 result = index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9116 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9117 var upIndex = this._findFreeUpperTrackForText(0, edge); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9118 var downIndex = this._findFreeLowerTrackForText(1, edge); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9119 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9120 if (downIndex - 1 <= upIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9121 extendUp = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9122 firstIndex = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9123 index = downIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9124 result = index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9125 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9126 extendUp = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9127 firstIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9128 index = upIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9129 result = -1 - index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9130 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9131 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9132 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9133 if (extendUp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9134 if (index == this._upperTracks.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9135 this._upperTracks.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9136 solid: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9137 text: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9138 line: Number.POSITIVE_INFINITY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9139 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9140 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9141 for (var i = firstIndex; i < index; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9142 occupiedTrackVisitor(this._upperTracks[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9143 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9144 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9145 if (index == this._lowerTracks.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9146 this._lowerTracks.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9147 solid: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9148 text: Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9149 line: Number.POSITIVE_INFINITY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9150 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9151 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9152 for (var i = firstIndex; i < index; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9153 occupiedTrackVisitor(this._lowerTracks[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9154 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9155 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9156 return result; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9157 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9158 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9159 Timeline.DetailedEventPainter.prototype._findFreeLowerTrackForText = function(index, edge) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9160 for (; index < this._lowerTracks.length; index++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9161 var t = this._lowerTracks[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9162 if (Math.min(t.solid, t.text) >= edge) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9163 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9164 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9165 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9166 return index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9167 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9168 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9169 Timeline.DetailedEventPainter.prototype._findFreeUpperTrackForText = function(index, edge) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9170 for (; index < this._upperTracks.length; index++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9171 var t = this._upperTracks[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9172 if (Math.min(t.solid, t.text) >= edge) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9173 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9174 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9175 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9176 return index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9177 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9178 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9179 Timeline.DetailedEventPainter.prototype._getTrackData = function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9180 return (index < 0) ? this._upperTracks[-index - 1] : this._lowerTracks[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9181 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9182 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9183 Timeline.DetailedEventPainter.prototype._paintEventLine = function(evt, left, startTrack, endTrack, metrics, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9184 var top = Math.round(metrics.trackOffset + startTrack * metrics.trackIncrement + metrics.trackHeight / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9185 var height = Math.round(Math.abs(endTrack - startTrack) * metrics.trackIncrement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9186 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9187 var lineStyle = "1px solid " + theme.event.label.lineColor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9188 var lineDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9189 lineDiv.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9190 lineDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9191 lineDiv.style.width = theme.event.label.offsetFromLine + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9192 lineDiv.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9193 if (startTrack > endTrack) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9194 lineDiv.style.top = (top - height) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9195 lineDiv.style.borderTop = lineStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9196 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9197 lineDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9198 lineDiv.style.borderBottom = lineStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9199 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9200 lineDiv.style.borderLeft = lineStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9201 this._lineLayer.appendChild(lineDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9202 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9203 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9204 Timeline.DetailedEventPainter.prototype._paintEventIcon = function(evt, iconTrack, left, metrics, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9205 var icon = evt.getIcon(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9206 icon = icon != null ? icon : metrics.icon; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9207 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9208 var middle = metrics.trackOffset + iconTrack * metrics.trackIncrement + metrics.trackHeight / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9209 var top = Math.round(middle - metrics.iconHeight / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9210 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9211 var img = SimileAjax.Graphics.createTranslucentImage(icon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9212 var iconDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9213 iconDiv.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9214 iconDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9215 iconDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9216 iconDiv.appendChild(img); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9217 iconDiv.style.cursor = "pointer"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9218 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9219 if(evt._title != null) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9220 iconDiv.title = evt._title |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9221 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9222 this._eventLayer.appendChild(iconDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9223 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9224 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9225 left: left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9226 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9227 width: metrics.iconWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9228 height: metrics.iconHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9229 elmt: iconDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9230 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9231 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9232 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9233 Timeline.DetailedEventPainter.prototype._paintEventLabel = function(evt, text, left, top, width, height, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9234 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9235 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9236 var labelBackgroundDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9237 labelBackgroundDiv.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9238 labelBackgroundDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9239 labelBackgroundDiv.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9240 labelBackgroundDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9241 labelBackgroundDiv.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9242 labelBackgroundDiv.style.backgroundColor = theme.event.label.backgroundColor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9243 SimileAjax.Graphics.setOpacity(labelBackgroundDiv, theme.event.label.backgroundOpacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9244 this._eventLayer.appendChild(labelBackgroundDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9245 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9246 var labelDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9247 labelDiv.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9248 labelDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9249 labelDiv.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9250 labelDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9251 labelDiv.innerHTML = text; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9252 labelDiv.style.cursor = "pointer"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9253 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9254 if(evt._title != null) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9255 labelDiv.title = evt._title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9256 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9257 var color = evt.getTextColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9258 if (color == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9259 color = evt.getColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9260 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9261 if (color != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9262 labelDiv.style.color = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9263 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9264 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9265 this._eventLayer.appendChild(labelDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9266 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9267 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9268 left: left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9269 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9270 width: width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9271 height: height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9272 elmt: labelDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9273 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9274 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9275 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9276 Timeline.DetailedEventPainter.prototype._paintEventTape = function( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9277 evt, iconTrack, startPixel, endPixel, color, opacity, metrics, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9278 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9279 var tapeWidth = endPixel - startPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9280 var tapeHeight = theme.event.tape.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9281 var middle = metrics.trackOffset + iconTrack * metrics.trackIncrement + metrics.trackHeight / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9282 var top = Math.round(middle - tapeHeight / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9283 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9284 var tapeDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9285 tapeDiv.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9286 tapeDiv.style.left = startPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9287 tapeDiv.style.width = tapeWidth + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9288 tapeDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9289 tapeDiv.style.height = tapeHeight + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9290 tapeDiv.style.backgroundColor = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9291 tapeDiv.style.overflow = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9292 tapeDiv.style.cursor = "pointer"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9293 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9294 if(evt._title != null) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9295 tapeDiv.title = evt._title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9296 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9297 SimileAjax.Graphics.setOpacity(tapeDiv, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9298 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9299 this._eventLayer.appendChild(tapeDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9300 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9301 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9302 left: startPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9303 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9304 width: tapeWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9305 height: tapeHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9306 elmt: tapeDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9307 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9308 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9309 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9310 Timeline.DetailedEventPainter.prototype._createHighlightDiv = function(highlightIndex, dimensions, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9311 if (highlightIndex >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9312 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9313 var eventTheme = theme.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9314 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9315 var color = eventTheme.highlightColors[Math.min(highlightIndex, eventTheme.highlightColors.length - 1)]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9316 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9317 var div = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9318 div.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9319 div.style.overflow = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9320 div.style.left = (dimensions.left - 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9321 div.style.width = (dimensions.width + 4) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9322 div.style.top = (dimensions.top - 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9323 div.style.height = (dimensions.height + 4) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9324 div.style.background = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9325 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9326 this._highlightLayer.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9327 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9328 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9329 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9330 Timeline.DetailedEventPainter.prototype._onClickInstantEvent = function(icon, domEvt, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9331 var c = SimileAjax.DOM.getPageCoordinates(icon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9332 this._showBubble( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9333 c.left + Math.ceil(icon.offsetWidth / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9334 c.top + Math.ceil(icon.offsetHeight / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9335 evt |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9336 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9337 this._fireOnSelect(evt.getID()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9338 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9339 domEvt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9340 SimileAjax.DOM.cancelEvent(domEvt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9341 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9342 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9343 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9344 Timeline.DetailedEventPainter.prototype._onClickDurationEvent = function(target, domEvt, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9345 if ("pageX" in domEvt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9346 var x = domEvt.pageX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9347 var y = domEvt.pageY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9348 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9349 var c = SimileAjax.DOM.getPageCoordinates(target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9350 var x = domEvt.offsetX + c.left; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9351 var y = domEvt.offsetY + c.top; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9352 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9353 this._showBubble(x, y, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9354 this._fireOnSelect(evt.getID()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9355 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9356 domEvt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9357 SimileAjax.DOM.cancelEvent(domEvt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9358 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9359 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9360 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9361 Timeline.DetailedEventPainter.prototype.showBubble = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9362 var elmt = this._eventIdToElmt[evt.getID()]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9363 if (elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9364 var c = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9365 this._showBubble(c.left + elmt.offsetWidth / 2, c.top + elmt.offsetHeight / 2, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9366 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9367 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9369 Timeline.DetailedEventPainter.prototype._showBubble = function(x, y, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9370 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9371 var themeBubble = this._params.theme.event.bubble; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9372 evt.fillInfoBubble(div, this._params.theme, this._band.getLabeller()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9373 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9374 SimileAjax.WindowManager.cancelPopups(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9375 SimileAjax.Graphics.createBubbleForContentAndPoint(div, x, y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9376 themeBubble.width, null, themeBubble.maxHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9377 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9378 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9379 Timeline.DetailedEventPainter.prototype._fireOnSelect = function(eventID) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9380 for (var i = 0; i < this._onSelectListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9381 this._onSelectListeners[i](eventID); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9382 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9383 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9384 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9385 * Overview Event Painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9386 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9387 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9388 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9389 Timeline.OverviewEventPainter = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9390 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9391 this._onSelectListeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9392 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9393 this._filterMatcher = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9394 this._highlightMatcher = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9395 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9396 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9397 Timeline.OverviewEventPainter.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9398 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9399 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9400 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9401 this._eventLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9402 this._highlightLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9403 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9404 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9405 Timeline.OverviewEventPainter.prototype.getType = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9406 return 'overview'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9407 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9408 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9409 Timeline.OverviewEventPainter.prototype.addOnSelectListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9410 this._onSelectListeners.push(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9411 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9412 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9413 Timeline.OverviewEventPainter.prototype.removeOnSelectListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9414 for (var i = 0; i < this._onSelectListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9415 if (this._onSelectListeners[i] == listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9416 this._onSelectListeners.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9417 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9418 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9419 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9420 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9421 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9422 Timeline.OverviewEventPainter.prototype.getFilterMatcher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9423 return this._filterMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9424 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9425 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9426 Timeline.OverviewEventPainter.prototype.setFilterMatcher = function(filterMatcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9427 this._filterMatcher = filterMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9428 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9429 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9430 Timeline.OverviewEventPainter.prototype.getHighlightMatcher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9431 return this._highlightMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9432 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9433 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9434 Timeline.OverviewEventPainter.prototype.setHighlightMatcher = function(highlightMatcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9435 this._highlightMatcher = highlightMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9436 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9437 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9438 Timeline.OverviewEventPainter.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9439 var eventSource = this._band.getEventSource(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9440 if (eventSource == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9441 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9442 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9443 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9444 this._prepareForPainting(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9445 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9446 var eventTheme = this._params.theme.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9447 var metrics = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9448 trackOffset: eventTheme.overviewTrack.offset, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9449 trackHeight: eventTheme.overviewTrack.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9450 trackGap: eventTheme.overviewTrack.gap, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9451 trackIncrement: eventTheme.overviewTrack.height + eventTheme.overviewTrack.gap |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9452 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9453 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9454 var minDate = this._band.getMinDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9455 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9456 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9457 var filterMatcher = (this._filterMatcher != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9458 this._filterMatcher : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9459 function(evt) { return true; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9460 var highlightMatcher = (this._highlightMatcher != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9461 this._highlightMatcher : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9462 function(evt) { return -1; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9463 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9464 var iterator = eventSource.getEventReverseIterator(minDate, maxDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9465 while (iterator.hasNext()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9466 var evt = iterator.next(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9467 if (filterMatcher(evt)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9468 this.paintEvent(evt, metrics, this._params.theme, highlightMatcher(evt)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9469 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9470 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9471 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9472 this._highlightLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9473 this._eventLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9474 // update the band object for max number of tracks in this section of the ether |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9475 this._band.updateEventTrackInfo(this._tracks.length, metrics.trackIncrement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9476 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9477 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9478 Timeline.OverviewEventPainter.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9479 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9480 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9481 Timeline.OverviewEventPainter.prototype._prepareForPainting = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9482 var band = this._band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9483 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9484 this._tracks = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9485 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9486 if (this._highlightLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9487 band.removeLayerDiv(this._highlightLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9488 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9489 this._highlightLayer = band.createLayerDiv(105, "timeline-band-highlights"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9490 this._highlightLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9491 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9492 if (this._eventLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9493 band.removeLayerDiv(this._eventLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9494 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9495 this._eventLayer = band.createLayerDiv(110, "timeline-band-events"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9496 this._eventLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9497 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9498 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9499 Timeline.OverviewEventPainter.prototype.paintEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9500 if (evt.isInstant()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9501 this.paintInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9502 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9503 this.paintDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9504 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9505 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9506 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9507 Timeline.OverviewEventPainter.prototype.paintInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9508 var startDate = evt.getStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9509 var startPixel = Math.round(this._band.dateToPixelOffset(startDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9510 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9511 var color = evt.getColor(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9512 klassName = evt.getClassName(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9513 if (klassName) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9514 color = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9515 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9516 color = color != null ? color : theme.event.duration.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9517 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9518 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9519 var tickElmtData = this._paintEventTick(evt, startPixel, color, 100, metrics, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9520 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9521 this._createHighlightDiv(highlightIndex, tickElmtData, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9522 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9523 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9524 Timeline.OverviewEventPainter.prototype.paintDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9525 var latestStartDate = evt.getLatestStart(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9526 var earliestEndDate = evt.getEarliestEnd(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9527 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9528 var latestStartPixel = Math.round(this._band.dateToPixelOffset(latestStartDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9529 var earliestEndPixel = Math.round(this._band.dateToPixelOffset(earliestEndDate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9530 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9531 var tapeTrack = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9532 for (; tapeTrack < this._tracks.length; tapeTrack++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9533 if (earliestEndPixel < this._tracks[tapeTrack]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9534 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9535 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9536 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9537 this._tracks[tapeTrack] = earliestEndPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9538 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9539 var color = evt.getColor(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9540 klassName = evt.getClassName(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9541 if (klassName) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9542 color = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9543 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9544 color = color != null ? color : theme.event.duration.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9545 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9546 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9547 var tapeElmtData = this._paintEventTape(evt, tapeTrack, latestStartPixel, earliestEndPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9548 color, 100, metrics, theme, klassName); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9549 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9550 this._createHighlightDiv(highlightIndex, tapeElmtData, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9551 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9552 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9553 Timeline.OverviewEventPainter.prototype._paintEventTape = function( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9554 evt, track, left, right, color, opacity, metrics, theme, klassName) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9555 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9556 var top = metrics.trackOffset + track * metrics.trackIncrement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9557 var width = right - left; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9558 var height = metrics.trackHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9559 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9560 var tapeDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9561 tapeDiv.className = 'timeline-small-event-tape' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9562 if (klassName) {tapeDiv.className += ' small-' + klassName;} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9563 tapeDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9564 tapeDiv.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9565 tapeDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9566 tapeDiv.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9567 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9568 if (color) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9569 tapeDiv.style.backgroundColor = color; // set color here if defined by event. Else use css |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9570 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9571 // tapeDiv.style.overflow = "hidden"; // now set in css |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9572 // tapeDiv.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9573 if(opacity<100) SimileAjax.Graphics.setOpacity(tapeDiv, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9574 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9575 this._eventLayer.appendChild(tapeDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9576 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9577 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9578 left: left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9579 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9580 width: width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9581 height: height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9582 elmt: tapeDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9583 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9584 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9585 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9586 Timeline.OverviewEventPainter.prototype._paintEventTick = function( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9587 evt, left, color, opacity, metrics, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9588 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9589 var height = theme.event.overviewTrack.tickHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9590 var top = metrics.trackOffset - height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9591 var width = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9592 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9593 var tickDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9594 tickDiv.className = 'timeline-small-event-icon' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9595 tickDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9596 tickDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9597 // tickDiv.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9598 // tickDiv.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9599 // tickDiv.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9600 // tickDiv.style.backgroundColor = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9601 // tickDiv.style.overflow = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9602 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9603 var klassName = evt.getClassName() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9604 if (klassName) {tickDiv.className +=' small-' + klassName}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9605 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9606 if(opacity<100) {SimileAjax.Graphics.setOpacity(tickDiv, opacity)}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9607 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9608 this._eventLayer.appendChild(tickDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9609 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9610 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9611 left: left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9612 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9613 width: width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9614 height: height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9615 elmt: tickDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9616 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9617 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9618 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9619 Timeline.OverviewEventPainter.prototype._createHighlightDiv = function(highlightIndex, dimensions, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9620 if (highlightIndex >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9621 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9622 var eventTheme = theme.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9623 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9624 var color = eventTheme.highlightColors[Math.min(highlightIndex, eventTheme.highlightColors.length - 1)]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9625 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9626 var div = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9627 div.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9628 div.style.overflow = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9629 div.style.left = (dimensions.left - 1) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9630 div.style.width = (dimensions.width + 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9631 div.style.top = (dimensions.top - 1) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9632 div.style.height = (dimensions.height + 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9633 div.style.background = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9634 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9635 this._highlightLayer.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9636 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9637 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9638 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9639 Timeline.OverviewEventPainter.prototype.showBubble = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9640 // not implemented |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9641 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9642 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9643 * Original Event Painter |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9644 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9645 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9646 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9647 Timeline.CompactEventPainter = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9648 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9649 this._onSelectListeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9650 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9651 this._filterMatcher = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9652 this._highlightMatcher = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9653 this._frc = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9654 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9655 this._eventIdToElmt = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9656 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9657 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9658 Timeline.CompactEventPainter.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9659 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9660 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9661 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9662 this._backLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9663 this._eventLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9664 this._lineLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9665 this._highlightLayer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9666 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9667 this._eventIdToElmt = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9668 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9669 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9670 Timeline.CompactEventPainter.prototype.addOnSelectListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9671 this._onSelectListeners.push(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9672 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9673 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9674 Timeline.CompactEventPainter.prototype.removeOnSelectListener = function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9675 for (var i = 0; i < this._onSelectListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9676 if (this._onSelectListeners[i] == listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9677 this._onSelectListeners.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9678 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9679 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9680 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9681 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9682 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9683 Timeline.CompactEventPainter.prototype.getFilterMatcher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9684 return this._filterMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9685 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9686 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9687 Timeline.CompactEventPainter.prototype.setFilterMatcher = function(filterMatcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9688 this._filterMatcher = filterMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9689 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9690 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9691 Timeline.CompactEventPainter.prototype.getHighlightMatcher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9692 return this._highlightMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9693 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9694 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9695 Timeline.CompactEventPainter.prototype.setHighlightMatcher = function(highlightMatcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9696 this._highlightMatcher = highlightMatcher; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9697 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9698 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9699 Timeline.CompactEventPainter.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9700 var eventSource = this._band.getEventSource(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9701 if (eventSource == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9702 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9703 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9704 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9705 this._eventIdToElmt = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9706 this._prepareForPainting(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9707 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9708 var theme = this._params.theme; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9709 var eventTheme = theme.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9710 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9711 var metrics = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9712 trackOffset: "trackOffset" in this._params ? this._params.trackOffset : 10, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9713 trackHeight: "trackHeight" in this._params ? this._params.trackHeight : 10, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9714 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9715 tapeHeight: theme.event.tape.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9716 tapeBottomMargin: "tapeBottomMargin" in this._params ? this._params.tapeBottomMargin : 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9717 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9718 labelBottomMargin: "labelBottomMargin" in this._params ? this._params.labelBottomMargin : 5, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9719 labelRightMargin: "labelRightMargin" in this._params ? this._params.labelRightMargin : 5, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9720 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9721 defaultIcon: eventTheme.instant.icon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9722 defaultIconWidth: eventTheme.instant.iconWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9723 defaultIconHeight: eventTheme.instant.iconHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9724 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9725 customIconWidth: "iconWidth" in this._params ? this._params.iconWidth : eventTheme.instant.iconWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9726 customIconHeight: "iconHeight" in this._params ? this._params.iconHeight : eventTheme.instant.iconHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9727 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9728 iconLabelGap: "iconLabelGap" in this._params ? this._params.iconLabelGap : 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9729 iconBottomMargin: "iconBottomMargin" in this._params ? this._params.iconBottomMargin : 2 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9730 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9731 if ("compositeIcon" in this._params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9732 metrics.compositeIcon = this._params.compositeIcon; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9733 metrics.compositeIconWidth = this._params.compositeIconWidth || metrics.customIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9734 metrics.compositeIconHeight = this._params.compositeIconHeight || metrics.customIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9735 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9736 metrics.compositeIcon = metrics.defaultIcon; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9737 metrics.compositeIconWidth = metrics.defaultIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9738 metrics.compositeIconHeight = metrics.defaultIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9739 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9740 metrics.defaultStackIcon = "icon" in this._params.stackConcurrentPreciseInstantEvents ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9741 this._params.stackConcurrentPreciseInstantEvents.icon : metrics.defaultIcon; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9742 metrics.defaultStackIconWidth = "iconWidth" in this._params.stackConcurrentPreciseInstantEvents ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9743 this._params.stackConcurrentPreciseInstantEvents.iconWidth : metrics.defaultIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9744 metrics.defaultStackIconHeight = "iconHeight" in this._params.stackConcurrentPreciseInstantEvents ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9745 this._params.stackConcurrentPreciseInstantEvents.iconHeight : metrics.defaultIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9746 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9747 var minDate = this._band.getMinDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9748 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9749 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9750 var filterMatcher = (this._filterMatcher != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9751 this._filterMatcher : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9752 function(evt) { return true; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9753 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9754 var highlightMatcher = (this._highlightMatcher != null) ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9755 this._highlightMatcher : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9756 function(evt) { return -1; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9757 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9758 var iterator = eventSource.getEventIterator(minDate, maxDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9759 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9760 var stackConcurrentPreciseInstantEvents = "stackConcurrentPreciseInstantEvents" in this._params && typeof this._params.stackConcurrentPreciseInstantEvents == "object"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9761 var collapseConcurrentPreciseInstantEvents = "collapseConcurrentPreciseInstantEvents" in this._params && this._params.collapseConcurrentPreciseInstantEvents; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9762 if (collapseConcurrentPreciseInstantEvents || stackConcurrentPreciseInstantEvents) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9763 var bufferedEvents = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9764 var previousInstantEvent = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9765 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9766 while (iterator.hasNext()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9767 var evt = iterator.next(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9768 if (filterMatcher(evt)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9769 if (!evt.isInstant() || evt.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9770 this.paintEvent(evt, metrics, this._params.theme, highlightMatcher(evt)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9771 } else if (previousInstantEvent != null && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9772 previousInstantEvent.getStart().getTime() == evt.getStart().getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9773 bufferedEvents[bufferedEvents.length - 1].push(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9774 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9775 bufferedEvents.push([ evt ]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9776 previousInstantEvent = evt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9777 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9778 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9779 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9780 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9781 for (var i = 0; i < bufferedEvents.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9782 var compositeEvents = bufferedEvents[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9783 if (compositeEvents.length == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9784 this.paintEvent(compositeEvents[0], metrics, this._params.theme, highlightMatcher(evt)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9785 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9786 var match = -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9787 for (var j = 0; match < 0 && j < compositeEvents.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9788 match = highlightMatcher(compositeEvents[j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9789 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9790 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9791 if (stackConcurrentPreciseInstantEvents) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9792 this.paintStackedPreciseInstantEvents(compositeEvents, metrics, this._params.theme, match); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9793 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9794 this.paintCompositePreciseInstantEvents(compositeEvents, metrics, this._params.theme, match); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9795 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9796 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9797 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9798 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9799 while (iterator.hasNext()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9800 var evt = iterator.next(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9801 if (filterMatcher(evt)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9802 this.paintEvent(evt, metrics, this._params.theme, highlightMatcher(evt)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9803 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9804 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9805 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9806 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9807 this._highlightLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9808 this._lineLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9809 this._eventLayer.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9810 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9811 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9812 Timeline.CompactEventPainter.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9813 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9814 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9815 Timeline.CompactEventPainter.prototype._prepareForPainting = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9816 var band = this._band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9817 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9818 if (this._backLayer == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9819 this._backLayer = this._band.createLayerDiv(0, "timeline-band-events"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9820 this._backLayer.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9821 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9822 var eventLabelPrototype = document.createElement("span"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9823 eventLabelPrototype.className = "timeline-event-label"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9824 this._backLayer.appendChild(eventLabelPrototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9825 this._frc = SimileAjax.Graphics.getFontRenderingContext(eventLabelPrototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9826 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9827 this._frc.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9828 this._tracks = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9829 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9830 if (this._highlightLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9831 band.removeLayerDiv(this._highlightLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9832 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9833 this._highlightLayer = band.createLayerDiv(105, "timeline-band-highlights"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9834 this._highlightLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9835 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9836 if (this._lineLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9837 band.removeLayerDiv(this._lineLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9838 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9839 this._lineLayer = band.createLayerDiv(110, "timeline-band-lines"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9840 this._lineLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9841 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9842 if (this._eventLayer != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9843 band.removeLayerDiv(this._eventLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9844 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9845 this._eventLayer = band.createLayerDiv(115, "timeline-band-events"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9846 this._eventLayer.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9847 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9848 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9849 Timeline.CompactEventPainter.prototype.paintEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9850 if (evt.isInstant()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9851 this.paintInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9852 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9853 this.paintDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9854 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9855 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9856 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9857 Timeline.CompactEventPainter.prototype.paintInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9858 if (evt.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9859 this.paintImpreciseInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9860 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9861 this.paintPreciseInstantEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9862 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9863 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9864 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9865 Timeline.CompactEventPainter.prototype.paintDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9866 if (evt.isImprecise()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9867 this.paintImpreciseDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9868 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9869 this.paintPreciseDurationEvent(evt, metrics, theme, highlightIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9870 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9871 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9872 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9873 Timeline.CompactEventPainter.prototype.paintPreciseInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9874 var commonData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9875 tooltip: evt.getProperty("tooltip") || evt.getText() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9876 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9877 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9878 var iconData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9879 url: evt.getIcon() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9880 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9881 if (iconData.url == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9882 iconData.url = metrics.defaultIcon; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9883 iconData.width = metrics.defaultIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9884 iconData.height = metrics.defaultIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9885 iconData.className = "timeline-event-icon-default"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9886 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9887 iconData.width = evt.getProperty("iconWidth") || metrics.customIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9888 iconData.height = evt.getProperty("iconHeight") || metrics.customIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9889 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9890 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9891 var labelData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9892 text: evt.getText(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9893 color: evt.getTextColor() || evt.getColor(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9894 className: evt.getClassName() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9895 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9896 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9897 var result = this.paintTapeIconLabel( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9898 evt.getStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9899 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9900 null, // no tape data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9901 iconData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9902 labelData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9903 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9904 theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9905 highlightIndex |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9906 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9907 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9908 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9909 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9910 return self._onClickInstantEvent(result.iconElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9911 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9912 SimileAjax.DOM.registerEvent(result.iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9913 SimileAjax.DOM.registerEvent(result.labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9914 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9915 this._eventIdToElmt[evt.getID()] = result.iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9916 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9917 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9918 Timeline.CompactEventPainter.prototype.paintCompositePreciseInstantEvents = function(events, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9919 var evt = events[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9920 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9921 var tooltips = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9922 for (var i = 0; i < events.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9923 tooltips.push(events[i].getProperty("tooltip") || events[i].getText()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9924 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9925 var commonData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9926 tooltip: tooltips.join("; ") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9927 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9928 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9929 var iconData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9930 url: metrics.compositeIcon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9931 width: metrics.compositeIconWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9932 height: metrics.compositeIconHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9933 className: "timeline-event-icon-composite" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9934 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9935 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9936 var labelData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9937 text: String.substitute(this._params.compositeEventLabelTemplate, [ events.length ]) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9938 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9939 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9940 var result = this.paintTapeIconLabel( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9941 evt.getStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9942 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9943 null, // no tape data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9944 iconData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9945 labelData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9946 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9947 theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9948 highlightIndex |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9949 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9950 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9951 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9952 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9953 return self._onClickMultiplePreciseInstantEvent(result.iconElmtData.elmt, domEvt, events); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9954 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9955 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9956 SimileAjax.DOM.registerEvent(result.iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9957 SimileAjax.DOM.registerEvent(result.labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9958 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9959 for (var i = 0; i < events.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9960 this._eventIdToElmt[events[i].getID()] = result.iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9961 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9962 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9963 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9964 Timeline.CompactEventPainter.prototype.paintStackedPreciseInstantEvents = function(events, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9965 var limit = "limit" in this._params.stackConcurrentPreciseInstantEvents ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9966 this._params.stackConcurrentPreciseInstantEvents.limit : 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9967 var moreMessageTemplate = "moreMessageTemplate" in this._params.stackConcurrentPreciseInstantEvents ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9968 this._params.stackConcurrentPreciseInstantEvents.moreMessageTemplate : "%0 More Events"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9969 var showMoreMessage = limit <= events.length - 2; // We want at least 2 more events above the limit. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9970 // Otherwise we'd need the singular case of "1 More Event" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9971 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9972 var band = this._band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9973 var getPixelOffset = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9974 return Math.round(band.dateToPixelOffset(date)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9975 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9976 var getIconData = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9977 var iconData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9978 url: evt.getIcon() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9979 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9980 if (iconData.url == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9981 iconData.url = metrics.defaultStackIcon; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9982 iconData.width = metrics.defaultStackIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9983 iconData.height = metrics.defaultStackIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9984 iconData.className = "timeline-event-icon-stack timeline-event-icon-default"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9985 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9986 iconData.width = evt.getProperty("iconWidth") || metrics.customIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9987 iconData.height = evt.getProperty("iconHeight") || metrics.customIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9988 iconData.className = "timeline-event-icon-stack"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9989 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9990 return iconData; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9991 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9992 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9993 var firstIconData = getIconData(events[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9994 var horizontalIncrement = 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9995 var leftIconEdge = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9996 var totalLabelWidth = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9997 var totalLabelHeight = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9998 var totalIconHeight = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9999 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10000 var records = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10001 for (var i = 0; i < events.length && (!showMoreMessage || i < limit); i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10002 var evt = events[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10003 var text = evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10004 var iconData = getIconData(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10005 var labelSize = this._frc.computeSize(text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10006 var record = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10007 text: text, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10008 iconData: iconData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10009 labelSize: labelSize, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10010 iconLeft: firstIconData.width + i * horizontalIncrement - iconData.width |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10011 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10012 record.labelLeft = firstIconData.width + i * horizontalIncrement + metrics.iconLabelGap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10013 record.top = totalLabelHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10014 records.push(record); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10015 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10016 leftIconEdge = Math.min(leftIconEdge, record.iconLeft); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10017 totalLabelHeight += labelSize.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10018 totalLabelWidth = Math.max(totalLabelWidth, record.labelLeft + labelSize.width); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10019 totalIconHeight = Math.max(totalIconHeight, record.top + iconData.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10020 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10021 if (showMoreMessage) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10022 var moreMessage = String.substitute(moreMessageTemplate, [ events.length - limit ]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10023 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10024 var moreMessageLabelSize = this._frc.computeSize(moreMessage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10025 var moreMessageLabelLeft = firstIconData.width + (limit - 1) * horizontalIncrement + metrics.iconLabelGap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10026 var moreMessageLabelTop = totalLabelHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10027 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10028 totalLabelHeight += moreMessageLabelSize.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10029 totalLabelWidth = Math.max(totalLabelWidth, moreMessageLabelLeft + moreMessageLabelSize.width); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10030 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10031 totalLabelWidth += metrics.labelRightMargin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10032 totalLabelHeight += metrics.labelBottomMargin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10033 totalIconHeight += metrics.iconBottomMargin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10034 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10035 var anchorPixel = getPixelOffset(events[0].getStart()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10036 var newTracks = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10037 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10038 var trackCount = Math.ceil(Math.max(totalIconHeight, totalLabelHeight) / metrics.trackHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10039 var rightIconEdge = firstIconData.width + (events.length - 1) * horizontalIncrement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10040 for (var i = 0; i < trackCount; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10041 newTracks.push({ start: leftIconEdge, end: rightIconEdge }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10042 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10043 var labelTrackCount = Math.ceil(totalLabelHeight / metrics.trackHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10044 for (var i = 0; i < labelTrackCount; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10045 var track = newTracks[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10046 track.end = Math.max(track.end, totalLabelWidth); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10047 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10048 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10049 var firstTrack = this._fitTracks(anchorPixel, newTracks); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10050 var verticalPixelOffset = firstTrack * metrics.trackHeight + metrics.trackOffset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10051 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10052 var iconStackDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10053 iconStackDiv.className = 'timeline-event-icon-stack'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10054 iconStackDiv.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10055 iconStackDiv.style.overflow = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10056 iconStackDiv.style.left = anchorPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10057 iconStackDiv.style.top = verticalPixelOffset + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10058 iconStackDiv.style.width = rightIconEdge + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10059 iconStackDiv.style.height = totalIconHeight + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10060 iconStackDiv.innerHTML = "<div style='position: relative'></div>"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10061 this._eventLayer.appendChild(iconStackDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10062 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10063 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10064 var onMouseOver = function(domEvt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10065 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10066 var n = parseInt(this.getAttribute("index")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10067 var childNodes = iconStackDiv.firstChild.childNodes; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10068 for (var i = 0; i < childNodes.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10069 var child = childNodes[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10070 if (i == n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10071 child.style.zIndex = childNodes.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10072 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10073 child.style.zIndex = childNodes.length - i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10074 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10075 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10076 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10077 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10078 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10079 var paintEvent = function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10080 var record = records[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10081 var evt = events[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10082 var tooltip = evt.getProperty("tooltip") || evt.getText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10083 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10084 var labelElmtData = self._paintEventLabel( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10085 { tooltip: tooltip }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10086 { text: record.text }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10087 anchorPixel + record.labelLeft, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10088 verticalPixelOffset + record.top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10089 record.labelSize.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10090 record.labelSize.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10091 theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10092 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10093 labelElmtData.elmt.setAttribute("index", index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10094 labelElmtData.elmt.onmouseover = onMouseOver; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10095 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10096 var img = SimileAjax.Graphics.createTranslucentImage(record.iconData.url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10097 var iconDiv = self._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10098 iconDiv.className = 'timeline-event-icon' + ("className" in record.iconData ? (" " + record.iconData.className) : ""); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10099 iconDiv.style.left = record.iconLeft + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10100 iconDiv.style.top = record.top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10101 iconDiv.style.zIndex = (records.length - index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10102 iconDiv.appendChild(img); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10103 iconDiv.setAttribute("index", index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10104 iconDiv.onmouseover = onMouseOver; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10105 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10106 iconStackDiv.firstChild.appendChild(iconDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10107 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10108 var clickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10109 return self._onClickInstantEvent(labelElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10110 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10111 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10112 SimileAjax.DOM.registerEvent(iconDiv, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10113 SimileAjax.DOM.registerEvent(labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10114 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10115 self._eventIdToElmt[evt.getID()] = iconDiv; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10116 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10117 for (var i = 0; i < records.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10118 paintEvent(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10119 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10120 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10121 if (showMoreMessage) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10122 var moreEvents = events.slice(limit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10123 var moreMessageLabelElmtData = this._paintEventLabel( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10124 { tooltip: moreMessage }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10125 { text: moreMessage }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10126 anchorPixel + moreMessageLabelLeft, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10127 verticalPixelOffset + moreMessageLabelTop, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10128 moreMessageLabelSize.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10129 moreMessageLabelSize.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10130 theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10131 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10132 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10133 var moreMessageClickHandler = function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10134 return self._onClickMultiplePreciseInstantEvent(moreMessageLabelElmtData.elmt, domEvt, moreEvents); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10135 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10136 SimileAjax.DOM.registerEvent(moreMessageLabelElmtData.elmt, "mousedown", moreMessageClickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10137 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10138 for (var i = 0; i < moreEvents.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10139 this._eventIdToElmt[moreEvents[i].getID()] = moreMessageLabelElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10140 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10141 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10142 //this._createHighlightDiv(highlightIndex, iconElmtData, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10143 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10144 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10145 Timeline.CompactEventPainter.prototype.paintImpreciseInstantEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10146 var commonData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10147 tooltip: evt.getProperty("tooltip") || evt.getText() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10148 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10149 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10150 var tapeData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10151 start: evt.getStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10152 end: evt.getEnd(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10153 latestStart: evt.getLatestStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10154 earliestEnd: evt.getEarliestEnd(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10155 isInstant: true |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10156 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10157 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10158 var iconData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10159 url: evt.getIcon() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10160 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10161 if (iconData.url == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10162 iconData = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10163 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10164 iconData.width = evt.getProperty("iconWidth") || metrics.customIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10165 iconData.height = evt.getProperty("iconHeight") || metrics.customIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10166 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10167 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10168 var labelData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10169 text: evt.getText(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10170 color: evt.getTextColor() || evt.getColor(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10171 className: evt.getClassName() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10172 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10173 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10174 var result = this.paintTapeIconLabel( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10175 evt.getStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10176 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10177 tapeData, // no tape data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10178 iconData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10179 labelData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10180 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10181 theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10182 highlightIndex |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10183 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10184 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10185 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10186 var clickHandler = iconData != null ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10187 function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10188 return self._onClickInstantEvent(result.iconElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10189 } : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10190 function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10191 return self._onClickInstantEvent(result.labelElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10192 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10193 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10194 SimileAjax.DOM.registerEvent(result.labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10195 SimileAjax.DOM.registerEvent(result.impreciseTapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10196 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10197 if (iconData != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10198 SimileAjax.DOM.registerEvent(result.iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10199 this._eventIdToElmt[evt.getID()] = result.iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10200 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10201 this._eventIdToElmt[evt.getID()] = result.labelElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10202 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10203 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10204 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10205 Timeline.CompactEventPainter.prototype.paintPreciseDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10206 var commonData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10207 tooltip: evt.getProperty("tooltip") || evt.getText() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10208 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10209 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10210 var tapeData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10211 start: evt.getStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10212 end: evt.getEnd(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10213 isInstant: false |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10214 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10215 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10216 var iconData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10217 url: evt.getIcon() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10218 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10219 if (iconData.url == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10220 iconData = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10221 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10222 iconData.width = evt.getProperty("iconWidth") || metrics.customIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10223 iconData.height = evt.getProperty("iconHeight") || metrics.customIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10224 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10225 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10226 var labelData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10227 text: evt.getText(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10228 color: evt.getTextColor() || evt.getColor(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10229 className: evt.getClassName() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10230 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10231 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10232 var result = this.paintTapeIconLabel( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10233 evt.getLatestStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10234 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10235 tapeData, // no tape data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10236 iconData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10237 labelData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10238 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10239 theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10240 highlightIndex |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10241 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10242 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10243 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10244 var clickHandler = iconData != null ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10245 function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10246 return self._onClickInstantEvent(result.iconElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10247 } : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10248 function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10249 return self._onClickInstantEvent(result.labelElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10250 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10251 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10252 SimileAjax.DOM.registerEvent(result.labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10253 SimileAjax.DOM.registerEvent(result.tapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10254 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10255 if (iconData != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10256 SimileAjax.DOM.registerEvent(result.iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10257 this._eventIdToElmt[evt.getID()] = result.iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10258 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10259 this._eventIdToElmt[evt.getID()] = result.labelElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10260 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10261 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10262 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10263 Timeline.CompactEventPainter.prototype.paintImpreciseDurationEvent = function(evt, metrics, theme, highlightIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10264 var commonData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10265 tooltip: evt.getProperty("tooltip") || evt.getText() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10266 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10267 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10268 var tapeData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10269 start: evt.getStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10270 end: evt.getEnd(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10271 latestStart: evt.getLatestStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10272 earliestEnd: evt.getEarliestEnd(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10273 isInstant: false |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10274 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10275 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10276 var iconData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10277 url: evt.getIcon() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10278 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10279 if (iconData.url == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10280 iconData = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10281 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10282 iconData.width = evt.getProperty("iconWidth") || metrics.customIconWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10283 iconData.height = evt.getProperty("iconHeight") || metrics.customIconHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10284 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10285 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10286 var labelData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10287 text: evt.getText(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10288 color: evt.getTextColor() || evt.getColor(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10289 className: evt.getClassName() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10290 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10291 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10292 var result = this.paintTapeIconLabel( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10293 evt.getLatestStart(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10294 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10295 tapeData, // no tape data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10296 iconData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10297 labelData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10298 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10299 theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10300 highlightIndex |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10301 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10302 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10303 var self = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10304 var clickHandler = iconData != null ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10305 function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10306 return self._onClickInstantEvent(result.iconElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10307 } : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10308 function(elmt, domEvt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10309 return self._onClickInstantEvent(result.labelElmtData.elmt, domEvt, evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10310 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10311 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10312 SimileAjax.DOM.registerEvent(result.labelElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10313 SimileAjax.DOM.registerEvent(result.tapeElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10314 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10315 if (iconData != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10316 SimileAjax.DOM.registerEvent(result.iconElmtData.elmt, "mousedown", clickHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10317 this._eventIdToElmt[evt.getID()] = result.iconElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10318 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10319 this._eventIdToElmt[evt.getID()] = result.labelElmtData.elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10320 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10321 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10322 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10323 Timeline.CompactEventPainter.prototype.paintTapeIconLabel = function( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10324 anchorDate, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10325 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10326 tapeData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10327 iconData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10328 labelData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10329 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10330 theme, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10331 highlightIndex |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10332 ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10333 var band = this._band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10334 var getPixelOffset = function(date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10335 return Math.round(band.dateToPixelOffset(date)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10336 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10337 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10338 var anchorPixel = getPixelOffset(anchorDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10339 var newTracks = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10340 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10341 var tapeHeightOccupied = 0; // how many pixels (vertically) the tape occupies, including bottom margin |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10342 var tapeTrackCount = 0; // how many tracks the tape takes up, usually just 1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10343 var tapeLastTrackExtraSpace = 0; // on the last track that the tape occupies, how many pixels are left (for icon and label to occupy as well) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10344 if (tapeData != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10345 tapeHeightOccupied = metrics.tapeHeight + metrics.tapeBottomMargin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10346 tapeTrackCount = Math.ceil(metrics.tapeHeight / metrics.trackHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10347 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10348 var tapeEndPixelOffset = getPixelOffset(tapeData.end) - anchorPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10349 var tapeStartPixelOffset = getPixelOffset(tapeData.start) - anchorPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10350 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10351 for (var t = 0; t < tapeTrackCount; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10352 newTracks.push({ start: tapeStartPixelOffset, end: tapeEndPixelOffset }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10353 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10354 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10355 tapeLastTrackExtraSpace = metrics.trackHeight - (tapeHeightOccupied % metrics.tapeHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10356 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10357 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10358 var iconStartPixelOffset = 0; // where the icon starts compared to the anchor pixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10359 // this can be negative if the icon is center-aligned around the anchor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10360 var iconHorizontalSpaceOccupied = 0; // how many pixels the icon take up from the anchor pixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10361 // including the gap between the icon and the label |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10362 if (iconData != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10363 if ("iconAlign" in iconData && iconData.iconAlign == "center") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10364 iconStartPixelOffset = -Math.floor(iconData.width / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10365 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10366 iconHorizontalSpaceOccupied = iconStartPixelOffset + iconData.width + metrics.iconLabelGap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10367 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10368 if (tapeTrackCount > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10369 newTracks[tapeTrackCount - 1].end = Math.max(newTracks[tapeTrackCount - 1].end, iconHorizontalSpaceOccupied); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10370 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10371 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10372 var iconHeight = iconData.height + metrics.iconBottomMargin + tapeLastTrackExtraSpace; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10373 while (iconHeight > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10374 newTracks.push({ start: iconStartPixelOffset, end: iconHorizontalSpaceOccupied }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10375 iconHeight -= metrics.trackHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10376 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10377 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10378 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10379 var text = labelData.text; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10380 var labelSize = this._frc.computeSize(text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10381 var labelHeight = labelSize.height + metrics.labelBottomMargin + tapeLastTrackExtraSpace; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10382 var labelEndPixelOffset = iconHorizontalSpaceOccupied + labelSize.width + metrics.labelRightMargin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10383 if (tapeTrackCount > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10384 newTracks[tapeTrackCount - 1].end = Math.max(newTracks[tapeTrackCount - 1].end, labelEndPixelOffset); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10385 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10386 for (var i = 0; labelHeight > 0; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10387 if (tapeTrackCount + i < newTracks.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10388 var track = newTracks[tapeTrackCount + i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10389 track.end = labelEndPixelOffset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10390 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10391 newTracks.push({ start: 0, end: labelEndPixelOffset }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10392 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10393 labelHeight -= metrics.trackHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10394 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10395 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10396 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10397 * Try to fit the new track on top of the existing tracks, then |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10398 * render the various elements. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10399 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10400 var firstTrack = this._fitTracks(anchorPixel, newTracks); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10401 var verticalPixelOffset = firstTrack * metrics.trackHeight + metrics.trackOffset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10402 var result = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10403 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10404 result.labelElmtData = this._paintEventLabel( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10405 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10406 labelData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10407 anchorPixel + iconHorizontalSpaceOccupied, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10408 verticalPixelOffset + tapeHeightOccupied, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10409 labelSize.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10410 labelSize.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10411 theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10412 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10413 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10414 if (tapeData != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10415 if ("latestStart" in tapeData || "earliestEnd" in tapeData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10416 result.impreciseTapeElmtData = this._paintEventTape( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10417 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10418 tapeData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10419 metrics.tapeHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10420 verticalPixelOffset, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10421 getPixelOffset(tapeData.start), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10422 getPixelOffset(tapeData.end), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10423 theme.event.duration.impreciseColor, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10424 theme.event.duration.impreciseOpacity, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10425 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10426 theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10427 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10428 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10429 if (!tapeData.isInstant && "start" in tapeData && "end" in tapeData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10430 result.tapeElmtData = this._paintEventTape( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10431 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10432 tapeData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10433 metrics.tapeHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10434 verticalPixelOffset, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10435 anchorPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10436 getPixelOffset("earliestEnd" in tapeData ? tapeData.earliestEnd : tapeData.end), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10437 tapeData.color, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10438 100, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10439 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10440 theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10441 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10442 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10443 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10444 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10445 if (iconData != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10446 result.iconElmtData = this._paintEventIcon( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10447 commonData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10448 iconData, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10449 verticalPixelOffset + tapeHeightOccupied, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10450 anchorPixel + iconStartPixelOffset, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10451 metrics, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10452 theme |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10453 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10454 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10455 //this._createHighlightDiv(highlightIndex, iconElmtData, theme); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10456 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10457 return result; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10458 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10459 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10460 Timeline.CompactEventPainter.prototype._fitTracks = function(anchorPixel, newTracks) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10461 var firstTrack; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10462 for (firstTrack = 0; firstTrack < this._tracks.length; firstTrack++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10463 var fit = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10464 for (var j = 0; j < newTracks.length && (firstTrack + j) < this._tracks.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10465 var existingTrack = this._tracks[firstTrack + j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10466 var newTrack = newTracks[j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10467 if (anchorPixel + newTrack.start < existingTrack) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10468 fit = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10469 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10470 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10471 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10472 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10473 if (fit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10474 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10475 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10476 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10477 for (var i = 0; i < newTracks.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10478 this._tracks[firstTrack + i] = anchorPixel + newTracks[i].end; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10479 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10480 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10481 return firstTrack; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10482 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10483 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10484 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10485 Timeline.CompactEventPainter.prototype._paintEventIcon = function(commonData, iconData, top, left, metrics, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10486 var img = SimileAjax.Graphics.createTranslucentImage(iconData.url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10487 var iconDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10488 iconDiv.className = 'timeline-event-icon' + ("className" in iconData ? (" " + iconData.className) : ""); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10489 iconDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10490 iconDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10491 iconDiv.appendChild(img); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10492 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10493 if ("tooltip" in commonData && typeof commonData.tooltip == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10494 iconDiv.title = commonData.tooltip; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10495 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10496 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10497 this._eventLayer.appendChild(iconDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10498 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10499 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10500 left: left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10501 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10502 width: metrics.iconWidth, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10503 height: metrics.iconHeight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10504 elmt: iconDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10505 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10506 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10507 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10508 Timeline.CompactEventPainter.prototype._paintEventLabel = function(commonData, labelData, left, top, width, height, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10509 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10510 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10511 var labelDiv = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10512 labelDiv.className = 'timeline-event-label'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10513 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10514 labelDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10515 labelDiv.style.width = (width + 1) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10516 labelDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10517 labelDiv.innerHTML = labelData.text; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10518 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10519 if ("tooltip" in commonData && typeof commonData.tooltip == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10520 labelDiv.title = commonData.tooltip; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10521 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10522 if ("color" in labelData && typeof labelData.color == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10523 labelDiv.style.color = labelData.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10524 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10525 if ("className" in labelData && typeof labelData.className == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10526 labelDiv.className += ' ' + labelData.className; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10527 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10528 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10529 this._eventLayer.appendChild(labelDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10530 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10531 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10532 left: left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10533 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10534 width: width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10535 height: height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10536 elmt: labelDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10537 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10538 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10539 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10540 Timeline.CompactEventPainter.prototype._paintEventTape = function( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10541 commonData, tapeData, height, top, startPixel, endPixel, color, opacity, metrics, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10542 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10543 var width = endPixel - startPixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10544 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10545 var tapeDiv = this._timeline.getDocument().createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10546 tapeDiv.className = "timeline-event-tape" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10547 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10548 tapeDiv.style.left = startPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10549 tapeDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10550 tapeDiv.style.width = width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10551 tapeDiv.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10552 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10553 if ("tooltip" in commonData && typeof commonData.tooltip == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10554 tapeDiv.title = commonData.tooltip; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10555 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10556 if (color != null && typeof tapeData.color == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10557 tapeDiv.style.backgroundColor = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10558 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10559 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10560 if ("backgroundImage" in tapeData && typeof tapeData.backgroundImage == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10561 tapeDiv.style.backgroundImage = "url(" + backgroundImage + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10562 tapeDiv.style.backgroundRepeat = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10563 ("backgroundRepeat" in tapeData && typeof tapeData.backgroundRepeat == "string") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10564 ? tapeData.backgroundRepeat : 'repeat'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10565 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10566 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10567 SimileAjax.Graphics.setOpacity(tapeDiv, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10568 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10569 if ("className" in tapeData && typeof tapeData.className == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10570 tapeDiv.className += ' ' + tapeData.className; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10571 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10572 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10573 this._eventLayer.appendChild(tapeDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10574 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10575 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10576 left: startPixel, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10577 top: top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10578 width: width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10579 height: height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10580 elmt: tapeDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10581 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10582 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10583 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10584 Timeline.CompactEventPainter.prototype._createHighlightDiv = function(highlightIndex, dimensions, theme) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10585 if (highlightIndex >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10586 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10587 var eventTheme = theme.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10588 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10589 var color = eventTheme.highlightColors[Math.min(highlightIndex, eventTheme.highlightColors.length - 1)]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10590 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10591 var div = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10592 div.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10593 div.style.overflow = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10594 div.style.left = (dimensions.left - 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10595 div.style.width = (dimensions.width + 4) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10596 div.style.top = (dimensions.top - 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10597 div.style.height = (dimensions.height + 4) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10598 // div.style.background = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10599 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10600 this._highlightLayer.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10601 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10602 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10603 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10604 Timeline.CompactEventPainter.prototype._onClickMultiplePreciseInstantEvent = function(icon, domEvt, events) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10605 var c = SimileAjax.DOM.getPageCoordinates(icon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10606 this._showBubble( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10607 c.left + Math.ceil(icon.offsetWidth / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10608 c.top + Math.ceil(icon.offsetHeight / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10609 events |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10610 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10611 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10612 var ids = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10613 for (var i = 0; i < events.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10614 ids.push(events[i].getID()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10615 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10616 this._fireOnSelect(ids); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10617 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10618 domEvt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10619 SimileAjax.DOM.cancelEvent(domEvt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10620 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10621 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10622 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10623 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10624 Timeline.CompactEventPainter.prototype._onClickInstantEvent = function(icon, domEvt, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10625 var c = SimileAjax.DOM.getPageCoordinates(icon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10626 this._showBubble( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10627 c.left + Math.ceil(icon.offsetWidth / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10628 c.top + Math.ceil(icon.offsetHeight / 2), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10629 [evt] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10630 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10631 this._fireOnSelect([evt.getID()]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10632 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10633 domEvt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10634 SimileAjax.DOM.cancelEvent(domEvt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10635 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10636 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10637 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10638 Timeline.CompactEventPainter.prototype._onClickDurationEvent = function(target, domEvt, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10639 if ("pageX" in domEvt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10640 var x = domEvt.pageX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10641 var y = domEvt.pageY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10642 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10643 var c = SimileAjax.DOM.getPageCoordinates(target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10644 var x = domEvt.offsetX + c.left; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10645 var y = domEvt.offsetY + c.top; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10646 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10647 this._showBubble(x, y, [evt]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10648 this._fireOnSelect([evt.getID()]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10649 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10650 domEvt.cancelBubble = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10651 SimileAjax.DOM.cancelEvent(domEvt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10652 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10653 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10654 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10655 Timeline.CompactEventPainter.prototype.showBubble = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10656 var elmt = this._eventIdToElmt[evt.getID()]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10657 if (elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10658 var c = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10659 this._showBubble(c.left + elmt.offsetWidth / 2, c.top + elmt.offsetHeight / 2, [evt]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10660 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10661 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10662 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10663 Timeline.CompactEventPainter.prototype._showBubble = function(x, y, evts) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10664 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10665 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10666 evts = ("fillInfoBubble" in evts) ? [evts] : evts; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10667 for (var i = 0; i < evts.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10668 var div2 = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10669 div.appendChild(div2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10670 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10671 evts[i].fillInfoBubble(div2, this._params.theme, this._band.getLabeller()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10672 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10673 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10674 SimileAjax.WindowManager.cancelPopups(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10675 SimileAjax.Graphics.createBubbleForContentAndPoint(div, x, y, this._params.theme.event.bubble.width); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10676 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10677 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10678 Timeline.CompactEventPainter.prototype._fireOnSelect = function(eventIDs) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10679 for (var i = 0; i < this._onSelectListeners.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10680 this._onSelectListeners[i](eventIDs); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10681 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10682 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10683 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10684 * Span Highlight Decorator |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10685 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10686 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10687 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10688 Timeline.SpanHighlightDecorator = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10689 // When evaluating params, test against null. Not "p in params". Testing against |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10690 // null enables caller to explicitly request the default. Testing against "in" means |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10691 // that the param has to be ommitted to get the default. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10692 this._unit = params.unit != null ? params.unit : SimileAjax.NativeDateUnit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10693 this._startDate = (typeof params.startDate == "string") ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10694 this._unit.parseFromObject(params.startDate) : params.startDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10695 this._endDate = (typeof params.endDate == "string") ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10696 this._unit.parseFromObject(params.endDate) : params.endDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10697 this._startLabel = params.startLabel != null ? params.startLabel : ""; // not null! |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10698 this._endLabel = params.endLabel != null ? params.endLabel : ""; // not null! |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10699 this._color = params.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10700 this._cssClass = params.cssClass != null ? params.cssClass : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10701 this._opacity = params.opacity != null ? params.opacity : 100; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10702 // Default z is 10, behind everything but background grid. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10703 // If inFront, then place just behind events, in front of everything else |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10704 this._zIndex = (params.inFront != null && params.inFront) ? 113 : 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10705 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10706 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10707 Timeline.SpanHighlightDecorator.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10708 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10709 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10710 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10711 this._layerDiv = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10712 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10713 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10714 Timeline.SpanHighlightDecorator.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10715 if (this._layerDiv != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10716 this._band.removeLayerDiv(this._layerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10717 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10718 this._layerDiv = this._band.createLayerDiv(this._zIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10719 this._layerDiv.setAttribute("name", "span-highlight-decorator"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10720 this._layerDiv.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10721 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10722 var minDate = this._band.getMinDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10723 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10724 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10725 if (this._unit.compare(this._startDate, maxDate) < 0 && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10726 this._unit.compare(this._endDate, minDate) > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10727 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10728 minDate = this._unit.later(minDate, this._startDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10729 maxDate = this._unit.earlier(maxDate, this._endDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10730 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10731 var minPixel = this._band.dateToPixelOffset(minDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10732 var maxPixel = this._band.dateToPixelOffset(maxDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10733 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10734 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10735 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10736 var createTable = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10737 var table = doc.createElement("table"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10738 table.insertRow(0).insertCell(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10739 return table; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10740 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10741 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10742 var div = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10743 div.className='timeline-highlight-decorator' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10744 if(this._cssClass) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10745 div.className += ' ' + this._cssClass; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10746 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10747 if(this._color != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10748 div.style.backgroundColor = this._color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10749 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10750 if (this._opacity < 100) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10751 SimileAjax.Graphics.setOpacity(div, this._opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10752 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10753 this._layerDiv.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10754 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10755 var tableStartLabel = createTable(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10756 tableStartLabel.className = 'timeline-highlight-label timeline-highlight-label-start' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10757 var tdStart = tableStartLabel.rows[0].cells[0] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10758 tdStart.innerHTML = this._startLabel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10759 if (this._cssClass) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10760 tdStart.className = 'label_' + this._cssClass; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10761 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10762 this._layerDiv.appendChild(tableStartLabel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10763 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10764 var tableEndLabel = createTable(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10765 tableEndLabel.className = 'timeline-highlight-label timeline-highlight-label-end' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10766 var tdEnd = tableEndLabel.rows[0].cells[0] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10767 tdEnd.innerHTML = this._endLabel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10768 if (this._cssClass) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10769 tdEnd.className = 'label_' + this._cssClass; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10770 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10771 this._layerDiv.appendChild(tableEndLabel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10772 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10773 if (this._timeline.isHorizontal()){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10774 div.style.left = minPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10775 div.style.width = (maxPixel - minPixel) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10776 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10777 tableStartLabel.style.right = (this._band.getTotalViewLength() - minPixel) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10778 tableStartLabel.style.width = (this._startLabel.length) + "em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10779 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10780 tableEndLabel.style.left = maxPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10781 tableEndLabel.style.width = (this._endLabel.length) + "em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10782 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10783 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10784 div.style.top = minPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10785 div.style.height = (maxPixel - minPixel) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10786 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10787 tableStartLabel.style.bottom = minPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10788 tableStartLabel.style.height = "1.5px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10789 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10790 tableEndLabel.style.top = maxPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10791 tableEndLabel.style.height = "1.5px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10792 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10793 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10794 this._layerDiv.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10795 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10796 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10797 Timeline.SpanHighlightDecorator.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10798 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10799 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10800 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10801 * Point Highlight Decorator |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10802 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10803 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10804 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10805 Timeline.PointHighlightDecorator = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10806 this._unit = params.unit != null ? params.unit : SimileAjax.NativeDateUnit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10807 this._date = (typeof params.date == "string") ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10808 this._unit.parseFromObject(params.date) : params.date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10809 this._width = params.width != null ? params.width : 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10810 // Since the width is used to calculate placements (see minPixel, below), we |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10811 // specify width here, not in css. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10812 this._color = params.color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10813 this._cssClass = params.cssClass != null ? params.cssClass : ''; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10814 this._opacity = params.opacity != null ? params.opacity : 100; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10815 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10816 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10817 Timeline.PointHighlightDecorator.prototype.initialize = function(band, timeline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10818 this._band = band; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10819 this._timeline = timeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10820 this._layerDiv = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10821 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10822 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10823 Timeline.PointHighlightDecorator.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10824 if (this._layerDiv != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10825 this._band.removeLayerDiv(this._layerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10826 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10827 this._layerDiv = this._band.createLayerDiv(10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10828 this._layerDiv.setAttribute("name", "span-highlight-decorator"); // for debugging |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10829 this._layerDiv.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10830 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10831 var minDate = this._band.getMinDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10832 var maxDate = this._band.getMaxDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10833 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10834 if (this._unit.compare(this._date, maxDate) < 0 && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10835 this._unit.compare(this._date, minDate) > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10836 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10837 var pixel = this._band.dateToPixelOffset(this._date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10838 var minPixel = pixel - Math.round(this._width / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10839 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10840 var doc = this._timeline.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10841 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10842 var div = doc.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10843 div.className='timeline-highlight-point-decorator'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10844 div.className += ' ' + this._cssClass; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10845 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10846 if(this._color != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10847 div.style.backgroundColor = this._color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10848 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10849 if (this._opacity < 100) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10850 SimileAjax.Graphics.setOpacity(div, this._opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10851 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10852 this._layerDiv.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10853 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10854 if (this._timeline.isHorizontal()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10855 div.style.left = minPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10856 div.style.width = this._width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10857 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10858 div.style.top = minPixel + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10859 div.style.height = this._width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10860 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10861 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10862 this._layerDiv.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10863 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10864 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10865 Timeline.PointHighlightDecorator.prototype.softPaint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10866 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10867 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10868 * Default Unit |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10869 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10870 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10871 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10872 Timeline.NativeDateUnit = new Object(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10873 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10874 Timeline.NativeDateUnit.createLabeller = function(locale, timeZone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10875 return new Timeline.GregorianDateLabeller(locale, timeZone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10876 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10877 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10878 Timeline.NativeDateUnit.makeDefaultValue = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10879 return new Date(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10880 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10881 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10882 Timeline.NativeDateUnit.cloneValue = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10883 return new Date(v.getTime()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10884 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10885 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10886 Timeline.NativeDateUnit.getParser = function(format) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10887 if (typeof format == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10888 format = format.toLowerCase(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10889 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10890 return (format == "iso8601" || format == "iso 8601") ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10891 Timeline.DateTime.parseIso8601DateTime : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10892 Timeline.DateTime.parseGregorianDateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10893 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10894 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10895 Timeline.NativeDateUnit.parseFromObject = function(o) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10896 return Timeline.DateTime.parseGregorianDateTime(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10897 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10898 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10899 Timeline.NativeDateUnit.toNumber = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10900 return v.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10901 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10902 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10903 Timeline.NativeDateUnit.fromNumber = function(n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10904 return new Date(n); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10905 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10906 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10907 Timeline.NativeDateUnit.compare = function(v1, v2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10908 var n1, n2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10909 if (typeof v1 == "object") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10910 n1 = v1.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10911 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10912 n1 = Number(v1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10913 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10914 if (typeof v2 == "object") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10915 n2 = v2.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10916 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10917 n2 = Number(v2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10918 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10919 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10920 return n1 - n2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10921 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10922 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10923 Timeline.NativeDateUnit.earlier = function(v1, v2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10924 return Timeline.NativeDateUnit.compare(v1, v2) < 0 ? v1 : v2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10925 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10926 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10927 Timeline.NativeDateUnit.later = function(v1, v2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10928 return Timeline.NativeDateUnit.compare(v1, v2) > 0 ? v1 : v2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10929 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10930 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10931 Timeline.NativeDateUnit.change = function(v, n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10932 return new Date(v.getTime() + n); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10933 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10934 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10935 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10936 * Common localization strings |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10937 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10938 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10939 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10940 Timeline.strings["en"] = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10941 wikiLinkLabel: "Discuss" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10942 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10943 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10944 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10945 * Localization of labellers.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10946 *================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10947 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10948 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10949 Timeline.GregorianDateLabeller.monthNames["en"] = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10950 "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10951 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10952 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10953 Timeline.GregorianDateLabeller.dayNames["en"] = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10954 "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10955 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10956 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10957 * timeplot-ajax-basic.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10958 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10959 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10960 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10961 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10962 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10963 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10964 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10965 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10966 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10967 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10968 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10969 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10970 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10971 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10972 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10973 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10974 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10975 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10976 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10977 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10978 * basic code which is included in front of timeplot code for the minified version |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10979 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10980 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10981 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10982 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10983 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10984 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10985 if ( typeof window.Timeplot == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10986 window.Timeplot = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10987 params : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10988 bundle : true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10989 autoCreate : true |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10990 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10991 namespace : "http://simile.mit.edu/2007/06/timeplot#", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10992 importers : {} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10993 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10994 Timeplot.urlPrefix = GeoTemCoMinifier_urlPrefix + 'lib/simile/timeplot/'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10995 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10996 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10997 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10998 * Simile Timeplot API |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10999 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11000 * Include Timeplot in your HTML file as follows: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11001 * <script src="http://api.simile-widgets.org/timeplot/1.1/timeplot-api.js" type="text/javascript"></script> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11002 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11003 *==================================================*/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11004 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11005 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11006 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11007 var local = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11008 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11009 // obtain local mode from the document URL |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11010 if (document.location.search.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11011 var params = document.location.search.substr(1).split("&"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11012 for (var i = 0; i < params.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11013 if (params[i] == "local") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11014 local = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11015 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11016 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11017 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11018 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11019 // obtain local mode from the script URL params attribute |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11020 if (!local) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11021 var heads = document.documentElement.getElementsByTagName("head"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11022 for (var h = 0; h < heads.length; h++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11023 var node = heads[h].firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11024 while (node != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11025 if (node.nodeType == 1 && node.tagName.toLowerCase() == "script") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11026 var url = node.src; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11027 if (url.indexOf("timeplot-api") >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11028 local = (url.indexOf("local") >= 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11029 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11030 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11031 node = node.nextSibling; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11032 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11033 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11034 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11035 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11036 // Load Timeplot if it's not already loaded (after SimileAjax and Timeline) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11037 var loadTimeplot = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11038 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11039 if (typeof window.Timeplot != "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11040 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11041 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11042 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11043 window.Timeplot = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11044 loaded: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11045 params: { bundle: true, autoCreate: true }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11046 namespace: "http://simile.mit.edu/2007/06/timeplot#", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11047 importers: {} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11048 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11049 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11050 var javascriptFiles = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11051 "timeplot.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11052 "plot.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11053 "sources.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11054 "geometry.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11055 "color.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11056 "math.js", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11057 "processor.js" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11058 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11059 var cssFiles = [ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11060 "timeplot.css" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11061 ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11062 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11063 var locales = [ "en" ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11064 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11065 var defaultClientLocales = ("language" in navigator ? navigator.language : navigator.browserLanguage).split(";"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11066 for (var l = 0; l < defaultClientLocales.length; l++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11067 var locale = defaultClientLocales[l]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11068 if (locale != "en") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11069 var segments = locale.split("-"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11070 if (segments.length > 1 && segments[0] != "en") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11071 locales.push(segments[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11072 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11073 locales.push(locale); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11074 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11075 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11076 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11077 var paramTypes = { bundle:Boolean, js:Array, css:Array, autoCreate:Boolean }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11078 if (typeof Timeplot_urlPrefix == "string") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11079 Timeplot.urlPrefix = Timeplot_urlPrefix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11080 if ("Timeplot_parameters" in window) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11081 SimileAjax.parseURLParameters(Timeplot_parameters, Timeplot.params, paramTypes); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11082 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11083 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11084 var url = SimileAjax.findScript(document, "/timeplot-api.js"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11085 if (url == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11086 Timeplot.error = new Error("Failed to derive URL prefix for Simile Timeplot API code files"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11087 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11088 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11089 Timeplot.urlPrefix = url.substr(0, url.indexOf("timeplot-api.js")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11090 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11091 SimileAjax.parseURLParameters(url, Timeplot.params, paramTypes); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11092 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11093 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11094 if (Timeplot.params.locale) { // ISO-639 language codes, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11095 // optional ISO-3166 country codes (2 characters) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11096 if (Timeplot.params.locale != "en") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11097 var segments = Timeplot.params.locale.split("-"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11098 if (segments.length > 1 && segments[0] != "en") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11099 locales.push(segments[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11100 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11101 locales.push(Timeplot.params.locale); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11102 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11103 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11104 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11105 var timeplotURLPrefix = Timeplot.urlPrefix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11106 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11107 if (local && !("console" in window)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11108 var firebug = [ timeplotURLPrefix + "lib/firebug/firebug.js" ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11109 SimileAjax.includeJavascriptFiles(document, "", firebug); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11110 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11111 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11112 var canvas = document.createElement("canvas"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11113 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11114 if (!canvas.getContext) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11115 var excanvas = [ timeplotURLPrefix + "lib/excanvas.js" ]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11116 SimileAjax.includeJavascriptFiles(document, "", excanvas); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11117 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11118 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11119 var scriptURLs = Timeplot.params.js || []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11120 var cssURLs = Timeplot.params.css || []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11121 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11122 // Core scripts and styles |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11123 if (Timeplot.params.bundle && !local) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11124 scriptURLs.push(timeplotURLPrefix + "timeplot-bundle.js"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11125 cssURLs.push(timeplotURLPrefix + "timeplot-bundle.css"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11126 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11127 SimileAjax.prefixURLs(scriptURLs, timeplotURLPrefix + "scripts/", javascriptFiles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11128 SimileAjax.prefixURLs(cssURLs, timeplotURLPrefix + "styles/", cssFiles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11129 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11130 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11131 // Localization |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11132 //for (var i = 0; i < locales.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11133 // scriptURLs.push(Timeplot.urlPrefix + "locales/" + locales[i] + "/locale.js"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11134 //}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11135 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11136 window.SimileAjax_onLoad = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11137 if (local && window.console.open) window.console.open(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11138 if (Timeplot.params.callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11139 eval(Timeplot.params.callback + "()"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11140 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11141 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11142 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11143 SimileAjax.includeJavascriptFiles(document, "", scriptURLs); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11144 SimileAjax.includeCssFiles(document, "", cssURLs); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11145 Timeplot.loaded = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11146 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11147 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11148 // Load Timeline if it's not already loaded (after SimileAjax and before Timeplot) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11149 var loadTimeline = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11150 if (typeof Timeline != "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11151 loadTimeplot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11152 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11153 var timelineURL = "http://api.simile-widgets.org/timeline/2.3.1/timeline-api.js?bundle=true"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11154 window.SimileAjax_onLoad = loadTimeplot; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11155 SimileAjax.includeJavascriptFile(document, timelineURL); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11156 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11157 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11158 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11159 // Load SimileAjax if it's not already loaded |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11160 if (typeof SimileAjax == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11161 window.SimileAjax_onLoad = loadTimeline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11162 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11163 var url = "http://api.simile-widgets.org/ajax/2.2.1/simile-ajax-api.js?bundle=true"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11164 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11165 var createScriptElement = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11166 var script = document.createElement("script"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11167 script.type = "text/javascript"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11168 script.language = "JavaScript"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11169 script.src = url; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11170 document.getElementsByTagName("head")[0].appendChild(script); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11171 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11172 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11173 if (document.body == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11174 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11175 document.write("<script src='" + url + "' type='text/javascript'></script>"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11176 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11177 createScriptElement(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11178 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11179 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11180 createScriptElement(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11181 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11182 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11183 loadTimeline(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11184 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11185 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11186 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11187 * Timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11188 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11189 * @fileOverview Timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11190 * @name Timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11191 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11192 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11193 Timeline.Debug = SimileAjax.Debug; // timeline uses it's own debug system which is not as advanced |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11194 var log = SimileAjax.Debug.log; // shorter name is easier to use |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11195 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11196 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11197 * This function is used to implement a raw but effective OOP-like inheritance |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11198 * in various Timeplot classes. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11199 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11200 Object.extend = function(destination, source) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11201 for (var property in source) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11202 destination[property] = source[property]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11203 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11204 return destination; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11205 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11206 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11207 // --------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11208 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11209 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11210 * Create a timeplot attached to the given element and using the configuration from the given array of PlotInfos |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11211 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11212 Timeplot.create = function(elmt, plotInfos) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11213 return new Timeplot._Impl(elmt, plotInfos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11214 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11215 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11216 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11217 * Create a PlotInfo configuration from the given map of params |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11218 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11219 Timeplot.createPlotInfo = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11220 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11221 id: ("id" in params) ? params.id : "p" + Math.round(Math.random() * 1000000), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11222 dataSource: ("dataSource" in params) ? params.dataSource : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11223 eventSource: ("eventSource" in params) ? params.eventSource : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11224 timeGeometry: ("timeGeometry" in params) ? params.timeGeometry : new Timeplot.DefaultTimeGeometry(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11225 valueGeometry: ("valueGeometry" in params) ? params.valueGeometry : new Timeplot.DefaultValueGeometry(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11226 timeZone: ("timeZone" in params) ? params.timeZone : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11227 fillColor: ("fillColor" in params) ? ((params.fillColor == "string") ? new Timeplot.Color(params.fillColor) : params.fillColor) : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11228 fillGradient: ("fillGradient" in params) ? params.fillGradient : true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11229 fillFrom: ("fillFrom" in params) ? params.fillFrom : Number.NEGATIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11230 lineColor: ("lineColor" in params) ? ((params.lineColor == "string") ? new Timeplot.Color(params.lineColor) : params.lineColor) : new Timeplot.Color("#606060"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11231 lineWidth: ("lineWidth" in params) ? params.lineWidth : 1.0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11232 dotRadius: ("dotRadius" in params) ? params.dotRadius : 2.0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11233 dotColor: ("dotColor" in params) ? params.dotColor : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11234 eventLineWidth: ("eventLineWidth" in params) ? params.eventLineWidth : 1.0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11235 showValues: ("showValues" in params) ? params.showValues : false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11236 roundValues: ("roundValues" in params) ? params.roundValues : true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11237 valuesOpacity: ("valuesOpacity" in params) ? params.valuesOpacity : 75, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11238 bubbleWidth: ("bubbleWidth" in params) ? params.bubbleWidth : 300, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11239 bubbleHeight: ("bubbleHeight" in params) ? params.bubbleHeight : 200 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11240 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11241 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11242 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11243 // ------------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11244 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11245 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11246 * This is the implementation of the Timeplot object. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11247 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11248 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11249 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11250 Timeplot._Impl = function(elmt, plotInfos) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11251 this._id = "t" + Math.round(Math.random() * 1000000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11252 this._containerDiv = elmt; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11253 this._plotInfos = plotInfos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11254 this._painters = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11255 background: [], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11256 foreground: [] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11257 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11258 this._painter = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11259 this._active = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11260 this._upright = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11261 this._initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11262 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11263 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11264 Timeplot._Impl.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11265 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11266 dispose: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11267 for (var i = 0; i < this._plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11268 this._plots[i].dispose(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11269 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11270 this._plots = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11271 this._plotsInfos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11272 this._containerDiv.innerHTML = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11273 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11274 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11275 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11276 * Returns the main container div this timeplot is operating on. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11277 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11278 getElement: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11279 return this._containerDiv; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11280 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11281 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11282 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11283 * Returns document this timeplot belongs to. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11284 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11285 getDocument: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11286 return this._containerDiv.ownerDocument; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11287 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11288 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11289 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11290 * Append the given element to the timeplot DOM |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11291 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11292 add: function(div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11293 this._containerDiv.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11294 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11295 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11296 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11297 * Remove the given element to the timeplot DOM |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11298 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11299 remove: function(div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11300 this._containerDiv.removeChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11301 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11302 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11303 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11304 * Add a painter to the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11305 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11306 addPainter: function(layerName, painter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11307 var layer = this._painters[layerName]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11308 if (layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11309 for (var i = 0; i < layer.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11310 if (layer[i].context._id == painter.context._id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11311 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11312 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11313 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11314 layer.push(painter); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11315 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11316 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11317 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11318 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11319 * Remove a painter from the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11320 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11321 removePainter: function(layerName, painter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11322 var layer = this._painters[layerName]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11323 if (layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11324 for (var i = 0; i < layer.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11325 if (layer[i].context._id == painter.context._id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11326 layer.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11327 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11328 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11329 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11330 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11331 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11332 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11333 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11334 * Get the width in pixels of the area occupied by the entire timeplot in the page |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11335 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11336 getWidth: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11337 return this._containerDiv.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11338 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11339 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11340 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11341 * Get the height in pixels of the area occupied by the entire timeplot in the page |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11342 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11343 getHeight: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11344 return this._containerDiv.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11345 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11346 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11347 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11348 * Get the drawing canvas associated with this timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11349 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11350 getCanvas: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11351 return this._canvas; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11352 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11353 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11354 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11355 * <p>Load the data from the given url into the given eventSource, using |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11356 * the given separator to parse the columns and preprocess it before parsing |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11357 * thru the optional filter function. The filter is useful for when |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11358 * the data is row-oriented but the format is not compatible with the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11359 * one that Timeplot expects.</p> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11360 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11361 * <p>Here is an example of a filter that changes dates in the form 'yyyy/mm/dd' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11362 * in the required 'yyyy-mm-dd' format: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11363 * <pre>var dataFilter = function(data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11364 * for (var i = 0; i < data.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11365 * var row = data[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11366 * row[0] = row[0].replace(/\//g,"-"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11367 * } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11368 * return data; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11369 * };</pre></p> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11370 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11371 loadText: function(url, separator, eventSource, filter, format) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11372 if (this._active) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11373 var tp = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11374 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11375 var fError = function(statusText, status, xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11376 alert("Failed to load data xml from " + url + "\n" + statusText); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11377 tp.hideLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11378 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11379 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11380 var fDone = function(xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11381 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11382 eventSource.loadText(xmlhttp.responseText, separator, url, filter, format); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11383 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11384 SimileAjax.Debug.exception(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11385 } finally { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11386 tp.hideLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11387 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11388 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11389 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11390 this.showLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11391 window.setTimeout(function() { SimileAjax.XmlHttp.get(url, fError, fDone); }, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11392 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11393 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11394 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11395 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11396 * Load event data from the given url into the given eventSource, using |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11397 * the Timeline XML event format. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11398 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11399 loadXML: function(url, eventSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11400 if (this._active) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11401 var tl = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11402 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11403 var fError = function(statusText, status, xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11404 alert("Failed to load data xml from " + url + "\n" + statusText); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11405 tl.hideLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11406 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11407 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11408 var fDone = function(xmlhttp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11409 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11410 var xml = xmlhttp.responseXML; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11411 if (!xml.documentElement && xmlhttp.responseStream) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11412 xml.load(xmlhttp.responseStream); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11413 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11414 eventSource.loadXML(xml, url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11415 } finally { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11416 tl.hideLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11417 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11418 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11419 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11420 this.showLoadingMessage(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11421 window.setTimeout(function() { SimileAjax.XmlHttp.get(url, fError, fDone); }, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11422 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11423 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11424 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11425 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11426 * Overlay a 'div' element filled with the given text and styles to this timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11427 * This is used to implement labels since canvas does not support drawing text. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11428 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11429 putText: function(id, text, clazz, styles) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11430 var div = this.putDiv(id, "timeplot-div " + clazz, styles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11431 div.innerHTML = text; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11432 return div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11433 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11434 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11435 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11436 * Overlay a 'div' element, with the given class and the given styles to this timeplot. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11437 * This is used for labels and horizontal and vertical grids. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11438 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11439 putDiv: function(id, clazz, styles) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11440 var tid = this._id + "-" + id; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11441 var div = document.getElementById(tid); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11442 if (!div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11443 var container = this._containerDiv.firstChild; // get the divs container |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11444 div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11445 div.setAttribute("id",tid); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11446 container.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11447 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11448 div.setAttribute("class","timeplot-div " + clazz); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11449 div.setAttribute("className","timeplot-div " + clazz); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11450 this.placeDiv(div,styles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11451 return div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11452 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11453 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11454 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11455 * Associate the given map of styles to the given element. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11456 * In case such styles indicate position (left,right,top,bottom) correct them |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11457 * with the padding information so that they align to the 'internal' area |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11458 * of the timeplot. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11459 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11460 placeDiv: function(div, styles) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11461 if (styles) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11462 for (style in styles) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11463 if (style == "left") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11464 styles[style] += this._paddingX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11465 styles[style] += "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11466 } else if (style == "right") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11467 styles[style] += this._paddingX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11468 styles[style] += "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11469 } else if (style == "top") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11470 styles[style] += this._paddingY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11471 styles[style] += "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11472 } else if (style == "bottom") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11473 styles[style] += this._paddingY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11474 styles[style] += "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11475 } else if (style == "width") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11476 if (styles[style] < 0) styles[style] = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11477 styles[style] += "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11478 } else if (style == "height") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11479 if (styles[style] < 0) styles[style] = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11480 styles[style] += "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11481 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11482 div.style[style] = styles[style]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11483 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11484 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11485 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11486 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11487 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11488 * return a {x,y} map with the location of the given element relative to the 'internal' area of the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11489 * (that is, without the container padding) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11490 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11491 locate: function(div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11492 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11493 x: div.offsetLeft - this._paddingX, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11494 y: div.offsetTop - this._paddingY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11495 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11496 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11497 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11498 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11499 * Forces timeplot to re-evaluate the various value and time geometries |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11500 * associated with its plot layers and repaint accordingly. This should |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11501 * be invoked after the data in any of the data sources has been |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11502 * modified. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11503 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11504 update: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11505 if (this._active) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11506 for (var i = 0; i < this._plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11507 var plot = this._plots[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11508 var dataSource = plot.getDataSource(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11509 if (dataSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11510 var range = dataSource.getRange(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11511 if (range) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11512 plot._valueGeometry.setRange(range); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11513 plot._timeGeometry.setRange(range); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11514 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11515 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11516 plot.hideValues(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11517 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11518 this.paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11519 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11520 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11521 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11522 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11523 * Forces timeplot to re-evaluate its own geometry, clear itself and paint. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11524 * This should be used instead of paint() when you're not sure if the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11525 * geometry of the page has changed or not. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11526 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11527 repaint: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11528 if (this._active) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11529 this._prepareCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11530 for (var i = 0; i < this._plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11531 var plot = this._plots[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11532 if (plot._timeGeometry) plot._timeGeometry.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11533 if (plot._valueGeometry) plot._valueGeometry.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11534 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11535 this.paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11536 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11537 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11538 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11539 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11540 * Calls all the painters that were registered to this timeplot and makes them |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11541 * paint the timeplot. This should be used only when you're sure that the geometry |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11542 * of the page hasn't changed. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11543 * NOTE: painting is performed by a different thread and it's safe to call this |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11544 * function in bursts (as in mousemove or during window resizing |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11545 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11546 paint: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11547 if (this._active && this._painter == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11548 var timeplot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11549 this._painter = window.setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11550 timeplot._clearCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11551 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11552 var run = function(action,context) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11553 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11554 if (context.setTimeplot) context.setTimeplot(timeplot); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11555 action.apply(context,[]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11556 } catch (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11557 SimileAjax.Debug.exception(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11558 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11559 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11560 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11561 var background = timeplot._painters.background; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11562 for (var i = 0; i < background.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11563 run(background[i].action, background[i].context); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11564 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11565 var foreground = timeplot._painters.foreground; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11566 for (var i = 0; i < foreground.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11567 run(foreground[i].action, foreground[i].context); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11568 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11569 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11570 timeplot._painter = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11571 }, 20); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11572 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11573 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11574 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11575 _clearCanvas: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11576 var canvas = this.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11577 var ctx = canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11578 ctx.clearRect(0,0,canvas.width,canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11579 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11580 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11581 _clearLabels: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11582 var labels = this._containerDiv.firstChild; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11583 if (labels) this._containerDiv.removeChild(labels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11584 labels = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11585 this._containerDiv.appendChild(labels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11586 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11587 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11588 _prepareCanvas: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11589 var canvas = this.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11590 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11591 // using jQuery. note we calculate the average padding; if your |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11592 // padding settings are not symmetrical, the labels will be off |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11593 // since they expect to be centered on the canvas. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11594 var con = SimileAjax.jQuery(this._containerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11595 this._paddingX = (parseInt(con.css('paddingLeft')) + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11596 parseInt(con.css('paddingRight'))) / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11597 this._paddingY = (parseInt(con.css('paddingTop')) + |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11598 parseInt(con.css('paddingBottom'))) / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11599 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11600 canvas.width = this.getWidth() - (this._paddingX * 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11601 canvas.height = this.getHeight() - (this._paddingY * 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11602 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11603 var ctx = canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11604 this._setUpright(ctx, canvas); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11605 ctx.globalCompositeOperation = 'source-over'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11606 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11607 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11608 _setUpright: function(ctx, canvas) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11609 // excanvas+IE requires this to be done only once, ever; actual canvas |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11610 // implementations reset and require this for each call to re-layout |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11611 if (!SimileAjax.Platform.browser.isIE) this._upright = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11612 if (!this._upright) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11613 this._upright = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11614 ctx.translate(0, canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11615 ctx.scale(1,-1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11616 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11617 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11618 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11619 _isBrowserSupported: function(canvas) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11620 var browser = SimileAjax.Platform.browser; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11621 if ((canvas.getContext && window.getComputedStyle) || |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11622 (browser.isIE && browser.majorVersion >= 6)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11623 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11624 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11625 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11626 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11627 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11628 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11629 _initialize: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11630 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11631 // initialize the window manager (used to handle the popups) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11632 // NOTE: this is a singleton and it's safe to call multiple times |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11633 SimileAjax.WindowManager.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11634 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11635 var containerDiv = this._containerDiv; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11636 var doc = containerDiv.ownerDocument; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11637 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11638 // make sure the timeplot div has the right class |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11639 containerDiv.className = "timeplot-container " + containerDiv.className; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11640 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11641 // clean it up if it contains some content |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11642 while (containerDiv.firstChild) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11643 containerDiv.removeChild(containerDiv.firstChild); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11644 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11645 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11646 var canvas = doc.createElement("canvas"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11647 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11648 if (this._isBrowserSupported(canvas)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11649 this._clearLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11650 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11651 this._canvas = canvas; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11652 canvas.className = "timeplot-canvas"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11653 containerDiv.appendChild(canvas); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11654 if(!canvas.getContext && G_vmlCanvasManager) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11655 canvas = G_vmlCanvasManager.initElement(this._canvas); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11656 this._canvas = canvas; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11657 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11658 this._prepareCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11659 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11660 // inserting copyright and link to simile |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11661 var elmtCopyright = SimileAjax.Graphics.createTranslucentImage(Timeplot.urlPrefix + "images/copyright.png"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11662 elmtCopyright.className = "timeplot-copyright"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11663 elmtCopyright.title = "Timeplot (c) SIMILE - http://simile.mit.edu/timeplot/"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11664 SimileAjax.DOM.registerEvent(elmtCopyright, "click", function() { window.location = "http://simile.mit.edu/timeplot/"; }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11665 containerDiv.appendChild(elmtCopyright); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11666 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11667 var timeplot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11668 var painter = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11669 onAddMany: function() { timeplot.update(); }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11670 onClear: function() { timeplot.update(); } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11671 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11672 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11673 // creating painters |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11674 this._plots = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11675 if (this._plotInfos) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11676 for (var i = 0; i < this._plotInfos.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11677 var plot = new Timeplot.Plot(this, this._plotInfos[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11678 var dataSource = plot.getDataSource(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11679 if (dataSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11680 dataSource.addListener(painter); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11681 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11682 this.addPainter("background", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11683 context: plot.getTimeGeometry(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11684 action: plot.getTimeGeometry().paint |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11685 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11686 this.addPainter("background", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11687 context: plot.getValueGeometry(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11688 action: plot.getValueGeometry().paint |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11689 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11690 this.addPainter("foreground", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11691 context: plot, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11692 action: plot.paint |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11693 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11694 this._plots.push(plot); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11695 plot.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11696 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11697 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11698 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11699 // creating loading UI |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11700 var message = SimileAjax.Graphics.createMessageBubble(doc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11701 message.containerDiv.className = "timeplot-message-container"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11702 containerDiv.appendChild(message.containerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11703 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11704 message.contentDiv.className = "timeplot-message"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11705 message.contentDiv.innerHTML = "<img src='" + Timeplot.urlPrefix + "images/progress-running.gif' /> Loading..."; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11706 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11707 this.showLoadingMessage = function() { message.containerDiv.style.display = "block"; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11708 this.hideLoadingMessage = function() { message.containerDiv.style.display = "none"; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11709 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11710 this._active = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11711 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11712 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11713 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11714 this._message = SimileAjax.Graphics.createMessageBubble(doc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11715 this._message.containerDiv.className = "timeplot-message-container"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11716 this._message.containerDiv.style.top = "15%"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11717 this._message.containerDiv.style.left = "20%"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11718 this._message.containerDiv.style.right = "20%"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11719 this._message.containerDiv.style.minWidth = "20em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11720 this._message.contentDiv.className = "timeplot-message"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11721 this._message.contentDiv.innerHTML = "We're terribly sorry, but your browser is not currently supported by <a href='http://simile.mit.edu/timeplot/'>Timeplot</a>.<br><br> We are working on supporting it in the near future but, for now, see the <a href='http://simile.mit.edu/wiki/Timeplot_Limitations'>list of currently supported browsers</a>."; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11722 this._message.containerDiv.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11723 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11724 containerDiv.appendChild(this._message.containerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11725 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11726 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11727 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11728 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11729 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11730 * Plot Layer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11731 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11732 * @fileOverview Plot Layer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11733 * @name Plot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11734 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11735 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11736 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11737 * A plot layer is the main building block for timeplots and it's the object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11738 * that is responsible for painting the plot itself. Each plot needs to have |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11739 * a time geometry, either a DataSource (for time series |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11740 * plots) or an EventSource (for event plots) and a value geometry in case |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11741 * of time series plots. Such parameters are passed along |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11742 * in the 'plotInfo' map. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11743 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11744 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11745 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11746 Timeplot.Plot = function(timeplot, plotInfo) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11747 this._timeplot = timeplot; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11748 this._canvas = timeplot.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11749 this._plotInfo = plotInfo; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11750 this._id = plotInfo.id; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11751 this._timeGeometry = plotInfo.timeGeometry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11752 this._valueGeometry = plotInfo.valueGeometry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11753 this._theme = new Timeline.getDefaultTheme(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11754 this._dataSource = plotInfo.dataSource; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11755 this._eventSource = plotInfo.eventSource; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11756 this._bubble = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11757 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11758 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11759 Timeplot.Plot.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11760 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11761 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11762 * Initialize the plot layer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11763 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11764 initialize: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11765 if (this._dataSource && this._dataSource.getValue) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11766 this._timeFlag = this._timeplot.putDiv("timeflag","timeplot-timeflag"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11767 this._valueFlag = this._timeplot.putDiv(this._id + "valueflag","timeplot-valueflag"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11768 this._valueFlagLineLeft = this._timeplot.putDiv(this._id + "valueflagLineLeft","timeplot-valueflag-line"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11769 this._valueFlagLineRight = this._timeplot.putDiv(this._id + "valueflagLineRight","timeplot-valueflag-line"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11770 if (!this._valueFlagLineLeft.firstChild) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11771 this._valueFlagLineLeft.appendChild(SimileAjax.Graphics.createTranslucentImage(Timeplot.urlPrefix + "images/line_left.png")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11772 this._valueFlagLineRight.appendChild(SimileAjax.Graphics.createTranslucentImage(Timeplot.urlPrefix + "images/line_right.png")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11773 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11774 this._valueFlagPole = this._timeplot.putDiv(this._id + "valuepole","timeplot-valueflag-pole"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11775 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11776 var opacity = this._plotInfo.valuesOpacity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11777 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11778 SimileAjax.Graphics.setOpacity(this._timeFlag, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11779 SimileAjax.Graphics.setOpacity(this._valueFlag, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11780 SimileAjax.Graphics.setOpacity(this._valueFlagLineLeft, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11781 SimileAjax.Graphics.setOpacity(this._valueFlagLineRight, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11782 SimileAjax.Graphics.setOpacity(this._valueFlagPole, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11783 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11784 var plot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11785 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11786 var mouseOverHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11787 if (plot._plotInfo.showValues) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11788 plot._valueFlag.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11789 mouseMoveHandler(elmt, evt, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11790 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11791 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11792 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11793 var day = 24 * 60 * 60 * 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11794 var month = 30 * day; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11795 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11796 var mouseMoveHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11797 if (typeof SimileAjax != "undefined" && plot._plotInfo.showValues) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11798 var c = plot._canvas; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11799 var x = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt,plot._canvas).x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11800 if (x > c.width) x = c.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11801 if (isNaN(x) || x < 0) x = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11802 var t = plot._timeGeometry.fromScreen(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11803 if (t == 0) { // something is wrong |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11804 plot._valueFlag.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11805 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11806 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11807 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11808 var validTime = plot._dataSource.getClosestValidTime(t); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11809 x = plot._timeGeometry.toScreen(validTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11810 var v = plot._dataSource.getValue(validTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11811 if (plot._plotInfo.roundValues) v = Math.round(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11812 plot._valueFlag.innerHTML = new String(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11813 var d = new Date(validTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11814 var p = plot._timeGeometry.getPeriod(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11815 if (p < day) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11816 plot._timeFlag.innerHTML = d.toLocaleTimeString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11817 } else if (p > month) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11818 plot._timeFlag.innerHTML = d.toLocaleDateString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11819 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11820 plot._timeFlag.innerHTML = d.toLocaleString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11821 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11822 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11823 var tw = plot._timeFlag.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11824 var th = plot._timeFlag.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11825 var tdw = Math.round(tw / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11826 var vw = plot._valueFlag.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11827 var vh = plot._valueFlag.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11828 var y = plot._valueGeometry.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11829 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11830 if (x + tdw > c.width) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11831 var tx = c.width - tdw; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11832 } else if (x - tdw < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11833 var tx = tdw; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11834 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11835 var tx = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11836 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11837 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11838 if (plot._timeGeometry._timeValuePosition == "top") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11839 plot._timeplot.placeDiv(plot._valueFlagPole, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11840 left: x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11841 top: th - 5, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11842 height: c.height - y - th + 6, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11843 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11844 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11845 plot._timeplot.placeDiv(plot._timeFlag,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11846 left: tx - tdw, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11847 top: -6, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11848 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11849 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11850 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11851 plot._timeplot.placeDiv(plot._valueFlagPole, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11852 left: x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11853 bottom: th - 5, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11854 height: y - th + 6, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11855 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11856 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11857 plot._timeplot.placeDiv(plot._timeFlag,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11858 left: tx - tdw, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11859 bottom: -6, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11860 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11861 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11862 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11863 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11864 if (x + vw + 14 > c.width && y + vh + 4 > c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11865 plot._valueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11866 plot._timeplot.placeDiv(plot._valueFlagLineRight,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11867 left: x - 14, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11868 bottom: y - 14, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11869 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11870 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11871 plot._timeplot.placeDiv(plot._valueFlag,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11872 left: x - vw - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11873 bottom: y - vh - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11874 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11875 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11876 } else if (x + vw + 14 > c.width && y + vh + 4 < c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11877 plot._valueFlagLineRight.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11878 plot._timeplot.placeDiv(plot._valueFlagLineLeft,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11879 left: x - 14, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11880 bottom: y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11881 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11882 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11883 plot._timeplot.placeDiv(plot._valueFlag,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11884 left: x - vw - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11885 bottom: y + 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11886 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11887 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11888 } else if (x + vw + 14 < c.width && y + vh + 4 > c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11889 plot._valueFlagLineRight.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11890 plot._timeplot.placeDiv(plot._valueFlagLineLeft,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11891 left: x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11892 bottom: y - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11893 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11894 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11895 plot._timeplot.placeDiv(plot._valueFlag,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11896 left: x + 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11897 bottom: y - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11898 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11899 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11900 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11901 plot._valueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11902 plot._timeplot.placeDiv(plot._valueFlagLineRight,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11903 left: x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11904 bottom: y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11905 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11906 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11907 plot._timeplot.placeDiv(plot._valueFlag,{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11908 left: x + 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11909 bottom: y + 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11910 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11911 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11912 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11913 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11914 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11915 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11916 var timeplotElement = this._timeplot.getElement(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11917 SimileAjax.DOM.registerEvent(timeplotElement, "mouseover", mouseOverHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11918 SimileAjax.DOM.registerEvent(timeplotElement, "mousemove", mouseMoveHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11919 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11920 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11921 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11922 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11923 * Dispose the plot layer and all the data sources and listeners associated to it |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11924 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11925 dispose: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11926 if (this._dataSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11927 this._dataSource.removeListener(this._paintingListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11928 this._paintingListener = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11929 this._dataSource.dispose(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11930 this._dataSource = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11931 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11932 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11933 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11934 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11935 * Hide the values |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11936 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11937 hideValues: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11938 if (this._valueFlag) this._valueFlag.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11939 if (this._timeFlag) this._timeFlag.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11940 if (this._valueFlagLineLeft) this._valueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11941 if (this._valueFlagLineRight) this._valueFlagLineRight.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11942 if (this._valueFlagPole) this._valueFlagPole.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11943 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11944 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11945 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11946 * Return the data source of this plot layer (it could be either a DataSource or an EventSource) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11947 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11948 getDataSource: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11949 return (this._dataSource) ? this._dataSource : this._eventSource; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11950 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11951 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11952 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11953 * Return the time geometry associated with this plot layer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11954 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11955 getTimeGeometry: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11956 return this._timeGeometry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11957 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11958 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11959 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11960 * Return the value geometry associated with this plot layer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11961 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11962 getValueGeometry: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11963 return this._valueGeometry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11964 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11965 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11966 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11967 * Paint this plot layer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11968 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11969 paint: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11970 var ctx = this._canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11971 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11972 ctx.lineWidth = this._plotInfo.lineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11973 ctx.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11974 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11975 if (this._dataSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11976 if (this._plotInfo.fillColor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11977 if (this._plotInfo.fillGradient) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11978 var gradient = ctx.createLinearGradient(0,this._canvas.height,0,0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11979 gradient.addColorStop(0,this._plotInfo.fillColor.toString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11980 gradient.addColorStop(0.5,this._plotInfo.fillColor.toString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11981 gradient.addColorStop(1, 'rgba(255,255,255,0)'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11982 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11983 ctx.fillStyle = gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11984 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11985 ctx.fillStyle = this._plotInfo.fillColor.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11986 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11987 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11988 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11989 ctx.moveTo(0,0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11990 this._plot(function(x,y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11991 ctx.lineTo(x,y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11992 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11993 if (this._plotInfo.fillFrom == Number.NEGATIVE_INFINITY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11994 ctx.lineTo(this._canvas.width, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11995 } else if (this._plotInfo.fillFrom == Number.POSITIVE_INFINITY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11996 ctx.lineTo(this._canvas.width, this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11997 ctx.lineTo(0, this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11998 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11999 ctx.lineTo(this._canvas.width, this._valueGeometry.toScreen(this._plotInfo.fillFrom)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12000 ctx.lineTo(0, this._valueGeometry.toScreen(this._plotInfo.fillFrom)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12001 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12002 ctx.fill(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12003 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12004 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12005 if (this._plotInfo.lineColor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12006 ctx.strokeStyle = this._plotInfo.lineColor.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12007 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12008 var first = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12009 this._plot(function(x,y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12010 if (first) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12011 first = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12012 ctx.moveTo(x,y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12013 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12014 ctx.lineTo(x,y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12015 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12016 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12017 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12018 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12019 if (this._plotInfo.dotColor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12020 ctx.fillStyle = this._plotInfo.dotColor.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12021 var r = this._plotInfo.dotRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12022 this._plot(function(x,y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12023 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12024 ctx.arc(x,y,r,0,2*Math.PI,true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12025 ctx.fill(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12026 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12027 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12028 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12029 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12030 if (this._eventSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12031 var gradient = ctx.createLinearGradient(0,0,0,this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12032 gradient.addColorStop(1, 'rgba(255,255,255,0)'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12033 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12034 ctx.strokeStyle = gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12035 ctx.fillStyle = gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12036 ctx.lineWidth = this._plotInfo.eventLineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12037 ctx.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12038 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12039 var i = this._eventSource.getAllEventIterator(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12040 while (i.hasNext()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12041 var event = i.next(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12042 var color = event.getColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12043 color = (color) ? new Timeplot.Color(color) : this._plotInfo.lineColor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12044 var eventStart = event.getStart().getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12045 var eventEnd = event.getEnd().getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12046 if (eventStart == eventEnd) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12047 var c = color.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12048 gradient.addColorStop(0, c); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12049 var start = this._timeGeometry.toScreen(eventStart); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12050 start = Math.floor(start) + 0.5; // center it between two pixels (makes the rendering nicer) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12051 var end = start; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12052 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12053 ctx.moveTo(start,0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12054 ctx.lineTo(start,this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12055 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12056 var x = start - 4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12057 var w = 7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12058 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12059 var c = color.toString(0.5); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12060 gradient.addColorStop(0, c); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12061 var start = this._timeGeometry.toScreen(eventStart); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12062 start = Math.floor(start) + 0.5; // center it between two pixels (makes the rendering nicer) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12063 var end = this._timeGeometry.toScreen(eventEnd); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12064 end = Math.floor(end) + 0.5; // center it between two pixels (makes the rendering nicer) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12065 ctx.fillRect(start,0,end - start, this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12066 var x = start; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12067 var w = end - start - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12068 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12069 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12070 var div = this._timeplot.putDiv(event.getID(),"timeplot-event-box",{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12071 left: Math.round(x), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12072 width: Math.round(w), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12073 top: 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12074 height: this._canvas.height - 1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12075 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12076 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12077 var plot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12078 var clickHandler = function(event) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12079 return function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12080 var doc = plot._timeplot.getDocument(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12081 plot._closeBubble(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12082 var coords = SimileAjax.DOM.getEventPageCoordinates(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12083 var elmtCoords = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12084 plot._bubble = SimileAjax.Graphics.createBubbleForPoint(coords.x, elmtCoords.top + plot._canvas.height, plot._plotInfo.bubbleWidth, plot._plotInfo.bubbleHeight, "bottom"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12085 event.fillInfoBubble(plot._bubble.content, plot._theme, plot._timeGeometry.getLabeler()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12086 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12087 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12088 var mouseOverHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12089 elmt.oldClass = elmt.className; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12090 elmt.className = elmt.className + " timeplot-event-box-highlight"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12091 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12092 var mouseOutHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12093 elmt.className = elmt.oldClass; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12094 elmt.oldClass = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12095 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12096 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12097 if (!div.instrumented) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12098 SimileAjax.DOM.registerEvent(div, "click" , clickHandler(event)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12099 SimileAjax.DOM.registerEvent(div, "mouseover", mouseOverHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12100 SimileAjax.DOM.registerEvent(div, "mouseout" , mouseOutHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12101 div.instrumented = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12102 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12103 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12104 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12105 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12106 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12107 _plot: function(f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12108 var data = this._dataSource.getData(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12109 if (data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12110 var times = data.times; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12111 var values = data.values; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12112 var T = times.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12113 for (var t = 0; t < T; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12114 var x = this._timeGeometry.toScreen(times[t]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12115 var y = this._valueGeometry.toScreen(values[t]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12116 f(x, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12117 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12118 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12119 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12120 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12121 _closeBubble: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12122 if (this._bubble != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12123 this._bubble.close(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12124 this._bubble = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12125 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12126 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12127 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12128 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12129 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12130 * Sources |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12131 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12132 * @fileOverview Sources |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12133 * @name Sources |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12134 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12135 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12136 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12137 * Timeplot.DefaultEventSource is an extension of Timeline.DefaultEventSource |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12138 * and therefore reuses the exact same event loading subsystem that |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12139 * Timeline uses. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12140 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12141 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12142 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12143 Timeplot.DefaultEventSource = function(eventIndex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12144 Timeline.DefaultEventSource.apply(this, arguments); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12145 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12146 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12147 Object.extend(Timeplot.DefaultEventSource.prototype, Timeline.DefaultEventSource.prototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12148 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12149 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12150 * Function used by Timeplot to load time series data from a text file. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12151 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12152 Timeplot.DefaultEventSource.prototype.loadText = function(text, separator, url, filter, format) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12153 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12154 if (text == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12155 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12156 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12157 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12158 this._events.maxValues = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12159 var base = this._getBaseURL(url); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12160 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12161 if (!format) format = 'iso8601'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12162 var parseDateTimeFunction = this._events.getUnit().getParser(format); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12163 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12164 var data = this._parseText(text, separator); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12165 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12166 var added = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12167 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12168 if (filter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12169 data = filter(data); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12170 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12171 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12172 if (data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12173 for (var i = 0; i < data.length; i++){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12174 var row = data[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12175 if (row.length > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12176 var dateStr = SimileAjax.jQuery.trim(row[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12177 var date = parseDateTimeFunction(dateStr); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12178 if (date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12179 var evt = new Timeplot.DefaultEventSource.NumericEvent(date,row.slice(1)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12180 this._events.add(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12181 added = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12182 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12183 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12184 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12185 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12186 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12187 if (added) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12188 this._fire("onAddMany", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12189 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12190 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12191 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12192 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12193 * Parse the data file. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12194 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12195 * Adapted from http://www.kawa.net/works/js/jkl/js/jkl-parsexml.js by Yusuke Kawasaki |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12196 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12197 Timeplot.DefaultEventSource.prototype._parseText = function (text, separator) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12198 text = text.replace( /\r\n?/g, "\n" ); // normalize newlines |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12199 var pos = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12200 var len = text.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12201 var table = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12202 while (pos < len) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12203 var line = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12204 if (text.charAt(pos) != '#') { // if it's not a comment, process |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12205 while (pos < len) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12206 if (text.charAt(pos) == '"') { // "..." quoted column |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12207 var nextquote = text.indexOf('"', pos+1 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12208 while (nextquote<len && nextquote > -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12209 if (text.charAt(nextquote+1) != '"') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12210 break; // end of column |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12211 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12212 nextquote = text.indexOf('"', nextquote + 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12213 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12214 if ( nextquote < 0 ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12215 // unclosed quote |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12216 } else if (text.charAt(nextquote + 1) == separator) { // end of column |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12217 var quoted = text.substr(pos + 1, nextquote-pos - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12218 quoted = quoted.replace(/""/g,'"'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12219 line[line.length] = quoted; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12220 pos = nextquote + 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12221 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12222 } else if (text.charAt(nextquote + 1) == "\n" || // end of line |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12223 len == nextquote + 1 ) { // end of file |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12224 var quoted = text.substr(pos + 1, nextquote-pos - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12225 quoted = quoted.replace(/""/g,'"'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12226 line[line.length] = quoted; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12227 pos = nextquote + 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12228 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12229 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12230 // invalid column |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12231 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12232 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12233 var nextseparator = text.indexOf(separator, pos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12234 var nextnline = text.indexOf("\n", pos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12235 if (nextnline < 0) nextnline = len; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12236 if (nextseparator > -1 && nextseparator < nextnline) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12237 line[line.length] = text.substr(pos, nextseparator-pos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12238 pos = nextseparator + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12239 } else { // end of line |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12240 line[line.length] = text.substr(pos, nextnline-pos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12241 pos = nextnline + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12242 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12243 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12244 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12245 } else { // if it's a comment, ignore |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12246 var nextnline = text.indexOf("\n", pos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12247 pos = (nextnline > -1) ? nextnline + 1 : cur; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12248 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12249 if (line.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12250 table[table.length] = line; // push line |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12251 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12252 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12253 if (table.length < 0) return; // null data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12254 return table; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12255 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12256 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12257 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12258 * Return the range of the loaded data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12259 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12260 Timeplot.DefaultEventSource.prototype.getRange = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12261 var earliestDate = this.getEarliestDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12262 var latestDate = this.getLatestDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12263 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12264 earliestDate: (earliestDate) ? earliestDate : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12265 latestDate: (latestDate) ? latestDate : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12266 min: 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12267 max: 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12268 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12269 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12270 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12271 // ----------------------------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12272 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12273 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12274 * A NumericEvent is an Event that also contains an array of values, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12275 * one for each columns in the loaded data file. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12276 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12277 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12278 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12279 Timeplot.DefaultEventSource.NumericEvent = function(time, values) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12280 this._id = "e" + Math.round(Math.random() * 1000000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12281 this._time = time; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12282 this._values = values; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12283 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12284 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12285 Timeplot.DefaultEventSource.NumericEvent.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12286 getID: function() { return this._id; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12287 getTime: function() { return this._time; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12288 getValues: function() { return this._values; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12289 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12290 // these are required by the EventSource |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12291 getStart: function() { return this._time; }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12292 getEnd: function() { return this._time; } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12293 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12294 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12295 // ----------------------------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12296 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12297 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12298 * A DataSource represent an abstract class that represents a monodimensional time series. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12299 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12300 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12301 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12302 Timeplot.DataSource = function(eventSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12303 this._eventSource = eventSource; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12304 var source = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12305 this._processingListener = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12306 onAddMany: function() { source._process(); }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12307 onClear: function() { source._clear(); } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12308 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12309 this.addListener(this._processingListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12310 this._listeners = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12311 this._data = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12312 this._range = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12313 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12314 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12315 Timeplot.DataSource.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12316 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12317 _clear: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12318 this._data = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12319 this._range = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12320 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12321 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12322 _process: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12323 this._data = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12324 times: new Array(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12325 values: new Array() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12326 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12327 this._range = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12328 earliestDate: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12329 latestDate: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12330 min: 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12331 max: 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12332 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12333 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12334 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12335 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12336 * Return the range of this data source |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12337 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12338 getRange: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12339 return this._range; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12340 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12341 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12342 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12343 * Return the actual data that this data source represents. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12344 * NOTE: _data = { times: [], values: [] } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12345 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12346 getData: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12347 return this._data; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12348 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12349 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12350 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12351 * Return the value associated with the given time in this time series |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12352 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12353 getValue: function(t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12354 if (this._data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12355 for (var i = 0; i < this._data.times.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12356 var l = this._data.times[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12357 if (l >= t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12358 return this._data.values[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12359 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12360 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12361 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12362 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12363 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12364 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12365 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12366 * Return the time of the data point closest to the given time. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12367 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12368 getClosestValidTime: function(t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12369 if (this._data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12370 for (var i = 0; i < this._data.times.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12371 var currentTime = this._data.times[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12372 if (currentTime >= t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12373 if (i <= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12374 return currentTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12375 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12376 var lastTime = this._data.times[i - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12377 // t must be between currentTime and lastTime. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12378 // Find the closest one. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12379 if (t - lastTime < currentTime - t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12380 return lastTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12381 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12382 return currentTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12383 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12384 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12385 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12386 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12387 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12388 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12389 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12390 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12391 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12392 * Add a listener to the underlying event source |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12393 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12394 addListener: function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12395 this._eventSource.addListener(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12396 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12397 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12398 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12399 * Remove a listener from the underlying event source |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12400 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12401 removeListener: function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12402 this._eventSource.removeListener(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12403 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12404 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12405 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12406 * Replace a listener from the underlying event source |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12407 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12408 replaceListener: function(oldListener, newListener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12409 this.removeListener(oldListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12410 this.addListener(newListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12411 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12412 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12413 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12414 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12415 // ----------------------------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12416 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12417 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12418 * Implementation of a DataSource that extracts the time series out of a |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12419 * single column from the events |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12420 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12421 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12422 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12423 Timeplot.ColumnSource = function(eventSource, column) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12424 Timeplot.DataSource.apply(this, arguments); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12425 this._column = column - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12426 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12427 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12428 Object.extend(Timeplot.ColumnSource.prototype,Timeplot.DataSource.prototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12429 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12430 Timeplot.ColumnSource.prototype.dispose = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12431 this.removeListener(this._processingListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12432 this._clear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12433 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12434 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12435 Timeplot.ColumnSource.prototype._process = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12436 var count = this._eventSource.getCount(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12437 var times = new Array(count); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12438 var values = new Array(count); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12439 var min = Number.MAX_VALUE; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12440 var max = Number.MIN_VALUE; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12441 var i = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12442 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12443 var iterator = this._eventSource.getAllEventIterator(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12444 while (iterator.hasNext()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12445 var event = iterator.next(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12446 var time = event.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12447 times[i] = time; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12448 var value = this._getValue(event); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12449 if (!isNaN(value)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12450 if (value < min) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12451 min = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12452 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12453 if (value > max) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12454 max = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12455 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12456 values[i] = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12457 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12458 i++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12459 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12460 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12461 this._data = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12462 times: times, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12463 values: values |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12464 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12465 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12466 if (max == Number.MIN_VALUE) max = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12467 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12468 this._range = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12469 earliestDate: this._eventSource.getEarliestDate(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12470 latestDate: this._eventSource.getLatestDate(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12471 min: min, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12472 max: max |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12473 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12474 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12475 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12476 Timeplot.ColumnSource.prototype._getValue = function(event) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12477 return parseFloat(event.getValues()[this._column]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12478 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12479 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12480 // --------------------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12481 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12482 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12483 * Data Source that generates the time series out of the difference |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12484 * between the first and the second column |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12485 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12486 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12487 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12488 Timeplot.ColumnDiffSource = function(eventSource, column1, column2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12489 Timeplot.ColumnSource.apply(this, arguments); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12490 this._column2 = column2 - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12491 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12492 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12493 Object.extend(Timeplot.ColumnDiffSource.prototype,Timeplot.ColumnSource.prototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12494 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12495 Timeplot.ColumnDiffSource.prototype._getValue = function(event) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12496 var a = parseFloat(event.getValues()[this._column]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12497 var b = parseFloat(event.getValues()[this._column2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12498 return a - b; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12499 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12500 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12501 * Geometries |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12502 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12503 * @fileOverview Geometries |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12504 * @name Geometries |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12505 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12506 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12507 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12508 * This is the constructor for the default value geometry. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12509 * A value geometry is what regulates mapping of the plot values to the screen y coordinate. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12510 * If two plots share the same value geometry, they will be drawn using the same scale. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12511 * If "min" and "max" parameters are not set, the geometry will stretch itself automatically |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12512 * so that the entire plot will be drawn without overflowing. The stretching happens also |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12513 * when a geometry is shared between multiple plots, the one with the biggest range will |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12514 * win over the others. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12515 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12516 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12517 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12518 Timeplot.DefaultValueGeometry = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12519 if (!params) params = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12520 this._id = ("id" in params) ? params.id : "g" + Math.round(Math.random() * 1000000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12521 this._axisColor = ("axisColor" in params) ? ((typeof params.axisColor == "string") ? new Timeplot.Color(params.axisColor) : params.axisColor) : new Timeplot.Color("#606060"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12522 this._gridColor = ("gridColor" in params) ? ((typeof params.gridColor == "string") ? new Timeplot.Color(params.gridColor) : params.gridColor) : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12523 this._gridLineWidth = ("gridLineWidth" in params) ? params.gridLineWidth : 0.5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12524 this._axisLabelsPlacement = ("axisLabelsPlacement" in params) ? params.axisLabelsPlacement : "right"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12525 this._gridSpacing = ("gridSpacing" in params) ? params.gridStep : 50; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12526 this._gridType = ("gridType" in params) ? params.gridType : "short"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12527 this._gridShortSize = ("gridShortSize" in params) ? params.gridShortSize : 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12528 this._minValue = ("min" in params) ? params.min : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12529 this._maxValue = ("max" in params) ? params.max : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12530 this._linMap = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12531 direct: function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12532 return v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12533 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12534 inverse: function(y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12535 return y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12536 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12537 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12538 this._map = this._linMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12539 this._labels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12540 this._grid = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12541 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12542 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12543 Timeplot.DefaultValueGeometry.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12544 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12545 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12546 * Since geometries can be reused across timeplots, we need to call this function |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12547 * before we can paint using this geometry. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12548 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12549 setTimeplot: function(timeplot) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12550 this._timeplot = timeplot; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12551 this._canvas = timeplot.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12552 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12553 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12554 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12555 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12556 * Called by all the plot layers this geometry is associated with |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12557 * to update the value range. Unless min/max values are specified |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12558 * in the parameters, the biggest value range will be used. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12559 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12560 setRange: function(range) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12561 if ((this._minValue == null) || ((this._minValue != null) && (range.min < this._minValue))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12562 this._minValue = range.min; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12563 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12564 if ((this._maxValue == null) || ((this._maxValue != null) && (range.max * 1.05 > this._maxValue))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12565 this._maxValue = range.max * 1.05; // get a little more head room to avoid hitting the ceiling |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12566 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12567 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12568 this._updateMappedValues(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12569 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12570 if (!(this._minValue == 0 && this._maxValue == 0)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12571 this._grid = this._calculateGrid(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12572 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12573 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12574 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12575 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12576 * Called after changing ranges or canvas size to reset the grid values |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12577 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12578 reset: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12579 this._clearLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12580 this._updateMappedValues(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12581 this._grid = this._calculateGrid(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12582 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12583 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12584 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12585 * Map the given value to a y screen coordinate. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12586 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12587 toScreen: function(value) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12588 if (this._canvas && this._maxValue) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12589 var v = value - this._minValue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12590 return this._canvas.height * (this._map.direct(v)) / this._mappedRange; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12591 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12592 return -50; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12593 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12594 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12595 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12596 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12597 * Map the given y screen coordinate to a value |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12598 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12599 fromScreen: function(y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12600 if (this._canvas) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12601 return this._map.inverse(this._mappedRange * y / this._canvas.height) + this._minValue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12602 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12603 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12604 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12605 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12606 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12607 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12608 * Each geometry is also a painter and paints the value grid and grid labels. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12609 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12610 paint: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12611 if (this._timeplot) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12612 var ctx = this._canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12613 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12614 ctx.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12615 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12616 // paint grid |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12617 if (this._gridColor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12618 var gridGradient = ctx.createLinearGradient(0,0,0,this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12619 gridGradient.addColorStop(0, this._gridColor.toHexString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12620 gridGradient.addColorStop(0.3, this._gridColor.toHexString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12621 gridGradient.addColorStop(1, "rgba(255,255,255,0.5)"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12622 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12623 ctx.lineWidth = this._gridLineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12624 ctx.strokeStyle = gridGradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12625 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12626 for (var i = 0; i < this._grid.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12627 var tick = this._grid[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12628 var y = Math.floor(tick.y) + 0.5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12629 if (typeof tick.label != "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12630 if (this._axisLabelsPlacement == "left") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12631 var div = this._timeplot.putText(this._id + "-" + i, tick.label,"timeplot-grid-label",{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12632 left: 4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12633 bottom: y + 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12634 color: this._gridColor.toHexString(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12635 visibility: "hidden" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12636 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12637 this._labels.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12638 } else if (this._axisLabelsPlacement == "right") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12639 var div = this._timeplot.putText(this._id + "-" + i, tick.label, "timeplot-grid-label",{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12640 right: 4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12641 bottom: y + 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12642 color: this._gridColor.toHexString(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12643 visibility: "hidden" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12644 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12645 this._labels.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12646 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12647 if (y + div.clientHeight < this._canvas.height + 10) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12648 div.style.visibility = "visible"; // avoid the labels that would overflow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12649 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12650 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12651 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12652 // draw grid |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12653 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12654 if (this._gridType == "long" || tick.label == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12655 ctx.moveTo(0, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12656 ctx.lineTo(this._canvas.width, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12657 } else if (this._gridType == "short") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12658 if (this._axisLabelsPlacement == "left") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12659 ctx.moveTo(0, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12660 ctx.lineTo(this._gridShortSize, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12661 } else if (this._axisLabelsPlacement == "right") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12662 ctx.moveTo(this._canvas.width, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12663 ctx.lineTo(this._canvas.width - this._gridShortSize, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12664 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12665 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12666 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12667 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12668 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12669 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12670 // paint axis |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12671 var axisGradient = ctx.createLinearGradient(0,0,0,this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12672 axisGradient.addColorStop(0, this._axisColor.toString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12673 axisGradient.addColorStop(0.5, this._axisColor.toString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12674 axisGradient.addColorStop(1, "rgba(255,255,255,0.5)"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12675 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12676 ctx.lineWidth = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12677 ctx.strokeStyle = axisGradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12678 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12679 // left axis |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12680 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12681 ctx.moveTo(0,this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12682 ctx.lineTo(0,0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12683 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12684 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12685 // right axis |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12686 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12687 ctx.moveTo(this._canvas.width,0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12688 ctx.lineTo(this._canvas.width,this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12689 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12690 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12691 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12692 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12693 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12694 * Removes all the labels that were added by this geometry |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12695 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12696 _clearLabels: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12697 for (var i = 0; i < this._labels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12698 var l = this._labels[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12699 var parent = l.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12700 if (parent) parent.removeChild(l); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12701 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12702 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12703 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12704 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12705 * This function calculates the grid spacing that it will be used |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12706 * by this geometry to draw the grid in order to reduce clutter. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12707 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12708 _calculateGrid: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12709 var grid = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12710 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12711 if (!this._canvas || this._valueRange == 0) return grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12712 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12713 var power = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12714 if (this._valueRange > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12715 while (Math.pow(10,power) < this._valueRange) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12716 power++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12717 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12718 power--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12719 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12720 while (Math.pow(10,power) > this._valueRange) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12721 power--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12722 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12723 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12724 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12725 var unit = Math.pow(10,power); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12726 var inc = unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12727 while (true) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12728 var dy = this.toScreen(this._minValue + inc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12729 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12730 while (dy < this._gridSpacing) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12731 inc += unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12732 dy = this.toScreen(this._minValue + inc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12733 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12734 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12735 if (dy > 2 * this._gridSpacing) { // grids are too spaced out |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12736 unit /= 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12737 inc = unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12738 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12739 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12740 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12741 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12742 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12743 var v = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12744 var y = this.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12745 if (this._minValue >= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12746 while (y < this._canvas.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12747 if (y > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12748 grid.push({ y: y, label: v }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12749 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12750 v += inc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12751 y = this.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12752 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12753 } else if (this._maxValue <= 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12754 while (y > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12755 if (y < this._canvas.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12756 grid.push({ y: y, label: v }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12757 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12758 v -= inc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12759 y = this.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12760 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12761 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12762 while (y < this._canvas.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12763 if (y > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12764 grid.push({ y: y, label: v }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12765 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12766 v += inc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12767 y = this.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12768 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12769 v = -inc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12770 y = this.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12771 while (y > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12772 if (y < this._canvas.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12773 grid.push({ y: y, label: v }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12774 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12775 v -= inc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12776 y = this.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12777 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12778 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12779 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12780 return grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12781 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12782 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12783 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12784 * Update the values that are used by the paint function so that |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12785 * we don't have to calculate them at every repaint. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12786 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12787 _updateMappedValues: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12788 this._valueRange = Math.abs(this._maxValue - this._minValue); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12789 this._mappedRange = this._map.direct(this._valueRange); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12790 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12791 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12792 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12793 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12794 // -------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12795 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12796 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12797 * This is the constructor for a Logarithmic value geometry, which |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12798 * is useful when plots have values in different magnitudes but |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12799 * exhibit similar trends and such trends want to be shown on the same |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12800 * plot (here a cartesian geometry would make the small magnitudes |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12801 * disappear). |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12802 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12803 * NOTE: this class extends Timeplot.DefaultValueGeometry and inherits |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12804 * all of the methods of that class. So refer to that class. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12805 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12806 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12807 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12808 Timeplot.LogarithmicValueGeometry = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12809 Timeplot.DefaultValueGeometry.apply(this, arguments); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12810 this._logMap = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12811 direct: function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12812 return Math.log(v + 1) / Math.log(10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12813 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12814 inverse: function(y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12815 return Math.exp(Math.log(10) * y) - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12816 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12817 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12818 this._mode = "log"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12819 this._map = this._logMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12820 this._calculateGrid = this._logarithmicCalculateGrid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12821 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12822 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12823 Timeplot.LogarithmicValueGeometry.prototype._linearCalculateGrid = Timeplot.DefaultValueGeometry.prototype._calculateGrid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12824 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12825 Object.extend(Timeplot.LogarithmicValueGeometry.prototype,Timeplot.DefaultValueGeometry.prototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12826 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12827 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12828 * This function calculates the grid spacing that it will be used |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12829 * by this geometry to draw the grid in order to reduce clutter. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12830 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12831 Timeplot.LogarithmicValueGeometry.prototype._logarithmicCalculateGrid = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12832 var grid = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12833 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12834 if (!this._canvas || this._valueRange == 0) return grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12835 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12836 var v = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12837 var y = this.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12838 while (y < this._canvas.height || isNaN(y)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12839 if (y > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12840 grid.push({ y: y, label: v }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12841 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12842 v *= 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12843 y = this.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12844 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12845 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12846 return grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12847 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12848 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12849 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12850 * Turn the logarithmic scaling off. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12851 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12852 Timeplot.LogarithmicValueGeometry.prototype.actLinear = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12853 this._mode = "lin"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12854 this._map = this._linMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12855 this._calculateGrid = this._linearCalculateGrid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12856 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12857 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12858 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12859 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12860 * Turn the logarithmic scaling on. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12861 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12862 Timeplot.LogarithmicValueGeometry.prototype.actLogarithmic = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12863 this._mode = "log"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12864 this._map = this._logMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12865 this._calculateGrid = this._logarithmicCalculateGrid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12866 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12867 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12868 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12869 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12870 * Toggle logarithmic scaling seeting it to on if off and viceversa. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12871 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12872 Timeplot.LogarithmicValueGeometry.prototype.toggle = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12873 if (this._mode == "log") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12874 this.actLinear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12875 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12876 this.actLogarithmic(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12877 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12878 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12879 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12880 // ----------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12881 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12882 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12883 * This is the constructor for the default time geometry. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12884 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12885 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12886 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12887 Timeplot.DefaultTimeGeometry = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12888 if (!params) params = {}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12889 this._id = ("id" in params) ? params.id : "g" + Math.round(Math.random() * 1000000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12890 this._locale = ("locale" in params) ? params.locale : "en"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12891 this._timeZone = ("timeZone" in params) ? params.timeZone : SimileAjax.DateTime.getTimezone(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12892 this._labeler = ("labeller" in params) ? params.labeller : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12893 this._axisColor = ("axisColor" in params) ? ((params.axisColor == "string") ? new Timeplot.Color(params.axisColor) : params.axisColor) : new Timeplot.Color("#606060"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12894 this._gridColor = ("gridColor" in params) ? ((params.gridColor == "string") ? new Timeplot.Color(params.gridColor) : params.gridColor) : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12895 this._gridLineWidth = ("gridLineWidth" in params) ? params.gridLineWidth : 0.5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12896 this._axisLabelsPlacement = ("axisLabelsPlacement" in params) ? params.axisLabelsPlacement : "bottom"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12897 this._gridStep = ("gridStep" in params) ? params.gridStep : 100; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12898 this._gridStepRange = ("gridStepRange" in params) ? params.gridStepRange : 20; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12899 this._min = ("min" in params) ? params.min : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12900 this._max = ("max" in params) ? params.max : null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12901 this._timeValuePosition =("timeValuePosition" in params) ? params.timeValuePosition : "bottom"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12902 this._unit = ("unit" in params) ? params.unit : Timeline.NativeDateUnit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12903 this._linMap = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12904 direct: function(t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12905 return t; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12906 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12907 inverse: function(x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12908 return x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12909 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12910 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12911 this._map = this._linMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12912 if (!this._labeler) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12913 this._labeler = this._unit.createLabeller(this._locale, this._timeZone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12914 var dateParser = this._unit.getParser("iso8601"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12915 if (this._min && !this._min.getTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12916 this._min = dateParser(this._min); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12917 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12918 if (this._max && !this._max.getTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12919 this._max = dateParser(this._max); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12920 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12921 this._labels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12922 this._grid = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12923 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12924 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12925 Timeplot.DefaultTimeGeometry.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12926 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12927 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12928 * Since geometries can be reused across timeplots, we need to call this function |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12929 * before we can paint using this geometry. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12930 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12931 setTimeplot: function(timeplot) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12932 this._timeplot = timeplot; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12933 this._canvas = timeplot.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12934 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12935 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12936 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12937 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12938 * Called by all the plot layers this geometry is associated with |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12939 * to update the time range. Unless min/max values are specified |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12940 * in the parameters, the biggest range will be used. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12941 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12942 setRange: function(range) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12943 if (this._min) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12944 this._earliestDate = this._min; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12945 } else if (range.earliestDate && ((this._earliestDate == null) || ((this._earliestDate != null) && (range.earliestDate.getTime() < this._earliestDate.getTime())))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12946 this._earliestDate = range.earliestDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12947 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12948 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12949 if (this._max) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12950 this._latestDate = this._max; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12951 } else if (range.latestDate && ((this._latestDate == null) || ((this._latestDate != null) && (range.latestDate.getTime() > this._latestDate.getTime())))) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12952 this._latestDate = range.latestDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12953 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12954 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12955 if (!this._earliestDate && !this._latestDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12956 this._grid = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12957 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12958 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12959 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12960 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12961 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12962 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12963 * Called after changing ranges or canvas size to reset the grid values |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12964 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12965 reset: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12966 this._updateMappedValues(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12967 if (this._canvas) this._grid = this._calculateGrid(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12968 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12969 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12970 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12971 * Map the given date to a x screen coordinate. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12972 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12973 toScreen: function(time) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12974 if (this._canvas && this._latestDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12975 var t = time - this._earliestDate.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12976 var fraction = (this._mappedPeriod > 0) ? this._map.direct(t) / this._mappedPeriod : 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12977 return this._canvas.width * fraction; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12978 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12979 return -50; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12980 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12981 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12982 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12983 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12984 * Map the given x screen coordinate to a date. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12985 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12986 fromScreen: function(x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12987 if (this._canvas) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12988 return this._map.inverse(this._mappedPeriod * x / this._canvas.width) + this._earliestDate.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12989 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12990 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12991 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12992 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12993 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12994 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12995 * Get a period (in milliseconds) this time geometry spans. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12996 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12997 getPeriod: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12998 return this._period; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12999 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13000 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13001 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13002 * Return the labeler that has been associated with this time geometry |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13003 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13004 getLabeler: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13005 return this._labeler; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13006 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13007 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13008 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13009 * Return the time unit associated with this time geometry |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13010 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13011 getUnit: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13012 return this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13013 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13014 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13015 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13016 * Each geometry is also a painter and paints the value grid and grid labels. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13017 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13018 paint: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13019 if (this._canvas) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13020 var unit = this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13021 var ctx = this._canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13022 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13023 var gradient = ctx.createLinearGradient(0,0,0,this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13024 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13025 ctx.strokeStyle = gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13026 ctx.lineWidth = this._gridLineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13027 ctx.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13028 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13029 // paint grid |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13030 if (this._gridColor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13031 gradient.addColorStop(0, this._gridColor.toString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13032 gradient.addColorStop(1, "rgba(255,255,255,0.9)"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13033 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13034 for (var i = 0; i < this._grid.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13035 var tick = this._grid[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13036 var x = Math.floor(tick.x) + 0.5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13037 if (this._axisLabelsPlacement == "top") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13038 var div = this._timeplot.putText(this._id + "-" + i, tick.label,"timeplot-grid-label",{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13039 left: x + 4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13040 top: 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13041 visibility: "hidden" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13042 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13043 this._labels.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13044 } else if (this._axisLabelsPlacement == "bottom") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13045 var div = this._timeplot.putText(this._id + "-" + i, tick.label, "timeplot-grid-label",{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13046 left: x + 4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13047 bottom: 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13048 visibility: "hidden" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13049 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13050 this._labels.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13051 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13052 if (x + div.clientWidth < this._canvas.width + 10) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13053 div.style.visibility = "visible"; // avoid the labels that would overflow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13054 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13055 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13056 // draw separator |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13057 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13058 ctx.moveTo(x,0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13059 ctx.lineTo(x,this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13060 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13061 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13062 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13063 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13064 // paint axis |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13065 gradient.addColorStop(0, this._axisColor.toString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13066 gradient.addColorStop(1, "rgba(255,255,255,0.5)"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13067 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13068 ctx.lineWidth = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13069 gradient.addColorStop(0, this._axisColor.toString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13070 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13071 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13072 ctx.moveTo(0,0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13073 ctx.lineTo(this._canvas.width,0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13074 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13075 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13076 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13077 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13078 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13079 * This function calculates the grid spacing that it will be used |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13080 * by this geometry to draw the grid in order to reduce clutter. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13081 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13082 _calculateGrid: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13083 var grid = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13084 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13085 var time = SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13086 var u = this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13087 var p = this._period; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13088 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13089 if (p == 0) return grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13090 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13091 // find the time units nearest to the time period |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13092 if (p > time.gregorianUnitLengths[time.MILLENNIUM]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13093 unit = time.MILLENNIUM; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13094 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13095 for (var unit = time.MILLENNIUM; unit > 0; unit--) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13096 if (time.gregorianUnitLengths[unit-1] <= p && p < time.gregorianUnitLengths[unit]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13097 unit--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13098 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13099 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13100 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13101 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13102 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13103 var t = u.cloneValue(this._earliestDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13104 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13105 do { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13106 time.roundDownToInterval(t, unit, this._timeZone, 1, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13107 var x = this.toScreen(u.toNumber(t)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13108 switch (unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13109 case time.SECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13110 var l = t.toLocaleTimeString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13111 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13112 case time.MINUTE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13113 var m = t.getMinutes(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13114 var l = t.getHours() + ":" + ((m < 10) ? "0" : "") + m; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13115 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13116 case time.HOUR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13117 var l = t.getHours() + ":00"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13118 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13119 case time.DAY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13120 case time.WEEK: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13121 case time.MONTH: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13122 var l = t.toLocaleDateString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13123 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13124 case time.YEAR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13125 case time.DECADE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13126 case time.CENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13127 case time.MILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13128 var l = t.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13129 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13130 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13131 if (x > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13132 grid.push({ x: x, label: l }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13133 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13134 time.incrementByInterval(t, unit, this._timeZone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13135 } while (t.getTime() < this._latestDate.getTime()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13136 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13137 return grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13138 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13139 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13140 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13141 * Clear labels generated by this time geometry. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13142 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13143 _clearLabels: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13144 for (var i = 0; i < this._labels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13145 var l = this._labels[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13146 var parent = l.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13147 if (parent) parent.removeChild(l); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13148 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13149 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13150 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13151 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13152 * Update the values that are used by the paint function so that |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13153 * we don't have to calculate them at every repaint. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13154 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13155 _updateMappedValues: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13156 if (this._latestDate && this._earliestDate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13157 this._period = this._latestDate.getTime() - this._earliestDate.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13158 this._mappedPeriod = this._map.direct(this._period); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13159 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13160 this._period = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13161 this._mappedPeriod = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13162 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13163 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13164 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13165 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13166 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13167 // -------------------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13168 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13169 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13170 * This is the constructor for the magnifying time geometry. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13171 * Users can interact with this geometry and 'magnify' certain areas of the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13172 * plot to see the plot enlarged and resolve details that would otherwise |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13173 * get lost or cluttered with a linear time geometry. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13174 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13175 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13176 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13177 Timeplot.MagnifyingTimeGeometry = function(params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13178 Timeplot.DefaultTimeGeometry.apply(this, arguments); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13179 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13180 var g = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13181 this._MagnifyingMap = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13182 direct: function(t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13183 if (t < g._leftTimeMargin) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13184 var x = t * g._leftRate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13185 } else if ( g._leftTimeMargin < t && t < g._rightTimeMargin ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13186 var x = t * g._expandedRate + g._expandedTimeTranslation; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13187 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13188 var x = t * g._rightRate + g._rightTimeTranslation; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13189 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13190 return x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13191 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13192 inverse: function(x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13193 if (x < g._leftScreenMargin) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13194 var t = x / g._leftRate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13195 } else if ( g._leftScreenMargin < x && x < g._rightScreenMargin ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13196 var t = x / g._expandedRate + g._expandedScreenTranslation; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13197 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13198 var t = x / g._rightRate + g._rightScreenTranslation; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13199 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13200 return t; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13201 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13202 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13203 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13204 this._mode = "lin"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13205 this._map = this._linMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13206 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13207 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13208 Object.extend(Timeplot.MagnifyingTimeGeometry.prototype,Timeplot.DefaultTimeGeometry.prototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13209 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13210 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13211 * Initialize this geometry associating it with the given timeplot and |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13212 * register the geometry event handlers to the timeplot so that it can |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13213 * interact with the user. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13214 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13215 Timeplot.MagnifyingTimeGeometry.prototype.initialize = function(timeplot) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13216 Timeplot.DefaultTimeGeometry.prototype.initialize.apply(this, arguments); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13217 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13218 if (!this._lens) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13219 this._lens = this._timeplot.putDiv("lens","timeplot-lens"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13220 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13221 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13222 var period = 1000 * 60 * 60 * 24 * 30; // a month in the magnifying lens |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13223 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13224 var geometry = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13225 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13226 var magnifyWith = function(lens) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13227 var aperture = lens.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13228 var loc = geometry._timeplot.locate(lens); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13229 geometry.setMagnifyingParams(loc.x + aperture / 2, aperture, period); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13230 geometry.actMagnifying(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13231 geometry._timeplot.paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13232 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13233 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13234 var canvasMouseDown = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13235 geometry._canvas.startCoords = SimileAjax.DOM.getEventRelativeCoordinates(evt,elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13236 geometry._canvas.pressed = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13237 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13238 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13239 var canvasMouseUp = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13240 geometry._canvas.pressed = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13241 var coords = SimileAjax.DOM.getEventRelativeCoordinates(evt,elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13242 if (Timeplot.Math.isClose(coords,geometry._canvas.startCoords,5)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13243 geometry._lens.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13244 geometry.actLinear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13245 geometry._timeplot.paint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13246 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13247 geometry._lens.style.cursor = "move"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13248 magnifyWith(geometry._lens); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13249 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13250 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13251 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13252 var canvasMouseMove = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13253 if (geometry._canvas.pressed) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13254 var coords = SimileAjax.DOM.getEventRelativeCoordinates(evt,elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13255 if (coords.x < 0) coords.x = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13256 if (coords.x > geometry._canvas.width) coords.x = geometry._canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13257 geometry._timeplot.placeDiv(geometry._lens, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13258 left: geometry._canvas.startCoords.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13259 width: coords.x - geometry._canvas.startCoords.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13260 bottom: 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13261 height: geometry._canvas.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13262 display: "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13263 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13264 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13265 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13266 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13267 var lensMouseDown = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13268 geometry._lens.startCoords = SimileAjax.DOM.getEventRelativeCoordinates(evt,elmt);; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13269 geometry._lens.pressed = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13270 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13271 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13272 var lensMouseUp = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13273 geometry._lens.pressed = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13274 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13275 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13276 var lensMouseMove = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13277 if (geometry._lens.pressed) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13278 var coords = SimileAjax.DOM.getEventRelativeCoordinates(evt,elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13279 var lens = geometry._lens; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13280 var left = lens.offsetLeft + coords.x - lens.startCoords.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13281 if (left < geometry._timeplot._paddingX) left = geometry._timeplot._paddingX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13282 if (left + lens.clientWidth > geometry._canvas.width - geometry._timeplot._paddingX) left = geometry._canvas.width - lens.clientWidth + geometry._timeplot._paddingX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13283 lens.style.left = left; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13284 magnifyWith(lens); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13285 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13286 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13287 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13288 if (!this._canvas.instrumented) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13289 SimileAjax.DOM.registerEvent(this._canvas, "mousedown", canvasMouseDown); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13290 SimileAjax.DOM.registerEvent(this._canvas, "mousemove", canvasMouseMove); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13291 SimileAjax.DOM.registerEvent(this._canvas, "mouseup" , canvasMouseUp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13292 SimileAjax.DOM.registerEvent(this._canvas, "mouseup" , lensMouseUp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13293 this._canvas.instrumented = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13294 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13295 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13296 if (!this._lens.instrumented) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13297 SimileAjax.DOM.registerEvent(this._lens, "mousedown", lensMouseDown); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13298 SimileAjax.DOM.registerEvent(this._lens, "mousemove", lensMouseMove); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13299 SimileAjax.DOM.registerEvent(this._lens, "mouseup" , lensMouseUp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13300 SimileAjax.DOM.registerEvent(this._lens, "mouseup" , canvasMouseUp); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13301 this._lens.instrumented = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13302 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13303 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13304 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13305 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13306 * Set the Magnifying parameters. c is the location in pixels where the Magnifying |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13307 * center should be located in the timeplot, a is the aperture in pixel of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13308 * the Magnifying and b is the time period in milliseconds that the Magnifying |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13309 * should span. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13310 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13311 Timeplot.MagnifyingTimeGeometry.prototype.setMagnifyingParams = function(c,a,b) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13312 a = a / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13313 b = b / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13314 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13315 var w = this._canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13316 var d = this._period; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13317 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13318 if (c < 0) c = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13319 if (c > w) c = w; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13320 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13321 if (c - a < 0) a = c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13322 if (c + a > w) a = w - c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13323 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13324 var ct = this.fromScreen(c) - this._earliestDate.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13325 if (ct - b < 0) b = ct; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13326 if (ct + b > d) b = d - ct; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13327 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13328 this._centerX = c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13329 this._centerTime = ct; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13330 this._aperture = a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13331 this._aperturePeriod = b; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13332 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13333 this._leftScreenMargin = this._centerX - this._aperture; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13334 this._rightScreenMargin = this._centerX + this._aperture; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13335 this._leftTimeMargin = this._centerTime - this._aperturePeriod; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13336 this._rightTimeMargin = this._centerTime + this._aperturePeriod; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13337 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13338 this._leftRate = (c - a) / (ct - b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13339 this._expandedRate = a / b; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13340 this._rightRate = (w - c - a) / (d - ct - b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13341 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13342 this._expandedTimeTranslation = this._centerX - this._centerTime * this._expandedRate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13343 this._expandedScreenTranslation = this._centerTime - this._centerX / this._expandedRate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13344 this._rightTimeTranslation = (c + a) - (ct + b) * this._rightRate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13345 this._rightScreenTranslation = (ct + b) - (c + a) / this._rightRate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13346 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13347 this._updateMappedValues(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13348 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13349 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13350 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13351 * Turn magnification off. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13352 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13353 Timeplot.MagnifyingTimeGeometry.prototype.actLinear = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13354 this._mode = "lin"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13355 this._map = this._linMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13356 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13357 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13358 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13359 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13360 * Turn magnification on. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13361 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13362 Timeplot.MagnifyingTimeGeometry.prototype.actMagnifying = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13363 this._mode = "Magnifying"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13364 this._map = this._MagnifyingMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13365 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13366 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13367 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13368 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13369 * Toggle magnification. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13370 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13371 Timeplot.MagnifyingTimeGeometry.prototype.toggle = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13372 if (this._mode == "Magnifying") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13373 this.actLinear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13374 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13375 this.actMagnifying(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13376 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13377 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13378 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13379 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13380 * Color |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13381 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13382 * @fileOverview Color |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13383 * @name Color |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13384 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13385 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13386 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13387 * Inspired by Plotr |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13388 * Copyright 2007 (c) Bas Wenneker <sabmann[a]gmail[d]com> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13389 * For use under the BSD license. <http://www.solutoire.com/plotr> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13390 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13391 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13392 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13393 * Create a Color object that can be used to manipulate colors programmatically. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13394 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13395 Timeplot.Color = function(color) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13396 this._fromHex(color); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13397 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13398 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13399 Timeplot.Color.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13400 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13401 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13402 * Sets the RGB values of this coor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13403 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13404 * @param {Number} r,g,b Red green and blue values (between 0 and 255) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13405 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13406 set: function (r,g,b,a) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13407 this.r = r; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13408 this.g = g; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13409 this.b = b; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13410 this.a = (a) ? a : 1.0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13411 return this.check(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13412 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13413 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13414 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13415 * Set the color transparency |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13416 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13417 * @param {float} a Transparency value, between 0.0 (fully transparent) and 1.0 (fully opaque). |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13418 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13419 transparency: function(a) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13420 this.a = a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13421 return this.check(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13422 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13423 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13424 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13425 * Lightens the color. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13426 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13427 * @param {integer} level Level to lighten the color with. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13428 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13429 lighten: function(level) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13430 var color = new Timeplot.Color(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13431 return color.set( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13432 this.r += parseInt(level, 10), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13433 this.g += parseInt(level, 10), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13434 this.b += parseInt(level, 10) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13435 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13436 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13437 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13438 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13439 * Darkens the color. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13440 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13441 * @param {integer} level Level to darken the color with. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13442 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13443 darken: function(level){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13444 var color = new Timeplot.Color(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13445 return color.set( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13446 this.r -= parseInt(level, 10), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13447 this.g -= parseInt(level, 10), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13448 this.b -= parseInt(level, 10) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13449 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13450 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13451 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13452 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13453 * Checks and validates if the hex values r, g and b are |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13454 * between 0 and 255. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13455 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13456 check: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13457 if (this.r > 255) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13458 this.r = 255; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13459 } else if (this.r < 0){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13460 this.r = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13461 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13462 if (this.g > 255) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13463 this.g = 255; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13464 } else if (this.g < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13465 this.g = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13466 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13467 if (this.b > 255){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13468 this.b = 255; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13469 } else if (this.b < 0){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13470 this.b = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13471 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13472 if (this.a > 1.0){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13473 this.a = 1.0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13474 } else if (this.a < 0.0){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13475 this.a = 0.0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13476 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13477 return this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13478 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13479 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13480 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13481 * Returns a string representation of this color. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13482 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13483 * @param {float} alpha (optional) Transparency value, between 0.0 (fully transparent) and 1.0 (fully opaque). |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13484 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13485 toString: function(alpha) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13486 var a = (alpha) ? alpha : ((this.a) ? this.a : 1.0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13487 return 'rgba(' + this.r + ',' + this.g + ',' + this.b + ',' + a + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13488 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13489 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13490 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13491 * Returns the hexadecimal representation of this color (without the alpha channel as hex colors don't support it) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13492 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13493 toHexString: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13494 return "#" + this._toHex(this.r) + this._toHex(this.g) + this._toHex(this.b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13495 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13496 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13497 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13498 * Parses and stores the hex values of the input color string. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13499 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13500 * @param {String} color Hex or rgb() css string. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13501 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13502 _fromHex: function(color) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13503 if(/^#?([\da-f]{3}|[\da-f]{6})$/i.test(color)){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13504 color = color.replace(/^#/, '').replace(/^([\da-f])([\da-f])([\da-f])$/i, "$1$1$2$2$3$3"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13505 this.r = parseInt(color.substr(0,2), 16); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13506 this.g = parseInt(color.substr(2,2), 16); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13507 this.b = parseInt(color.substr(4,2), 16); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13508 } else if(/^rgb *\( *\d{0,3} *, *\d{0,3} *, *\d{0,3} *\)$/i.test(color)){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13509 color = color.match(/^rgb *\( *(\d{0,3}) *, *(\d{0,3}) *, *(\d{0,3}) *\)$/i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13510 this.r = parseInt(color[1], 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13511 this.g = parseInt(color[2], 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13512 this.b = parseInt(color[3], 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13513 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13514 this.a = 1.0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13515 return this.check(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13516 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13517 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13518 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13519 * Returns an hexadecimal representation of a 8 bit integer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13520 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13521 _toHex: function(dec) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13522 var hex = "0123456789ABCDEF" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13523 if (dec < 0) return "00"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13524 if (dec > 255) return "FF"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13525 var i = Math.floor(dec / 16); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13526 var j = dec % 16; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13527 return hex.charAt(i) + hex.charAt(j); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13528 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13529 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13530 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13531 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13532 * Math Utility functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13533 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13534 * @fileOverview Math Utility functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13535 * @name Math |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13536 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13537 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13538 Timeplot.Math = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13539 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13540 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13541 * Evaluates the range (min and max values) of the given array |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13542 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13543 range: function(f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13544 var F = f.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13545 var min = Number.MAX_VALUE; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13546 var max = Number.MIN_VALUE; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13547 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13548 for (var t = 0; t < F; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13549 var value = f[t]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13550 if (value < min) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13551 min = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13552 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13553 if (value > max) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13554 max = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13555 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13556 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13557 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13558 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13559 min: min, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13560 max: max |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13561 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13562 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13563 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13564 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13565 * Evaluates the windows average of a given array based on the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13566 * given window size |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13567 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13568 movingAverage: function(f, size) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13569 var F = f.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13570 var g = new Array(F); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13571 for (var n = 0; n < F; n++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13572 var value = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13573 for (var m = n - size; m < n + size; m++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13574 if (m < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13575 var v = f[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13576 } else if (m >= F) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13577 var v = g[n-1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13578 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13579 var v = f[m]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13580 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13581 value += v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13582 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13583 g[n] = value / (2 * size); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13584 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13585 return g; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13586 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13587 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13588 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13589 * Returns an array with the integral of the given array |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13590 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13591 integral: function(f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13592 var F = f.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13593 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13594 var g = new Array(F); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13595 var sum = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13596 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13597 for (var t = 0; t < F; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13598 sum += f[t]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13599 g[t] = sum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13600 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13601 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13602 return g; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13603 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13604 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13605 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13606 * Normalizes an array so that its complete integral is 1. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13607 * This is useful to obtain arrays that preserve the overall |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13608 * integral of a convolution. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13609 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13610 normalize: function(f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13611 var F = f.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13612 var sum = 0.0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13613 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13614 for (var t = 0; t < F; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13615 sum += f[t]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13616 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13617 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13618 for (var t = 0; t < F; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13619 f[t] /= sum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13620 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13621 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13622 return f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13623 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13624 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13625 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13626 * Calculates the convolution between two arrays |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13627 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13628 convolution: function(f,g) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13629 var F = f.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13630 var G = g.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13631 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13632 var c = new Array(F); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13633 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13634 for (var m = 0; m < F; m++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13635 var r = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13636 var end = (m + G < F) ? m + G : F; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13637 for (var n = m; n < end; n++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13638 var a = f[n - G]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13639 var b = g[n - m]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13640 r += a * b; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13641 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13642 c[m] = r; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13643 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13644 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13645 return c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13646 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13647 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13648 // ------ Array generators ------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13649 // Functions that generate arrays based on mathematical functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13650 // Normally these are used to produce operators by convolving them with the input array |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13651 // The returned arrays have the property of having |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13652 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13653 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13654 * Generate the heavyside step function of given size |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13655 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13656 heavyside: function(size) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13657 var f = new Array(size); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13658 var value = 1 / size; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13659 for (var t = 0; t < size; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13660 f[t] = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13661 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13662 return f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13663 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13664 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13665 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13666 * Generate the gaussian function so that at the given 'size' it has value 'threshold' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13667 * and make sure its integral is one. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13668 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13669 gaussian: function(size, threshold) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13670 with (Math) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13671 var radius = size / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13672 var variance = radius * radius / log(threshold); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13673 var g = new Array(size); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13674 for (var t = 0; t < size; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13675 var l = t - radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13676 g[t] = exp(-variance * l * l); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13677 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13678 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13679 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13680 return this.normalize(g); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13681 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13682 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13683 // ---- Utility Methods -------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13684 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13685 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13686 * Return x with n significant figures |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13687 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13688 round: function(x,n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13689 with (Math) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13690 if (abs(x) > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13691 var l = floor(log(x)/log(10)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13692 var d = round(exp((l-n+1)*log(10))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13693 var y = round(round(x / d) * d); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13694 return y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13695 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13696 log("FIXME(SM): still to implement for 0 < abs(x) < 1"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13697 return x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13698 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13699 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13700 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13701 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13702 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13703 * Return the hyperbolic tangent of x |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13704 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13705 tanh: function(x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13706 if (x > 5) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13707 return 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13708 } else if (x < 5) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13709 return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13710 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13711 var expx2 = Math.exp(2 * x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13712 return (expx2 - 1) / (expx2 + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13713 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13714 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13715 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13716 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13717 * Returns true if |a.x - b.x| < value && | a.y - b.y | < value |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13718 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13719 isClose: function(a,b,value) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13720 return (a && b && Math.abs(a.x - b.x) < value && Math.abs(a.y - b.y) < value); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13721 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13722 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13723 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13724 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13725 * Processing Data Source |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13726 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13727 * @fileOverview Processing Data Source and Operators |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13728 * @name Processor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13729 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13730 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13731 /* ----------------------------------------------------------------------------- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13732 * Operators |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13733 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13734 * These are functions that can be used directly as Timeplot.Processor operators |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13735 * ----------------------------------------------------------------------------- */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13736 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13737 Timeplot.Operator = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13738 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13739 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13740 * This is the operator used when you want to draw the cumulative sum |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13741 * of a time series and not, for example, their daily values. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13742 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13743 sum: function(data, params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13744 return Timeplot.Math.integral(data.values); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13745 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13746 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13747 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13748 * This is the operator that is used to 'smooth' a given time series |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13749 * by taking the average value of a moving window centered around |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13750 * each value. The size of the moving window is influenced by the 'size' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13751 * parameters in the params map. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13752 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13753 average: function(data, params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13754 var size = ("size" in params) ? params.size : 30; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13755 var result = Timeplot.Math.movingAverage(data.values, size); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13756 return result; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13757 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13758 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13759 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13760 /*================================================== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13761 * Processing Data Source |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13762 *==================================================*/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13763 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13764 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13765 * A Processor is a special DataSource that can apply an Operator |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13766 * to the DataSource values and thus return a different one. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13767 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13768 * @constructor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13769 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13770 Timeplot.Processor = function(dataSource, operator, params) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13771 this._dataSource = dataSource; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13772 this._operator = operator; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13773 this._params = params; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13774 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13775 this._data = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13776 times: new Array(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13777 values: new Array() |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13778 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13779 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13780 this._range = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13781 earliestDate: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13782 latestDate: null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13783 min: 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13784 max: 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13785 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13786 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13787 var processor = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13788 this._processingListener = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13789 onAddMany: function() { processor._process(); }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13790 onClear: function() { processor._clear(); } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13791 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13792 this.addListener(this._processingListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13793 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13794 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13795 Timeplot.Processor.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13796 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13797 _clear: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13798 this.removeListener(this._processingListener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13799 this._dataSource._clear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13800 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13801 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13802 _process: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13803 // this method requires the dataSource._process() method to be |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13804 // called first as to setup the data and range used below |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13805 // this should be guaranteed by the order of the listener registration |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13806 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13807 var data = this._dataSource.getData(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13808 var range = this._dataSource.getRange(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13809 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13810 var newValues = this._operator(data, this._params); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13811 var newValueRange = Timeplot.Math.range(newValues); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13812 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13813 this._data = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13814 times: data.times, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13815 values: newValues |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13816 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13817 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13818 this._range = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13819 earliestDate: range.earliestDate, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13820 latestDate: range.latestDate, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13821 min: newValueRange.min, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13822 max: newValueRange.max |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13823 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13824 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13825 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13826 getRange: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13827 return this._range; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13828 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13829 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13830 getData: function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13831 return this._data; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13832 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13833 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13834 getValue: Timeplot.DataSource.prototype.getValue, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13835 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13836 getClosestValidTime: Timeplot.DataSource.prototype.getClosestValidTime, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13837 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13838 addListener: function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13839 this._dataSource.addListener(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13840 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13841 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13842 removeListener: function(listener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13843 this._dataSource.removeListener(listener); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13844 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13845 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13846 /*----------------------------------------------------------------------------\ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13847 | Range Class | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13848 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13849 | Created by Erik Arvidsson | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13850 | (http://webfx.eae.net/contact.html#erik) | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13851 | For WebFX (http://webfx.eae.net/) | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13852 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13853 | Used to model the data used when working with sliders, scrollbars and | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13854 | progress bars. Based on the ideas of the javax.swing.BoundedRangeModel | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13855 | interface defined by Sun for Java; http://java.sun.com/products/jfc/ | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13856 | swingdoc-api-1.0.3/com/sun/java/swing/BoundedRangeModel.html | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13857 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13858 | Copyright (c) 2002, 2005, 2006 Erik Arvidsson | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13859 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13860 | Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13861 | use this file except in compliance with the License. You may obtain a copy | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13862 | of the License at http://www.apache.org/licenses/LICENSE-2.0 | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13863 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13864 | Unless required by applicable law or agreed to in writing, software | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13865 | distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13866 | WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13867 | License for the specific language governing permissions and limitations | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13868 | under the License. | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13869 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13870 | 2002-10-14 | Original version released | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13871 | 2005-10-27 | Use Math.round instead of Math.floor | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13872 | 2006-05-28 | Changed license to Apache Software License 2.0. | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13873 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13874 | Created 2002-10-14 | All changes are in the log above. | Updated 2006-05-28 | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13875 \----------------------------------------------------------------------------*/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13876 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13877 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13878 function Range() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13879 this._value = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13880 this._minimum = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13881 this._maximum = 100; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13882 this._extent = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13883 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13884 this._isChanging = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13885 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13886 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13887 Range.prototype.setValue = function (value) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13888 value = Math.round(parseFloat(value)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13889 if (isNaN(value)) return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13890 if (this._value != value) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13891 if (value + this._extent > this._maximum) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13892 this._value = this._maximum - this._extent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13893 else if (value < this._minimum) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13894 this._value = this._minimum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13895 else |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13896 this._value = value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13897 if (!this._isChanging && typeof this.onchange == "function") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13898 this.onchange(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13899 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13900 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13901 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13902 Range.prototype.getValue = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13903 return this._value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13904 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13905 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13906 Range.prototype.setExtent = function (extent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13907 if (this._extent != extent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13908 if (extent < 0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13909 this._extent = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13910 else if (this._value + extent > this._maximum) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13911 this._extent = this._maximum - this._value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13912 else |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13913 this._extent = extent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13914 if (!this._isChanging && typeof this.onchange == "function") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13915 this.onchange(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13916 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13917 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13918 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13919 Range.prototype.getExtent = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13920 return this._extent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13921 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13922 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13923 Range.prototype.setMinimum = function (minimum) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13924 if (this._minimum != minimum) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13925 var oldIsChanging = this._isChanging; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13926 this._isChanging = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13927 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13928 this._minimum = minimum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13929 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13930 if (minimum > this._value) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13931 this.setValue(minimum); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13932 if (minimum > this._maximum) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13933 this._extent = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13934 this.setMaximum(minimum); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13935 this.setValue(minimum) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13936 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13937 if (minimum + this._extent > this._maximum) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13938 this._extent = this._maximum - this._minimum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13939 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13940 this._isChanging = oldIsChanging; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13941 if (!this._isChanging && typeof this.onchange == "function") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13942 this.onchange(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13943 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13944 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13945 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13946 Range.prototype.getMinimum = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13947 return this._minimum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13948 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13949 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13950 Range.prototype.setMaximum = function (maximum) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13951 if (this._maximum != maximum) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13952 var oldIsChanging = this._isChanging; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13953 this._isChanging = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13954 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13955 this._maximum = maximum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13956 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13957 if (maximum < this._value) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13958 this.setValue(maximum - this._extent); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13959 if (maximum < this._minimum) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13960 this._extent = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13961 this.setMinimum(maximum); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13962 this.setValue(this._maximum); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13963 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13964 if (maximum < this._minimum + this._extent) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13965 this._extent = this._maximum - this._minimum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13966 if (maximum < this._value + this._extent) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13967 this._extent = this._maximum - this._value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13968 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13969 this._isChanging = oldIsChanging; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13970 if (!this._isChanging && typeof this.onchange == "function") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13971 this.onchange(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13972 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13973 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13974 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13975 Range.prototype.getMaximum = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13976 return this._maximum; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13977 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13978 /*----------------------------------------------------------------------------\ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13979 | Slider 1.02 | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13980 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13981 | Created by Erik Arvidsson | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13982 | (http://webfx.eae.net/contact.html#erik) | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13983 | For WebFX (http://webfx.eae.net/) | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13984 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13985 | A slider control that degrades to an input control for non supported | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13986 | browsers. | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13987 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13988 | Copyright (c) 2002, 2003, 2006 Erik Arvidsson | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13989 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13990 | Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13991 | use this file except in compliance with the License. You may obtain a copy | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13992 | of the License at http://www.apache.org/licenses/LICENSE-2.0 | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13993 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13994 | Unless required by applicable law or agreed to in writing, software | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13995 | distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13996 | WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13997 | License for the specific language governing permissions and limitations | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13998 | under the License. | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13999 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14000 | Dependencies: timer.js - an OO abstraction of timers | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14001 | range.js - provides the data model for the slider | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14002 | winclassic.css or any other css file describing the look | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14003 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14004 | 2002-10-14 | Original version released | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14005 | 2003-03-27 | Added a test in the constructor for missing oElement arg | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14006 | 2003-11-27 | Only use mousewheel when focused | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14007 | 2006-05-28 | Changed license to Apache Software License 2.0. | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14008 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14009 | Created 2002-10-14 | All changes are in the log above. | Updated 2006-05-28 | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14010 \----------------------------------------------------------------------------*/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14011 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14012 Slider.isSupported = typeof document.createElement != "undefined" && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14013 typeof document.documentElement != "undefined" && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14014 typeof document.documentElement.offsetWidth == "number"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14015 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14016 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14017 function Slider(oElement, oInput, sOrientation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14018 if (!oElement) return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14019 this._orientation = sOrientation || "horizontal"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14020 this._range = new Range(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14021 this._range.setExtent(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14022 this._blockIncrement = 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14023 this._unitIncrement = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14024 this._timer = new Timer(100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14025 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14026 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14027 if (Slider.isSupported && oElement) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14028 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14029 this.document = oElement.ownerDocument || oElement.document; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14030 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14031 this.element = oElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14032 this.element.slider = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14033 this.element.unselectable = "on"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14034 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14035 // add class name tag to class name |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14036 this.element.className = this._orientation + " " + this.classNameTag + " " + this.element.className; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14037 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14038 // create line |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14039 this.line = this.document.createElement("DIV"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14040 this.line.className = "line"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14041 this.line.unselectable = "on"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14042 this.line.appendChild(this.document.createElement("DIV")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14043 this.element.appendChild(this.line); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14044 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14045 // create handle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14046 this.handle = this.document.createElement("DIV"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14047 this.handle.className = "handle"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14048 this.handle.unselectable = "on"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14049 this.handle.appendChild(this.document.createElement("DIV")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14050 this.handle.firstChild.appendChild( |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14051 this.document.createTextNode(String.fromCharCode(160))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14052 this.element.appendChild(this.handle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14053 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14054 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14055 this.input = oInput; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14056 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14057 // events |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14058 var oThis = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14059 this._range.onchange = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14060 oThis.recalculate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14061 if (typeof oThis.onchange == "function") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14062 oThis.onchange(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14063 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14064 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14065 if (Slider.isSupported && oElement) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14066 this.element.onfocus = Slider.eventHandlers.onfocus; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14067 this.element.onblur = Slider.eventHandlers.onblur; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14068 this.element.onmousedown = Slider.eventHandlers.onmousedown; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14069 this.element.onmouseover = Slider.eventHandlers.onmouseover; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14070 this.element.onmouseout = Slider.eventHandlers.onmouseout; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14071 this.element.onkeydown = Slider.eventHandlers.onkeydown; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14072 this.element.onkeypress = Slider.eventHandlers.onkeypress; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14073 this.element.onmousewheel = Slider.eventHandlers.onmousewheel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14074 this.handle.onselectstart = |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14075 this.element.onselectstart = function () { return false; }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14076 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14077 this._timer.ontimer = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14078 oThis.ontimer(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14079 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14080 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14081 // extra recalculate for ie |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14082 window.setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14083 oThis.recalculate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14084 }, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14085 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14086 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14087 this.input.onchange = function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14088 oThis.setValue(oThis.input.value); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14089 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14090 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14091 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14092 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14093 Slider.eventHandlers = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14094 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14095 // helpers to make events a bit easier |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14096 getEvent: function (e, el) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14097 if (!e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14098 if (el) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14099 e = el.document.parentWindow.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14100 else |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14101 e = window.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14102 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14103 if (!e.srcElement) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14104 var el = e.target; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14105 while (el != null && el.nodeType != 1) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14106 el = el.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14107 e.srcElement = el; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14108 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14109 if (typeof e.offsetX == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14110 e.offsetX = e.layerX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14111 e.offsetY = e.layerY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14112 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14113 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14114 return e; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14115 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14116 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14117 getDocument: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14118 if (e.target) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14119 return e.target.ownerDocument; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14120 return e.srcElement.document; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14121 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14122 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14123 getSlider: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14124 var el = e.target || e.srcElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14125 while (el != null && el.slider == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14126 el = el.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14127 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14128 if (el) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14129 return el.slider; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14130 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14131 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14132 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14133 getLine: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14134 var el = e.target || e.srcElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14135 while (el != null && el.className != "line") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14136 el = el.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14137 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14138 return el; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14139 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14140 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14141 getHandle: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14142 var el = e.target || e.srcElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14143 var re = /handle/; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14144 while (el != null && !re.test(el.className)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14145 el = el.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14146 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14147 return el; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14148 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14149 // end helpers |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14150 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14151 onfocus: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14152 var s = this.slider; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14153 s._focused = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14154 s.handle.className = "handle hover"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14155 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14156 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14157 onblur: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14158 var s = this.slider |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14159 s._focused = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14160 s.handle.className = "handle"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14161 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14162 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14163 onmouseover: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14164 e = Slider.eventHandlers.getEvent(e, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14165 var s = this.slider; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14166 if (e.srcElement == s.handle) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14167 s.handle.className = "handle hover"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14168 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14169 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14170 onmouseout: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14171 e = Slider.eventHandlers.getEvent(e, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14172 var s = this.slider; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14173 if (e.srcElement == s.handle && !s._focused) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14174 s.handle.className = "handle"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14175 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14176 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14177 onmousedown: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14178 e = Slider.eventHandlers.getEvent(e, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14179 var s = this.slider; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14180 if (s.element.focus) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14181 s.element.focus(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14182 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14183 Slider._currentInstance = s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14184 var doc = s.document; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14185 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14186 if (doc.addEventListener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14187 doc.addEventListener("mousemove", Slider.eventHandlers.onmousemove, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14188 doc.addEventListener("mouseup", Slider.eventHandlers.onmouseup, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14189 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14190 else if (doc.attachEvent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14191 doc.attachEvent("onmousemove", Slider.eventHandlers.onmousemove); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14192 doc.attachEvent("onmouseup", Slider.eventHandlers.onmouseup); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14193 doc.attachEvent("onlosecapture", Slider.eventHandlers.onmouseup); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14194 s.element.setCapture(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14195 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14196 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14197 if (Slider.eventHandlers.getHandle(e)) { // start drag |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14198 Slider._sliderDragData = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14199 screenX: e.screenX, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14200 screenY: e.screenY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14201 dx: e.screenX - s.handle.offsetLeft, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14202 dy: e.screenY - s.handle.offsetTop, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14203 startValue: s.getValue(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14204 slider: s |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14205 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14206 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14207 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14208 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14209 var lineEl = Slider.eventHandlers.getLine(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14210 s._mouseX = e.offsetX + (lineEl ? s.line.offsetLeft : 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14211 s._mouseY = e.offsetY + (lineEl ? s.line.offsetTop : 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14212 s._increasing = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14213 s.ontimer(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14214 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14215 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14216 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14217 onmousemove: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14218 e = Slider.eventHandlers.getEvent(e, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14219 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14220 if (Slider._sliderDragData) { // drag |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14221 var s = Slider._sliderDragData.slider; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14222 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14223 var boundSize = s.getMaximum() - s.getMinimum(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14224 var size, pos, reset; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14225 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14226 if (s._orientation == "horizontal") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14227 size = s.element.offsetWidth - s.handle.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14228 pos = e.screenX - Slider._sliderDragData.dx; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14229 reset = Math.abs(e.screenY - Slider._sliderDragData.screenY) > 100; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14230 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14231 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14232 size = s.element.offsetHeight - s.handle.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14233 pos = s.element.offsetHeight - s.handle.offsetHeight - |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14234 (e.screenY - Slider._sliderDragData.dy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14235 reset = Math.abs(e.screenX - Slider._sliderDragData.screenX) > 100; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14236 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14237 s.setValue(reset ? Slider._sliderDragData.startValue : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14238 s.getMinimum() + boundSize * pos / size); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14239 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14240 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14241 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14242 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14243 var s = Slider._currentInstance; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14244 if (s != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14245 var lineEl = Slider.eventHandlers.getLine(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14246 s._mouseX = e.offsetX + (lineEl ? s.line.offsetLeft : 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14247 s._mouseY = e.offsetY + (lineEl ? s.line.offsetTop : 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14248 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14249 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14250 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14251 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14252 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14253 onmouseup: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14254 e = Slider.eventHandlers.getEvent(e, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14255 var s = Slider._currentInstance; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14256 var doc = s.document; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14257 if (doc.removeEventListener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14258 doc.removeEventListener("mousemove", Slider.eventHandlers.onmousemove, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14259 doc.removeEventListener("mouseup", Slider.eventHandlers.onmouseup, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14260 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14261 else if (doc.detachEvent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14262 doc.detachEvent("onmousemove", Slider.eventHandlers.onmousemove); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14263 doc.detachEvent("onmouseup", Slider.eventHandlers.onmouseup); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14264 doc.detachEvent("onlosecapture", Slider.eventHandlers.onmouseup); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14265 s.element.releaseCapture(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14266 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14267 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14268 if (Slider._sliderDragData) { // end drag |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14269 Slider._sliderDragData = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14270 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14271 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14272 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14273 s._timer.stop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14274 s._increasing = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14275 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14276 Slider._currentInstance = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14277 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14278 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14279 onkeydown: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14280 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14281 e = Slider.eventHandlers.getEvent(e, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14282 //var s = Slider.eventHandlers.getSlider(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14283 var s = this.slider; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14284 var kc = e.keyCode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14285 switch (kc) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14286 case 33: // page up |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14287 s.setValue(s.getValue() + s.getBlockIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14288 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14289 case 34: // page down |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14290 s.setValue(s.getValue() - s.getBlockIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14291 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14292 case 35: // end |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14293 s.setValue(s.getOrientation() == "horizontal" ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14294 s.getMaximum() : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14295 s.getMinimum()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14296 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14297 case 36: // home |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14298 s.setValue(s.getOrientation() == "horizontal" ? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14299 s.getMinimum() : |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14300 s.getMaximum()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14301 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14302 case 38: // up |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14303 case 39: // right |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14304 s.setValue(s.getValue() + s.getUnitIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14305 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14306 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14307 case 37: // left |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14308 case 40: // down |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14309 s.setValue(s.getValue() - s.getUnitIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14310 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14311 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14312 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14313 if (kc >= 33 && kc <= 40) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14314 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14315 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14316 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14317 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14318 onkeypress: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14319 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14320 e = Slider.eventHandlers.getEvent(e, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14321 var kc = e.keyCode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14322 if (kc >= 33 && kc <= 40) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14323 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14324 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14325 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14326 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14327 onmousewheel: function (e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14328 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14329 e = Slider.eventHandlers.getEvent(e, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14330 var s = this.slider; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14331 if (s._focused) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14332 s.setValue(s.getValue() + e.wheelDelta / 120 * s.getUnitIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14333 // windows inverts this on horizontal sliders. That does not |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14334 // make sense to me |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14335 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14336 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14337 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14338 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14339 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14340 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14341 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14342 Slider.prototype.classNameTag = "dynamic-slider-control", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14343 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14344 Slider.prototype.setValue = function (v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14345 this._range.setValue(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14346 this.input.value = this.getValue(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14347 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14348 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14349 Slider.prototype.getValue = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14350 return this._range.getValue(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14351 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14352 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14353 Slider.prototype.setMinimum = function (v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14354 this._range.setMinimum(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14355 this.input.value = this.getValue(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14356 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14357 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14358 Slider.prototype.getMinimum = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14359 return this._range.getMinimum(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14360 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14361 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14362 Slider.prototype.setMaximum = function (v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14363 this._range.setMaximum(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14364 this.input.value = this.getValue(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14365 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14366 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14367 Slider.prototype.getMaximum = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14368 return this._range.getMaximum(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14369 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14370 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14371 Slider.prototype.setUnitIncrement = function (v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14372 this._unitIncrement = v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14373 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14374 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14375 Slider.prototype.getUnitIncrement = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14376 return this._unitIncrement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14377 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14378 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14379 Slider.prototype.setBlockIncrement = function (v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14380 this._blockIncrement = v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14381 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14382 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14383 Slider.prototype.getBlockIncrement = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14384 return this._blockIncrement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14385 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14386 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14387 Slider.prototype.getOrientation = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14388 return this._orientation; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14389 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14390 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14391 Slider.prototype.setOrientation = function (sOrientation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14392 if (sOrientation != this._orientation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14393 if (Slider.isSupported && this.element) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14394 // add class name tag to class name |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14395 this.element.className = this.element.className.replace(this._orientation, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14396 sOrientation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14397 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14398 this._orientation = sOrientation; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14399 this.recalculate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14400 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14401 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14402 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14403 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14404 Slider.prototype.recalculate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14405 if (!Slider.isSupported || !this.element) return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14406 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14407 var w = this.element.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14408 var h = this.element.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14409 var hw = this.handle.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14410 var hh = this.handle.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14411 var lw = this.line.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14412 var lh = this.line.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14413 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14414 // this assumes a border-box layout |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14415 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14416 if (this._orientation == "horizontal") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14417 this.handle.style.left = (w - hw) * (this.getValue() - this.getMinimum()) / |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14418 (this.getMaximum() - this.getMinimum()) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14419 this.handle.style.top = (h - hh) / 2 + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14420 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14421 this.line.style.top = (h - lh) / 2 + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14422 this.line.style.left = hw / 2 + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14423 //this.line.style.right = hw / 2 + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14424 this.line.style.width = Math.max(0, w - hw - 2)+ "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14425 this.line.firstChild.style.width = Math.max(0, w - hw - 4)+ "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14426 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14427 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14428 this.handle.style.left = (w - hw) / 2 + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14429 this.handle.style.top = h - hh - (h - hh) * (this.getValue() - this.getMinimum()) / |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14430 (this.getMaximum() - this.getMinimum()) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14431 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14432 this.line.style.left = (w - lw) / 2 + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14433 this.line.style.top = hh / 2 + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14434 this.line.style.height = Math.max(0, h - hh - 2) + "px"; //hard coded border width |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14435 //this.line.style.bottom = hh / 2 + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14436 this.line.firstChild.style.height = Math.max(0, h - hh - 4) + "px"; //hard coded border width |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14437 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14438 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14439 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14440 Slider.prototype.ontimer = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14441 var hw = this.handle.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14442 var hh = this.handle.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14443 var hl = this.handle.offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14444 var ht = this.handle.offsetTop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14445 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14446 if (this._orientation == "horizontal") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14447 if (this._mouseX > hl + hw && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14448 (this._increasing == null || this._increasing)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14449 this.setValue(this.getValue() + this.getBlockIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14450 this._increasing = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14451 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14452 else if (this._mouseX < hl && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14453 (this._increasing == null || !this._increasing)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14454 this.setValue(this.getValue() - this.getBlockIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14455 this._increasing = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14456 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14457 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14458 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14459 if (this._mouseY > ht + hh && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14460 (this._increasing == null || !this._increasing)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14461 this.setValue(this.getValue() - this.getBlockIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14462 this._increasing = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14463 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14464 else if (this._mouseY < ht && |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14465 (this._increasing == null || this._increasing)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14466 this.setValue(this.getValue() + this.getBlockIncrement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14467 this._increasing = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14468 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14469 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14470 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14471 this._timer.start(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14472 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14473 /*----------------------------------------------------------------------------\ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14474 | Timer Class | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14475 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14476 | Created by Erik Arvidsson | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14477 | (http://webfx.eae.net/contact.html#erik) | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14478 | For WebFX (http://webfx.eae.net/) | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14479 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14480 | Object Oriented Encapsulation of setTimeout fires ontimer when the timer | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14481 | is triggered. Does not work in IE 5.00 | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14482 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14483 | Copyright (c) 2002, 2006 Erik Arvidsson | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14484 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14485 | Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14486 | use this file except in compliance with the License. You may obtain a copy | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14487 | of the License at http://www.apache.org/licenses/LICENSE-2.0 | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14488 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14489 | Unless required by applicable law or agreed to in writing, software | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14490 | distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14491 | WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14492 | License for the specific language governing permissions and limitations | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14493 | under the License. | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14494 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14495 | 2002-10-14 | Original version released | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14496 | 2006-05-28 | Changed license to Apache Software License 2.0. | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14497 |-----------------------------------------------------------------------------| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14498 | Created 2002-10-14 | All changes are in the log above. | Updated 2006-05-28 | |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14499 \----------------------------------------------------------------------------*/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14500 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14501 function Timer(nPauseTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14502 this._pauseTime = typeof nPauseTime == "undefined" ? 1000 : nPauseTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14503 this._timer = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14504 this._isStarted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14505 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14506 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14507 Timer.prototype.start = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14508 if (this.isStarted()) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14509 this.stop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14510 var oThis = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14511 this._timer = window.setTimeout(function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14512 if (typeof oThis.ontimer == "function") |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14513 oThis.ontimer(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14514 }, this._pauseTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14515 this._isStarted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14516 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14517 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14518 Timer.prototype.stop = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14519 if (this._timer != null) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14520 window.clearTimeout(this._timer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14521 this._isStarted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14522 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14523 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14524 Timer.prototype.isStarted = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14525 return this._isStarted; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14526 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14527 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14528 Timer.prototype.getPauseTime = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14529 return this._pauseTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14530 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14531 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14532 Timer.prototype.setPauseTime = function (nPauseTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14533 this._pauseTime = nPauseTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14534 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14535 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14536 * SimileTimeplotModify.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14537 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14538 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14539 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14540 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14541 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14542 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14543 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14544 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14545 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14546 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14547 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14548 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14549 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14550 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14551 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14552 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14553 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14554 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14555 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14556 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14557 * Modified (overwritten) Simile Timeplot Functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14558 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14559 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14560 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14561 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14562 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14563 SimileAjax.DateTime.MILLISECOND = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14564 SimileAjax.DateTime.SECOND = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14565 SimileAjax.DateTime.MINUTE = 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14566 SimileAjax.DateTime.HOUR = 3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14567 SimileAjax.DateTime.DAY = 4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14568 SimileAjax.DateTime.WEEK = 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14569 SimileAjax.DateTime.MONTH = 6; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14570 SimileAjax.DateTime.QUARTER = 7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14571 SimileAjax.DateTime.SEMESTER = 8; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14572 SimileAjax.DateTime.YEAR = 9; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14573 SimileAjax.DateTime.LUSTRUM = 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14574 SimileAjax.DateTime.DECADE = 11; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14575 SimileAjax.DateTime.HALFCENTURY = 12; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14576 SimileAjax.DateTime.CENTURY = 13; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14577 SimileAjax.DateTime.HALFMILLENNIUM = 14; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14578 SimileAjax.DateTime.MILLENNIUM = 15; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14579 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14580 SimileAjax.DateTime.Strings = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14581 "en" : ["milliseconds", "seconds", "minutes", "hours", "days", "weeks", "months", "quarters", "semester", "years", "5 years", "decades", "50 years", "centuries", "500 years", "millenniums"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14582 "de" : ["Millisekunden", "Sekunden", "Minuten", "Stunden", "Tage", "Wochen", "Monate", "Quartale", "Semester", "Jahre", "5 Jahre", "Dekaden", "50 Jahre", "Jahrhunderte", "500 Jahre", "Jahrtausende"] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14583 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14584 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14585 SimileAjax.DateTime.gregorianUnitLengths = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14586 (function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14587 var d = SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14588 var a = d.gregorianUnitLengths; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14589 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14590 a[d.MILLISECOND] = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14591 a[d.SECOND] = 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14592 a[d.MINUTE] = a[d.SECOND] * 60; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14593 a[d.HOUR] = a[d.MINUTE] * 60; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14594 a[d.DAY] = a[d.HOUR] * 24; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14595 a[d.WEEK] = a[d.DAY] * 7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14596 a[d.MONTH] = a[d.DAY] * 31; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14597 a[d.QUARTER] = a[d.DAY] * 91; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14598 a[d.SEMESTER] = a[d.DAY] * 182; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14599 a[d.YEAR] = a[d.DAY] * 365; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14600 a[d.LUSTRUM] = a[d.YEAR] * 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14601 a[d.DECADE] = a[d.YEAR] * 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14602 a[d.HALFCENTURY] = a[d.YEAR] * 50; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14603 a[d.CENTURY] = a[d.YEAR] * 100; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14604 a[d.HALFMILLENNIUM] = a[d.YEAR] * 500; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14605 a[d.MILLENNIUM] = a[d.YEAR] * 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14606 })(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14607 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14608 SimileAjax.DateTime.roundDownToInterval = function(date, intervalUnit, timeZone, multiple, firstDayOfWeek) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14609 timeZone = ( typeof timeZone == 'undefined') ? 0 : timeZone; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14610 var timeShift = timeZone * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14611 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14612 var date2 = new Date(date.getTime() + timeShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14613 var clearInDay = function(d) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14614 d.setUTCMilliseconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14615 d.setUTCSeconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14616 d.setUTCMinutes(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14617 d.setUTCHours(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14618 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14619 var clearInWeek = function(d) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14620 clearInDay(d); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14621 var day = d.getDay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14622 var millies = d.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14623 millies -= day * 1000 * 60 * 60 * 24; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14624 d.setTime(millies); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14625 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14626 var clearInYear = function(d) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14627 clearInDay(d); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14628 d.setUTCDate(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14629 d.setUTCMonth(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14630 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14631 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14632 switch (intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14633 case SimileAjax.DateTime.MILLISECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14634 var x = date2.getUTCMilliseconds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14635 date2.setUTCMilliseconds(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14636 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14637 case SimileAjax.DateTime.SECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14638 date2.setUTCMilliseconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14639 var x = date2.getUTCSeconds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14640 date2.setUTCSeconds(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14641 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14642 case SimileAjax.DateTime.MINUTE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14643 date2.setUTCMilliseconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14644 date2.setUTCSeconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14645 var x = date2.getUTCMinutes(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14646 date2.setTime(date2.getTime() - (x % multiple) * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14647 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14648 case SimileAjax.DateTime.HOUR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14649 date2.setUTCMilliseconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14650 date2.setUTCSeconds(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14651 date2.setUTCMinutes(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14652 var x = date2.getUTCHours(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14653 date2.setUTCHours(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14654 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14655 case SimileAjax.DateTime.DAY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14656 clearInDay(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14657 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14658 case SimileAjax.DateTime.WEEK: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14659 clearInWeek(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14660 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14661 case SimileAjax.DateTime.MONTH: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14662 clearInDay(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14663 date2.setUTCDate(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14664 var x = date2.getUTCMonth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14665 date2.setUTCMonth(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14666 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14667 case SimileAjax.DateTime.QUARTER: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14668 clearInDay(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14669 date2.setUTCDate(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14670 var x = date2.getUTCMonth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14671 date2.setUTCMonth(x - (x % 3)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14672 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14673 case SimileAjax.DateTime.SEMESTER: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14674 clearInDay(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14675 date2.setUTCDate(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14676 var x = date2.getUTCMonth(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14677 date2.setUTCMonth(x - (x % 6)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14678 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14679 case SimileAjax.DateTime.YEAR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14680 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14681 var x = date2.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14682 date2.setUTCFullYear(x - (x % multiple)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14683 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14684 case SimileAjax.DateTime.LUSTRUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14685 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14686 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 5) * 5); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14687 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14688 case SimileAjax.DateTime.DECADE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14689 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14690 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 10) * 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14691 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14692 case SimileAjax.DateTime.HALFCENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14693 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14694 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 50) * 50); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14695 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14696 case SimileAjax.DateTime.CENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14697 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14698 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 100) * 100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14699 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14700 case SimileAjax.DateTime.HALFMILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14701 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14702 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 500) * 500); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14703 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14704 case SimileAjax.DateTime.MILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14705 clearInYear(date2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14706 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 1000) * 1000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14707 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14708 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14709 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14710 date.setTime(date2.getTime() - timeShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14711 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14712 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14713 SimileAjax.DateTime.incrementByInterval = function(date, intervalUnit, timeZone) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14714 timeZone = ( typeof timeZone == 'undefined') ? 0 : timeZone; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14715 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14716 var timeShift = timeZone * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14717 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14718 var date2 = new Date(date.getTime() + timeShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14719 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14720 switch (intervalUnit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14721 case SimileAjax.DateTime.MILLISECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14722 date2.setTime(date2.getTime() + 1) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14723 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14724 case SimileAjax.DateTime.SECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14725 date2.setTime(date2.getTime() + 1000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14726 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14727 case SimileAjax.DateTime.MINUTE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14728 date2.setTime(date2.getTime() + SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14729 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14730 case SimileAjax.DateTime.HOUR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14731 date2.setTime(date2.getTime() + SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14732 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14733 case SimileAjax.DateTime.DAY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14734 date2.setUTCDate(date2.getUTCDate() + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14735 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14736 case SimileAjax.DateTime.WEEK: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14737 date2.setUTCDate(date2.getUTCDate() + 7); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14738 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14739 case SimileAjax.DateTime.MONTH: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14740 date2.setUTCMonth(date2.getUTCMonth() + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14741 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14742 case SimileAjax.DateTime.QUARTER: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14743 date2.setUTCMonth(date2.getUTCMonth() + 3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14744 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14745 case SimileAjax.DateTime.SEMESTER: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14746 date2.setUTCMonth(date2.getUTCMonth() + 6); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14747 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14748 case SimileAjax.DateTime.YEAR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14749 date2.setUTCFullYear(date2.getUTCFullYear() + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14750 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14751 case SimileAjax.DateTime.LUSTRUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14752 date2.setUTCFullYear(date2.getUTCFullYear() + 5); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14753 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14754 case SimileAjax.DateTime.DECADE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14755 date2.setUTCFullYear(date2.getUTCFullYear() + 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14756 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14757 case SimileAjax.DateTime.HALFCENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14758 date2.setUTCFullYear(date2.getUTCFullYear() + 50); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14759 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14760 case SimileAjax.DateTime.CENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14761 date2.setUTCFullYear(date2.getUTCFullYear() + 100); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14762 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14763 case SimileAjax.DateTime.HALFMILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14764 date2.setUTCFullYear(date2.getUTCFullYear() + 500); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14765 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14766 case SimileAjax.DateTime.MILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14767 date2.setUTCFullYear(date2.getUTCFullYear() + 1000); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14768 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14769 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14770 date.setTime(date2.getTime() - timeShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14771 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14772 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14773 SimileAjax.DateTime.getTimeLabel = function(unit, t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14774 var time = SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14775 var second = t.getUTCSeconds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14776 var minute = t.getUTCMinutes(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14777 var hour = t.getUTCHours(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14778 var day = t.getUTCDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14779 var month = t.getUTCMonth() + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14780 var year = t.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14781 switch(unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14782 case time.SECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14783 return hour + ":" + ((minute < 10) ? "0" : "") + minute + ":" + ((second < 10) ? "0" : "") + second; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14784 case time.MINUTE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14785 return hour + ":" + ((minute < 10) ? "0" : "") + minute; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14786 case time.HOUR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14787 return hour + ":00"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14788 case time.DAY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14789 case time.WEEK: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14790 case time.MONTH: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14791 case time.QUARTER: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14792 case time.SEMESTER: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14793 return year + "-" + ((month < 10) ? "0" : "") + month + "-" + ((day < 10) ? "0" : "") + day; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14794 case time.YEAR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14795 case time.LUSTRUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14796 case time.DECADE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14797 case time.HALFCENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14798 case time.CENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14799 case time.HALFMILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14800 case time.MILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14801 return year; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14802 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14803 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14804 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14805 SimileAjax.DateTime.getTimeString = function(unit, t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14806 var time = SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14807 switch(unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14808 case time.MILLISECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14809 case time.SECOND: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14810 case time.MINUTE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14811 case time.HOUR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14812 var m = t.getUTCMonth() + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14813 var d = t.getUTCDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14814 var h = t.getUTCHours(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14815 var min = t.getUTCMinutes(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14816 var s = t.getUTCSeconds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14817 return t.getUTCFullYear() + "-" + ((m < 10) ? "0" : "") + m + "-" + ((d < 10) ? "0" : "") + d + " " + ((h < 10) ? "0" : "") + h + ":" + ((min < 10) ? "0" : "") + min + ":" + ((s < 10) ? "0" : "") + s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14818 case time.DAY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14819 case time.WEEK: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14820 case time.MONTH: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14821 case time.QUARTER: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14822 case time.SEMESTER: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14823 var m = t.getUTCMonth() + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14824 var d = t.getUTCDate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14825 return t.getUTCFullYear() + "-" + ((m < 10) ? "0" : "") + m + "-" + ((d < 10) ? "0" : "") + d; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14826 case time.YEAR: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14827 case time.LUSTRUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14828 case time.DECADE: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14829 case time.HALFCENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14830 case time.CENTURY: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14831 case time.HALFMILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14832 case time.MILLENNIUM: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14833 return t.getUTCFullYear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14834 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14835 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14836 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14837 Timeplot.DefaultEventSource.prototype.loadData = function(events) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14838 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14839 this._events.maxValues = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14840 this._events.removeAll(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14841 for (var i = 0; i < events.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14842 var event = events[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14843 var numericEvent = new Timeplot.DefaultEventSource.NumericEvent(event.date, event.value); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14844 this._events.add(numericEvent); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14845 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14846 this._fire("onAddMany", []); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14847 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14848 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14849 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14850 Timeplot._Impl.prototype.resetPlots = function(plotInfos) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14851 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14852 this._plotInfos = plotInfos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14853 this._painters = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14854 background : [], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14855 foreground : [] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14856 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14857 this._painter = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14858 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14859 var timeplot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14860 var painter = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14861 onAddMany : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14862 timeplot.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14863 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14864 onClear : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14865 timeplot.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14866 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14867 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14868 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14869 for ( i = this._plots.length; i > 0; i--) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14870 this._plots[i - 1].opacityPlot.removeChild(this._plots[i - 1]._opacityCanvas); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14871 this._plots[i - 1].dispose(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14872 if (document.addEventListener) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14873 this._containerDiv.removeEventListener("mousemove", this._plots[i - 1].mousemove, false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14874 this._containerDiv.removeEventListener("mouseover", this._plots[i - 1].mouseover, false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14875 } else if (document.attachEvent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14876 this._containerDiv.detachEvent("onmousemove", this._plots[i - 1].mousemove); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14877 this._containerDiv.detachEvent("onmouseover", this._plots[i - 1].mouseover); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14878 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14879 delete this._plots[i - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14880 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14881 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14882 this._plots = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14883 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14884 for ( i = 0; i < this._plotInfos.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14885 var plot = new Timeplot.Plot(this, this._plotInfos[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14886 var dataSource = plot.getDataSource(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14887 if (dataSource) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14888 dataSource.addListener(painter); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14889 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14890 this.addPainter("background", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14891 context : plot.getTimeGeometry(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14892 action : plot.getTimeGeometry().paint |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14893 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14894 this.addPainter("background", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14895 context : plot.getValueGeometry(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14896 action : plot.getValueGeometry().paint |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14897 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14898 this.addPainter("foreground", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14899 context : plot, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14900 action : plot.paint |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14901 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14902 this._plots.push(plot); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14903 plot.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14904 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14905 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14906 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14907 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14908 Timeplot.DefaultTimeGeometry.prototype._calculateGrid = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14909 var grid = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14910 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14911 var time = SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14912 var u = this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14913 var p = this._period; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14914 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14915 if (p == 0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14916 return grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14917 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14918 var periodUnit = -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14919 do { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14920 periodUnit++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14921 } while (time.gregorianUnitLengths[periodUnit] < p); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14922 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14923 periodUnit--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14924 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14925 var unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14926 if (periodUnit < time.DAY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14927 unit = time.HOUR; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14928 } else if (periodUnit < time.WEEK) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14929 unit = time.DAY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14930 } else if (periodUnit < time.QUARTER) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14931 unit = time.WEEK; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14932 } else if (periodUnit < time.YEAR) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14933 unit = time.MONTH; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14934 } else if (periodUnit < time.DECADE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14935 unit = time.YEAR; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14936 } else if (periodUnit < time.CENTURY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14937 unit = time.DECADE; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14938 } else if (periodUnit < time.HALFMILLENNIUM) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14939 unit = time.CENTURY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14940 } else if (periodUnit < time.MILLENNIUM) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14941 unit = time.HALFMILLENNIUM; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14942 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14943 unit = time.MILLENNIUM; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14944 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14945 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14946 if (unit < this._granularity) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14947 unit = this._granularity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14948 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14949 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14950 var t = u.cloneValue(this._earliestDate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14951 var timeZone; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14952 do { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14953 time.roundDownToInterval(t, unit, timeZone, 1, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14954 var x = this.toScreen(u.toNumber(t)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14955 var l = SimileAjax.DateTime.getTimeLabel(unit, t); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14956 if (x > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14957 grid.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14958 x : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14959 label : l |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14960 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14961 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14962 time.incrementByInterval(t, unit, timeZone); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14963 } while (t.getTime() < this._latestDate.getTime()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14964 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14965 return grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14966 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14967 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14968 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14969 //modified function to prevent from drawing left and right axis |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14970 Timeplot.DefaultValueGeometry.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14971 if (this._timeplot) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14972 var ctx = this._canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14973 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14974 ctx.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14975 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14976 // paint grid |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14977 if (this._gridColor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14978 var gridGradient = ctx.createLinearGradient(0, 0, 0, this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14979 gridGradient.addColorStop(0, this._gridColor.toHexString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14980 gridGradient.addColorStop(0.3, this._gridColor.toHexString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14981 gridGradient.addColorStop(1, "rgba(255,255,255,0.5)"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14982 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14983 ctx.lineWidth = this._gridLineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14984 ctx.strokeStyle = gridGradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14985 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14986 for (var i = 0; i < this._grid.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14987 var tick = this._grid[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14988 var y = Math.floor(tick.y) + 0.5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14989 if ( typeof tick.label != "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14990 if (this._axisLabelsPlacement == "left") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14991 var div = this._timeplot.putText(this._id + "-" + i, tick.label, "timeplot-grid-label", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14992 left : 4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14993 bottom : y + 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14994 color : this._gridColor.toHexString(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14995 visibility : "hidden" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14996 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14997 this._labels.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14998 } else if (this._axisLabelsPlacement == "right") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14999 var div = this._timeplot.putText(this._id + "-" + i, tick.label, "timeplot-grid-label", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15000 right : 4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15001 bottom : y + 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15002 color : this._gridColor.toHexString(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15003 visibility : "hidden" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15004 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15005 this._labels.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15006 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15007 if (y + div.clientHeight < this._canvas.height + 10) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15008 div.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15009 // avoid the labels that would overflow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15010 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15011 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15012 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15013 // draw grid |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15014 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15015 if (this._gridType == "long" || tick.label == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15016 ctx.moveTo(0, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15017 ctx.lineTo(this._canvas.width, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15018 } else if (this._gridType == "short") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15019 if (this._axisLabelsPlacement == "left") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15020 ctx.moveTo(0, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15021 ctx.lineTo(this._gridShortSize, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15022 } else if (this._axisLabelsPlacement == "right") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15023 ctx.moveTo(this._canvas.width, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15024 ctx.lineTo(this._canvas.width - this._gridShortSize, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15025 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15026 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15027 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15028 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15029 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15030 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15031 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15032 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15033 //modified function to prevent from drawing hidden labels |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15034 Timeplot.DefaultTimeGeometry.prototype.paint = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15035 if (this._canvas) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15036 var unit = this._unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15037 var ctx = this._canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15038 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15039 var gradient = ctx.createLinearGradient(0, 0, 0, this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15040 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15041 ctx.strokeStyle = gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15042 ctx.lineWidth = this._gridLineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15043 ctx.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15044 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15045 // paint grid |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15046 if (this._gridColor) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15047 gradient.addColorStop(0, this._gridColor.toString()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15048 gradient.addColorStop(1, "rgba(255,255,255,0.9)"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15049 for (var i = 0; i < this._grid.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15050 var tick = this._grid[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15051 var x = Math.floor(tick.x) + 0.5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15052 if (this._axisLabelsPlacement == "top") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15053 var div = this._timeplot.putText(this._id + "-" + i, tick.label, "timeplot-grid-label", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15054 left : x + 4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15055 top : 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15056 visibility : "hidden" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15057 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15058 this._labels.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15059 } else if (this._axisLabelsPlacement == "bottom") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15060 var div = this._timeplot.putText(this._id + "-" + i, tick.label, "timeplot-grid-label", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15061 left : x + 4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15062 bottom : 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15063 visibility : "hidden" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15064 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15065 this._labels.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15066 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15067 if (!this._hideLabels && x + div.clientWidth < this._canvas.width + 10) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15068 div.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15069 // avoid the labels that would overflow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15070 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15071 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15072 // draw separator |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15073 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15074 ctx.moveTo(x, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15075 ctx.lineTo(x, this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15076 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15077 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15078 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15079 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15080 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15081 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15082 Timeplot.Plot.prototype.getSliceNumber = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15083 return this._dataSource.getData().times.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15084 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15085 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15086 Timeplot.Plot.prototype.getSliceId = function(time) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15087 var data = this._dataSource.getData(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15088 for (var k = 0; k < data.times.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15089 if (data.times[k].getTime() == time.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15090 return k; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15091 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15092 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15093 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15094 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15095 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15096 Timeplot.Plot.prototype.getSliceTime = function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15097 var data = this._dataSource.getData(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15098 if (0 <= index && index < data.times.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15099 return data.times[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15100 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15101 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15102 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15103 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15104 Timeplot.Plot.prototype.initialize = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15105 if (this._dataSource && this._dataSource.getValue) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15106 this._timeFlag = this._timeplot.putDiv("timeflag", "timeplot-timeflag"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15107 this._valueFlag = this._timeplot.putDiv(this._id + "valueflag", "timeplot-valueflag"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15108 this._pinValueFlag = this._timeplot.putDiv(this._id + "pinvalueflag", "timeplot-valueflag"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15109 var pin = document.getElementById(this._timeplot._id + "-" + this._id + "pinvalueflag"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15110 if (SimileAjax.Platform.browser.isIE && SimileAjax.Platform.browser.majorVersion < 9) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15111 var cssText = "border: 1px solid " + this._plotInfo.lineColor.toString() + "; background-color: " + this._plotInfo.fillColor.toString() + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15112 cssText = cssText.replace(/rgba\((\s*\d{1,3}),(\s*\d{1,3}),(\s*\d{1,3}),(\s*\d{1}|\s*\d{1}\.\d+)\)/g, 'rgb($1,$2,$3)'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15113 pin.style.setAttribute("cssText", cssText); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15114 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15115 pin.style.border = "1px solid " + this._plotInfo.lineColor.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15116 pin.style.backgroundColor = this._plotInfo.fillColor.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15117 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15118 this._valueFlagLineLeft = this._timeplot.putDiv(this._id + "valueflagLineLeft", "timeplot-valueflag-line"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15119 this._valueFlagLineRight = this._timeplot.putDiv(this._id + "valueflagLineRight", "timeplot-valueflag-line"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15120 this._pinValueFlagLineLeft = this._timeplot.putDiv(this._id + "pinValueflagLineLeft", "timeplot-valueflag-line"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15121 this._pinValueFlagLineRight = this._timeplot.putDiv(this._id + "pinValueflagLineRight", "timeplot-valueflag-line"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15122 if (!this._valueFlagLineLeft.firstChild) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15123 this._valueFlagLineLeft.appendChild(SimileAjax.Graphics.createTranslucentImage(Timeplot.urlPrefix + "images/line_left.png")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15124 this._valueFlagLineRight.appendChild(SimileAjax.Graphics.createTranslucentImage(Timeplot.urlPrefix + "images/line_right.png")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15125 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15126 if (!this._pinValueFlagLineLeft.firstChild) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15127 this._pinValueFlagLineLeft.appendChild(SimileAjax.Graphics.createTranslucentImage(GeoTemConfig.path + "plot-line_left.png")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15128 this._pinValueFlagLineRight.appendChild(SimileAjax.Graphics.createTranslucentImage(GeoTemConfig.path + "plot-line_right.png")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15129 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15130 this._valueFlagPole = this._timeplot.putDiv(this._id + "valuepole", "timeplot-valueflag-pole"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15131 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15132 var opacity = this._plotInfo.valuesOpacity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15133 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15134 SimileAjax.Graphics.setOpacity(this._timeFlag, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15135 SimileAjax.Graphics.setOpacity(this._valueFlag, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15136 SimileAjax.Graphics.setOpacity(this._pinValueFlag, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15137 SimileAjax.Graphics.setOpacity(this._valueFlagLineLeft, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15138 SimileAjax.Graphics.setOpacity(this._valueFlagLineRight, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15139 SimileAjax.Graphics.setOpacity(this._pinValueFlagLineLeft, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15140 SimileAjax.Graphics.setOpacity(this._pinValueFlagLineRight, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15141 SimileAjax.Graphics.setOpacity(this._valueFlagPole, opacity); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15142 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15143 var plot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15144 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15145 var mouseOverHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15146 plot._timeFlag.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15147 plot._valueFlag.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15148 plot._pinValueFlag.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15149 plot._valueFlagLineLeft.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15150 plot._valueFlagLineRight.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15151 plot._pinValueFlagLineLeft.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15152 plot._pinValueFlagLineRight.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15153 plot._valueFlagPole.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15154 if (plot._plotInfo.showValues) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15155 plot._valueFlag.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15156 mouseMoveHandler(elmt, evt, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15157 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15158 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15159 var mouseOutHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15160 plot._timeFlag.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15161 plot._valueFlag.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15162 plot._pinValueFlag.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15163 plot._valueFlagLineLeft.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15164 plot._valueFlagLineRight.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15165 plot._pinValueFlagLineLeft.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15166 plot._pinValueFlagLineRight.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15167 plot._valueFlagPole.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15168 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15169 var day = 24 * 60 * 60 * 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15170 var month = 30 * day; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15171 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15172 var mouseMoveHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15173 if ( typeof SimileAjax != "undefined" && plot._plotInfo.showValues) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15174 var c = plot._canvas; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15175 var x = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt, plot._canvas).x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15176 if (x > c.width) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15177 x = c.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15178 if (isNaN(x) || x < 0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15179 x = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15180 var t = plot._timeGeometry.fromScreen(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15181 if (t == 0) {// something is wrong |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15182 plot._valueFlag.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15183 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15184 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15185 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15186 var v, validTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15187 if (plot.style == 'bars') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15188 var time1 = plot._dataSource.getClosestValidTime(t); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15189 var x1 = plot._timeGeometry.toScreen(time1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15190 var index_x1 = plot.getSliceId(time1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15191 var time2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15192 if (x < x1 && index_x1 > 0 || x >= x1 && index_x1 == plot.getSliceNumber() - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15193 time2 = plot.getSliceTime(index_x1 - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15194 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15195 time2 = plot.getSliceTime(index_x1 + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15196 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15197 var x2 = plot._timeGeometry.toScreen(time2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15198 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15199 var t1 = new Date(time1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15200 var t2 = new Date(time2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15201 var unit = plot._timeGeometry.extendedDataSource.unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15202 var l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15203 if (x1 < x2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15204 l = SimileAjax.DateTime.getTimeLabel(unit, t1) + '-' + SimileAjax.DateTime.getTimeLabel(unit, t2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15205 validTime = time1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15206 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15207 l = SimileAjax.DateTime.getTimeLabel(unit, t2) + '-' + SimileAjax.DateTime.getTimeLabel(unit, t1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15208 validTime = time2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15209 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15210 v = plot._dataSource.getValue(validTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15211 if (plot._plotInfo.roundValues) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15212 v = Math.round(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15213 plot._valueFlag.innerHTML = v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15214 plot._timeFlag.innerHTML = l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15215 x = (x1 + x2 ) / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15216 } else if (plot.style == 'graph') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15217 validTime = plot._dataSource.getClosestValidTime(t); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15218 x = plot._timeGeometry.toScreen(validTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15219 v = plot._dataSource.getValue(validTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15220 if (plot._plotInfo.roundValues) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15221 v = Math.round(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15222 plot._valueFlag.innerHTML = v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15223 var t = new Date(validTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15224 var unit = plot._timeGeometry.extendedDataSource.unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15225 var l = SimileAjax.DateTime.getTimeLabel(unit, t); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15226 plot._timeFlag.innerHTML = l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15227 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15228 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15229 var tw = plot._timeFlag.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15230 var th = plot._timeFlag.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15231 var tdw = Math.round(tw / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15232 var vw = plot._valueFlag.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15233 var vh = plot._valueFlag.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15234 var y = plot._valueGeometry.toScreen(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15235 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15236 if (x + tdw > c.width) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15237 var tx = c.width - tdw; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15238 } else if (x - tdw < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15239 var tx = tdw; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15240 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15241 var tx = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15242 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15243 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15244 plot._timeplot.placeDiv(plot._valueFlagPole, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15245 left : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15246 top : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15247 height : c.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15248 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15249 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15250 plot._timeplot.placeDiv(plot._timeFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15251 left : tx - tdw, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15252 top : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15253 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15254 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15255 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15256 var sliceId = plot.getSliceId(validTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15257 var pvw, pvh = 0, pinY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15258 if (plot.pins[sliceId].count > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15259 plot._pinValueFlag.innerHTML = plot.pins[sliceId].count; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15260 pvw = plot._pinValueFlag.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15261 pvh = plot._pinValueFlag.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15262 pinY = plot.pins[sliceId].height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15263 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15264 var rightOverflow = x + vw + 14 > c.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15265 var leftOverflow = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15266 if (plot.pins[sliceId].count > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15267 if (x - pvw - 14 < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15268 leftOverflow = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15269 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15270 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15271 var shiftV, shiftP; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15272 if (plot.pins[sliceId].count > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15273 var cut = y - pinY < vh / 2 + pvh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15274 if ((leftOverflow || rightOverflow ) && cut) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15275 shiftV = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15276 shiftP = pvh; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15277 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15278 shiftV = vh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15279 shiftP = pvh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15280 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15281 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15282 shiftV = vh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15283 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15284 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15285 if (x + vw + 14 > c.width && y + vh / 2 + 4 > c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15286 plot._valueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15287 plot._timeplot.placeDiv(plot._valueFlagLineRight, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15288 left : x - 14, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15289 bottom : y - 14, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15290 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15291 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15292 plot._timeplot.placeDiv(plot._valueFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15293 left : x - vw - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15294 bottom : y - 13 - shiftV, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15295 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15296 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15297 } else if (x + vw + 14 > c.width && y + vh / 2 + 4 < c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15298 plot._valueFlagLineRight.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15299 plot._timeplot.placeDiv(plot._valueFlagLineLeft, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15300 left : x - 14, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15301 bottom : y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15302 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15303 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15304 plot._timeplot.placeDiv(plot._valueFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15305 left : x - vw - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15306 bottom : y + 13 - shiftV, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15307 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15308 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15309 } else if (x + vw + 14 < c.width && y + vh / 2 + 4 > c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15310 plot._valueFlagLineRight.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15311 plot._timeplot.placeDiv(plot._valueFlagLineLeft, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15312 left : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15313 bottom : y - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15314 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15315 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15316 plot._timeplot.placeDiv(plot._valueFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15317 left : x + 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15318 bottom : y - 13 - shiftV, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15319 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15320 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15321 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15322 plot._valueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15323 plot._timeplot.placeDiv(plot._valueFlagLineRight, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15324 left : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15325 bottom : y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15326 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15327 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15328 plot._timeplot.placeDiv(plot._valueFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15329 left : x + 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15330 bottom : y + 13 - shiftV, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15331 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15332 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15333 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15334 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15335 if (plot.pins[sliceId].count > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15336 if (x - pvw - 14 < 0 && pinY + pvh + 4 > c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15337 plot._pinValueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15338 plot._timeplot.placeDiv(plot._pinValueFlagLineRight, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15339 left : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15340 bottom : pinY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15341 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15342 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15343 plot._timeplot.placeDiv(plot._pinValueFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15344 left : x + 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15345 bottom : pinY - 13 - shiftP, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15346 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15347 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15348 } else if (x - pvw - 14 < 0 && pinY + pvh + 4 < c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15349 plot._pinValueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15350 plot._timeplot.placeDiv(plot._pinValueFlagLineRight, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15351 left : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15352 bottom : pinY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15353 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15354 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15355 plot._timeplot.placeDiv(plot._pinValueFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15356 left : x + 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15357 bottom : pinY + 13 - shiftP, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15358 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15359 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15360 } else if (x - pvw - 14 >= 0 && pinY + pvh + 4 > c.height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15361 plot._pinValueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15362 plot._timeplot.placeDiv(plot._pinValueFlagLineRight, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15363 left : x - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15364 bottom : pinY - 13, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15365 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15366 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15367 plot._timeplot.placeDiv(plot._pinValueFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15368 left : x - 15 - pvw, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15369 bottom : pinY - 13 - shiftP, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15370 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15371 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15372 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15373 plot._pinValueFlagLineRight.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15374 plot._timeplot.placeDiv(plot._pinValueFlagLineLeft, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15375 left : x - 14, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15376 bottom : pinY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15377 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15378 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15379 plot._timeplot.placeDiv(plot._pinValueFlag, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15380 left : x - pvw - 15, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15381 bottom : pinY + 13 - shiftP, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15382 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15383 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15384 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15385 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15386 plot._pinValueFlagLineLeft.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15387 plot._pinValueFlagLineRight.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15388 plot._pinValueFlag.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15389 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15390 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15391 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15392 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15393 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15394 var timeplotElement = this._timeplot.getElement(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15395 this.mouseover = SimileAjax.DOM.registerPlotEvent(timeplotElement, "mouseover", mouseOverHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15396 this.mouseout = SimileAjax.DOM.registerPlotEvent(timeplotElement, "mouseout", mouseOutHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15397 this.mousemove = SimileAjax.DOM.registerPlotEvent(timeplotElement, "mousemove", mouseMoveHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15398 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15399 this.opacityPlot = this._timeplot.putDiv("opacityPlot" + this._timeplot._plots.length, "opacityPlot"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15400 SimileAjax.Graphics.setOpacity(this.opacityPlot, 50); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15401 // this.opacityPlot.style.zIndex = this._timeplot._plots.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15402 this._timeplot.placeDiv(this.opacityPlot, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15403 left : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15404 bottom : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15405 width : this._canvas.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15406 height : this._canvas.height |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15407 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15408 this._opacityCanvas = document.createElement("canvas"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15409 this.opacityPlot.appendChild(this._opacityCanvas); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15410 if (!this._opacityCanvas.getContext && G_vmlCanvasManager) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15411 this._opacityCanvas = G_vmlCanvasManager.initElement(this._opacityCanvas); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15412 this._opacityCanvas.width = this._canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15413 this._opacityCanvas.height = this._canvas.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15414 this._opacityCanvas.style.position = 'absolute'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15415 this._opacityCanvas.style.left = '0px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15416 this.opacityPlot.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15417 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15418 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15419 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15420 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15421 SimileAjax.DOM.registerPlotEvent = function(elmt, eventName, handler) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15422 var handler2 = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15423 evt = (evt) ? evt : ((event) ? event : null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15424 if (evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15425 var target = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15426 if (target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15427 target = (target.nodeType == 1 || target.nodeType == 9) ? target : target.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15428 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15429 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15430 return handler(elmt, evt, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15431 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15432 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15433 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15434 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15435 elmt.attachEvent("on" + eventName, handler2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15436 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15437 elmt.addEventListener(eventName, handler2, false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15438 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15439 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15440 return handler2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15441 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15442 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15443 SimileAjax.DOM.getEventRelativeCoordinates = function(evt, elmt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15444 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15445 var coords = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15446 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15447 x : evt.clientX - coords.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15448 y : evt.clientY - coords.top |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15449 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15450 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15451 var coords = SimileAjax.DOM.getPageCoordinates(elmt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15452 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15453 if ((evt.type == "DOMMouseScroll") && SimileAjax.Platform.browser.isFirefox && (SimileAjax.Platform.browser.majorVersion == 2)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15454 // Due to: https://bugzilla.mozilla.org/show_bug.cgi?id=352179 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15455 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15456 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15457 x : evt.screenX - coords.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15458 y : evt.screenY - coords.top |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15459 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15460 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15461 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15462 x : evt.pageX - coords.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15463 y : evt.pageY - coords.top |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15464 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15465 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15466 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15467 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15468 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15469 SimileAjax.Graphics.setOpacity = function(elmt, opacity) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15470 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15471 elmt.style.filter = "alpha(opacity = " + opacity + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15472 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15473 var o = (opacity / 100).toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15474 elmt.style.opacity = o; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15475 elmt.style.MozOpacity = o; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15476 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15477 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15478 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15479 Timeplot.Plot.prototype.fullOpacityPlot = function(left, right, lp, rp, c) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15480 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15481 var ctx = this._opacityCanvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15482 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15483 ctx.clearRect(0, 0, this._canvas.width, this._canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15484 ctx.lineWidth = this._plotInfo.lineWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15485 ctx.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15486 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15487 var h = this._canvas.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15488 ctx.fillStyle = this._plotInfo.lineColor.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15489 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15490 var data = this._dataSource.getData(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15491 var times = data.times; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15492 var values = data.values; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15493 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15494 var first = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15495 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15496 ctx.fillStyle = this._plotInfo.lineColor.toString(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15497 var lastX = 0, lastY = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15498 for (var t = 0; t < times.length; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15499 if (!(times[t].getTime() < left.getTime() || times[t].getTime() > right.getTime())) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15500 var x = this._timeGeometry.toScreen(times[t]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15501 var y = this._valueGeometry.toScreen(values[t]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15502 if (first) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15503 ctx.moveTo(x, h); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15504 first = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15505 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15506 if (this.style == 'bars') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15507 ctx.lineTo(x, h - lastY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15508 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15509 ctx.lineTo(x, h - y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15510 if (times[t].getTime() == right.getTime() || t == times.length - 1) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15511 ctx.lineTo(x, h); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15512 lastX = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15513 lastY = y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15514 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15515 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15516 ctx.fill(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15517 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15518 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15519 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15520 Timeplot._Impl.prototype.regularGrid = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15521 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15522 var canvas = this.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15523 var ctx = canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15524 var gradient = ctx.createLinearGradient(0, 0, 0, canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15525 gradient.addColorStop(0, "rgb(0,0,0)"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15526 gradient.addColorStop(1, "rgba(255,255,255,0.9)"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15527 ctx.strokeStyle = gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15528 ctx.lineWidth = 0.5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15529 ctx.lineJoin = 'miter'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15530 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15531 var xDist = canvas.width / 9; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15532 var positions = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15533 for (var i = 1; i < 9; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15534 var x = i * xDist; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15535 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15536 ctx.moveTo(x, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15537 ctx.lineTo(x, canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15538 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15539 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15540 positions.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15541 label : '', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15542 x : x |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15543 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15544 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15545 return positions; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15546 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15547 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15548 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15549 Timeplot.Plot.prototype._plot = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15550 var ctx = this._canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15551 var data = this._dataSource.getData(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15552 if (data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15553 var times = data.times; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15554 var values = data.values; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15555 var T = times.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15556 ctx.moveTo(0, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15557 var lastX = 0, lastY = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15558 for (var t = 0; t < T; t++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15559 var x = this._timeGeometry.toScreen(times[t]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15560 var y = this._valueGeometry.toScreen(values[t]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15561 if (t > 0 && (values[t - 1] > 0 || values[t] > 0 )) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15562 if (this.style == 'graph') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15563 ctx.lineTo(x, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15564 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15565 if (this.style == 'bars') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15566 if (values[t - 1] > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15567 ctx.lineTo(x, lastY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15568 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15569 ctx.moveTo(x, lastY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15570 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15571 ctx.lineTo(x, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15572 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15573 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15574 ctx.moveTo(x, y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15575 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15576 lastX = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15577 lastY = y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15578 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15579 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15580 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15581 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15582 SimileAjax.DOM.registerEvent = function(elmt, eventName, handler) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15583 var handler2 = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15584 evt = (evt) ? evt : ((event) ? event : null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15585 if (evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15586 var target = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15587 if (target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15588 target = (target.nodeType == 1 || target.nodeType == 9) ? target : target.parentNode; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15589 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15590 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15591 return handler(elmt, evt, target); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15592 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15593 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15594 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15595 if (SimileAjax.Platform.browser.isIE) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15596 elmt.attachEvent("on" + eventName, handler2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15597 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15598 if (eventName == "mousewheel") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15599 eventName = "DOMMouseScroll"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15600 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15601 elmt.addEventListener(eventName, handler2, false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15602 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15603 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15604 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15605 Timeplot._Impl.prototype._setUpright = function(ctx, canvas) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15606 // excanvas+IE requires this to be done only once, ever; actual canvas |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15607 // implementations reset and require this for each call to re-layout |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15608 // modified: problem does not exist for IE9 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15609 if (!SimileAjax.Platform.browser.isIE) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15610 this._upright = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15611 else if (SimileAjax.Platform.browser.majorVersion > 8) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15612 this._upright = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15613 if (!this._upright) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15614 this._upright = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15615 ctx.translate(0, canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15616 ctx.scale(1, -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15617 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15618 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15619 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15620 Timeplot._Impl.prototype._resizeCanvas = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15621 var canvas = this.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15622 if (canvas.firstChild) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15623 canvas.firstChild.style.width = canvas.clientWidth + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15624 canvas.firstChild.style.height = canvas.clientHeight + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15625 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15626 for (var i = 0; i < this._plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15627 var opacityCanvas = this._plots[i]._opacityCanvas; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15628 if (opacityCanvas.firstChild) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15629 opacityCanvas.firstChild.style.width = opacityCanvas.clientWidth + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15630 opacityCanvas.firstChild.style.height = opacityCanvas.clientHeight + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15631 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15632 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15633 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15634 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15635 Timeplot._Impl.prototype.getWidth = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15636 var canvas = this.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15637 if ( typeof canvas.width != 'undefined' && this._containerDiv.clientWidth == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15638 return canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15639 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15640 return this._containerDiv.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15641 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15642 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15643 Timeplot._Impl.prototype.getHeight = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15644 var canvas = this.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15645 if ( typeof canvas.height != 'undefined' && this._containerDiv.clientHeight == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15646 return canvas.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15647 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15648 return this._containerDiv.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15649 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15650 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15651 Timeplot._Impl.prototype._prepareCanvas = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15652 var canvas = this.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15653 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15654 // using jQuery. note we calculate the average padding; if your |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15655 // padding settings are not symmetrical, the labels will be off |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15656 // since they expect to be centered on the canvas. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15657 var con = SimileAjax.jQuery(this._containerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15658 this._paddingX = (parseInt(con.css('paddingLeft')) + parseInt(con.css('paddingRight'))) / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15659 this._paddingY = (parseInt(con.css('paddingTop')) + parseInt(con.css('paddingBottom'))) / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15660 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15661 if (isNaN(this._paddingX)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15662 this._paddingX = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15663 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15664 if (isNaN(this._paddingY)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15665 this._paddingY = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15666 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15667 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15668 canvas.width = this.getWidth() - (this._paddingX * 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15669 canvas.height = this.getHeight() - (this._paddingY * 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15670 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15671 var ctx = canvas.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15672 this._setUpright(ctx, canvas); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15673 ctx.globalCompositeOperation = 'source-over'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15674 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15675 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15676 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15677 OpenLayers.js -- OpenLayers Map Viewer Library |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15678 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15679 Copyright (c) 2006-2012 by OpenLayers Contributors |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15680 Published under the 2-clause BSD license. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15681 See http://openlayers.org/dev/license.txt for the full text of the license, and http://openlayers.org/dev/authors.txt for full list of contributors. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15682 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15683 Includes compressed code under the following licenses: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15684 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15685 (For uncompressed versions of the code used, please see the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15686 OpenLayers Github repository: <https://github.com/openlayers/openlayers>) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15687 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15688 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15689 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15690 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15691 * Contains XMLHttpRequest.js <http://code.google.com/p/xmlhttprequest/> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15692 * Copyright 2007 Sergey Ilinsky (http://www.ilinsky.com) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15693 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15694 * Licensed under the Apache License, Version 2.0 (the "License"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15695 * you may not use this file except in compliance with the License. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15696 * You may obtain a copy of the License at |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15697 * http://www.apache.org/licenses/LICENSE-2.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15698 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15699 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15700 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15701 * OpenLayers.Util.pagePosition is based on Yahoo's getXY method, which is |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15702 * Copyright (c) 2006, Yahoo! Inc. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15703 * All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15704 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15705 * Redistribution and use of this software in source and binary forms, with or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15706 * without modification, are permitted provided that the following conditions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15707 * are met: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15708 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15709 * * Redistributions of source code must retain the above copyright notice, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15710 * this list of conditions and the following disclaimer. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15711 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15712 * * Redistributions in binary form must reproduce the above copyright notice, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15713 * this list of conditions and the following disclaimer in the documentation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15714 * and/or other materials provided with the distribution. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15715 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15716 * * Neither the name of Yahoo! Inc. nor the names of its contributors may be |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15717 * used to endorse or promote products derived from this software without |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15718 * specific prior written permission of Yahoo! Inc. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15719 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15720 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15721 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15722 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15723 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15724 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15725 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15726 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15727 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15728 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15729 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15730 * POSSIBILITY OF SUCH DAMAGE. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15731 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15732 var OpenLayers={VERSION_NUMBER:"Release 2.12",singleFile:!0,_getScriptLocation:function(){for(var a=/(^|(.*?\/))(OpenLayers[^\/]*?\.js)(\?|$)/,b=document.getElementsByTagName("script"),c,d="",e=0,f=b.length;e<f;e++)if(c=b[e].getAttribute("src"))if(c=c.match(a)){d=c[1];break}return function(){return d}}(),ImgPath:""};OpenLayers.Class=function(){var a=arguments.length,b=arguments[0],c=arguments[a-1],d="function"==typeof c.initialize?c.initialize:function(){b.prototype.initialize.apply(this,arguments)};1<a?(a=[d,b].concat(Array.prototype.slice.call(arguments).slice(1,a-1),c),OpenLayers.inherit.apply(null,a)):d.prototype=c;return d}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15733 OpenLayers.inherit=function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;var d,e,c=2;for(d=arguments.length;c<d;c++)e=arguments[c],"function"===typeof e&&(e=e.prototype),OpenLayers.Util.extend(a.prototype,e)};OpenLayers.Util=OpenLayers.Util||{};OpenLayers.Util.extend=function(a,b){a=a||{};if(b){for(var c in b){var d=b[c];void 0!==d&&(a[c]=d)}!("function"==typeof window.Event&&b instanceof window.Event)&&(b.hasOwnProperty&&b.hasOwnProperty("toString"))&&(a.toString=b.toString)}return a};OpenLayers.String={startsWith:function(a,b){return 0==a.indexOf(b)},contains:function(a,b){return-1!=a.indexOf(b)},trim:function(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(a){for(var a=a.split("-"),b=a[0],c=1,d=a.length;c<d;c++)var e=a[c],b=b+(e.charAt(0).toUpperCase()+e.substring(1));return b},format:function(a,b,c){b||(b=window);return a.replace(OpenLayers.String.tokenRegEx,function(a,e){for(var f,g=e.split(/\.+/),h=0;h<g.length;h++)0==h&&(f=b),f=f[g[h]];"function"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15734 typeof f&&(f=c?f.apply(null,c):f());return"undefined"==typeof f?"undefined":f})},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(a){return OpenLayers.String.numberRegEx.test(a)},numericIf:function(a){return OpenLayers.String.isNumeric(a)?parseFloat(a):a}}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15735 OpenLayers.Number={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(a,b){var c=0;0<b&&(c=parseFloat(a.toPrecision(b)));return c},format:function(a,b,c,d){b="undefined"!=typeof b?b:0;c="undefined"!=typeof c?c:OpenLayers.Number.thousandsSeparator;d="undefined"!=typeof d?d:OpenLayers.Number.decimalSeparator;null!=b&&(a=parseFloat(a.toFixed(b)));var e=a.toString().split(".");1==e.length&&null==b&&(b=0);a=e[0];if(c)for(var f=/(-?[0-9]+)([0-9]{3})/;f.test(a);)a=a.replace(f,"$1"+c+"$2"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15736 0==b?b=a:(c=1<e.length?e[1]:"0",null!=b&&(c+=Array(b-c.length+1).join("0")),b=a+d+c);return b}};OpenLayers.Function={bind:function(a,b){var c=Array.prototype.slice.apply(arguments,[2]);return function(){var d=c.concat(Array.prototype.slice.apply(arguments,[0]));return a.apply(b,d)}},bindAsEventListener:function(a,b){return function(c){return a.call(b,c||window.event)}},False:function(){return!1},True:function(){return!0},Void:function(){}}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15737 OpenLayers.Array={filter:function(a,b,c){var d=[];if(Array.prototype.filter)d=a.filter(b,c);else{var e=a.length;if("function"!=typeof b)throw new TypeError;for(var f=0;f<e;f++)if(f in a){var g=a[f];b.call(c,g,f,a)&&d.push(g)}}return d}};OpenLayers.Bounds=OpenLayers.Class({left:null,bottom:null,right:null,top:null,centerLonLat:null,initialize:function(a,b,c,d){OpenLayers.Util.isArray(a)&&(d=a[3],c=a[2],b=a[1],a=a[0]);null!=a&&(this.left=OpenLayers.Util.toFloat(a));null!=b&&(this.bottom=OpenLayers.Util.toFloat(b));null!=c&&(this.right=OpenLayers.Util.toFloat(c));null!=d&&(this.top=OpenLayers.Util.toFloat(d))},clone:function(){return new OpenLayers.Bounds(this.left,this.bottom,this.right,this.top)},equals:function(a){var b=!1;null!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15738 a&&(b=this.left==a.left&&this.right==a.right&&this.top==a.top&&this.bottom==a.bottom);return b},toString:function(){return[this.left,this.bottom,this.right,this.top].join()},toArray:function(a){return!0===a?[this.bottom,this.left,this.top,this.right]:[this.left,this.bottom,this.right,this.top]},toBBOX:function(a,b){null==a&&(a=6);var c=Math.pow(10,a),d=Math.round(this.left*c)/c,e=Math.round(this.bottom*c)/c,f=Math.round(this.right*c)/c,c=Math.round(this.top*c)/c;return!0===b?e+","+d+","+c+","+f:d+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15739 ","+e+","+f+","+c},toGeometry:function(){return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(this.left,this.bottom),new OpenLayers.Geometry.Point(this.right,this.bottom),new OpenLayers.Geometry.Point(this.right,this.top),new OpenLayers.Geometry.Point(this.left,this.top)])])},getWidth:function(){return this.right-this.left},getHeight:function(){return this.top-this.bottom},getSize:function(){return new OpenLayers.Size(this.getWidth(),this.getHeight())}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15740 getCenterPixel:function(){return new OpenLayers.Pixel((this.left+this.right)/2,(this.bottom+this.top)/2)},getCenterLonLat:function(){this.centerLonLat||(this.centerLonLat=new OpenLayers.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2));return this.centerLonLat},scale:function(a,b){null==b&&(b=this.getCenterLonLat());var c,d;"OpenLayers.LonLat"==b.CLASS_NAME?(c=b.lon,d=b.lat):(c=b.x,d=b.y);return new OpenLayers.Bounds((this.left-c)*a+c,(this.bottom-d)*a+d,(this.right-c)*a+c,(this.top-d)*a+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15741 d)},add:function(a,b){if(null==a||null==b)throw new TypeError("Bounds.add cannot receive null values");return new OpenLayers.Bounds(this.left+a,this.bottom+b,this.right+a,this.top+b)},extend:function(a){var b=null;if(a){switch(a.CLASS_NAME){case "OpenLayers.LonLat":b=new OpenLayers.Bounds(a.lon,a.lat,a.lon,a.lat);break;case "OpenLayers.Geometry.Point":b=new OpenLayers.Bounds(a.x,a.y,a.x,a.y);break;case "OpenLayers.Bounds":b=a}if(b){this.centerLonLat=null;if(null==this.left||b.left<this.left)this.left= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15742 b.left;if(null==this.bottom||b.bottom<this.bottom)this.bottom=b.bottom;if(null==this.right||b.right>this.right)this.right=b.right;if(null==this.top||b.top>this.top)this.top=b.top}}},containsLonLat:function(a,b){"boolean"===typeof b&&(b={inclusive:b});var b=b||{},c=this.contains(a.lon,a.lat,b.inclusive),d=b.worldBounds;d&&!c&&(c=d.getWidth(),d=Math.round((a.lon-(d.left+d.right)/2)/c),c=this.containsLonLat({lon:a.lon-d*c,lat:a.lat},{inclusive:b.inclusive}));return c},containsPixel:function(a,b){return this.contains(a.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15743 a.y,b)},contains:function(a,b,c){null==c&&(c=!0);if(null==a||null==b)return!1;var a=OpenLayers.Util.toFloat(a),b=OpenLayers.Util.toFloat(b),d=!1;return d=c?a>=this.left&&a<=this.right&&b>=this.bottom&&b<=this.top:a>this.left&&a<this.right&&b>this.bottom&&b<this.top},intersectsBounds:function(a,b){"boolean"===typeof b&&(b={inclusive:b});b=b||{};if(b.worldBounds)var c=this.wrapDateLine(b.worldBounds),a=a.wrapDateLine(b.worldBounds);else c=this;null==b.inclusive&&(b.inclusive=!0);var d=!1,e=c.left== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15744 a.right||c.right==a.left||c.top==a.bottom||c.bottom==a.top;if(b.inclusive||!e)var d=a.top>=c.bottom&&a.top<=c.top||c.top>a.bottom&&c.top<a.top,e=a.left>=c.left&&a.left<=c.right||c.left>=a.left&&c.left<=a.right,f=a.right>=c.left&&a.right<=c.right||c.right>=a.left&&c.right<=a.right,d=(a.bottom>=c.bottom&&a.bottom<=c.top||c.bottom>=a.bottom&&c.bottom<=a.top||d)&&(e||f);if(b.worldBounds&&!d){var g=b.worldBounds,e=g.getWidth(),f=!g.containsBounds(c),g=!g.containsBounds(a);f&&!g?(a=a.add(-e,0),d=c.intersectsBounds(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15745 {inclusive:b.inclusive})):g&&!f&&(c=c.add(-e,0),d=a.intersectsBounds(c,{inclusive:b.inclusive}))}return d},containsBounds:function(a,b,c){null==b&&(b=!1);null==c&&(c=!0);var d=this.contains(a.left,a.bottom,c),e=this.contains(a.right,a.bottom,c),f=this.contains(a.left,a.top,c),a=this.contains(a.right,a.top,c);return b?d||e||f||a:d&&e&&f&&a},determineQuadrant:function(a){var b="",c=this.getCenterLonLat(),b=b+(a.lat<c.lat?"b":"t");return b+=a.lon<c.lon?"l":"r"},transform:function(a,b){this.centerLonLat= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15746 null;var c=OpenLayers.Projection.transform({x:this.left,y:this.bottom},a,b),d=OpenLayers.Projection.transform({x:this.right,y:this.bottom},a,b),e=OpenLayers.Projection.transform({x:this.left,y:this.top},a,b),f=OpenLayers.Projection.transform({x:this.right,y:this.top},a,b);this.left=Math.min(c.x,e.x);this.bottom=Math.min(c.y,d.y);this.right=Math.max(d.x,f.x);this.top=Math.max(e.y,f.y);return this},wrapDateLine:function(a,b){var b=b||{},c=b.leftTolerance||0,d=b.rightTolerance||0,e=this.clone();if(a){for(var f= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15747 a.getWidth();e.left<a.left&&e.right-d<=a.left;)e=e.add(f,0);for(;e.left+c>=a.right&&e.right>a.right;)e=e.add(-f,0);c=e.left+c;c<a.right&&(c>a.left&&e.right-d>a.right)&&(e=e.add(-f,0))}return e},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(a,b){var c=a.split(",");return OpenLayers.Bounds.fromArray(c,b)};OpenLayers.Bounds.fromArray=function(a,b){return!0===b?new OpenLayers.Bounds(a[1],a[0],a[3],a[2]):new OpenLayers.Bounds(a[0],a[1],a[2],a[3])}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15748 OpenLayers.Bounds.fromSize=function(a){return new OpenLayers.Bounds(0,a.h,a.w,0)};OpenLayers.Bounds.oppositeQuadrant=function(a){var b;b=""+("t"==a.charAt(0)?"b":"t");return b+="l"==a.charAt(1)?"r":"l"};OpenLayers.Element={visible:function(a){return"none"!=OpenLayers.Util.getElement(a).style.display},toggle:function(){for(var a=0,b=arguments.length;a<b;a++){var c=OpenLayers.Util.getElement(arguments[a]),d=OpenLayers.Element.visible(c)?"none":"";c.style.display=d}},remove:function(a){a=OpenLayers.Util.getElement(a);a.parentNode.removeChild(a)},getHeight:function(a){a=OpenLayers.Util.getElement(a);return a.offsetHeight},hasClass:function(a,b){var c=a.className;return!!c&&RegExp("(^|\\s)"+b+"(\\s|$)").test(c)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15749 addClass:function(a,b){OpenLayers.Element.hasClass(a,b)||(a.className+=(a.className?" ":"")+b);return a},removeClass:function(a,b){var c=a.className;c&&(a.className=OpenLayers.String.trim(c.replace(RegExp("(^|\\s+)"+b+"(\\s+|$)")," ")));return a},toggleClass:function(a,b){OpenLayers.Element.hasClass(a,b)?OpenLayers.Element.removeClass(a,b):OpenLayers.Element.addClass(a,b);return a},getStyle:function(a,b){var a=OpenLayers.Util.getElement(a),c=null;if(a&&a.style){c=a.style[OpenLayers.String.camelize(b)]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15750 c||(document.defaultView&&document.defaultView.getComputedStyle?c=(c=document.defaultView.getComputedStyle(a,null))?c.getPropertyValue(b):null:a.currentStyle&&(c=a.currentStyle[OpenLayers.String.camelize(b)]));var d=["left","top","right","bottom"];window.opera&&(-1!=OpenLayers.Util.indexOf(d,b)&&"static"==OpenLayers.Element.getStyle(a,"position"))&&(c="auto")}return"auto"==c?null:c}};OpenLayers.LonLat=OpenLayers.Class({lon:0,lat:0,initialize:function(a,b){OpenLayers.Util.isArray(a)&&(b=a[1],a=a[0]);this.lon=OpenLayers.Util.toFloat(a);this.lat=OpenLayers.Util.toFloat(b)},toString:function(){return"lon="+this.lon+",lat="+this.lat},toShortString:function(){return this.lon+", "+this.lat},clone:function(){return new OpenLayers.LonLat(this.lon,this.lat)},add:function(a,b){if(null==a||null==b)throw new TypeError("LonLat.add cannot receive null values");return new OpenLayers.LonLat(this.lon+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15751 OpenLayers.Util.toFloat(a),this.lat+OpenLayers.Util.toFloat(b))},equals:function(a){var b=!1;null!=a&&(b=this.lon==a.lon&&this.lat==a.lat||isNaN(this.lon)&&isNaN(this.lat)&&isNaN(a.lon)&&isNaN(a.lat));return b},transform:function(a,b){var c=OpenLayers.Projection.transform({x:this.lon,y:this.lat},a,b);this.lon=c.x;this.lat=c.y;return this},wrapDateLine:function(a){var b=this.clone();if(a){for(;b.lon<a.left;)b.lon+=a.getWidth();for(;b.lon>a.right;)b.lon-=a.getWidth()}return b},CLASS_NAME:"OpenLayers.LonLat"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15752 OpenLayers.LonLat.fromString=function(a){a=a.split(",");return new OpenLayers.LonLat(a[0],a[1])};OpenLayers.LonLat.fromArray=function(a){var b=OpenLayers.Util.isArray(a);return new OpenLayers.LonLat(b&&a[0],b&&a[1])};OpenLayers.Pixel=OpenLayers.Class({x:0,y:0,initialize:function(a,b){this.x=parseFloat(a);this.y=parseFloat(b)},toString:function(){return"x="+this.x+",y="+this.y},clone:function(){return new OpenLayers.Pixel(this.x,this.y)},equals:function(a){var b=!1;null!=a&&(b=this.x==a.x&&this.y==a.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y));return b},distanceTo:function(a){return Math.sqrt(Math.pow(this.x-a.x,2)+Math.pow(this.y-a.y,2))},add:function(a,b){if(null==a||null==b)throw new TypeError("Pixel.add cannot receive null values"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15753 return new OpenLayers.Pixel(this.x+a,this.y+b)},offset:function(a){var b=this.clone();a&&(b=this.add(a.x,a.y));return b},CLASS_NAME:"OpenLayers.Pixel"});OpenLayers.Size=OpenLayers.Class({w:0,h:0,initialize:function(a,b){this.w=parseFloat(a);this.h=parseFloat(b)},toString:function(){return"w="+this.w+",h="+this.h},clone:function(){return new OpenLayers.Size(this.w,this.h)},equals:function(a){var b=!1;null!=a&&(b=this.w==a.w&&this.h==a.h||isNaN(this.w)&&isNaN(this.h)&&isNaN(a.w)&&isNaN(a.h));return b},CLASS_NAME:"OpenLayers.Size"});OpenLayers.Console={log:function(){},debug:function(){},info:function(){},warn:function(){},error:function(){},userError:function(a){alert(a)},assert:function(){},dir:function(){},dirxml:function(){},trace:function(){},group:function(){},groupEnd:function(){},time:function(){},timeEnd:function(){},profile:function(){},profileEnd:function(){},count:function(){},CLASS_NAME:"OpenLayers.Console"}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15754 (function(){for(var a=document.getElementsByTagName("script"),b=0,c=a.length;b<c;++b)if(-1!=a[b].src.indexOf("firebug.js")&&console){OpenLayers.Util.extend(OpenLayers.Console,console);break}})();OpenLayers.Lang={code:null,defaultCode:"en",getCode:function(){OpenLayers.Lang.code||OpenLayers.Lang.setCode();return OpenLayers.Lang.code},setCode:function(a){var b;a||(a="msie"==OpenLayers.BROWSER_NAME?navigator.userLanguage:navigator.language);a=a.split("-");a[0]=a[0].toLowerCase();"object"==typeof OpenLayers.Lang[a[0]]&&(b=a[0]);if(a[1]){var c=a[0]+"-"+a[1].toUpperCase();"object"==typeof OpenLayers.Lang[c]&&(b=c)}b||(OpenLayers.Console.warn("Failed to find OpenLayers.Lang."+a.join("-")+" dictionary, falling back to default language"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15755 b=OpenLayers.Lang.defaultCode);OpenLayers.Lang.code=b},translate:function(a,b){var c=OpenLayers.Lang[OpenLayers.Lang.getCode()];(c=c&&c[a])||(c=a);b&&(c=OpenLayers.String.format(c,b));return c}};OpenLayers.i18n=OpenLayers.Lang.translate;OpenLayers.Util=OpenLayers.Util||{};OpenLayers.Util.getElement=function(){for(var a=[],b=0,c=arguments.length;b<c;b++){var d=arguments[b];"string"==typeof d&&(d=document.getElementById(d));if(1==arguments.length)return d;a.push(d)}return a};OpenLayers.Util.isElement=function(a){return!!(a&&1===a.nodeType)};OpenLayers.Util.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)};"undefined"===typeof window.$&&(window.$=OpenLayers.Util.getElement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15756 OpenLayers.Util.removeItem=function(a,b){for(var c=a.length-1;c>=0;c--)a[c]==b&&a.splice(c,1);return a};OpenLayers.Util.indexOf=function(a,b){if(typeof a.indexOf=="function")return a.indexOf(b);for(var c=0,d=a.length;c<d;c++)if(a[c]==b)return c;return-1}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15757 OpenLayers.Util.modifyDOMElement=function(a,b,c,d,e,f,g,h){if(b)a.id=b;if(c){a.style.left=c.x+"px";a.style.top=c.y+"px"}if(d){a.style.width=d.w+"px";a.style.height=d.h+"px"}if(e)a.style.position=e;if(f)a.style.border=f;if(g)a.style.overflow=g;if(parseFloat(h)>=0&&parseFloat(h)<1){a.style.filter="alpha(opacity="+h*100+")";a.style.opacity=h}else if(parseFloat(h)==1){a.style.filter="";a.style.opacity=""}}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15758 OpenLayers.Util.createDiv=function(a,b,c,d,e,f,g,h){var i=document.createElement("div");if(d)i.style.backgroundImage="url("+d+")";a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="absolute");OpenLayers.Util.modifyDOMElement(i,a,b,c,e,f,g,h);return i}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15759 OpenLayers.Util.createImage=function(a,b,c,d,e,f,g,h){var i=document.createElement("img");a||(a=OpenLayers.Util.createUniqueID("OpenLayersDiv"));e||(e="relative");OpenLayers.Util.modifyDOMElement(i,a,b,c,e,f,null,g);if(h){i.style.display="none";b=function(){i.style.display="";OpenLayers.Event.stopObservingElement(i)};OpenLayers.Event.observe(i,"load",b);OpenLayers.Event.observe(i,"error",b)}i.style.alt=a;i.galleryImg="no";if(d)i.src=d;return i};OpenLayers.IMAGE_RELOAD_ATTEMPTS=0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15760 OpenLayers.Util.alphaHackNeeded=null;OpenLayers.Util.alphaHack=function(){if(OpenLayers.Util.alphaHackNeeded==null){var a=navigator.appVersion.split("MSIE"),a=parseFloat(a[1]),b=false;try{b=!!document.body.filters}catch(c){}OpenLayers.Util.alphaHackNeeded=b&&a>=5.5&&a<7}return OpenLayers.Util.alphaHackNeeded}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15761 OpenLayers.Util.modifyAlphaImageDiv=function(a,b,c,d,e,f,g,h,i){OpenLayers.Util.modifyDOMElement(a,b,c,d,f,null,null,i);b=a.childNodes[0];if(e)b.src=e;OpenLayers.Util.modifyDOMElement(b,a.id+"_innerImage",null,d,"relative",g);if(OpenLayers.Util.alphaHack()){if(a.style.display!="none")a.style.display="inline-block";h==null&&(h="scale");a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+b.src+"', sizingMethod='"+h+"')";if(parseFloat(a.style.opacity)>=0&&parseFloat(a.style.opacity)< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15762 1)a.style.filter=a.style.filter+(" alpha(opacity="+a.style.opacity*100+")");b.style.filter="alpha(opacity=0)"}};OpenLayers.Util.createAlphaImageDiv=function(a,b,c,d,e,f,g,h,i){var j=OpenLayers.Util.createDiv(),i=OpenLayers.Util.createImage(null,null,null,null,null,null,null,i);i.className="olAlphaImg";j.appendChild(i);OpenLayers.Util.modifyAlphaImageDiv(j,a,b,c,d,e,f,g,h);return j};OpenLayers.Util.upperCaseObject=function(a){var b={},c;for(c in a)b[c.toUpperCase()]=a[c];return b}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15763 OpenLayers.Util.applyDefaults=function(a,b){var a=a||{},c=typeof window.Event=="function"&&b instanceof window.Event,d;for(d in b)if(a[d]===void 0||!c&&b.hasOwnProperty&&b.hasOwnProperty(d)&&!a.hasOwnProperty(d))a[d]=b[d];if(!c&&b&&b.hasOwnProperty&&b.hasOwnProperty("toString")&&!a.hasOwnProperty("toString"))a.toString=b.toString;return a}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15764 OpenLayers.Util.getParameterString=function(a){var b=[],c;for(c in a){var d=a[c];if(d!=null&&typeof d!="function"){if(typeof d=="object"&&d.constructor==Array){for(var e=[],f,g=0,h=d.length;g<h;g++){f=d[g];e.push(encodeURIComponent(f===null||f===void 0?"":f))}d=e.join(",")}else d=encodeURIComponent(d);b.push(encodeURIComponent(c)+"="+d)}}return b.join("&")};OpenLayers.Util.urlAppend=function(a,b){var c=a;if(b)var d=(a+" ").split(/[?&]/),c=c+(d.pop()===" "?b:d.length?"&"+b:"?"+b);return c}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15765 OpenLayers.Util.getImagesLocation=function(){return OpenLayers.ImgPath||OpenLayers._getScriptLocation()+"img/"};OpenLayers.Util.getImageLocation=function(a){return OpenLayers.Util.getImagesLocation()+a};OpenLayers.Util.Try=function(){for(var a=null,b=0,c=arguments.length;b<c;b++){var d=arguments[b];try{a=d();break}catch(e){}}return a}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15766 OpenLayers.Util.getXmlNodeValue=function(a){var b=null;OpenLayers.Util.Try(function(){b=a.text;if(!b)b=a.textContent;if(!b)b=a.firstChild.nodeValue},function(){b=a.textContent});return b};OpenLayers.Util.mouseLeft=function(a,b){for(var c=a.relatedTarget?a.relatedTarget:a.toElement;c!=b&&c!=null;)c=c.parentNode;return c!=b};OpenLayers.Util.DEFAULT_PRECISION=14; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15767 OpenLayers.Util.toFloat=function(a,b){if(b==null)b=OpenLayers.Util.DEFAULT_PRECISION;typeof a!=="number"&&(a=parseFloat(a));return b===0?a:parseFloat(a.toPrecision(b))};OpenLayers.Util.rad=function(a){return a*Math.PI/180};OpenLayers.Util.deg=function(a){return a*180/Math.PI};OpenLayers.Util.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15768 OpenLayers.Util.distVincenty=function(a,b){for(var c=OpenLayers.Util.VincentyConstants,d=c.a,e=c.b,c=c.f,f=OpenLayers.Util.rad(b.lon-a.lon),g=Math.atan((1-c)*Math.tan(OpenLayers.Util.rad(a.lat))),h=Math.atan((1-c)*Math.tan(OpenLayers.Util.rad(b.lat))),i=Math.sin(g),g=Math.cos(g),j=Math.sin(h),h=Math.cos(h),k=f,l=2*Math.PI,m=20;Math.abs(k-l)>1.0E-12&&--m>0;){var n=Math.sin(k),o=Math.cos(k),p=Math.sqrt(h*n*h*n+(g*j-i*h*o)*(g*j-i*h*o));if(p==0)return 0;var o=i*j+g*h*o,q=Math.atan2(p,o),r=Math.asin(g* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15769 h*n/p),s=Math.cos(r)*Math.cos(r),n=o-2*i*j/s,t=c/16*s*(4+c*(4-3*s)),l=k,k=f+(1-t)*c*Math.sin(r)*(q+t*p*(n+t*o*(-1+2*n*n)))}if(m==0)return NaN;d=s*(d*d-e*e)/(e*e);c=d/1024*(256+d*(-128+d*(74-47*d)));return(e*(1+d/16384*(4096+d*(-768+d*(320-175*d))))*(q-c*p*(n+c/4*(o*(-1+2*n*n)-c/6*n*(-3+4*p*p)*(-3+4*n*n))))).toFixed(3)/1E3}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15770 OpenLayers.Util.destinationVincenty=function(a,b,c){for(var d=OpenLayers.Util,e=d.VincentyConstants,f=e.a,g=e.b,h=e.f,e=a.lon,a=a.lat,i=d.rad(b),b=Math.sin(i),i=Math.cos(i),a=(1-h)*Math.tan(d.rad(a)),j=1/Math.sqrt(1+a*a),k=a*j,l=Math.atan2(a,i),a=j*b,m=1-a*a,f=m*(f*f-g*g)/(g*g),n=1+f/16384*(4096+f*(-768+f*(320-175*f))),o=f/1024*(256+f*(-128+f*(74-47*f))),f=c/(g*n),p=2*Math.PI;Math.abs(f-p)>1.0E-12;)var q=Math.cos(2*l+f),r=Math.sin(f),s=Math.cos(f),t=o*r*(q+o/4*(s*(-1+2*q*q)-o/6*q*(-3+4*r*r)*(-3+4* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15771 q*q))),p=f,f=c/(g*n)+t;c=k*r-j*s*i;g=Math.atan2(k*s+j*r*i,(1-h)*Math.sqrt(a*a+c*c));b=Math.atan2(r*b,j*s-k*r*i);i=h/16*m*(4+h*(4-3*m));q=b-(1-i)*h*a*(f+i*r*(q+i*s*(-1+2*q*q)));Math.atan2(a,-c);return new OpenLayers.LonLat(e+d.deg(q),d.deg(g))}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15772 OpenLayers.Util.getParameters=function(a){var a=a===null||a===void 0?window.location.href:a,b="";if(OpenLayers.String.contains(a,"?"))var b=a.indexOf("?")+1,c=OpenLayers.String.contains(a,"#")?a.indexOf("#"):a.length,b=a.substring(b,c);for(var a={},b=b.split(/[&;]/),c=0,d=b.length;c<d;++c){var e=b[c].split("=");if(e[0]){var f=e[0];try{f=decodeURIComponent(f)}catch(g){f=unescape(f)}e=(e[1]||"").replace(/\+/g," ");try{e=decodeURIComponent(e)}catch(h){e=unescape(e)}e=e.split(",");e.length==1&&(e=e[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15773 a[f]=e}}return a};OpenLayers.Util.lastSeqID=0;OpenLayers.Util.createUniqueID=function(a){a==null&&(a="id_");OpenLayers.Util.lastSeqID=OpenLayers.Util.lastSeqID+1;return a+OpenLayers.Util.lastSeqID};OpenLayers.INCHES_PER_UNIT={inches:1,ft:12,mi:63360,m:39.3701,km:39370.1,dd:4374754,yd:36};OpenLayers.INCHES_PER_UNIT["in"]=OpenLayers.INCHES_PER_UNIT.inches;OpenLayers.INCHES_PER_UNIT.degrees=OpenLayers.INCHES_PER_UNIT.dd;OpenLayers.INCHES_PER_UNIT.nmi=1852*OpenLayers.INCHES_PER_UNIT.m; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15774 OpenLayers.METERS_PER_INCH=0.0254000508001016; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15775 OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{Inch:OpenLayers.INCHES_PER_UNIT.inches,Meter:1/OpenLayers.METERS_PER_INCH,Foot:0.3048006096012192/OpenLayers.METERS_PER_INCH,IFoot:0.3048/OpenLayers.METERS_PER_INCH,ClarkeFoot:0.3047972651151/OpenLayers.METERS_PER_INCH,SearsFoot:0.30479947153867626/OpenLayers.METERS_PER_INCH,GoldCoastFoot:0.3047997101815088/OpenLayers.METERS_PER_INCH,IInch:0.0254/OpenLayers.METERS_PER_INCH,MicroInch:2.54E-5/OpenLayers.METERS_PER_INCH,Mil:2.54E-8/OpenLayers.METERS_PER_INCH, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15776 Centimeter:0.01/OpenLayers.METERS_PER_INCH,Kilometer:1E3/OpenLayers.METERS_PER_INCH,Yard:0.9144018288036576/OpenLayers.METERS_PER_INCH,SearsYard:0.914398414616029/OpenLayers.METERS_PER_INCH,IndianYard:0.9143985307444408/OpenLayers.METERS_PER_INCH,IndianYd37:0.91439523/OpenLayers.METERS_PER_INCH,IndianYd62:0.9143988/OpenLayers.METERS_PER_INCH,IndianYd75:0.9143985/OpenLayers.METERS_PER_INCH,IndianFoot:0.30479951/OpenLayers.METERS_PER_INCH,IndianFt37:0.30479841/OpenLayers.METERS_PER_INCH,IndianFt62:0.3047996/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15777 OpenLayers.METERS_PER_INCH,IndianFt75:0.3047995/OpenLayers.METERS_PER_INCH,Mile:1609.3472186944373/OpenLayers.METERS_PER_INCH,IYard:0.9144/OpenLayers.METERS_PER_INCH,IMile:1609.344/OpenLayers.METERS_PER_INCH,NautM:1852/OpenLayers.METERS_PER_INCH,"Lat-66":110943.31648893273/OpenLayers.METERS_PER_INCH,"Lat-83":110946.25736872235/OpenLayers.METERS_PER_INCH,Decimeter:0.1/OpenLayers.METERS_PER_INCH,Millimeter:0.001/OpenLayers.METERS_PER_INCH,Dekameter:10/OpenLayers.METERS_PER_INCH,Decameter:10/OpenLayers.METERS_PER_INCH, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15778 Hectometer:100/OpenLayers.METERS_PER_INCH,GermanMeter:1.0000135965/OpenLayers.METERS_PER_INCH,CaGrid:0.999738/OpenLayers.METERS_PER_INCH,ClarkeChain:20.1166194976/OpenLayers.METERS_PER_INCH,GunterChain:20.11684023368047/OpenLayers.METERS_PER_INCH,BenoitChain:20.116782494375872/OpenLayers.METERS_PER_INCH,SearsChain:20.11676512155/OpenLayers.METERS_PER_INCH,ClarkeLink:0.201166194976/OpenLayers.METERS_PER_INCH,GunterLink:0.2011684023368047/OpenLayers.METERS_PER_INCH,BenoitLink:0.20116782494375873/OpenLayers.METERS_PER_INCH, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15779 SearsLink:0.2011676512155/OpenLayers.METERS_PER_INCH,Rod:5.02921005842012/OpenLayers.METERS_PER_INCH,IntnlChain:20.1168/OpenLayers.METERS_PER_INCH,IntnlLink:0.201168/OpenLayers.METERS_PER_INCH,Perch:5.02921005842012/OpenLayers.METERS_PER_INCH,Pole:5.02921005842012/OpenLayers.METERS_PER_INCH,Furlong:201.1684023368046/OpenLayers.METERS_PER_INCH,Rood:3.778266898/OpenLayers.METERS_PER_INCH,CapeFoot:0.3047972615/OpenLayers.METERS_PER_INCH,Brealey:375/OpenLayers.METERS_PER_INCH,ModAmFt:0.304812252984506/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15780 OpenLayers.METERS_PER_INCH,Fathom:1.8288/OpenLayers.METERS_PER_INCH,"NautM-UK":1853.184/OpenLayers.METERS_PER_INCH,"50kilometers":5E4/OpenLayers.METERS_PER_INCH,"150kilometers":15E4/OpenLayers.METERS_PER_INCH}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15781 OpenLayers.Util.extend(OpenLayers.INCHES_PER_UNIT,{mm:OpenLayers.INCHES_PER_UNIT.Meter/1E3,cm:OpenLayers.INCHES_PER_UNIT.Meter/100,dm:100*OpenLayers.INCHES_PER_UNIT.Meter,km:1E3*OpenLayers.INCHES_PER_UNIT.Meter,kmi:OpenLayers.INCHES_PER_UNIT.nmi,fath:OpenLayers.INCHES_PER_UNIT.Fathom,ch:OpenLayers.INCHES_PER_UNIT.IntnlChain,link:OpenLayers.INCHES_PER_UNIT.IntnlLink,"us-in":OpenLayers.INCHES_PER_UNIT.inches,"us-ft":OpenLayers.INCHES_PER_UNIT.Foot,"us-yd":OpenLayers.INCHES_PER_UNIT.Yard,"us-ch":OpenLayers.INCHES_PER_UNIT.GunterChain, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15782 "us-mi":OpenLayers.INCHES_PER_UNIT.Mile,"ind-yd":OpenLayers.INCHES_PER_UNIT.IndianYd37,"ind-ft":OpenLayers.INCHES_PER_UNIT.IndianFt37,"ind-ch":20.11669506/OpenLayers.METERS_PER_INCH});OpenLayers.DOTS_PER_INCH=72;OpenLayers.Util.normalizeScale=function(a){return a>1?1/a:a};OpenLayers.Util.getResolutionFromScale=function(a,b){var c;if(a){b==null&&(b="degrees");c=1/(OpenLayers.Util.normalizeScale(a)*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH)}return c}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15783 OpenLayers.Util.getScaleFromResolution=function(a,b){b==null&&(b="degrees");return a*OpenLayers.INCHES_PER_UNIT[b]*OpenLayers.DOTS_PER_INCH}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15784 OpenLayers.Util.pagePosition=function(a){var b=[0,0],c=OpenLayers.Util.getViewportElement();if(!a||a==window||a==c)return b;var d=OpenLayers.IS_GECKO&&document.getBoxObjectFor&&OpenLayers.Element.getStyle(a,"position")=="absolute"&&(a.style.top==""||a.style.left==""),e=null;if(a.getBoundingClientRect){a=a.getBoundingClientRect();e=c.scrollTop;b[0]=a.left+c.scrollLeft;b[1]=a.top+e}else if(document.getBoxObjectFor&&!d){a=document.getBoxObjectFor(a);c=document.getBoxObjectFor(c);b[0]=a.screenX-c.screenX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15785 b[1]=a.screenY-c.screenY}else{b[0]=a.offsetLeft;b[1]=a.offsetTop;e=a.offsetParent;if(e!=a)for(;e;){b[0]=b[0]+e.offsetLeft;b[1]=b[1]+e.offsetTop;e=e.offsetParent}c=OpenLayers.BROWSER_NAME;if(c=="opera"||c=="safari"&&OpenLayers.Element.getStyle(a,"position")=="absolute")b[1]=b[1]-document.body.offsetTop;for(e=a.offsetParent;e&&e!=document.body;){b[0]=b[0]-e.scrollLeft;if(c!="opera"||e.tagName!="TR")b[1]=b[1]-e.scrollTop;e=e.offsetParent}}return b}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15786 OpenLayers.Util.getViewportElement=function(){var a=arguments.callee.viewportElement;if(a==void 0){a=OpenLayers.BROWSER_NAME=="msie"&&document.compatMode!="CSS1Compat"?document.body:document.documentElement;arguments.callee.viewportElement=a}return a}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15787 OpenLayers.Util.isEquivalentUrl=function(a,b,c){c=c||{};OpenLayers.Util.applyDefaults(c,{ignoreCase:true,ignorePort80:true,ignoreHash:true});var a=OpenLayers.Util.createUrlObject(a,c),b=OpenLayers.Util.createUrlObject(b,c),d;for(d in a)if(d!=="args"&&a[d]!=b[d])return false;for(d in a.args){if(a.args[d]!=b.args[d])return false;delete b.args[d]}for(d in b.args)return false;return true}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15788 OpenLayers.Util.createUrlObject=function(a,b){b=b||{};if(!/^\w+:\/\//.test(a)){var c=window.location,d=c.port?":"+c.port:"",d=c.protocol+"//"+c.host.split(":").shift()+d;if(a.indexOf("/")===0)a=d+a;else{c=c.pathname.split("/");c.pop();a=d+c.join("/")+"/"+a}}b.ignoreCase&&(a=a.toLowerCase());c=document.createElement("a");c.href=a;d={};d.host=c.host.split(":").shift();d.protocol=c.protocol;d.port=b.ignorePort80?c.port=="80"||c.port=="0"?"":c.port:c.port==""||c.port=="0"?"80":c.port;d.hash=b.ignoreHash|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15789 c.hash==="#"?"":c.hash;var e=c.search;if(!e){e=a.indexOf("?");e=e!=-1?a.substr(e):""}d.args=OpenLayers.Util.getParameters(e);d.pathname=c.pathname.charAt(0)=="/"?c.pathname:"/"+c.pathname;return d};OpenLayers.Util.removeTail=function(a){var b=null,b=a.indexOf("?"),c=a.indexOf("#");return b=b==-1?c!=-1?a.substr(0,c):a:c!=-1?a.substr(0,Math.min(b,c)):a.substr(0,b)};OpenLayers.IS_GECKO=function(){var a=navigator.userAgent.toLowerCase();return a.indexOf("webkit")==-1&&a.indexOf("gecko")!=-1}(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15790 OpenLayers.CANVAS_SUPPORTED=function(){var a=document.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))}();OpenLayers.BROWSER_NAME=function(){var a="",b=navigator.userAgent.toLowerCase();b.indexOf("opera")!=-1?a="opera":b.indexOf("msie")!=-1?a="msie":b.indexOf("safari")!=-1?a="safari":b.indexOf("mozilla")!=-1&&(a=b.indexOf("firefox")!=-1?"firefox":"mozilla");return a}();OpenLayers.Util.getBrowserName=function(){return OpenLayers.BROWSER_NAME}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15791 OpenLayers.Util.getRenderedDimensions=function(a,b,c){var d,e,f=document.createElement("div");f.style.visibility="hidden";for(var g=c&&c.containerElement?c.containerElement:document.body,h=false,i=null,j=g;j&&j.tagName.toLowerCase()!="body";){var k=OpenLayers.Element.getStyle(j,"position");if(k=="absolute"){h=true;break}else if(k&&k!="static")break;j=j.parentNode}if(h&&(g.clientHeight===0||g.clientWidth===0)){i=document.createElement("div");i.style.visibility="hidden";i.style.position="absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15792 i.style.overflow="visible";i.style.width=document.body.clientWidth+"px";i.style.height=document.body.clientHeight+"px";i.appendChild(f)}f.style.position="absolute";if(b)if(b.w){d=b.w;f.style.width=d+"px"}else if(b.h){e=b.h;f.style.height=e+"px"}if(c&&c.displayClass)f.className=c.displayClass;b=document.createElement("div");b.innerHTML=a;b.style.overflow="visible";if(b.childNodes){a=0;for(c=b.childNodes.length;a<c;a++)if(b.childNodes[a].style)b.childNodes[a].style.overflow="visible"}f.appendChild(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15793 i?g.appendChild(i):g.appendChild(f);if(!d){d=parseInt(b.scrollWidth);f.style.width=d+"px"}e||(e=parseInt(b.scrollHeight));f.removeChild(b);if(i){i.removeChild(f);g.removeChild(i)}else g.removeChild(f);return new OpenLayers.Size(d,e)}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15794 OpenLayers.Util.getScrollbarWidth=function(){var a=OpenLayers.Util._scrollbarWidth;if(a==null){var b=null,c=null,b=a=0,b=document.createElement("div");b.style.position="absolute";b.style.top="-1000px";b.style.left="-1000px";b.style.width="100px";b.style.height="50px";b.style.overflow="hidden";c=document.createElement("div");c.style.width="100%";c.style.height="200px";b.appendChild(c);document.body.appendChild(b);a=c.offsetWidth;b.style.overflow="scroll";b=c.offsetWidth;document.body.removeChild(document.body.lastChild); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15795 OpenLayers.Util._scrollbarWidth=a-b;a=OpenLayers.Util._scrollbarWidth}return a}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15796 OpenLayers.Util.getFormattedLonLat=function(a,b,c){c||(c="dms");var a=(a+540)%360-180,d=Math.abs(a),e=Math.floor(d),f=d=(d-e)/(1/60),d=Math.floor(d),f=Math.round((f-d)/(1/60)*10),f=f/10;if(f>=60){f=f-60;d=d+1;if(d>=60){d=d-60;e=e+1}}e<10&&(e="0"+e);e=e+"\u00b0";if(c.indexOf("dm")>=0){d<10&&(d="0"+d);e=e+(d+"'");if(c.indexOf("dms")>=0){f<10&&(f="0"+f);e=e+(f+'"')}}return e=b=="lon"?e+(a<0?OpenLayers.i18n("W"):OpenLayers.i18n("E")):e+(a<0?OpenLayers.i18n("S"):OpenLayers.i18n("N"))};OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:!1,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a},destroy:function(){},read:function(){throw Error("Read not implemented.");},write:function(){throw Error("Write not implemented.");},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Format.CSWGetRecords=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Format.CSWGetRecords.DEFAULTS),b=OpenLayers.Format.CSWGetRecords["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported CSWGetRecords version: "+a.version;return new b(a)};OpenLayers.Format.CSWGetRecords.DEFAULTS={version:"2.0.2"};OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:!1,displayClass:"",title:"",autoActivate:!1,active:null,handler:null,eventListeners:null,events:null,initialize:function(a){this.displayClass=this.CLASS_NAME.replace("OpenLayers.","ol").replace(/\./g,"");OpenLayers.Util.extend(this,a);this.events=new OpenLayers.Events(this);if(this.eventListeners instanceof Object)this.events.on(this.eventListeners);null==this.id&&(this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15797 "_"))},destroy:function(){this.events&&(this.eventListeners&&this.events.un(this.eventListeners),this.events.destroy(),this.events=null);this.eventListeners=null;this.handler&&(this.handler.destroy(),this.handler=null);if(this.handlers){for(var a in this.handlers)this.handlers.hasOwnProperty(a)&&"function"==typeof this.handlers[a].destroy&&this.handlers[a].destroy();this.handlers=null}this.map&&(this.map.removeControl(this),this.map=null);this.div=null},setMap:function(a){this.map=a;this.handler&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15798 this.handler.setMap(a)},draw:function(a){if(null==this.div&&(this.div=OpenLayers.Util.createDiv(this.id),this.div.className=this.displayClass,this.allowSelection||(this.div.className+=" olControlNoSelect",this.div.setAttribute("unselectable","on",0),this.div.onselectstart=OpenLayers.Function.False),""!=this.title))this.div.title=this.title;null!=a&&(this.position=a.clone());this.moveTo(this.position);return this.div},moveTo:function(a){null!=a&&null!=this.div&&(this.div.style.left=a.x+"px",this.div.style.top= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15799 a.y+"px")},activate:function(){if(this.active)return!1;this.handler&&this.handler.activate();this.active=!0;this.map&&OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active");this.events.triggerEvent("activate");return!0},deactivate:function(){return this.active?(this.handler&&this.handler.deactivate(),this.active=!1,this.map&&OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass.replace(/ /g,"")+"Active"),this.events.triggerEvent("deactivate"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15800 !0):!1},CLASS_NAME:"OpenLayers.Control"});OpenLayers.Control.TYPE_BUTTON=1;OpenLayers.Control.TYPE_TOGGLE=2;OpenLayers.Control.TYPE_TOOL=3;OpenLayers.Event={observers:!1,KEY_SPACE:32,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(a){return a.target||a.srcElement},isSingleTouch:function(a){return a.touches&&1==a.touches.length},isMultiTouch:function(a){return a.touches&&1<a.touches.length},isLeftClick:function(a){return a.which&&1==a.which||a.button&&1==a.button},isRightClick:function(a){return a.which&&3==a.which||a.button&&2==a.button},stop:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15801 b){b||(a.preventDefault?a.preventDefault():a.returnValue=!1);a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},findElement:function(a,b){for(var c=OpenLayers.Event.element(a);c.parentNode&&(!c.tagName||c.tagName.toUpperCase()!=b.toUpperCase());)c=c.parentNode;return c},observe:function(a,b,c,d){a=OpenLayers.Util.getElement(a);d=d||!1;if("keypress"==b&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.attachEvent))b="keydown";this.observers||(this.observers={});if(!a._eventCacheID){var e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15802 "eventCacheID_";a.id&&(e=a.id+"_"+e);a._eventCacheID=OpenLayers.Util.createUniqueID(e)}e=a._eventCacheID;this.observers[e]||(this.observers[e]=[]);this.observers[e].push({element:a,name:b,observer:c,useCapture:d});a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},stopObservingElement:function(a){a=OpenLayers.Util.getElement(a)._eventCacheID;this._removeElementObservers(OpenLayers.Event.observers[a])},_removeElementObservers:function(a){if(a)for(var b=a.length-1;0<= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15803 b;b--){var c=a[b];OpenLayers.Event.stopObserving.apply(this,[c.element,c.name,c.observer,c.useCapture])}},stopObserving:function(a,b,c,d){var d=d||!1,a=OpenLayers.Util.getElement(a),e=a._eventCacheID;if("keypress"==b&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||a.detachEvent))b="keydown";var f=!1,g=OpenLayers.Event.observers[e];if(g)for(var h=0;!f&&h<g.length;){var i=g[h];if(i.name==b&&i.observer==c&&i.useCapture==d){g.splice(h,1);0==g.length&&delete OpenLayers.Event.observers[e];f=!0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15804 break}h++}f&&(a.removeEventListener?a.removeEventListener(b,c,d):a&&a.detachEvent&&a.detachEvent("on"+b,c));return f},unloadCache:function(){if(OpenLayers.Event&&OpenLayers.Event.observers){for(var a in OpenLayers.Event.observers)OpenLayers.Event._removeElementObservers.apply(this,[OpenLayers.Event.observers[a]]);OpenLayers.Event.observers=!1}},CLASS_NAME:"OpenLayers.Event"};OpenLayers.Event.observe(window,"unload",OpenLayers.Event.unloadCache,!1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15805 OpenLayers.Events=OpenLayers.Class({BROWSER_EVENTS:"mouseover mouseout mousedown mouseup mousemove click dblclick rightclick dblrightclick resize focus blur touchstart touchmove touchend keydown".split(" "),listeners:null,object:null,element:null,eventHandler:null,fallThrough:null,includeXY:!1,extensions:null,extensionCount:null,clearMouseListener:null,initialize:function(a,b,c,d,e){OpenLayers.Util.extend(this,e);this.object=a;this.fallThrough=d;this.listeners={};this.extensions={};this.extensionCount= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15806 {};null!=b&&this.attachToElement(b)},destroy:function(){for(var a in this.extensions)"boolean"!==typeof this.extensions[a]&&this.extensions[a].destroy();this.extensions=null;this.element&&(OpenLayers.Event.stopObservingElement(this.element),this.element.hasScrollEvent&&OpenLayers.Event.stopObserving(window,"scroll",this.clearMouseListener));this.eventHandler=this.fallThrough=this.object=this.listeners=this.element=null},addEventType:function(){},attachToElement:function(a){this.element?OpenLayers.Event.stopObservingElement(this.element): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15807 (this.eventHandler=OpenLayers.Function.bindAsEventListener(this.handleBrowserEvent,this),this.clearMouseListener=OpenLayers.Function.bind(this.clearMouseCache,this));this.element=a;for(var b=0,c=this.BROWSER_EVENTS.length;b<c;b++)OpenLayers.Event.observe(a,this.BROWSER_EVENTS[b],this.eventHandler);OpenLayers.Event.observe(a,"dragstart",OpenLayers.Event.stop)},on:function(a){for(var b in a)"scope"!=b&&a.hasOwnProperty(b)&&this.register(b,a.scope,a[b])},register:function(a,b,c,d){a in OpenLayers.Events&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15808 !this.extensions[a]&&(this.extensions[a]=new OpenLayers.Events[a](this));if(null!=c){null==b&&(b=this.object);var e=this.listeners[a];e||(e=[],this.listeners[a]=e,this.extensionCount[a]=0);b={obj:b,func:c};d?(e.splice(this.extensionCount[a],0,b),"object"===typeof d&&d.extension&&this.extensionCount[a]++):e.push(b)}},registerPriority:function(a,b,c){this.register(a,b,c,!0)},un:function(a){for(var b in a)"scope"!=b&&a.hasOwnProperty(b)&&this.unregister(b,a.scope,a[b])},unregister:function(a,b,c){null== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15809 b&&(b=this.object);a=this.listeners[a];if(null!=a)for(var d=0,e=a.length;d<e;d++)if(a[d].obj==b&&a[d].func==c){a.splice(d,1);break}},remove:function(a){null!=this.listeners[a]&&(this.listeners[a]=[])},triggerEvent:function(a,b){var c=this.listeners[a];if(c&&0!=c.length){null==b&&(b={});b.object=this.object;b.element=this.element;b.type||(b.type=a);for(var c=c.slice(),d,e=0,f=c.length;e<f&&!(d=c[e],d=d.func.apply(d.obj,[b]),void 0!=d&&!1==d);e++);this.fallThrough||OpenLayers.Event.stop(b,!0);return d}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15810 handleBrowserEvent:function(a){var b=a.type,c=this.listeners[b];if(c&&0!=c.length){if((c=a.touches)&&c[0]){for(var d=0,e=0,f=c.length,g,h=0;h<f;++h)g=c[h],d+=g.clientX,e+=g.clientY;a.clientX=d/f;a.clientY=e/f}this.includeXY&&(a.xy=this.getMousePosition(a));this.triggerEvent(b,a)}},clearMouseCache:function(){this.element.scrolls=null;this.element.lefttop=null;var a=document.body;if(a&&(!(0!=a.scrollTop||0!=a.scrollLeft)||!navigator.userAgent.match(/iPhone/i)))this.element.offsets=null},getMousePosition:function(a){this.includeXY? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15811 this.element.hasScrollEvent||(OpenLayers.Event.observe(window,"scroll",this.clearMouseListener),this.element.hasScrollEvent=!0):this.clearMouseCache();if(!this.element.scrolls){var b=OpenLayers.Util.getViewportElement();this.element.scrolls=[b.scrollLeft,b.scrollTop]}this.element.lefttop||(this.element.lefttop=[document.documentElement.clientLeft||0,document.documentElement.clientTop||0]);this.element.offsets||(this.element.offsets=OpenLayers.Util.pagePosition(this.element));return new OpenLayers.Pixel(a.clientX+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15812 this.element.scrolls[0]-this.element.offsets[0]-this.element.lefttop[0],a.clientY+this.element.scrolls[1]-this.element.offsets[1]-this.element.lefttop[1])},CLASS_NAME:"OpenLayers.Events"});OpenLayers.Events.buttonclick=OpenLayers.Class({target:null,events:"mousedown mouseup click dblclick touchstart touchmove touchend keydown".split(" "),startRegEx:/^mousedown|touchstart$/,cancelRegEx:/^touchmove$/,completeRegEx:/^mouseup|touchend$/,initialize:function(a){this.target=a;for(a=this.events.length-1;0<=a;--a)this.target.register(this.events[a],this,this.buttonClick,{extension:!0})},destroy:function(){for(var a=this.events.length-1;0<=a;--a)this.target.unregister(this.events[a],this,this.buttonClick); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15813 delete this.target},getPressedButton:function(a){var b=3,c;do{if(OpenLayers.Element.hasClass(a,"olButton")){c=a;break}a=a.parentNode}while(0<--b&&a);return c},buttonClick:function(a){var b=!0,c=OpenLayers.Event.element(a);if(c&&(OpenLayers.Event.isLeftClick(a)||!~a.type.indexOf("mouse")))if(c=this.getPressedButton(c)){if("keydown"===a.type)switch(a.keyCode){case OpenLayers.Event.KEY_RETURN:case OpenLayers.Event.KEY_SPACE:this.target.triggerEvent("buttonclick",{buttonElement:c}),OpenLayers.Event.stop(a), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15814 b=!1}else this.startEvt&&(this.completeRegEx.test(a.type)&&(b=OpenLayers.Util.pagePosition(c),this.target.triggerEvent("buttonclick",{buttonElement:c,buttonXY:{x:this.startEvt.clientX-b[0],y:this.startEvt.clientY-b[1]}})),this.cancelRegEx.test(a.type)&&delete this.startEvt,OpenLayers.Event.stop(a),b=!1);this.startRegEx.test(a.type)&&(this.startEvt=a,OpenLayers.Event.stop(a),b=!1)}else delete this.startEvt;return b}});OpenLayers.Control.OverviewMap=OpenLayers.Class(OpenLayers.Control,{element:null,ovmap:null,size:{w:180,h:90},layers:null,minRectSize:15,minRectDisplayClass:"RectReplacement",minRatio:8,maxRatio:32,mapOptions:null,autoPan:!1,handlers:null,resolutionFactor:1,maximized:!1,initialize:function(a){this.layers=[];this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,[a])},destroy:function(){this.mapDiv&&(this.handlers.click&&this.handlers.click.destroy(),this.handlers.drag&&this.handlers.drag.destroy(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15815 this.ovmap&&this.ovmap.viewPortDiv.removeChild(this.extentRectangle),this.extentRectangle=null,this.rectEvents&&(this.rectEvents.destroy(),this.rectEvents=null),this.ovmap&&(this.ovmap.destroy(),this.ovmap=null),this.element.removeChild(this.mapDiv),this.mapDiv=null,this.div.removeChild(this.element),this.element=null,this.maximizeDiv&&(this.div.removeChild(this.maximizeDiv),this.maximizeDiv=null),this.minimizeDiv&&(this.div.removeChild(this.minimizeDiv),this.minimizeDiv=null),this.map.events.un({buttonclick:this.onButtonClick, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15816 moveend:this.update,changebaselayer:this.baseLayerDraw,scope:this}),OpenLayers.Control.prototype.destroy.apply(this,arguments))},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(0===this.layers.length)if(this.map.baseLayer)this.layers=[this.map.baseLayer.clone()];else return this.map.events.register("changebaselayer",this,this.baseLayerDraw),this.div;this.element=document.createElement("div");this.element.className=this.displayClass+"Element";this.element.style.display="none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15817 this.mapDiv=document.createElement("div");this.mapDiv.style.width=this.size.w+"px";this.mapDiv.style.height=this.size.h+"px";this.mapDiv.style.position="relative";this.mapDiv.style.overflow="hidden";this.mapDiv.id=OpenLayers.Util.createUniqueID("overviewMap");this.extentRectangle=document.createElement("div");this.extentRectangle.style.position="absolute";this.extentRectangle.style.zIndex=1E3;this.extentRectangle.className=this.displayClass+"ExtentRectangle";this.element.appendChild(this.mapDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15818 this.div.appendChild(this.element);if(this.outsideViewport)this.element.style.display="";else{this.div.className+=" "+this.displayClass+"Container";var a=OpenLayers.Util.getImageLocation("layer-switcher-maximize.png");this.maximizeDiv=OpenLayers.Util.createAlphaImageDiv(this.displayClass+"MaximizeButton",null,null,a,"absolute");this.maximizeDiv.style.display="none";this.maximizeDiv.className=this.displayClass+"MaximizeButton olButton";this.div.appendChild(this.maximizeDiv);a=OpenLayers.Util.getImageLocation("layer-switcher-minimize.png"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15819 this.minimizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_minimizeDiv",null,null,a,"absolute");this.minimizeDiv.style.display="none";this.minimizeDiv.className=this.displayClass+"MinimizeButton olButton";this.div.appendChild(this.minimizeDiv);this.minimizeControl()}this.map.getExtent()&&this.update();this.map.events.on({buttonclick:this.onButtonClick,moveend:this.update,scope:this});this.maximized&&this.maximizeControl();return this.div},baseLayerDraw:function(){this.draw();this.map.events.unregister("changebaselayer", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15820 this,this.baseLayerDraw)},rectDrag:function(a){var b=this.handlers.drag.last.x-a.x,c=this.handlers.drag.last.y-a.y;if(0!=b||0!=c){var d=this.rectPxBounds.top,e=this.rectPxBounds.left,a=Math.abs(this.rectPxBounds.getHeight()),f=this.rectPxBounds.getWidth(),c=Math.max(0,d-c),c=Math.min(c,this.ovmap.size.h-this.hComp-a),b=Math.max(0,e-b),b=Math.min(b,this.ovmap.size.w-this.wComp-f);this.setRectPxBounds(new OpenLayers.Bounds(b,c+a,b+f,c))}},mapDivClick:function(a){var b=this.rectPxBounds.getCenterPixel(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15821 c=a.xy.x-b.x,d=a.xy.y-b.y,e=this.rectPxBounds.top,f=this.rectPxBounds.left,a=Math.abs(this.rectPxBounds.getHeight()),b=this.rectPxBounds.getWidth(),d=Math.max(0,e+d),d=Math.min(d,this.ovmap.size.h-a),c=Math.max(0,f+c),c=Math.min(c,this.ovmap.size.w-b);this.setRectPxBounds(new OpenLayers.Bounds(c,d+a,c+b,d));this.updateMapToRect()},onButtonClick:function(a){a.buttonElement===this.minimizeDiv?this.minimizeControl():a.buttonElement===this.maximizeDiv&&this.maximizeControl()},maximizeControl:function(a){this.element.style.display= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15822 "";this.showToggle(!1);null!=a&&OpenLayers.Event.stop(a)},minimizeControl:function(a){this.element.style.display="none";this.showToggle(!0);null!=a&&OpenLayers.Event.stop(a)},showToggle:function(a){this.maximizeDiv.style.display=a?"":"none";this.minimizeDiv.style.display=a?"none":""},update:function(){null==this.ovmap&&this.createMap();(this.autoPan||!this.isSuitableOverview())&&this.updateOverview();this.updateRectToMap()},isSuitableOverview:function(){var a=this.map.getExtent(),b=this.map.maxExtent, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15823 a=new OpenLayers.Bounds(Math.max(a.left,b.left),Math.max(a.bottom,b.bottom),Math.min(a.right,b.right),Math.min(a.top,b.top));this.ovmap.getProjection()!=this.map.getProjection()&&(a=a.transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject()));b=this.ovmap.getResolution()/this.map.getResolution();return b>this.minRatio&&b<=this.maxRatio&&this.ovmap.getExtent().containsBounds(a)},updateOverview:function(){var a=this.map.getResolution(),b=this.ovmap.getResolution(),c=b/a;c>this.maxRatio? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15824 b=this.minRatio*a:c<=this.minRatio&&(b=this.maxRatio*a);this.ovmap.getProjection()!=this.map.getProjection()?(a=this.map.center.clone(),a.transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject())):a=this.map.center;this.ovmap.setCenter(a,this.ovmap.getZoomForResolution(b*this.resolutionFactor));this.updateRectToMap()},createMap:function(){var a=OpenLayers.Util.extend({controls:[],maxResolution:"auto",fallThrough:!1},this.mapOptions);this.ovmap=new OpenLayers.Map(this.mapDiv,a);this.ovmap.viewPortDiv.appendChild(this.extentRectangle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15825 OpenLayers.Event.stopObserving(window,"unload",this.ovmap.unloadDestroy);this.ovmap.addLayers(this.layers);this.ovmap.zoomToMaxExtent();this.wComp=(this.wComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-right-width")))?this.wComp:2;this.hComp=(this.hComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-bottom-width")))? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15826 this.hComp:2;this.handlers.drag=new OpenLayers.Handler.Drag(this,{move:this.rectDrag,done:this.updateMapToRect},{map:this.ovmap});this.handlers.click=new OpenLayers.Handler.Click(this,{click:this.mapDivClick},{single:!0,"double":!1,stopSingle:!0,stopDouble:!0,pixelTolerance:1,map:this.ovmap});this.handlers.click.activate();this.rectEvents=new OpenLayers.Events(this,this.extentRectangle,null,!0);this.rectEvents.register("mouseover",this,function(){!this.handlers.drag.active&&!this.map.dragging&&this.handlers.drag.activate()}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15827 this.rectEvents.register("mouseout",this,function(){this.handlers.drag.dragging||this.handlers.drag.deactivate()});if(this.ovmap.getProjection()!=this.map.getProjection()){var a=this.map.getProjectionObject().getUnits()||this.map.units||this.map.baseLayer.units,b=this.ovmap.getProjectionObject().getUnits()||this.ovmap.units||this.ovmap.baseLayer.units;this.resolutionFactor=a&&b?OpenLayers.INCHES_PER_UNIT[a]/OpenLayers.INCHES_PER_UNIT[b]:1}},updateRectToMap:function(){var a=this.getRectBoundsFromMapBounds(this.ovmap.getProjection()!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15828 this.map.getProjection()?this.map.getExtent().transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject()):this.map.getExtent());a&&this.setRectPxBounds(a)},updateMapToRect:function(){var a=this.getMapBoundsFromRectBounds(this.rectPxBounds);this.ovmap.getProjection()!=this.map.getProjection()&&(a=a.transform(this.ovmap.getProjectionObject(),this.map.getProjectionObject()));this.map.panTo(a.getCenterLonLat())},setRectPxBounds:function(a){var b=Math.max(a.top,0),c=Math.max(a.left,0),d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15829 Math.min(a.top+Math.abs(a.getHeight()),this.ovmap.size.h-this.hComp),a=Math.min(a.left+a.getWidth(),this.ovmap.size.w-this.wComp),e=Math.max(a-c,0),f=Math.max(d-b,0);e<this.minRectSize||f<this.minRectSize?(this.extentRectangle.className=this.displayClass+this.minRectDisplayClass,e=c+e/2-this.minRectSize/2,this.extentRectangle.style.top=Math.round(b+f/2-this.minRectSize/2)+"px",this.extentRectangle.style.left=Math.round(e)+"px",this.extentRectangle.style.height=this.minRectSize+"px",this.extentRectangle.style.width= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15830 this.minRectSize+"px"):(this.extentRectangle.className=this.displayClass+"ExtentRectangle",this.extentRectangle.style.top=Math.round(b)+"px",this.extentRectangle.style.left=Math.round(c)+"px",this.extentRectangle.style.height=Math.round(f)+"px",this.extentRectangle.style.width=Math.round(e)+"px");this.rectPxBounds=new OpenLayers.Bounds(Math.round(c),Math.round(d),Math.round(a),Math.round(b))},getRectBoundsFromMapBounds:function(a){var b=this.getOverviewPxFromLonLat({lon:a.left,lat:a.bottom}),a=this.getOverviewPxFromLonLat({lon:a.right, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15831 lat:a.top}),c=null;b&&a&&(c=new OpenLayers.Bounds(b.x,b.y,a.x,a.y));return c},getMapBoundsFromRectBounds:function(a){var b=this.getLonLatFromOverviewPx({x:a.left,y:a.bottom}),a=this.getLonLatFromOverviewPx({x:a.right,y:a.top});return new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat)},getLonLatFromOverviewPx:function(a){var b=this.ovmap.size,c=this.ovmap.getResolution(),d=this.ovmap.getExtent().getCenterLonLat();return{lon:d.lon+(a.x-b.w/2)*c,lat:d.lat-(a.y-b.h/2)*c}},getOverviewPxFromLonLat:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15832 this.ovmap.getResolution(),c=this.ovmap.getExtent();if(c)return{x:Math.round(1/b*(a.lon-c.left)),y:Math.round(1/b*(c.top-a.lat))}},CLASS_NAME:"OpenLayers.Control.OverviewMap"});OpenLayers.Animation=function(a){var b=!(!a.requestAnimationFrame&&!a.webkitRequestAnimationFrame&&!a.mozRequestAnimationFrame&&!a.oRequestAnimationFrame&&!a.msRequestAnimationFrame),c=function(){var b=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(b){a.setTimeout(b,16)};return function(c,d){b.apply(a,[c,d])}}(),d=0,e={};return{isNative:b,requestFrame:c,start:function(a,b,h){var b=0<b?b:Number.POSITIVE_INFINITY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15833 i=++d,j=+new Date;e[i]=function(){e[i]&&+new Date-j<=b?(a(),e[i]&&c(e[i],h)):delete e[i]};c(e[i],h);return i},stop:function(a){delete e[a]}}}(window);OpenLayers.Tween=OpenLayers.Class({easing:null,begin:null,finish:null,duration:null,callbacks:null,time:null,animationId:null,playing:!1,initialize:function(a){this.easing=a?a:OpenLayers.Easing.Expo.easeOut},start:function(a,b,c,d){this.playing=!0;this.begin=a;this.finish=b;this.duration=c;this.callbacks=d.callbacks;this.time=0;OpenLayers.Animation.stop(this.animationId);this.animationId=null;this.callbacks&&this.callbacks.start&&this.callbacks.start.call(this,this.begin);this.animationId=OpenLayers.Animation.start(OpenLayers.Function.bind(this.play, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15834 this))},stop:function(){this.playing&&(this.callbacks&&this.callbacks.done&&this.callbacks.done.call(this,this.finish),OpenLayers.Animation.stop(this.animationId),this.animationId=null,this.playing=!1)},play:function(){var a={},b;for(b in this.begin){var c=this.begin[b],d=this.finish[b];if(null==c||null==d||isNaN(c)||isNaN(d))throw new TypeError("invalid value for Tween");a[b]=this.easing.apply(this,[this.time,c,d-c,this.duration])}this.time++;this.callbacks&&this.callbacks.eachStep&&this.callbacks.eachStep.call(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15835 a);this.time>this.duration&&this.stop()},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(a,b,c,d){return c*a/d+b},easeOut:function(a,b,c,d){return c*a/d+b},easeInOut:function(a,b,c,d){return c*a/d+b},CLASS_NAME:"OpenLayers.Easing.Linear"}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15836 OpenLayers.Easing.Expo={easeIn:function(a,b,c,d){return 0==a?b:c*Math.pow(2,10*(a/d-1))+b},easeOut:function(a,b,c,d){return a==d?b+c:c*(-Math.pow(2,-10*a/d)+1)+b},easeInOut:function(a,b,c,d){return 0==a?b:a==d?b+c:1>(a/=d/2)?c/2*Math.pow(2,10*(a-1))+b:c/2*(-Math.pow(2,-10*--a)+2)+b},CLASS_NAME:"OpenLayers.Easing.Expo"}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15837 OpenLayers.Easing.Quad={easeIn:function(a,b,c,d){return c*(a/=d)*a+b},easeOut:function(a,b,c,d){return-c*(a/=d)*(a-2)+b},easeInOut:function(a,b,c,d){return 1>(a/=d/2)?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,titleRegEx:/\+title=[^\+]*/,initialize:function(a,b){OpenLayers.Util.extend(this,b);this.projCode=a;window.Proj4js&&(this.proj=new Proj4js.Proj(a))},getCode:function(){return this.proj?this.proj.srsCode:this.projCode},getUnits:function(){return this.proj?this.proj.units:null},toString:function(){return this.getCode()},equals:function(a){var b=!1;a&&(a instanceof OpenLayers.Projection||(a=new OpenLayers.Projection(a)),window.Proj4js&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15838 this.proj.defData&&a.proj.defData?b=this.proj.defData.replace(this.titleRegEx,"")==a.proj.defData.replace(this.titleRegEx,""):a.getCode&&(b=this.getCode(),a=a.getCode(),b=b==a||!!OpenLayers.Projection.transforms[b]&&OpenLayers.Projection.transforms[b][a]===OpenLayers.Projection.nullTransform));return b},destroy:function(){delete this.proj;delete this.projCode},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15839 OpenLayers.Projection.defaults={"EPSG:4326":{units:"degrees",maxExtent:[-180,-90,180,90],yx:!0},"CRS:84":{units:"degrees",maxExtent:[-180,-90,180,90]},"EPSG:900913":{units:"m",maxExtent:[-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7]}}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15840 OpenLayers.Projection.addTransform=function(a,b,c){if(c===OpenLayers.Projection.nullTransform){var d=OpenLayers.Projection.defaults[a];d&&!OpenLayers.Projection.defaults[b]&&(OpenLayers.Projection.defaults[b]=d)}OpenLayers.Projection.transforms[a]||(OpenLayers.Projection.transforms[a]={});OpenLayers.Projection.transforms[a][b]=c}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15841 OpenLayers.Projection.transform=function(a,b,c){if(b&&c)if(b instanceof OpenLayers.Projection||(b=new OpenLayers.Projection(b)),c instanceof OpenLayers.Projection||(c=new OpenLayers.Projection(c)),b.proj&&c.proj)a=Proj4js.transform(b.proj,c.proj,a);else{var b=b.getCode(),c=c.getCode(),d=OpenLayers.Projection.transforms;if(d[b]&&d[b][c])d[b][c](a)}return a};OpenLayers.Projection.nullTransform=function(a){return a}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15842 (function(){function a(a){a.x=180*a.x/d;a.y=180/Math.PI*(2*Math.atan(Math.exp(a.y/d*Math.PI))-Math.PI/2);return a}function b(a){a.x=a.x*d/180;a.y=Math.log(Math.tan((90+a.y)*Math.PI/360))/Math.PI*d;return a}function c(c,d){var e=OpenLayers.Projection.addTransform,f=OpenLayers.Projection.nullTransform,g,m,n,o,p;g=0;for(m=d.length;g<m;++g){n=d[g];e(c,n,b);e(n,c,a);for(p=g+1;p<m;++p)o=d[p],e(n,o,f),e(o,n,f)}}var d=2.003750834E7,e=["EPSG:900913","EPSG:3857","EPSG:102113","EPSG:102100"],f=["CRS:84","urn:ogc:def:crs:EPSG:6.6:4326", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15843 "EPSG:4326"],g;for(g=e.length-1;0<=g;--g)c(e[g],f);for(g=f.length-1;0<=g;--g)c(f[g],e)})();OpenLayers.Map=OpenLayers.Class({Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Feature:725,Popup:750,Control:1E3},id:null,fractionalZoom:!1,events:null,allOverlays:!1,div:null,dragging:!1,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,layers:null,controls:null,popups:null,baseLayer:null,center:null,resolution:null,zoom:0,panRatio:1.5,options:null,tileSize:null,projection:"EPSG:4326",units:null,resolutions:null,maxResolution:null,minResolution:null,maxScale:null,minScale:null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15844 maxExtent:null,minExtent:null,restrictedExtent:null,numZoomLevels:16,theme:null,displayProjection:null,fallThrough:!0,panTween:null,eventListeners:null,panMethod:OpenLayers.Easing.Expo.easeOut,panDuration:50,paddingForPopups:null,minPx:null,maxPx:null,initialize:function(a,b){1===arguments.length&&"object"===typeof a&&(a=(b=a)&&b.div);this.tileSize=new OpenLayers.Size(OpenLayers.Map.TILE_WIDTH,OpenLayers.Map.TILE_HEIGHT);this.paddingForPopups=new OpenLayers.Bounds(15,15,15,15);this.theme=OpenLayers._getScriptLocation()+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15845 "theme/default/style.css";this.options=OpenLayers.Util.extend({},b);OpenLayers.Util.extend(this,b);OpenLayers.Util.applyDefaults(this,OpenLayers.Projection.defaults[this.projection instanceof OpenLayers.Projection?this.projection.projCode:this.projection]);this.maxExtent&&!(this.maxExtent instanceof OpenLayers.Bounds)&&(this.maxExtent=new OpenLayers.Bounds(this.maxExtent));this.minExtent&&!(this.minExtent instanceof OpenLayers.Bounds)&&(this.minExtent=new OpenLayers.Bounds(this.minExtent));this.restrictedExtent&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15846 !(this.restrictedExtent instanceof OpenLayers.Bounds)&&(this.restrictedExtent=new OpenLayers.Bounds(this.restrictedExtent));this.center&&!(this.center instanceof OpenLayers.LonLat)&&(this.center=new OpenLayers.LonLat(this.center));this.layers=[];this.id=OpenLayers.Util.createUniqueID("OpenLayers.Map_");this.div=OpenLayers.Util.getElement(a);this.div||(this.div=document.createElement("div"),this.div.style.height="1px",this.div.style.width="1px");OpenLayers.Element.addClass(this.div,"olMap");var c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15847 this.id+"_OpenLayers_ViewPort";this.viewPortDiv=OpenLayers.Util.createDiv(c,null,null,null,"relative",null,"hidden");this.viewPortDiv.style.width="100%";this.viewPortDiv.style.height="100%";this.viewPortDiv.className="olMapViewport";this.div.appendChild(this.viewPortDiv);this.events=new OpenLayers.Events(this,this.viewPortDiv,null,this.fallThrough,{includeXY:!0});c=this.id+"_OpenLayers_Container";this.layerContainerDiv=OpenLayers.Util.createDiv(c);this.layerContainerDiv.style.width="100px";this.layerContainerDiv.style.height= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15848 "100px";this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE.Popup-1;this.viewPortDiv.appendChild(this.layerContainerDiv);this.updateSize();if(this.eventListeners instanceof Object)this.events.on(this.eventListeners);9>parseFloat(navigator.appVersion.split("MSIE")[1])?this.events.register("resize",this,this.updateSize):(this.updateSizeDestroy=OpenLayers.Function.bind(this.updateSize,this),OpenLayers.Event.observe(window,"resize",this.updateSizeDestroy));if(this.theme){for(var c=!0,d=document.getElementsByTagName("link"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15849 e=0,f=d.length;e<f;++e)if(OpenLayers.Util.isEquivalentUrl(d.item(e).href,this.theme)){c=!1;break}c&&(c=document.createElement("link"),c.setAttribute("rel","stylesheet"),c.setAttribute("type","text/css"),c.setAttribute("href",this.theme),document.getElementsByTagName("head")[0].appendChild(c))}null==this.controls&&(this.controls=[],null!=OpenLayers.Control&&(OpenLayers.Control.Navigation?this.controls.push(new OpenLayers.Control.Navigation):OpenLayers.Control.TouchNavigation&&this.controls.push(new OpenLayers.Control.TouchNavigation), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15850 OpenLayers.Control.Zoom?this.controls.push(new OpenLayers.Control.Zoom):OpenLayers.Control.PanZoom&&this.controls.push(new OpenLayers.Control.PanZoom),OpenLayers.Control.ArgParser&&this.controls.push(new OpenLayers.Control.ArgParser),OpenLayers.Control.Attribution&&this.controls.push(new OpenLayers.Control.Attribution)));e=0;for(f=this.controls.length;e<f;e++)this.addControlToMap(this.controls[e]);this.popups=[];this.unloadDestroy=OpenLayers.Function.bind(this.destroy,this);OpenLayers.Event.observe(window, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15851 "unload",this.unloadDestroy);b&&b.layers&&(delete this.center,this.addLayers(b.layers),b.center&&!this.getCenter()&&this.setCenter(b.center,b.zoom))},getViewport:function(){return this.viewPortDiv},render:function(a){this.div=OpenLayers.Util.getElement(a);OpenLayers.Element.addClass(this.div,"olMap");this.viewPortDiv.parentNode.removeChild(this.viewPortDiv);this.div.appendChild(this.viewPortDiv);this.updateSize()},unloadDestroy:null,updateSizeDestroy:null,destroy:function(){if(!this.unloadDestroy)return!1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15852 this.panTween&&(this.panTween.stop(),this.panTween=null);OpenLayers.Event.stopObserving(window,"unload",this.unloadDestroy);this.unloadDestroy=null;this.updateSizeDestroy?OpenLayers.Event.stopObserving(window,"resize",this.updateSizeDestroy):this.events.unregister("resize",this,this.updateSize);this.paddingForPopups=null;if(null!=this.controls){for(var a=this.controls.length-1;0<=a;--a)this.controls[a].destroy();this.controls=null}if(null!=this.layers){for(a=this.layers.length-1;0<=a;--a)this.layers[a].destroy(!1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15853 this.layers=null}this.viewPortDiv&&this.div.removeChild(this.viewPortDiv);this.viewPortDiv=null;this.eventListeners&&(this.events.un(this.eventListeners),this.eventListeners=null);this.events.destroy();this.options=this.events=null},setOptions:function(a){var b=this.minPx&&a.restrictedExtent!=this.restrictedExtent;OpenLayers.Util.extend(this,a);b&&this.moveTo(this.getCachedCenter(),this.zoom,{forceZoomChange:!0})},getTileSize:function(){return this.tileSize},getBy:function(a,b,c){var d="function"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15854 typeof c.test;return OpenLayers.Array.filter(this[a],function(a){return a[b]==c||d&&c.test(a[b])})},getLayersBy:function(a,b){return this.getBy("layers",a,b)},getLayersByName:function(a){return this.getLayersBy("name",a)},getLayersByClass:function(a){return this.getLayersBy("CLASS_NAME",a)},getControlsBy:function(a,b){return this.getBy("controls",a,b)},getControlsByClass:function(a){return this.getControlsBy("CLASS_NAME",a)},getLayer:function(a){for(var b=null,c=0,d=this.layers.length;c<d;c++){var e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15855 this.layers[c];if(e.id==a){b=e;break}}return b},setLayerZIndex:function(a,b){a.setZIndex(this.Z_INDEX_BASE[a.isBaseLayer?"BaseLayer":"Overlay"]+5*b)},resetLayersZIndex:function(){for(var a=0,b=this.layers.length;a<b;a++)this.setLayerZIndex(this.layers[a],a)},addLayer:function(a){for(var b=0,c=this.layers.length;b<c;b++)if(this.layers[b]==a)return!1;if(!1===this.events.triggerEvent("preaddlayer",{layer:a}))return!1;this.allOverlays&&(a.isBaseLayer=!1);a.div.className="olLayerDiv";a.div.style.overflow= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15856 "";this.setLayerZIndex(a,this.layers.length);a.isFixed?this.viewPortDiv.appendChild(a.div):this.layerContainerDiv.appendChild(a.div);this.layers.push(a);a.setMap(this);a.isBaseLayer||this.allOverlays&&!this.baseLayer?null==this.baseLayer?this.setBaseLayer(a):a.setVisibility(!1):a.redraw();this.events.triggerEvent("addlayer",{layer:a});a.events.triggerEvent("added",{map:this,layer:a});a.afterAdd();return!0},addLayers:function(a){for(var b=0,c=a.length;b<c;b++)this.addLayer(a[b])},removeLayer:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15857 b){if(!1!==this.events.triggerEvent("preremovelayer",{layer:a})){null==b&&(b=!0);a.isFixed?this.viewPortDiv.removeChild(a.div):this.layerContainerDiv.removeChild(a.div);OpenLayers.Util.removeItem(this.layers,a);a.removeMap(this);a.map=null;if(this.baseLayer==a&&(this.baseLayer=null,b))for(var c=0,d=this.layers.length;c<d;c++){var e=this.layers[c];if(e.isBaseLayer||this.allOverlays){this.setBaseLayer(e);break}}this.resetLayersZIndex();this.events.triggerEvent("removelayer",{layer:a});a.events.triggerEvent("removed", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15858 {map:this,layer:a})}},getNumLayers:function(){return this.layers.length},getLayerIndex:function(a){return OpenLayers.Util.indexOf(this.layers,a)},setLayerIndex:function(a,b){var c=this.getLayerIndex(a);0>b?b=0:b>this.layers.length&&(b=this.layers.length);if(c!=b){this.layers.splice(c,1);this.layers.splice(b,0,a);for(var c=0,d=this.layers.length;c<d;c++)this.setLayerZIndex(this.layers[c],c);this.events.triggerEvent("changelayer",{layer:a,property:"order"});this.allOverlays&&(0===b?this.setBaseLayer(a): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15859 this.baseLayer!==this.layers[0]&&this.setBaseLayer(this.layers[0]))}},raiseLayer:function(a,b){var c=this.getLayerIndex(a)+b;this.setLayerIndex(a,c)},setBaseLayer:function(a){if(a!=this.baseLayer&&-1!=OpenLayers.Util.indexOf(this.layers,a)){var b=this.getCachedCenter(),c=OpenLayers.Util.getResolutionFromScale(this.getScale(),a.units);null!=this.baseLayer&&!this.allOverlays&&this.baseLayer.setVisibility(!1);this.baseLayer=a;if(!this.allOverlays||this.baseLayer.visibility)this.baseLayer.setVisibility(!0), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15860 !1===this.baseLayer.inRange&&this.baseLayer.redraw();null!=b&&(a=this.getZoomForResolution(c||this.resolution,!0),this.setCenter(b,a,!1,!0));this.events.triggerEvent("changebaselayer",{layer:this.baseLayer})}},addControl:function(a,b){this.controls.push(a);this.addControlToMap(a,b)},addControls:function(a,b){for(var c=1===arguments.length?[]:b,d=0,e=a.length;d<e;d++)this.addControl(a[d],c[d]?c[d]:null)},addControlToMap:function(a,b){a.outsideViewport=null!=a.div;this.displayProjection&&!a.displayProjection&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15861 (a.displayProjection=this.displayProjection);a.setMap(this);var c=a.draw(b);c&&!a.outsideViewport&&(c.style.zIndex=this.Z_INDEX_BASE.Control+this.controls.length,this.viewPortDiv.appendChild(c));a.autoActivate&&a.activate()},getControl:function(a){for(var b=null,c=0,d=this.controls.length;c<d;c++){var e=this.controls[c];if(e.id==a){b=e;break}}return b},removeControl:function(a){a&&a==this.getControl(a.id)&&(a.div&&a.div.parentNode==this.viewPortDiv&&this.viewPortDiv.removeChild(a.div),OpenLayers.Util.removeItem(this.controls, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15862 a))},addPopup:function(a,b){if(b)for(var c=this.popups.length-1;0<=c;--c)this.removePopup(this.popups[c]);a.map=this;this.popups.push(a);if(c=a.draw())c.style.zIndex=this.Z_INDEX_BASE.Popup+this.popups.length,this.layerContainerDiv.appendChild(c)},removePopup:function(a){OpenLayers.Util.removeItem(this.popups,a);if(a.div)try{this.layerContainerDiv.removeChild(a.div)}catch(b){}a.map=null},getSize:function(){var a=null;null!=this.size&&(a=this.size.clone());return a},updateSize:function(){var a=this.getCurrentSize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15863 if(a&&!isNaN(a.h)&&!isNaN(a.w)){this.events.clearMouseCache();var b=this.getSize();null==b&&(this.size=b=a);if(!a.equals(b)){this.size=a;a=0;for(b=this.layers.length;a<b;a++)this.layers[a].onMapResize();a=this.getCachedCenter();null!=this.baseLayer&&null!=a&&(b=this.getZoom(),this.zoom=null,this.setCenter(a,b))}}},getCurrentSize:function(){var a=new OpenLayers.Size(this.div.clientWidth,this.div.clientHeight);if(0==a.w&&0==a.h||isNaN(a.w)&&isNaN(a.h))a.w=this.div.offsetWidth,a.h=this.div.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15864 if(0==a.w&&0==a.h||isNaN(a.w)&&isNaN(a.h))a.w=parseInt(this.div.style.width),a.h=parseInt(this.div.style.height);return a},calculateBounds:function(a,b){var c=null;null==a&&(a=this.getCachedCenter());null==b&&(b=this.getResolution());if(null!=a&&null!=b)var c=this.size.w*b/2,d=this.size.h*b/2,c=new OpenLayers.Bounds(a.lon-c,a.lat-d,a.lon+c,a.lat+d);return c},getCenter:function(){var a=null,b=this.getCachedCenter();b&&(a=b.clone());return a},getCachedCenter:function(){!this.center&&this.size&&(this.center= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15865 this.getLonLatFromViewPortPx({x:this.size.w/2,y:this.size.h/2}));return this.center},getZoom:function(){return this.zoom},pan:function(a,b,c){c=OpenLayers.Util.applyDefaults(c,{animate:!0,dragging:!1});if(c.dragging)(0!=a||0!=b)&&this.moveByPx(a,b);else{var d=this.getViewPortPxFromLonLat(this.getCachedCenter()),a=d.add(a,b);if(this.dragging||!a.equals(d))d=this.getLonLatFromViewPortPx(a),c.animate?this.panTo(d):(this.moveTo(d),this.dragging&&(this.dragging=!1,this.events.triggerEvent("moveend")))}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15866 panTo:function(a){if(this.panMethod&&this.getExtent().scale(this.panRatio).containsLonLat(a)){this.panTween||(this.panTween=new OpenLayers.Tween(this.panMethod));var b=this.getCachedCenter();if(!a.equals(b)){var b=this.getPixelFromLonLat(b),c=this.getPixelFromLonLat(a),d=0,e=0;this.panTween.start({x:0,y:0},{x:c.x-b.x,y:c.y-b.y},this.panDuration,{callbacks:{eachStep:OpenLayers.Function.bind(function(a){this.moveByPx(a.x-d,a.y-e);d=Math.round(a.x);e=Math.round(a.y)},this),done:OpenLayers.Function.bind(function(){this.moveTo(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15867 this.dragging=false;this.events.triggerEvent("moveend")},this)}})}}else this.setCenter(a)},setCenter:function(a,b,c,d){this.panTween&&this.panTween.stop();this.moveTo(a,b,{dragging:c,forceZoomChange:d})},moveByPx:function(a,b){var c=this.size.w/2,d=this.size.h/2,e=c+a,f=d+b,g=this.baseLayer.wrapDateLine,h=0,i=0;this.restrictedExtent&&(h=c,i=d,g=!1);a=g||e<=this.maxPx.x-h&&e>=this.minPx.x+h?Math.round(a):0;b=f<=this.maxPx.y-i&&f>=this.minPx.y+i?Math.round(b):0;if(a||b){this.dragging||(this.dragging= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15868 !0,this.events.triggerEvent("movestart"));this.center=null;a&&(this.layerContainerDiv.style.left=parseInt(this.layerContainerDiv.style.left)-a+"px",this.minPx.x-=a,this.maxPx.x-=a);b&&(this.layerContainerDiv.style.top=parseInt(this.layerContainerDiv.style.top)-b+"px",this.minPx.y-=b,this.maxPx.y-=b);d=0;for(e=this.layers.length;d<e;++d)if(c=this.layers[d],c.visibility&&(c===this.baseLayer||c.inRange))c.moveByPx(a,b),c.events.triggerEvent("move");this.events.triggerEvent("move")}},adjustZoom:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15869 this.baseLayer.resolutions,c=this.getMaxExtent().getWidth()/this.size.w;if(this.getResolutionForZoom(a)>c)for(var d=a|0,e=b.length;d<e;++d)if(b[d]<=c){a=d;break}return a},moveTo:function(a,b,c){null!=a&&!(a instanceof OpenLayers.LonLat)&&(a=new OpenLayers.LonLat(a));c||(c={});null!=b&&(b=parseFloat(b),this.fractionalZoom||(b=Math.round(b)));if(this.baseLayer.wrapDateLine){var d=b,b=this.adjustZoom(b);b!==d&&(a=this.getCenter())}var d=c.dragging||this.dragging,e=c.forceZoomChange;!this.getCachedCenter()&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15870 !this.isValidLonLat(a)&&(a=this.maxExtent.getCenterLonLat(),this.center=a.clone());if(null!=this.restrictedExtent){null==a&&(a=this.center);null==b&&(b=this.getZoom());var f=this.getResolutionForZoom(b),f=this.calculateBounds(a,f);if(!this.restrictedExtent.containsBounds(f)){var g=this.restrictedExtent.getCenterLonLat();f.getWidth()>this.restrictedExtent.getWidth()?a=new OpenLayers.LonLat(g.lon,a.lat):f.left<this.restrictedExtent.left?a=a.add(this.restrictedExtent.left-f.left,0):f.right>this.restrictedExtent.right&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15871 (a=a.add(this.restrictedExtent.right-f.right,0));f.getHeight()>this.restrictedExtent.getHeight()?a=new OpenLayers.LonLat(a.lon,g.lat):f.bottom<this.restrictedExtent.bottom?a=a.add(0,this.restrictedExtent.bottom-f.bottom):f.top>this.restrictedExtent.top&&(a=a.add(0,this.restrictedExtent.top-f.top))}}e=e||this.isValidZoomLevel(b)&&b!=this.getZoom();f=this.isValidLonLat(a)&&!a.equals(this.center);if(e||f||d){d||this.events.triggerEvent("movestart");f&&(!e&&this.center&&this.centerLayerContainer(a),this.center= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15872 a.clone());a=e?this.getResolutionForZoom(b):this.getResolution();if(e||null==this.layerContainerOrigin){this.layerContainerOrigin=this.getCachedCenter();this.layerContainerDiv.style.left="0px";this.layerContainerDiv.style.top="0px";var f=this.getMaxExtent({restricted:!0}),h=f.getCenterLonLat(),g=this.center.lon-h.lon,h=h.lat-this.center.lat,i=Math.round(f.getWidth()/a),j=Math.round(f.getHeight()/a);this.minPx={x:(this.size.w-i)/2-g/a,y:(this.size.h-j)/2-h/a};this.maxPx={x:this.minPx.x+Math.round(f.getWidth()/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15873 a),y:this.minPx.y+Math.round(f.getHeight()/a)}}e&&(this.zoom=b,this.resolution=a);a=this.getExtent();this.baseLayer.visibility&&(this.baseLayer.moveTo(a,e,c.dragging),c.dragging||this.baseLayer.events.triggerEvent("moveend",{zoomChanged:e}));a=this.baseLayer.getExtent();for(b=this.layers.length-1;0<=b;--b)if(f=this.layers[b],f!==this.baseLayer&&!f.isBaseLayer&&(g=f.calculateInRange(),f.inRange!=g&&((f.inRange=g)||f.display(!1),this.events.triggerEvent("changelayer",{layer:f,property:"visibility"})), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15874 g&&f.visibility))f.moveTo(a,e,c.dragging),c.dragging||f.events.triggerEvent("moveend",{zoomChanged:e});this.events.triggerEvent("move");d||this.events.triggerEvent("moveend");if(e){b=0;for(c=this.popups.length;b<c;b++)this.popups[b].updatePosition();this.events.triggerEvent("zoomend")}}},centerLayerContainer:function(a){var b=this.getViewPortPxFromLonLat(this.layerContainerOrigin),c=this.getViewPortPxFromLonLat(a);if(null!=b&&null!=c){var d=parseInt(this.layerContainerDiv.style.left),a=parseInt(this.layerContainerDiv.style.top), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15875 e=Math.round(b.x-c.x),b=Math.round(b.y-c.y);this.layerContainerDiv.style.left=e+"px";this.layerContainerDiv.style.top=b+"px";d-=e;a-=b;this.minPx.x-=d;this.maxPx.x-=d;this.minPx.y-=a;this.maxPx.y-=a}},isValidZoomLevel:function(a){return null!=a&&0<=a&&a<this.getNumZoomLevels()},isValidLonLat:function(a){var b=!1;null!=a&&(b=this.getMaxExtent(),b=b.containsLonLat(a,{worldBounds:this.baseLayer.wrapDateLine&&b}));return b},getProjection:function(){var a=this.getProjectionObject();return a?a.getCode(): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15876 null},getProjectionObject:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.projection);return a},getMaxResolution:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.maxResolution);return a},getMaxExtent:function(a){var b=null;a&&a.restricted&&this.restrictedExtent?b=this.restrictedExtent:null!=this.baseLayer&&(b=this.baseLayer.maxExtent);return b},getNumZoomLevels:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.numZoomLevels);return a},getExtent:function(){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15877 null;null!=this.baseLayer&&(a=this.baseLayer.getExtent());return a},getResolution:function(){var a=null;null!=this.baseLayer?a=this.baseLayer.getResolution():!0===this.allOverlays&&0<this.layers.length&&(a=this.layers[0].getResolution());return a},getUnits:function(){var a=null;null!=this.baseLayer&&(a=this.baseLayer.units);return a},getScale:function(){var a=null;null!=this.baseLayer&&(a=this.getResolution(),a=OpenLayers.Util.getScaleFromResolution(a,this.baseLayer.units));return a},getZoomForExtent:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15878 b){var c=null;null!=this.baseLayer&&(c=this.baseLayer.getZoomForExtent(a,b));return c},getResolutionForZoom:function(a){var b=null;this.baseLayer&&(b=this.baseLayer.getResolutionForZoom(a));return b},getZoomForResolution:function(a,b){var c=null;null!=this.baseLayer&&(c=this.baseLayer.getZoomForResolution(a,b));return c},zoomTo:function(a){this.isValidZoomLevel(a)&&this.setCenter(null,a)},zoomIn:function(){this.zoomTo(this.getZoom()+1)},zoomOut:function(){this.zoomTo(this.getZoom()-1)},zoomToExtent:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15879 b){a instanceof OpenLayers.Bounds||(a=new OpenLayers.Bounds(a));var c=a.getCenterLonLat();if(this.baseLayer.wrapDateLine){c=this.getMaxExtent();for(a=a.clone();a.right<a.left;)a.right+=c.getWidth();c=a.getCenterLonLat().wrapDateLine(c)}this.setCenter(c,this.getZoomForExtent(a,b))},zoomToMaxExtent:function(a){this.zoomToExtent(this.getMaxExtent({restricted:a?a.restricted:!0}))},zoomToScale:function(a,b){var c=OpenLayers.Util.getResolutionFromScale(a,this.baseLayer.units),d=this.size.w*c/2,c=this.size.h* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15880 c/2,e=this.getCachedCenter();this.zoomToExtent(new OpenLayers.Bounds(e.lon-d,e.lat-c,e.lon+d,e.lat+c),b)},getLonLatFromViewPortPx:function(a){var b=null;null!=this.baseLayer&&(b=this.baseLayer.getLonLatFromViewPortPx(a));return b},getViewPortPxFromLonLat:function(a){var b=null;null!=this.baseLayer&&(b=this.baseLayer.getViewPortPxFromLonLat(a));return b},getLonLatFromPixel:function(a){return this.getLonLatFromViewPortPx(a)},getPixelFromLonLat:function(a){a=this.getViewPortPxFromLonLat(a);a.x=Math.round(a.x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15881 a.y=Math.round(a.y);return a},getGeodesicPixelSize:function(a){var b=a?this.getLonLatFromPixel(a):this.getCachedCenter()||new OpenLayers.LonLat(0,0),c=this.getResolution(),a=b.add(-c/2,0),d=b.add(c/2,0),e=b.add(0,-c/2),b=b.add(0,c/2),c=new OpenLayers.Projection("EPSG:4326"),f=this.getProjectionObject()||c;f.equals(c)||(a.transform(f,c),d.transform(f,c),e.transform(f,c),b.transform(f,c));return new OpenLayers.Size(OpenLayers.Util.distVincenty(a,d),OpenLayers.Util.distVincenty(e,b))},getViewPortPxFromLayerPx:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15882 null;if(null!=a)var b=parseInt(this.layerContainerDiv.style.left),c=parseInt(this.layerContainerDiv.style.top),b=a.add(b,c);return b},getLayerPxFromViewPortPx:function(a){var b=null;if(null!=a){var b=-parseInt(this.layerContainerDiv.style.left),c=-parseInt(this.layerContainerDiv.style.top),b=a.add(b,c);if(isNaN(b.x)||isNaN(b.y))b=null}return b},getLonLatFromLayerPx:function(a){a=this.getViewPortPxFromLayerPx(a);return this.getLonLatFromViewPortPx(a)},getLayerPxFromLonLat:function(a){return this.getLayerPxFromViewPortPx(this.getPixelFromLonLat(a))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15883 CLASS_NAME:"OpenLayers.Map"});OpenLayers.Map.TILE_WIDTH=256;OpenLayers.Map.TILE_HEIGHT=256;OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:1,alwaysInRange:null,RESOLUTION_PROPERTIES:"scales resolutions maxScale minScale maxResolution minResolution numZoomLevels maxZoomLevel".split(" "),events:null,map:null,isBaseLayer:!1,alpha:!1,displayInLayerSwitcher:!0,visibility:!0,attribution:null,inRange:!1,imageSize:null,options:null,eventListeners:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15884 numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:!1,wrapDateLine:!1,metadata:null,initialize:function(a,b){this.metadata={};this.addOptions(b);this.name=a;if(null==this.id&&(this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_"),this.div=OpenLayers.Util.createDiv(this.id),this.div.style.width="100%",this.div.style.height="100%",this.div.dir="ltr",this.events=new OpenLayers.Events(this,this.div),this.eventListeners instanceof Object))this.events.on(this.eventListeners)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15885 destroy:function(a){null==a&&(a=!0);null!=this.map&&this.map.removeLayer(this,a);this.options=this.div=this.name=this.map=this.projection=null;this.events&&(this.eventListeners&&this.events.un(this.eventListeners),this.events.destroy());this.events=this.eventListeners=null},clone:function(a){null==a&&(a=new OpenLayers.Layer(this.name,this.getOptions()));OpenLayers.Util.applyDefaults(a,this);a.map=null;return a},getOptions:function(){var a={},b;for(b in this.options)a[b]=this[b];return a},setName:function(a){a!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15886 this.name&&(this.name=a,null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"name"}))},addOptions:function(a,b){null==this.options&&(this.options={});if(a&&("string"==typeof a.projection&&(a.projection=new OpenLayers.Projection(a.projection)),a.projection&&OpenLayers.Util.applyDefaults(a,OpenLayers.Projection.defaults[a.projection.getCode()]),a.maxExtent&&!(a.maxExtent instanceof OpenLayers.Bounds)&&(a.maxExtent=new OpenLayers.Bounds(a.maxExtent)),a.minExtent&&!(a.minExtent instanceof |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15887 OpenLayers.Bounds)))a.minExtent=new OpenLayers.Bounds(a.minExtent);OpenLayers.Util.extend(this.options,a);OpenLayers.Util.extend(this,a);this.projection&&this.projection.getUnits()&&(this.units=this.projection.getUnits());if(this.map){var c=this.map.getResolution(),d=this.RESOLUTION_PROPERTIES.concat(["projection","units","minExtent","maxExtent"]),e;for(e in a)if(a.hasOwnProperty(e)&&0<=OpenLayers.Util.indexOf(d,e)){this.initResolutions();b&&this.map.baseLayer===this&&(this.map.setCenter(this.map.getCenter(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15888 this.map.getZoomForResolution(c),!1,!0),this.map.events.triggerEvent("changebaselayer",{layer:this}));break}}},onMapResize:function(){},redraw:function(){var a=!1;if(this.map){this.inRange=this.calculateInRange();var b=this.getExtent();b&&(this.inRange&&this.visibility)&&(this.moveTo(b,!0,!1),this.events.triggerEvent("moveend",{zoomChanged:!0}),a=!0)}return a},moveTo:function(){var a=this.visibility;this.isBaseLayer||(a=a&&this.inRange);this.display(a)},moveByPx:function(){},setMap:function(a){null== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15889 this.map&&(this.map=a,this.maxExtent=this.maxExtent||this.map.maxExtent,this.minExtent=this.minExtent||this.map.minExtent,this.projection=this.projection||this.map.projection,"string"==typeof this.projection&&(this.projection=new OpenLayers.Projection(this.projection)),this.units=this.projection.getUnits()||this.units||this.map.units,this.initResolutions(),this.isBaseLayer||(this.inRange=this.calculateInRange(),this.div.style.display=this.visibility&&this.inRange?"":"none"),this.setTileSize())},afterAdd:function(){}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15890 removeMap:function(){},getImageSize:function(){return this.imageSize||this.tileSize},setTileSize:function(a){this.tileSize=a=a?a:this.tileSize?this.tileSize:this.map.getTileSize();this.gutter&&(this.imageSize=new OpenLayers.Size(a.w+2*this.gutter,a.h+2*this.gutter))},getVisibility:function(){return this.visibility},setVisibility:function(a){a!=this.visibility&&(this.visibility=a,this.display(a),this.redraw(),null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"}), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15891 this.events.triggerEvent("visibilitychanged"))},display:function(a){a!=("none"!=this.div.style.display)&&(this.div.style.display=a&&this.calculateInRange()?"block":"none")},calculateInRange:function(){var a=!1;this.alwaysInRange?a=!0:this.map&&(a=this.map.getResolution(),a=a>=this.minResolution&&a<=this.maxResolution);return a},setIsBaseLayer:function(a){a!=this.isBaseLayer&&(this.isBaseLayer=a,null!=this.map&&this.map.events.triggerEvent("changebaselayer",{layer:this}))},initResolutions:function(){var a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15892 b,c,d={},e=!0;a=0;for(b=this.RESOLUTION_PROPERTIES.length;a<b;a++)c=this.RESOLUTION_PROPERTIES[a],d[c]=this.options[c],e&&this.options[c]&&(e=!1);null==this.alwaysInRange&&(this.alwaysInRange=e);null==d.resolutions&&(d.resolutions=this.resolutionsFromScales(d.scales));null==d.resolutions&&(d.resolutions=this.calculateResolutions(d));if(null==d.resolutions){a=0;for(b=this.RESOLUTION_PROPERTIES.length;a<b;a++)c=this.RESOLUTION_PROPERTIES[a],d[c]=null!=this.options[c]?this.options[c]:this.map[c];null== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15893 d.resolutions&&(d.resolutions=this.resolutionsFromScales(d.scales));null==d.resolutions&&(d.resolutions=this.calculateResolutions(d))}var f;this.options.maxResolution&&"auto"!==this.options.maxResolution&&(f=this.options.maxResolution);this.options.minScale&&(f=OpenLayers.Util.getResolutionFromScale(this.options.minScale,this.units));var g;this.options.minResolution&&"auto"!==this.options.minResolution&&(g=this.options.minResolution);this.options.maxScale&&(g=OpenLayers.Util.getResolutionFromScale(this.options.maxScale, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15894 this.units));d.resolutions&&(d.resolutions.sort(function(a,b){return b-a}),f||(f=d.resolutions[0]),g||(g=d.resolutions[d.resolutions.length-1]));if(this.resolutions=d.resolutions){b=this.resolutions.length;this.scales=Array(b);for(a=0;a<b;a++)this.scales[a]=OpenLayers.Util.getScaleFromResolution(this.resolutions[a],this.units);this.numZoomLevels=b}if(this.minResolution=g)this.maxScale=OpenLayers.Util.getScaleFromResolution(g,this.units);if(this.maxResolution=f)this.minScale=OpenLayers.Util.getScaleFromResolution(f, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15895 this.units)},resolutionsFromScales:function(a){if(null!=a){var b,c,d;d=a.length;b=Array(d);for(c=0;c<d;c++)b[c]=OpenLayers.Util.getResolutionFromScale(a[c],this.units);return b}},calculateResolutions:function(a){var b,c,d=a.maxResolution;null!=a.minScale?d=OpenLayers.Util.getResolutionFromScale(a.minScale,this.units):"auto"==d&&null!=this.maxExtent&&(b=this.map.getSize(),c=this.maxExtent.getWidth()/b.w,b=this.maxExtent.getHeight()/b.h,d=Math.max(c,b));c=a.minResolution;null!=a.maxScale?c=OpenLayers.Util.getResolutionFromScale(a.maxScale, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15896 this.units):"auto"==a.minResolution&&null!=this.minExtent&&(b=this.map.getSize(),c=this.minExtent.getWidth()/b.w,b=this.minExtent.getHeight()/b.h,c=Math.max(c,b));"number"!==typeof d&&("number"!==typeof c&&null!=this.maxExtent)&&(d=this.map.getTileSize(),d=Math.max(this.maxExtent.getWidth()/d.w,this.maxExtent.getHeight()/d.h));b=a.maxZoomLevel;a=a.numZoomLevels;"number"===typeof c&&"number"===typeof d&&void 0===a?a=Math.floor(Math.log(d/c)/Math.log(2))+1:void 0===a&&null!=b&&(a=b+1);if(!("number"!== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15897 typeof a||0>=a||"number"!==typeof d&&"number"!==typeof c)){b=Array(a);var e=2;"number"==typeof c&&"number"==typeof d&&(e=Math.pow(d/c,1/(a-1)));var f;if("number"===typeof d)for(f=0;f<a;f++)b[f]=d/Math.pow(e,f);else for(f=0;f<a;f++)b[a-1-f]=c*Math.pow(e,f);return b}},getResolution:function(){return this.getResolutionForZoom(this.map.getZoom())},getExtent:function(){return this.map.calculateBounds()},getZoomForExtent:function(a,b){var c=this.map.getSize();return this.getZoomForResolution(Math.max(a.getWidth()/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15898 c.w,a.getHeight()/c.h),b)},getDataExtent:function(){},getResolutionForZoom:function(a){a=Math.max(0,Math.min(a,this.resolutions.length-1));if(this.map.fractionalZoom)var b=Math.floor(a),c=Math.ceil(a),a=this.resolutions[b]-(a-b)*(this.resolutions[b]-this.resolutions[c]);else a=this.resolutions[Math.round(a)];return a},getZoomForResolution:function(a,b){var c,d;if(this.map.fractionalZoom){var e=0,f=this.resolutions[e],g=this.resolutions[this.resolutions.length-1],h;c=0;for(d=this.resolutions.length;c< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15899 d;++c)if(h=this.resolutions[c],h>=a&&(f=h,e=c),h<=a){g=h;break}c=f-g;c=0<c?e+(f-a)/c:e}else{f=Number.POSITIVE_INFINITY;c=0;for(d=this.resolutions.length;c<d;c++)if(b){e=Math.abs(this.resolutions[c]-a);if(e>f)break;f=e}else if(this.resolutions[c]<a)break;c=Math.max(0,c-1)}return c},getLonLatFromViewPortPx:function(a){var b=null,c=this.map;if(null!=a&&c.minPx){var b=c.getResolution(),d=c.getMaxExtent({restricted:!0}),b=new OpenLayers.LonLat((a.x-c.minPx.x)*b+d.left,(c.minPx.y-a.y)*b+d.top);this.wrapDateLine&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15900 (b=b.wrapDateLine(this.maxExtent))}return b},getViewPortPxFromLonLat:function(a,b){var c=null;null!=a&&(b=b||this.map.getResolution(),c=this.map.calculateBounds(null,b),c=new OpenLayers.Pixel(1/b*(a.lon-c.left),1/b*(c.top-a.lat)));return c},setOpacity:function(a){if(a!=this.opacity){this.opacity=a;for(var b=this.div.childNodes,c=0,d=b.length;c<d;++c){var e=b[c].firstChild||b[c],f=b[c].lastChild;f&&"iframe"===f.nodeName.toLowerCase()&&(e=f.parentNode);OpenLayers.Util.modifyDOMElement(e,null,null,null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15901 null,null,null,a)}null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"})}},getZIndex:function(){return this.div.style.zIndex},setZIndex:function(a){this.div.style.zIndex=a},adjustBounds:function(a){if(this.gutter)var b=this.gutter*this.map.getResolution(),a=new OpenLayers.Bounds(a.left-b,a.bottom-b,a.right+b,a.top+b);this.wrapDateLine&&(b={rightTolerance:this.getResolution(),leftTolerance:this.getResolution()},a=a.wrapDateLine(this.maxExtent,b));return a},CLASS_NAME:"OpenLayers.Layer"});OpenLayers.Layer.SphericalMercator={getExtent:function(){var a=null;return a=this.sphericalMercator?this.map.calculateBounds():OpenLayers.Layer.FixedZoomLevels.prototype.getExtent.apply(this)},getLonLatFromViewPortPx:function(a){return OpenLayers.Layer.prototype.getLonLatFromViewPortPx.apply(this,arguments)},getViewPortPxFromLonLat:function(a){return OpenLayers.Layer.prototype.getViewPortPxFromLonLat.apply(this,arguments)},initMercatorParameters:function(){this.RESOLUTIONS=[];for(var a=0;a<=this.MAX_ZOOM_LEVEL;++a)this.RESOLUTIONS[a]= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15902 156543.03390625/Math.pow(2,a);this.units="m";this.projection=this.projection||"EPSG:900913"},forwardMercator:function(){var a=new OpenLayers.Projection("EPSG:4326"),b=new OpenLayers.Projection("EPSG:900913");return function(c,d){var e=OpenLayers.Projection.transform({x:c,y:d},a,b);return new OpenLayers.LonLat(e.x,e.y)}}(),inverseMercator:function(){var a=new OpenLayers.Projection("EPSG:4326"),b=new OpenLayers.Projection("EPSG:900913");return function(c,d){var e=OpenLayers.Projection.transform({x:c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15903 y:d},b,a);return new OpenLayers.LonLat(e.x,e.y)}}()};OpenLayers.Layer.EventPane=OpenLayers.Class(OpenLayers.Layer,{smoothDragPan:!0,isBaseLayer:!0,isFixed:!0,pane:null,mapObject:null,initialize:function(a,b){OpenLayers.Layer.prototype.initialize.apply(this,arguments);null==this.pane&&(this.pane=OpenLayers.Util.createDiv(this.div.id+"_EventPane"))},destroy:function(){this.pane=this.mapObject=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},setMap:function(a){OpenLayers.Layer.prototype.setMap.apply(this,arguments);this.pane.style.zIndex= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15904 parseInt(this.div.style.zIndex)+1;this.pane.style.display=this.div.style.display;this.pane.style.width="100%";this.pane.style.height="100%";"msie"==OpenLayers.BROWSER_NAME&&(this.pane.style.background="url("+OpenLayers.Util.getImageLocation("blank.gif")+")");this.isFixed?this.map.viewPortDiv.appendChild(this.pane):this.map.layerContainerDiv.appendChild(this.pane);this.loadMapObject();null==this.mapObject&&this.loadWarningMessage()},removeMap:function(a){this.pane&&this.pane.parentNode&&this.pane.parentNode.removeChild(this.pane); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15905 OpenLayers.Layer.prototype.removeMap.apply(this,arguments)},loadWarningMessage:function(){this.div.style.backgroundColor="darkblue";var a=this.map.getSize(),b=Math.min(a.w,300),c=Math.min(a.h,200),b=new OpenLayers.Size(b,c),a=(new OpenLayers.Pixel(a.w/2,a.h/2)).add(-b.w/2,-b.h/2),a=OpenLayers.Util.createDiv(this.name+"_warning",a,b,null,null,null,"auto");a.style.padding="7px";a.style.backgroundColor="yellow";a.innerHTML=this.getWarningHTML();this.div.appendChild(a)},getWarningHTML:function(){return""}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15906 display:function(a){OpenLayers.Layer.prototype.display.apply(this,arguments);this.pane.style.display=this.div.style.display},setZIndex:function(a){OpenLayers.Layer.prototype.setZIndex.apply(this,arguments);this.pane.style.zIndex=parseInt(this.div.style.zIndex)+1},moveByPx:function(a,b){OpenLayers.Layer.prototype.moveByPx.apply(this,arguments);this.dragPanMapObject?this.dragPanMapObject(a,-b):this.moveTo(this.map.getCachedCenter())},moveTo:function(a,b,c){OpenLayers.Layer.prototype.moveTo.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15907 arguments);if(null!=this.mapObject){var d=this.map.getCenter(),e=this.map.getZoom();if(null!=d){var f=this.getOLLonLatFromMapObjectLonLat(this.getMapObjectCenter()),g=this.getOLZoomFromMapObjectZoom(this.getMapObjectZoom());if(!d.equals(f)||e!=g)!b&&f&&this.dragPanMapObject&&this.smoothDragPan?(e=this.map.getViewPortPxFromLonLat(f),d=this.map.getViewPortPxFromLonLat(d),this.dragPanMapObject(d.x-e.x,e.y-d.y)):(d=this.getMapObjectLonLatFromOLLonLat(d),e=this.getMapObjectZoomFromOLZoom(e),this.setMapObjectCenter(d, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15908 e,c))}}},getLonLatFromViewPortPx:function(a){var b=null;null!=this.mapObject&&null!=this.getMapObjectCenter()&&(b=this.getOLLonLatFromMapObjectLonLat(this.getMapObjectLonLatFromMapObjectPixel(this.getMapObjectPixelFromOLPixel(a))));return b},getViewPortPxFromLonLat:function(a){var b=null;null!=this.mapObject&&null!=this.getMapObjectCenter()&&(b=this.getOLPixelFromMapObjectPixel(this.getMapObjectPixelFromMapObjectLonLat(this.getMapObjectLonLatFromOLLonLat(a))));return b},getOLLonLatFromMapObjectLonLat:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15909 null;null!=a&&(b=this.getLongitudeFromMapObjectLonLat(a),a=this.getLatitudeFromMapObjectLonLat(a),b=new OpenLayers.LonLat(b,a));return b},getMapObjectLonLatFromOLLonLat:function(a){var b=null;null!=a&&(b=this.getMapObjectLonLatFromLonLat(a.lon,a.lat));return b},getOLPixelFromMapObjectPixel:function(a){var b=null;null!=a&&(b=this.getXFromMapObjectPixel(a),a=this.getYFromMapObjectPixel(a),b=new OpenLayers.Pixel(b,a));return b},getMapObjectPixelFromOLPixel:function(a){var b=null;null!=a&&(b=this.getMapObjectPixelFromXY(a.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15910 a.y));return b},CLASS_NAME:"OpenLayers.Layer.EventPane"});OpenLayers.Layer.FixedZoomLevels=OpenLayers.Class({initialize:function(){},initResolutions:function(){for(var a=["minZoomLevel","maxZoomLevel","numZoomLevels"],b=0,c=a.length;b<c;b++){var d=a[b];this[d]=null!=this.options[d]?this.options[d]:this.map[d]}if(null==this.minZoomLevel||this.minZoomLevel<this.MIN_ZOOM_LEVEL)this.minZoomLevel=this.MIN_ZOOM_LEVEL;a=this.MAX_ZOOM_LEVEL-this.minZoomLevel+1;b=null==this.options.numZoomLevels&&null!=this.options.maxZoomLevel||null==this.numZoomLevels&&null!=this.maxZoomLevel? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15911 this.maxZoomLevel-this.minZoomLevel+1:this.numZoomLevels;this.numZoomLevels=null!=b?Math.min(b,a):a;this.maxZoomLevel=this.minZoomLevel+this.numZoomLevels-1;if(null!=this.RESOLUTIONS){a=0;this.resolutions=[];for(b=this.minZoomLevel;b<=this.maxZoomLevel;b++)this.resolutions[a++]=this.RESOLUTIONS[b];this.maxResolution=this.resolutions[0];this.minResolution=this.resolutions[this.resolutions.length-1]}},getResolution:function(){if(null!=this.resolutions)return OpenLayers.Layer.prototype.getResolution.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15912 arguments);var a=null,b=this.map.getSize(),c=this.getExtent();null!=b&&null!=c&&(a=Math.max(c.getWidth()/b.w,c.getHeight()/b.h));return a},getExtent:function(){var a=this.map.getSize(),b=this.getLonLatFromViewPortPx({x:0,y:0}),a=this.getLonLatFromViewPortPx({x:a.w,y:a.h});return null!=b&&null!=a?new OpenLayers.Bounds(b.lon,a.lat,a.lon,b.lat):null},getZoomForResolution:function(a){return null!=this.resolutions?OpenLayers.Layer.prototype.getZoomForResolution.apply(this,arguments):this.getZoomForExtent(OpenLayers.Layer.prototype.getExtent.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15913 []))},getOLZoomFromMapObjectZoom:function(a){var b=null;null!=a&&(b=a-this.minZoomLevel,this.map.baseLayer!==this&&(b=this.map.baseLayer.getZoomForResolution(this.getResolutionForZoom(b))));return b},getMapObjectZoomFromOLZoom:function(a){var b=null;null!=a&&(b=a+this.minZoomLevel,this.map.baseLayer!==this&&(b=this.getZoomForResolution(this.map.baseLayer.getResolutionForZoom(b))));return b},CLASS_NAME:"OpenLayers.Layer.FixedZoomLevels"});OpenLayers.Layer.Google=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:0,MAX_ZOOM_LEVEL:21,RESOLUTIONS:[1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,6.866455078125E-4,3.4332275390625E-4,1.71661376953125E-4,8.58306884765625E-5,4.291534423828125E-5,2.145767211914062E-5,1.072883605957031E-5,5.36441802978515E-6,2.68220901489257E-6,1.341104507446289E-6,6.705522537231445E-7], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15914 type:null,wrapDateLine:!0,sphericalMercator:!1,version:null,initialize:function(a,b){b=b||{};b.version||(b.version="function"===typeof GMap2?"2":"3");var c=OpenLayers.Layer.Google["v"+b.version.replace(/\./g,"_")];if(c)OpenLayers.Util.applyDefaults(b,c);else throw"Unsupported Google Maps API version: "+b.version;OpenLayers.Util.applyDefaults(b,c.DEFAULTS);b.maxExtent&&(b.maxExtent=b.maxExtent.clone());OpenLayers.Layer.EventPane.prototype.initialize.apply(this,[a,b]);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15915 [a,b]);this.sphericalMercator&&(OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator),this.initMercatorParameters())},clone:function(){return new OpenLayers.Layer.Google(this.name,this.getOptions())},setVisibility:function(a){var b=null==this.opacity?1:this.opacity;OpenLayers.Layer.EventPane.prototype.setVisibility.apply(this,arguments);this.setOpacity(b)},display:function(a){this._dragging||this.setGMapVisibility(a);OpenLayers.Layer.EventPane.prototype.display.apply(this,arguments)},moveTo:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15916 b,c){this._dragging=c;OpenLayers.Layer.EventPane.prototype.moveTo.apply(this,arguments);delete this._dragging},setOpacity:function(a){a!==this.opacity&&(null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"opacity"}),this.opacity=a);if(this.getVisibility()){var b=this.getMapContainer();OpenLayers.Util.modifyDOMElement(b,null,null,null,null,null,null,a)}},destroy:function(){if(this.map){this.setGMapVisibility(!1);var a=OpenLayers.Layer.Google.cache[this.map.id];a&&1>=a.count&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15917 this.removeGMapElements()}OpenLayers.Layer.EventPane.prototype.destroy.apply(this,arguments)},removeGMapElements:function(){var a=OpenLayers.Layer.Google.cache[this.map.id];if(a){var b=this.mapObject&&this.getMapContainer();b&&b.parentNode&&b.parentNode.removeChild(b);(b=a.termsOfUse)&&b.parentNode&&b.parentNode.removeChild(b);(a=a.poweredBy)&&a.parentNode&&a.parentNode.removeChild(a)}},removeMap:function(a){this.visibility&&this.mapObject&&this.setGMapVisibility(!1);var b=OpenLayers.Layer.Google.cache[a.id]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15918 b&&(1>=b.count?(this.removeGMapElements(),delete OpenLayers.Layer.Google.cache[a.id]):--b.count);delete this.termsOfUse;delete this.poweredBy;delete this.mapObject;delete this.dragObject;OpenLayers.Layer.EventPane.prototype.removeMap.apply(this,arguments)},getOLBoundsFromMapObjectBounds:function(a){var b=null;null!=a&&(b=a.getSouthWest(),a=a.getNorthEast(),this.sphericalMercator?(b=this.forwardMercator(b.lng(),b.lat()),a=this.forwardMercator(a.lng(),a.lat())):(b=new OpenLayers.LonLat(b.lng(),b.lat()), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15919 a=new OpenLayers.LonLat(a.lng(),a.lat())),b=new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat));return b},getWarningHTML:function(){return OpenLayers.i18n("googleWarning")},getMapObjectCenter:function(){return this.mapObject.getCenter()},getMapObjectZoom:function(){return this.mapObject.getZoom()},getLongitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.lng(),a.lat()).lon:a.lng()},getLatitudeFromMapObjectLonLat:function(a){return this.sphericalMercator?this.forwardMercator(a.lng(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15920 a.lat()).lat:a.lat()},getXFromMapObjectPixel:function(a){return a.x},getYFromMapObjectPixel:function(a){return a.y},CLASS_NAME:"OpenLayers.Layer.Google"});OpenLayers.Layer.Google.cache={}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15921 OpenLayers.Layer.Google.v2={termsOfUse:null,poweredBy:null,dragObject:null,loadMapObject:function(){this.type||(this.type=G_NORMAL_MAP);var a,b,c,d=OpenLayers.Layer.Google.cache[this.map.id];if(d)a=d.mapObject,b=d.termsOfUse,c=d.poweredBy,++d.count;else{var d=this.map.viewPortDiv,e=document.createElement("div");e.id=this.map.id+"_GMap2Container";e.style.position="absolute";e.style.width="100%";e.style.height="100%";d.appendChild(e);try{a=new GMap2(e),b=e.lastChild,d.appendChild(b),b.style.zIndex= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15922 "1100",b.style.right="",b.style.bottom="",b.className="olLayerGoogleCopyright",c=e.lastChild,d.appendChild(c),c.style.zIndex="1100",c.style.right="",c.style.bottom="",c.className="olLayerGooglePoweredBy gmnoprint"}catch(f){throw f;}OpenLayers.Layer.Google.cache[this.map.id]={mapObject:a,termsOfUse:b,poweredBy:c,count:1}}this.mapObject=a;this.termsOfUse=b;this.poweredBy=c;-1===OpenLayers.Util.indexOf(this.mapObject.getMapTypes(),this.type)&&this.mapObject.addMapType(this.type);"function"==typeof a.getDragObject? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15923 this.dragObject=a.getDragObject():this.dragPanMapObject=null;!1===this.isBaseLayer&&this.setGMapVisibility("none"!==this.div.style.display)},onMapResize:function(){if(this.visibility&&this.mapObject.isLoaded())this.mapObject.checkResize();else{if(!this._resized)var a=this,b=GEvent.addListener(this.mapObject,"load",function(){GEvent.removeListener(b);delete a._resized;a.mapObject.checkResize();a.moveTo(a.map.getCenter(),a.map.getZoom())});this._resized=!0}},setGMapVisibility:function(a){var b=OpenLayers.Layer.Google.cache[this.map.id]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15924 if(b){var c=this.mapObject.getContainer();!0===a?(this.mapObject.setMapType(this.type),c.style.display="",this.termsOfUse.style.left="",this.termsOfUse.style.display="",this.poweredBy.style.display="",b.displayed=this.id):(b.displayed===this.id&&delete b.displayed,b.displayed||(c.style.display="none",this.termsOfUse.style.display="none",this.termsOfUse.style.left="-9999px",this.poweredBy.style.display="none"))}},getMapContainer:function(){return this.mapObject.getContainer()},getMapObjectBoundsFromOLBounds:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15925 null;null!=a&&(b=this.sphericalMercator?this.inverseMercator(a.bottom,a.left):new OpenLayers.LonLat(a.bottom,a.left),a=this.sphericalMercator?this.inverseMercator(a.top,a.right):new OpenLayers.LonLat(a.top,a.right),b=new GLatLngBounds(new GLatLng(b.lat,b.lon),new GLatLng(a.lat,a.lon)));return b},setMapObjectCenter:function(a,b){this.mapObject.setCenter(a,b)},dragPanMapObject:function(a,b){this.dragObject.moveBy(new GSize(-a,b))},getMapObjectLonLatFromMapObjectPixel:function(a){return this.mapObject.fromContainerPixelToLatLng(a)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15926 getMapObjectPixelFromMapObjectLonLat:function(a){return this.mapObject.fromLatLngToContainerPixel(a)},getMapObjectZoomFromMapObjectBounds:function(a){return this.mapObject.getBoundsZoomLevel(a)},getMapObjectLonLatFromLonLat:function(a,b){var c;this.sphericalMercator?(c=this.inverseMercator(a,b),c=new GLatLng(c.lat,c.lon)):c=new GLatLng(b,a);return c},getMapObjectPixelFromXY:function(a,b){return new GPoint(a,b)}};OpenLayers.Format.XML=OpenLayers.Class(OpenLayers.Format,{namespaces:null,namespaceAlias:null,defaultPrefix:null,readers:{},writers:{},xmldom:null,initialize:function(a){window.ActiveXObject&&(this.xmldom=new ActiveXObject("Microsoft.XMLDOM"));OpenLayers.Format.prototype.initialize.apply(this,[a]);this.namespaces=OpenLayers.Util.extend({},this.namespaces);this.namespaceAlias={};for(var b in this.namespaces)this.namespaceAlias[this.namespaces[b]]=b},destroy:function(){this.xmldom=null;OpenLayers.Format.prototype.destroy.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15927 arguments)},setNamespace:function(a,b){this.namespaces[a]=b;this.namespaceAlias[b]=a},read:function(a){var b=a.indexOf("<");0<b&&(a=a.substring(b));b=OpenLayers.Util.Try(OpenLayers.Function.bind(function(){var b;b=window.ActiveXObject&&!this.xmldom?new ActiveXObject("Microsoft.XMLDOM"):this.xmldom;b.loadXML(a);return b},this),function(){return(new DOMParser).parseFromString(a,"text/xml")},function(){var b=new XMLHttpRequest;b.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(a),!1);b.overrideMimeType&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15928 b.overrideMimeType("text/xml");b.send(null);return b.responseXML});this.keepData&&(this.data=b);return b},write:function(a){if(this.xmldom)a=a.xml;else{var b=new XMLSerializer;if(1==a.nodeType){var c=document.implementation.createDocument("","",null);c.importNode&&(a=c.importNode(a,!0));c.appendChild(a);a=b.serializeToString(c)}else a=b.serializeToString(a)}return a},createElementNS:function(a,b){return this.xmldom?"string"==typeof a?this.xmldom.createNode(1,b,a):this.xmldom.createNode(1,b,""):document.createElementNS(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15929 b)},createTextNode:function(a){"string"!==typeof a&&(a=""+a);return this.xmldom?this.xmldom.createTextNode(a):document.createTextNode(a)},getElementsByTagNameNS:function(a,b,c){var d=[];if(a.getElementsByTagNameNS)d=a.getElementsByTagNameNS(b,c);else for(var a=a.getElementsByTagName("*"),e,f,g=0,h=a.length;g<h;++g)if(e=a[g],f=e.prefix?e.prefix+":"+c:c,"*"==c||f==e.nodeName)("*"==b||b==e.namespaceURI)&&d.push(e);return d},getAttributeNodeNS:function(a,b,c){var d=null;if(a.getAttributeNodeNS)d=a.getAttributeNodeNS(b, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15930 c);else for(var a=a.attributes,e,f,g=0,h=a.length;g<h;++g)if(e=a[g],e.namespaceURI==b&&(f=e.prefix?e.prefix+":"+c:c,f==e.nodeName)){d=e;break}return d},getAttributeNS:function(a,b,c){var d="";if(a.getAttributeNS)d=a.getAttributeNS(b,c)||"";else if(a=this.getAttributeNodeNS(a,b,c))d=a.nodeValue;return d},getChildValue:function(a,b){var c=b||"";if(a)for(var d=a.firstChild;d;d=d.nextSibling)switch(d.nodeType){case 3:case 4:c+=d.nodeValue}return c},isSimpleContent:function(a){for(var b=!0,a=a.firstChild;a;a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15931 a.nextSibling)if(1===a.nodeType){b=!1;break}return b},contentType:function(a){for(var b=!1,c=!1,d=OpenLayers.Format.XML.CONTENT_TYPE.EMPTY,a=a.firstChild;a;a=a.nextSibling){switch(a.nodeType){case 1:c=!0;break;case 8:break;default:b=!0}if(c&&b)break}if(c&&b)d=OpenLayers.Format.XML.CONTENT_TYPE.MIXED;else{if(c)return OpenLayers.Format.XML.CONTENT_TYPE.COMPLEX;if(b)return OpenLayers.Format.XML.CONTENT_TYPE.SIMPLE}return d},hasAttributeNS:function(a,b,c){var d=!1;return d=a.hasAttributeNS?a.hasAttributeNS(b, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15932 c):!!this.getAttributeNodeNS(a,b,c)},setAttributeNS:function(a,b,c,d){if(a.setAttributeNS)a.setAttributeNS(b,c,d);else if(this.xmldom)b?(b=a.ownerDocument.createNode(2,c,b),b.nodeValue=d,a.setAttributeNode(b)):a.setAttribute(c,d);else throw"setAttributeNS not implemented";},createElementNSPlus:function(a,b){var b=b||{},c=b.uri||this.namespaces[b.prefix];c||(c=a.indexOf(":"),c=this.namespaces[a.substring(0,c)]);c||(c=this.namespaces[this.defaultPrefix]);c=this.createElementNS(c,a);b.attributes&&this.setAttributes(c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15933 b.attributes);var d=b.value;null!=d&&c.appendChild(this.createTextNode(d));return c},setAttributes:function(a,b){var c,d,e;for(e in b)null!=b[e]&&b[e].toString&&(c=b[e].toString(),d=this.namespaces[e.substring(0,e.indexOf(":"))]||null,this.setAttributeNS(a,d,e,c))},readNode:function(a,b){b||(b={});var c=this.readers[a.namespaceURI?this.namespaceAlias[a.namespaceURI]:this.defaultPrefix];if(c){var d=a.localName||a.nodeName.split(":").pop();(c=c[d]||c["*"])&&c.apply(this,[a,b])}return b},readChildNodes:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15934 b){b||(b={});for(var c=a.childNodes,d,e=0,f=c.length;e<f;++e)d=c[e],1==d.nodeType&&this.readNode(d,b);return b},writeNode:function(a,b,c){var d,e=a.indexOf(":");0<e?(d=a.substring(0,e),a=a.substring(e+1)):d=c?this.namespaceAlias[c.namespaceURI]:this.defaultPrefix;b=this.writers[d][a].apply(this,[b]);c&&c.appendChild(b);return b},getChildEl:function(a,b,c){return a&&this.getThisOrNextEl(a.firstChild,b,c)},getNextEl:function(a,b,c){return a&&this.getThisOrNextEl(a.nextSibling,b,c)},getThisOrNextEl:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15935 b,c){a:for(;a;a=a.nextSibling)switch(a.nodeType){case 1:if((!b||b===(a.localName||a.nodeName.split(":").pop()))&&(!c||c===a.namespaceURI))break a;a=null;break a;case 3:if(/^\s*$/.test(a.nodeValue))break;case 4:case 6:case 12:case 10:case 11:a=null;break a}return a||null},lookupNamespaceURI:function(a,b){var c=null;if(a)if(a.lookupNamespaceURI)c=a.lookupNamespaceURI(b);else a:switch(a.nodeType){case 1:if(null!==a.namespaceURI&&a.prefix===b){c=a.namespaceURI;break a}if(c=a.attributes.length)for(var d, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15936 e=0;e<c;++e)if(d=a.attributes[e],"xmlns"===d.prefix&&d.name==="xmlns:"+b){c=d.value||null;break a}else if("xmlns"===d.name&&null===b){c=d.value||null;break a}c=this.lookupNamespaceURI(a.parentNode,b);break a;case 2:c=this.lookupNamespaceURI(a.ownerElement,b);break a;case 9:c=this.lookupNamespaceURI(a.documentElement,b);break a;case 6:case 12:case 10:case 11:break a;default:c=this.lookupNamespaceURI(a.parentNode,b)}return c},getXMLDoc:function(){!OpenLayers.Format.XML.document&&!this.xmldom&&(document.implementation&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15937 document.implementation.createDocument?OpenLayers.Format.XML.document=document.implementation.createDocument("","",null):!this.xmldom&&window.ActiveXObject&&(this.xmldom=new ActiveXObject("Microsoft.XMLDOM")));return OpenLayers.Format.XML.document||this.xmldom},CLASS_NAME:"OpenLayers.Format.XML"});OpenLayers.Format.XML.CONTENT_TYPE={EMPTY:0,SIMPLE:1,COMPLEX:2,MIXED:3};OpenLayers.Format.XML.lookupNamespaceURI=OpenLayers.Function.bind(OpenLayers.Format.XML.prototype.lookupNamespaceURI,OpenLayers.Format.XML.prototype); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15938 OpenLayers.Format.XML.document=null;OpenLayers.Format.WFST=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Format.WFST.DEFAULTS),b=OpenLayers.Format.WFST["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported WFST version: "+a.version;return new b(a)};OpenLayers.Format.WFST.DEFAULTS={version:"1.0.0"};OpenLayers.Format.WFST.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",wfs:"http://www.opengis.net/wfs",gml:"http://www.opengis.net/gml",ogc:"http://www.opengis.net/ogc",ows:"http://www.opengis.net/ows"},defaultPrefix:"wfs",version:null,schemaLocations:null,srsName:null,extractAttributes:!0,xy:!0,stateName:null,initialize:function(a){this.stateName={};this.stateName[OpenLayers.State.INSERT]="wfs:Insert";this.stateName[OpenLayers.State.UPDATE]= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15939 "wfs:Update";this.stateName[OpenLayers.State.DELETE]="wfs:Delete";OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},getSrsName:function(a,b){var c=b&&b.srsName;c||(c=a&&a.layer?a.layer.projection.getCode():this.srsName);return c},read:function(a,b){b=b||{};OpenLayers.Util.applyDefaults(b,{output:"features"});"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var c={};a&&this.readNode(a,c,!0);c.features&&"features"===b.output&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15940 (c=c.features);return c},readers:{wfs:{FeatureCollection:function(a,b){b.features=[];this.readChildNodes(a,b)}}},write:function(a,b){var c=this.writeNode("wfs:Transaction",{features:a,options:b}),d=this.schemaLocationAttr();d&&this.setAttributeNS(c,this.namespaces.xsi,"xsi:schemaLocation",d);return OpenLayers.Format.XML.prototype.write.apply(this,[c])},writers:{wfs:{GetFeature:function(a){var b=this.createElementNSPlus("wfs:GetFeature",{attributes:{service:"WFS",version:this.version,handle:a&&a.handle, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15941 outputFormat:a&&a.outputFormat,maxFeatures:a&&a.maxFeatures,"xsi:schemaLocation":this.schemaLocationAttr(a)}});if("string"==typeof this.featureType)this.writeNode("Query",a,b);else for(var c=0,d=this.featureType.length;c<d;c++)a.featureType=this.featureType[c],this.writeNode("Query",a,b);return b},Transaction:function(a){var a=a||{},b=a.options||{},c=this.createElementNSPlus("wfs:Transaction",{attributes:{service:"WFS",version:this.version,handle:b.handle}}),d,e=a.features;if(e){!0===b.multi&&OpenLayers.Util.extend(this.geometryTypes, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15942 {"OpenLayers.Geometry.Point":"MultiPoint","OpenLayers.Geometry.LineString":!0===this.multiCurve?"MultiCurve":"MultiLineString","OpenLayers.Geometry.Polygon":!0===this.multiSurface?"MultiSurface":"MultiPolygon"});var f,g,a=0;for(d=e.length;a<d;++a)g=e[a],(f=this.stateName[g.state])&&this.writeNode(f,{feature:g,options:b},c);!0===b.multi&&this.setGeometryTypes()}if(b.nativeElements){a=0;for(d=b.nativeElements.length;a<d;++a)this.writeNode("wfs:Native",b.nativeElements[a],c)}return c},Native:function(a){return this.createElementNSPlus("wfs:Native", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15943 {attributes:{vendorId:a.vendorId,safeToIgnore:a.safeToIgnore},value:a.value})},Insert:function(a){var b=a.feature,a=a.options,a=this.createElementNSPlus("wfs:Insert",{attributes:{handle:a&&a.handle}});this.srsName=this.getSrsName(b);this.writeNode("feature:_typeName",b,a);return a},Update:function(a){var b=a.feature,a=a.options,a=this.createElementNSPlus("wfs:Update",{attributes:{handle:a&&a.handle,typeName:(this.featureNS?this.featurePrefix+":":"")+this.featureType}});this.featureNS&&a.setAttribute("xmlns:"+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15944 this.featurePrefix,this.featureNS);var c=b.modified;if(null!==this.geometryName&&(!c||void 0!==c.geometry))this.srsName=this.getSrsName(b),this.writeNode("Property",{name:this.geometryName,value:b.geometry},a);for(var d in b.attributes)void 0!==b.attributes[d]&&(!c||!c.attributes||c.attributes&&void 0!==c.attributes[d])&&this.writeNode("Property",{name:d,value:b.attributes[d]},a);this.writeNode("ogc:Filter",new OpenLayers.Filter.FeatureId({fids:[b.fid]}),a);return a},Property:function(a){var b=this.createElementNSPlus("wfs:Property"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15945 this.writeNode("Name",a.name,b);null!==a.value&&this.writeNode("Value",a.value,b);return b},Name:function(a){return this.createElementNSPlus("wfs:Name",{value:a})},Value:function(a){var b;a instanceof OpenLayers.Geometry?(b=this.createElementNSPlus("wfs:Value"),a=this.writeNode("feature:_geometry",a).firstChild,b.appendChild(a)):b=this.createElementNSPlus("wfs:Value",{value:a});return b},Delete:function(a){var b=a.feature,a=a.options,a=this.createElementNSPlus("wfs:Delete",{attributes:{handle:a&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15946 a.handle,typeName:(this.featureNS?this.featurePrefix+":":"")+this.featureType}});this.featureNS&&a.setAttribute("xmlns:"+this.featurePrefix,this.featureNS);this.writeNode("ogc:Filter",new OpenLayers.Filter.FeatureId({fids:[b.fid]}),a);return a}}},schemaLocationAttr:function(a){var a=OpenLayers.Util.extend({featurePrefix:this.featurePrefix,schema:this.schema},a),b=OpenLayers.Util.extend({},this.schemaLocations);a.schema&&(b[a.featurePrefix]=a.schema);var a=[],c,d;for(d in b)(c=this.namespaces[d])&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15947 a.push(c+" "+b[d]);return a.join(" ")||void 0},setFilterProperty:function(a){if(a.filters)for(var b=0,c=a.filters.length;b<c;++b)OpenLayers.Format.WFST.v1.prototype.setFilterProperty.call(this,a.filters[b]);else a instanceof OpenLayers.Filter.Spatial&&!a.property&&(a.property=this.geometryName)},CLASS_NAME:"OpenLayers.Format.WFST.v1"});OpenLayers.Format.OGCExceptionReport=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ogc:"http://www.opengis.net/ogc"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},defaultPrefix:"ogc",read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b={exceptionReport:null};a.documentElement&&(this.readChildNodes(a,b),null===b.exceptionReport&&(b=(new OpenLayers.Format.OWSCommon).read(a)));return b},readers:{ogc:{ServiceExceptionReport:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15948 b){b.exceptionReport={exceptions:[]};this.readChildNodes(a,b.exceptionReport)},ServiceException:function(a,b){var c={code:a.getAttribute("code"),locator:a.getAttribute("locator"),text:this.getChildValue(a)};b.exceptions.push(c)}}},CLASS_NAME:"OpenLayers.Format.OGCExceptionReport"});OpenLayers.Format.XML.VersionedOGC=OpenLayers.Class(OpenLayers.Format.XML,{defaultVersion:null,version:null,profile:null,errorProperty:null,name:null,stringifyOutput:!1,parser:null,initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);a=this.CLASS_NAME;this.name=a.substring(a.lastIndexOf(".")+1)},getVersion:function(a,b){var c;a?(c=this.version,c||(c=a.getAttribute("version"),c||(c=this.defaultVersion))):c=b&&b.version||this.version||this.defaultVersion;return c},getParser:function(a){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15949 a||this.defaultVersion,b=this.profile?"_"+this.profile:"";if(!this.parser||this.parser.VERSION!=a){var c=OpenLayers.Format[this.name]["v"+a.replace(/\./g,"_")+b];if(!c)throw"Can't find a "+this.name+" parser for version "+a+b;this.parser=new c(this.options)}return this.parser},write:function(a,b){this.parser=this.getParser(this.getVersion(null,b));var c=this.parser.write(a,b);return!1===this.stringifyOutput?c:OpenLayers.Format.XML.prototype.write.apply(this,[c])},read:function(a,b){"string"==typeof a&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15950 (a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var c=this.getVersion(a.documentElement);this.parser=this.getParser(c);var d=this.parser.read(a,b);if(null!==this.errorProperty&&void 0===d[this.errorProperty]){var e=new OpenLayers.Format.OGCExceptionReport;d.error=e.read(a)}d.version=c;return d},CLASS_NAME:"OpenLayers.Format.XML.VersionedOGC"});OpenLayers.Feature=OpenLayers.Class({layer:null,id:null,lonlat:null,data:null,marker:null,popupClass:null,popup:null,initialize:function(a,b,c){this.layer=a;this.lonlat=b;this.data=null!=c?c:{};this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){null!=this.layer&&null!=this.layer.map&&null!=this.popup&&this.layer.map.removePopup(this.popup);null!=this.layer&&null!=this.marker&&this.layer.removeMarker(this.marker);this.data=this.lonlat=this.id=this.layer=null;null!=this.marker&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15951 (this.destroyMarker(this.marker),this.marker=null);null!=this.popup&&(this.destroyPopup(this.popup),this.popup=null)},onScreen:function(){var a=!1;null!=this.layer&&null!=this.layer.map&&(a=this.layer.map.getExtent().containsLonLat(this.lonlat));return a},createMarker:function(){null!=this.lonlat&&(this.marker=new OpenLayers.Marker(this.lonlat,this.data.icon));return this.marker},destroyMarker:function(){this.marker.destroy()},createPopup:function(a){null!=this.lonlat&&(this.popup||(this.popup=new (this.popupClass? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15952 this.popupClass:OpenLayers.Popup.Anchored)(this.id+"_popup",this.lonlat,this.data.popupSize,this.data.popupContentHTML,this.marker?this.marker.icon:null,a)),null!=this.data.overflow&&(this.popup.contentDiv.style.overflow=this.data.overflow),this.popup.feature=this);return this.popup},destroyPopup:function(){this.popup&&(this.popup.feature=null,this.popup.destroy(),this.popup=null)},CLASS_NAME:"OpenLayers.Feature"});OpenLayers.State={UNKNOWN:"Unknown",INSERT:"Insert",UPDATE:"Update",DELETE:"Delete"}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15953 OpenLayers.Feature.Vector=OpenLayers.Class(OpenLayers.Feature,{fid:null,geometry:null,attributes:null,bounds:null,state:null,style:null,url:null,renderIntent:"default",modified:null,initialize:function(a,b,c){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,b]);this.lonlat=null;this.geometry=a?a:null;this.state=null;this.attributes={};b&&(this.attributes=OpenLayers.Util.extend(this.attributes,b));this.style=c?c:null},destroy:function(){this.layer&&(this.layer.removeFeatures(this),this.layer= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15954 null);this.modified=this.geometry=null;OpenLayers.Feature.prototype.destroy.apply(this,arguments)},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style)},onScreen:function(a){var b=!1;this.layer&&this.layer.map&&(b=this.layer.map.getExtent(),a?(a=this.geometry.getBounds(),b=b.intersectsBounds(a)):b=b.toGeometry().intersects(this.geometry));return b},getVisibility:function(){return!(this.style&&"none"==this.style.display||!this.layer|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15955 this.layer&&this.layer.styleMap&&"none"==this.layer.styleMap.createSymbolizer(this,this.renderIntent).display||this.layer&&!this.layer.getVisibility())},createMarker:function(){return null},destroyMarker:function(){},createPopup:function(){return null},atPoint:function(a,b,c){var d=!1;this.geometry&&(d=this.geometry.atPoint(a,b,c));return d},destroyPopup:function(){},move:function(a){if(this.layer&&this.geometry.move){var a="OpenLayers.LonLat"==a.CLASS_NAME?this.layer.getViewPortPxFromLonLat(a):a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15956 b=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat()),c=this.layer.map.getResolution();this.geometry.move(c*(a.x-b.x),c*(b.y-a.y));this.layer.drawFeature(this);return b}},toState:function(a){if(a==OpenLayers.State.UPDATE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=a}else if(a==OpenLayers.State.INSERT)switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=a}else if(a==OpenLayers.State.DELETE)switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15957 a}else a==OpenLayers.State.UNKNOWN&&(this.state=a)},CLASS_NAME:"OpenLayers.Feature.Vector"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15958 OpenLayers.Feature.Vector.style={"default":{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},select:{fillColor:"blue",fillOpacity:0.4, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15959 hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"blue",strokeOpacity:1,strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},temporary:{fillColor:"#66cccc",fillOpacity:0.2,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#66cccc",strokeOpacity:1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15960 strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},"delete":{display:"none"}};OpenLayers.Style=OpenLayers.Class({id:null,name:null,title:null,description:null,layerName:null,isDefault:!1,rules:null,context:null,defaultStyle:null,defaultsPerSymbolizer:!1,propertyStyles:null,initialize:function(a,b){OpenLayers.Util.extend(this,b);this.rules=[];b&&b.rules&&this.addRules(b.rules);this.setDefaultStyle(a||OpenLayers.Feature.Vector.style["default"]);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){for(var a=0,b=this.rules.length;a<b;a++)this.rules[a].destroy(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15961 this.rules[a]=null;this.defaultStyle=this.rules=null},createSymbolizer:function(a){for(var b=this.defaultsPerSymbolizer?{}:this.createLiterals(OpenLayers.Util.extend({},this.defaultStyle),a),c=this.rules,d,e=[],f=!1,g=0,h=c.length;g<h;g++)d=c[g],d.evaluate(a)&&(d instanceof OpenLayers.Rule&&d.elseFilter?e.push(d):(f=!0,this.applySymbolizer(d,b,a)));if(!1==f&&0<e.length){f=!0;g=0;for(h=e.length;g<h;g++)this.applySymbolizer(e[g],b,a)}0<c.length&&!1==f&&(b.display="none");null!=b.label&&"string"!==typeof b.label&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15962 (b.label=""+b.label);return b},applySymbolizer:function(a,b,c){var d=c.geometry?this.getSymbolizerPrefix(c.geometry):OpenLayers.Style.SYMBOLIZER_PREFIXES[0],a=a.symbolizer[d]||a.symbolizer;!0===this.defaultsPerSymbolizer&&(d=this.defaultStyle,OpenLayers.Util.applyDefaults(a,{pointRadius:d.pointRadius}),(!0===a.stroke||!0===a.graphic)&&OpenLayers.Util.applyDefaults(a,{strokeWidth:d.strokeWidth,strokeColor:d.strokeColor,strokeOpacity:d.strokeOpacity,strokeDashstyle:d.strokeDashstyle,strokeLinecap:d.strokeLinecap}), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15963 (!0===a.fill||!0===a.graphic)&&OpenLayers.Util.applyDefaults(a,{fillColor:d.fillColor,fillOpacity:d.fillOpacity}),!0===a.graphic&&OpenLayers.Util.applyDefaults(a,{pointRadius:this.defaultStyle.pointRadius,externalGraphic:this.defaultStyle.externalGraphic,graphicName:this.defaultStyle.graphicName,graphicOpacity:this.defaultStyle.graphicOpacity,graphicWidth:this.defaultStyle.graphicWidth,graphicHeight:this.defaultStyle.graphicHeight,graphicXOffset:this.defaultStyle.graphicXOffset,graphicYOffset:this.defaultStyle.graphicYOffset})); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15964 return this.createLiterals(OpenLayers.Util.extend(b,a),c)},createLiterals:function(a,b){var c=OpenLayers.Util.extend({},b.attributes||b.data);OpenLayers.Util.extend(c,this.context);for(var d in this.propertyStyles)a[d]=OpenLayers.Style.createLiteral(a[d],c,b,d);return a},findPropertyStyles:function(){var a={};this.addPropertyStyles(a,this.defaultStyle);for(var b=this.rules,c,d,e=0,f=b.length;e<f;e++){c=b[e].symbolizer;for(var g in c)if(d=c[g],"object"==typeof d)this.addPropertyStyles(a,d);else{this.addPropertyStyles(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15965 c);break}}return a},addPropertyStyles:function(a,b){var c,d;for(d in b)c=b[d],"string"==typeof c&&c.match(/\$\{\w+\}/)&&(a[d]=!0);return a},addRules:function(a){Array.prototype.push.apply(this.rules,a);this.propertyStyles=this.findPropertyStyles()},setDefaultStyle:function(a){this.defaultStyle=a;this.propertyStyles=this.findPropertyStyles()},getSymbolizerPrefix:function(a){for(var b=OpenLayers.Style.SYMBOLIZER_PREFIXES,c=0,d=b.length;c<d;c++)if(-1!=a.CLASS_NAME.indexOf(b[c]))return b[c]},clone:function(){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15966 OpenLayers.Util.extend({},this);if(this.rules){a.rules=[];for(var b=0,c=this.rules.length;b<c;++b)a.rules.push(this.rules[b].clone())}a.context=this.context&&OpenLayers.Util.extend({},this.context);b=OpenLayers.Util.extend({},this.defaultStyle);return new OpenLayers.Style(b,a)},CLASS_NAME:"OpenLayers.Style"});OpenLayers.Style.createLiteral=function(a,b,c,d){"string"==typeof a&&-1!=a.indexOf("${")&&(a=OpenLayers.String.format(a,b,[c,d]),a=isNaN(a)||!a?a:parseFloat(a));return a}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15967 OpenLayers.Style.SYMBOLIZER_PREFIXES=["Point","Line","Polygon","Text","Raster"];OpenLayers.Filter=OpenLayers.Class({initialize:function(a){OpenLayers.Util.extend(this,a)},destroy:function(){},evaluate:function(){return!0},clone:function(){return null},toString:function(){return OpenLayers.Format&&OpenLayers.Format.CQL?OpenLayers.Format.CQL.prototype.write(this):Object.prototype.toString.call(this)},CLASS_NAME:"OpenLayers.Filter"});OpenLayers.Filter.FeatureId=OpenLayers.Class(OpenLayers.Filter,{fids:null,type:"FID",initialize:function(a){this.fids=[];OpenLayers.Filter.prototype.initialize.apply(this,[a])},evaluate:function(a){for(var b=0,c=this.fids.length;b<c;b++)if((a.fid||a.id)==this.fids[b])return!0;return!1},clone:function(){var a=new OpenLayers.Filter.FeatureId;OpenLayers.Util.extend(a,this);a.fids=this.fids.slice();return a},CLASS_NAME:"OpenLayers.Filter.FeatureId"});OpenLayers.Filter.Logical=OpenLayers.Class(OpenLayers.Filter,{filters:null,type:null,initialize:function(a){this.filters=[];OpenLayers.Filter.prototype.initialize.apply(this,[a])},destroy:function(){this.filters=null;OpenLayers.Filter.prototype.destroy.apply(this)},evaluate:function(a){var b,c;switch(this.type){case OpenLayers.Filter.Logical.AND:b=0;for(c=this.filters.length;b<c;b++)if(!1==this.filters[b].evaluate(a))return!1;return!0;case OpenLayers.Filter.Logical.OR:b=0;for(c=this.filters.length;b< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15968 c;b++)if(!0==this.filters[b].evaluate(a))return!0;return!1;case OpenLayers.Filter.Logical.NOT:return!this.filters[0].evaluate(a)}},clone:function(){for(var a=[],b=0,c=this.filters.length;b<c;++b)a.push(this.filters[b].clone());return new OpenLayers.Filter.Logical({type:this.type,filters:a})},CLASS_NAME:"OpenLayers.Filter.Logical"});OpenLayers.Filter.Logical.AND="&&";OpenLayers.Filter.Logical.OR="||";OpenLayers.Filter.Logical.NOT="!";OpenLayers.Filter.Comparison=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,matchCase:!0,lowerBoundary:null,upperBoundary:null,initialize:function(a){OpenLayers.Filter.prototype.initialize.apply(this,[a]);this.type===OpenLayers.Filter.Comparison.LIKE&&void 0===a.matchCase&&(this.matchCase=null)},evaluate:function(a){a instanceof OpenLayers.Feature.Vector&&(a=a.attributes);var b=!1,a=a[this.property];switch(this.type){case OpenLayers.Filter.Comparison.EQUAL_TO:b=this.value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15969 b=!this.matchCase&&"string"==typeof a&&"string"==typeof b?a.toUpperCase()==b.toUpperCase():a==b;break;case OpenLayers.Filter.Comparison.NOT_EQUAL_TO:b=this.value;b=!this.matchCase&&"string"==typeof a&&"string"==typeof b?a.toUpperCase()!=b.toUpperCase():a!=b;break;case OpenLayers.Filter.Comparison.LESS_THAN:b=a<this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN:b=a>this.value;break;case OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO:b=a<=this.value;break;case OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO:b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15970 a>=this.value;break;case OpenLayers.Filter.Comparison.BETWEEN:b=a>=this.lowerBoundary&&a<=this.upperBoundary;break;case OpenLayers.Filter.Comparison.LIKE:b=RegExp(this.value,"gi").test(a)}return b},value2regex:function(a,b,c){if("."==a)throw Error("'.' is an unsupported wildCard character for OpenLayers.Filter.Comparison");a=a?a:"*";b=b?b:".";this.value=this.value.replace(RegExp("\\"+(c?c:"!")+"(.|$)","g"),"\\$1");this.value=this.value.replace(RegExp("\\"+b,"g"),".");this.value=this.value.replace(RegExp("\\"+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15971 a,"g"),".*");this.value=this.value.replace(RegExp("\\\\.\\*","g"),"\\"+a);return this.value=this.value.replace(RegExp("\\\\\\.","g"),"\\"+b)},regex2value:function(){var a=this.value,a=a.replace(/!/g,"!!"),a=a.replace(/(\\)?\\\./g,function(a,c){return c?a:"!."}),a=a.replace(/(\\)?\\\*/g,function(a,c){return c?a:"!*"}),a=a.replace(/\\\\/g,"\\");return a=a.replace(/\.\*/g,"*")},clone:function(){return OpenLayers.Util.extend(new OpenLayers.Filter.Comparison,this)},CLASS_NAME:"OpenLayers.Filter.Comparison"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15972 OpenLayers.Filter.Comparison.EQUAL_TO="==";OpenLayers.Filter.Comparison.NOT_EQUAL_TO="!=";OpenLayers.Filter.Comparison.LESS_THAN="<";OpenLayers.Filter.Comparison.GREATER_THAN=">";OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO="<=";OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO=">=";OpenLayers.Filter.Comparison.BETWEEN="..";OpenLayers.Filter.Comparison.LIKE="~";OpenLayers.Format.Filter=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",CLASS_NAME:"OpenLayers.Format.Filter"});OpenLayers.Filter.Function=OpenLayers.Class(OpenLayers.Filter,{name:null,params:null,CLASS_NAME:"OpenLayers.Filter.Function"});OpenLayers.Format.Filter.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ogc:"http://www.opengis.net/ogc",gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"ogc",schemaLocation:null,initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){var b={};this.readers.ogc.Filter.apply(this,[a,b]);return b.filter},readers:{ogc:{_expression:function(a){for(var b="",c=a.firstChild;c;c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15973 c.nextSibling)switch(c.nodeType){case 1:a=this.readNode(c);a.property?b+="${"+a.property+"}":void 0!==a.value&&(b+=a.value);break;case 3:case 4:b+=c.nodeValue}return b},Filter:function(a,b){var c={fids:[],filters:[]};this.readChildNodes(a,c);0<c.fids.length?b.filter=new OpenLayers.Filter.FeatureId({fids:c.fids}):0<c.filters.length&&(b.filter=c.filters[0])},FeatureId:function(a,b){var c=a.getAttribute("fid");c&&b.fids.push(c)},And:function(a,b){var c=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15974 this.readChildNodes(a,c);b.filters.push(c)},Or:function(a,b){var c=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.OR});this.readChildNodes(a,c);b.filters.push(c)},Not:function(a,b){var c=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.NOT});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsLessThan:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsGreaterThan:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15975 b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsLessThanOrEqualTo:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsGreaterThanOrEqualTo:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO});this.readChildNodes(a,c);b.filters.push(c)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15976 PropertyIsBetween:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN});this.readChildNodes(a,c);b.filters.push(c)},Literal:function(a,b){b.value=OpenLayers.String.numericIf(this.getChildValue(a))},PropertyName:function(a,b){b.property=this.getChildValue(a)},LowerBoundary:function(a,b){b.lowerBoundary=OpenLayers.String.numericIf(this.readers.ogc._expression.call(this,a))},UpperBoundary:function(a,b){b.upperBoundary=OpenLayers.String.numericIf(this.readers.ogc._expression.call(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15977 a))},Intersects:function(a,b){this.readSpatial(a,b,OpenLayers.Filter.Spatial.INTERSECTS)},Within:function(a,b){this.readSpatial(a,b,OpenLayers.Filter.Spatial.WITHIN)},Contains:function(a,b){this.readSpatial(a,b,OpenLayers.Filter.Spatial.CONTAINS)},DWithin:function(a,b){this.readSpatial(a,b,OpenLayers.Filter.Spatial.DWITHIN)},Distance:function(a,b){b.distance=parseInt(this.getChildValue(a));b.distanceUnits=a.getAttribute("units")},Function:function(){}}},readSpatial:function(a,b,c){c=new OpenLayers.Filter.Spatial({type:c}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15978 this.readChildNodes(a,c);c.value=c.components[0];delete c.components;b.filters.push(c)},writeOgcExpression:function(a,b){if(a instanceof OpenLayers.Filter.Function){var c=this.writeNode("Function",a,b);b.appendChild(c)}else this.writeNode("Literal",a,b);return b},write:function(a){return this.writers.ogc.Filter.apply(this,[a])},writeFeatureIdNodes:function(a,b){for(var c=0,d=a.fids.length;c<d;++c)this.writeNode("FeatureId",a.fids[c],b)},writers:{ogc:{Filter:function(a){var b=this.createElementNSPlus("ogc:Filter"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15979 "FID"===a.type?OpenLayers.Format.Filter.v1.prototype.writeFeatureIdNodes.call(this,a,b):this.writeNode(this.getFilterType(a),a,b);return b},FeatureId:function(a){return this.createElementNSPlus("ogc:FeatureId",{attributes:{fid:a}})},And:function(a){for(var b=this.createElementNSPlus("ogc:And"),c,d=0,e=a.filters.length;d<e;++d)c=a.filters[d],"FID"===c.type?OpenLayers.Format.Filter.v1.prototype.writeFeatureIdNodes.call(this,c,b):this.writeNode(this.getFilterType(c),c,b);return b},Or:function(a){for(var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15980 this.createElementNSPlus("ogc:Or"),c,d=0,e=a.filters.length;d<e;++d)c=a.filters[d],"FID"===c.type?OpenLayers.Format.Filter.v1.prototype.writeFeatureIdNodes.call(this,c,b):this.writeNode(this.getFilterType(c),c,b);return b},Not:function(a){var b=this.createElementNSPlus("ogc:Not"),a=a.filters[0];"FID"===a.type?OpenLayers.Format.Filter.v1.prototype.writeFeatureIdNodes.call(this,a,b):this.writeNode(this.getFilterType(a),a,b);return b},PropertyIsLessThan:function(a){var b=this.createElementNSPlus("ogc:PropertyIsLessThan"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15981 this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsGreaterThan:function(a){var b=this.createElementNSPlus("ogc:PropertyIsGreaterThan");this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsLessThanOrEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsLessThanOrEqualTo");this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsGreaterThanOrEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsGreaterThanOrEqualTo"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15982 this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsBetween:function(a){var b=this.createElementNSPlus("ogc:PropertyIsBetween");this.writeNode("PropertyName",a,b);this.writeNode("LowerBoundary",a,b);this.writeNode("UpperBoundary",a,b);return b},PropertyName:function(a){return this.createElementNSPlus("ogc:PropertyName",{value:a.property})},Literal:function(a){return this.createElementNSPlus("ogc:Literal",{value:a})},LowerBoundary:function(a){var b=this.createElementNSPlus("ogc:LowerBoundary"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15983 this.writeOgcExpression(a.lowerBoundary,b);return b},UpperBoundary:function(a){var b=this.createElementNSPlus("ogc:UpperBoundary");this.writeNode("Literal",a.upperBoundary,b);return b},INTERSECTS:function(a){return this.writeSpatial(a,"Intersects")},WITHIN:function(a){return this.writeSpatial(a,"Within")},CONTAINS:function(a){return this.writeSpatial(a,"Contains")},DWITHIN:function(a){var b=this.writeSpatial(a,"DWithin");this.writeNode("Distance",a,b);return b},Distance:function(a){return this.createElementNSPlus("ogc:Distance", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15984 {attributes:{units:a.distanceUnits},value:a.distance})},Function:function(a){for(var b=this.createElementNSPlus("ogc:Function",{attributes:{name:a.name}}),a=a.params,c=0,d=a.length;c<d;c++)this.writeOgcExpression(a[c],b);return b}}},getFilterType:function(a){var b=this.filterMap[a.type];if(!b)throw"Filter writing not supported for rule type: "+a.type;return b},filterMap:{"&&":"And","||":"Or","!":"Not","==":"PropertyIsEqualTo","!=":"PropertyIsNotEqualTo","<":"PropertyIsLessThan",">":"PropertyIsGreaterThan", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15985 "<=":"PropertyIsLessThanOrEqualTo",">=":"PropertyIsGreaterThanOrEqualTo","..":"PropertyIsBetween","~":"PropertyIsLike",BBOX:"BBOX",DWITHIN:"DWITHIN",WITHIN:"WITHIN",CONTAINS:"CONTAINS",INTERSECTS:"INTERSECTS",FID:"FeatureId"},CLASS_NAME:"OpenLayers.Format.Filter.v1"});OpenLayers.Geometry=OpenLayers.Class({id:null,parent:null,bounds:null,initialize:function(){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){this.bounds=this.id=null},clone:function(){return new OpenLayers.Geometry},setBounds:function(a){a&&(this.bounds=a.clone())},clearBounds:function(){this.bounds=null;this.parent&&this.parent.clearBounds()},extendBounds:function(a){this.getBounds()?this.bounds.extend(a):this.setBounds(a)},getBounds:function(){null==this.bounds&&this.calculateBounds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15986 return this.bounds},calculateBounds:function(){},distanceTo:function(){},getVertices:function(){},atPoint:function(a,b,c){var d=!1;null!=this.getBounds()&&null!=a&&(b=null!=b?b:0,c=null!=c?c:0,d=(new OpenLayers.Bounds(this.bounds.left-b,this.bounds.bottom-c,this.bounds.right+b,this.bounds.top+c)).containsLonLat(a));return d},getLength:function(){return 0},getArea:function(){return 0},getCentroid:function(){return null},toString:function(){return OpenLayers.Format&&OpenLayers.Format.WKT?OpenLayers.Format.WKT.prototype.write(new OpenLayers.Feature.Vector(this)): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15987 Object.prototype.toString.call(this)},CLASS_NAME:"OpenLayers.Geometry"});OpenLayers.Geometry.fromWKT=function(a){var b;if(OpenLayers.Format&&OpenLayers.Format.WKT){var c=OpenLayers.Geometry.fromWKT.format;c||(c=new OpenLayers.Format.WKT,OpenLayers.Geometry.fromWKT.format=c);a=c.read(a);if(a instanceof OpenLayers.Feature.Vector)b=a.geometry;else if(OpenLayers.Util.isArray(a)){b=a.length;for(var c=Array(b),d=0;d<b;++d)c[d]=a[d].geometry;b=new OpenLayers.Geometry.Collection(c)}}return b}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15988 OpenLayers.Geometry.segmentsIntersect=function(a,b,c){var d=c&&c.point,c=c&&c.tolerance,e=!1,f=a.x1-b.x1,g=a.y1-b.y1,h=a.x2-a.x1,i=a.y2-a.y1,j=b.y2-b.y1,k=b.x2-b.x1,l=j*h-k*i,j=k*g-j*f,g=h*g-i*f;0==l?0==j&&0==g&&(e=!0):(f=j/l,l=g/l,0<=f&&(1>=f&&0<=l&&1>=l)&&(d?(h=a.x1+f*h,l=a.y1+f*i,e=new OpenLayers.Geometry.Point(h,l)):e=!0));if(c)if(e){if(d){a=[a,b];b=0;a:for(;2>b;++b){f=a[b];for(i=1;3>i;++i)if(h=f["x"+i],l=f["y"+i],d=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(l-e.y,2)),d<c){e.x=h;e.y=l;break a}}}}else{a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15989 [a,b];b=0;a:for(;2>b;++b){h=a[b];l=a[(b+1)%2];for(i=1;3>i;++i)if(f={x:h["x"+i],y:h["y"+i]},g=OpenLayers.Geometry.distanceToSegment(f,l),g.distance<c){e=d?new OpenLayers.Geometry.Point(f.x,f.y):!0;break a}}}return e};OpenLayers.Geometry.distanceToSegment=function(a,b){var c=a.x,d=a.y,e=b.x1,f=b.y1,g=b.x2,h=b.y2,i=g-e,j=h-f,k=(i*(c-e)+j*(d-f))/(Math.pow(i,2)+Math.pow(j,2));0>=k||(1<=k?(e=g,f=h):(e+=k*i,f+=k*j));return{distance:Math.sqrt(Math.pow(e-c,2)+Math.pow(f-d,2)),x:e,y:f}};OpenLayers.Geometry.Point=OpenLayers.Class(OpenLayers.Geometry,{x:null,y:null,initialize:function(a,b){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.x=parseFloat(a);this.y=parseFloat(b)},clone:function(a){null==a&&(a=new OpenLayers.Geometry.Point(this.x,this.y));OpenLayers.Util.applyDefaults(a,this);return a},calculateBounds:function(){this.bounds=new OpenLayers.Bounds(this.x,this.y,this.x,this.y)},distanceTo:function(a,b){var c=!(b&&!1===b.edge)&&b&&b.details,d,e,f,g,h;a instanceof |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15990 OpenLayers.Geometry.Point?(e=this.x,f=this.y,g=a.x,h=a.y,d=Math.sqrt(Math.pow(e-g,2)+Math.pow(f-h,2)),d=!c?d:{x0:e,y0:f,x1:g,y1:h,distance:d}):(d=a.distanceTo(this,b),c&&(d={x0:d.x1,y0:d.y1,x1:d.x0,y1:d.y0,distance:d.distance}));return d},equals:function(a){var b=!1;null!=a&&(b=this.x==a.x&&this.y==a.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(a.x)&&isNaN(a.y));return b},toShortString:function(){return this.x+", "+this.y},move:function(a,b){this.x+=a;this.y+=b;this.clearBounds()},rotate:function(a,b){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15991 a*(Math.PI/180),c=this.distanceTo(b),d=a+Math.atan2(this.y-b.y,this.x-b.x);this.x=b.x+c*Math.cos(d);this.y=b.y+c*Math.sin(d);this.clearBounds()},getCentroid:function(){return new OpenLayers.Geometry.Point(this.x,this.y)},resize:function(a,b,c){this.x=b.x+a*(void 0==c?1:c)*(this.x-b.x);this.y=b.y+a*(this.y-b.y);this.clearBounds();return this},intersects:function(a){var b=!1;return b="OpenLayers.Geometry.Point"==a.CLASS_NAME?this.equals(a):a.intersects(this)},transform:function(a,b){a&&b&&(OpenLayers.Projection.transform(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15992 a,b),this.bounds=null);return this},getVertices:function(){return[this]},CLASS_NAME:"OpenLayers.Geometry.Point"});OpenLayers.Geometry.Collection=OpenLayers.Class(OpenLayers.Geometry,{components:null,componentTypes:null,initialize:function(a){OpenLayers.Geometry.prototype.initialize.apply(this,arguments);this.components=[];null!=a&&this.addComponents(a)},destroy:function(){this.components.length=0;this.components=null;OpenLayers.Geometry.prototype.destroy.apply(this,arguments)},clone:function(){for(var a=eval("new "+this.CLASS_NAME+"()"),b=0,c=this.components.length;b<c;b++)a.addComponent(this.components[b].clone()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15993 OpenLayers.Util.applyDefaults(a,this);return a},getComponentsString:function(){for(var a=[],b=0,c=this.components.length;b<c;b++)a.push(this.components[b].toShortString());return a.join(",")},calculateBounds:function(){this.bounds=null;var a=new OpenLayers.Bounds,b=this.components;if(b)for(var c=0,d=b.length;c<d;c++)a.extend(b[c].getBounds());null!=a.left&&(null!=a.bottom&&null!=a.right&&null!=a.top)&&this.setBounds(a)},addComponents:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0,c=a.length;b< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15994 c;b++)this.addComponent(a[b])},addComponent:function(a,b){var c=!1;if(a&&(null==this.componentTypes||-1<OpenLayers.Util.indexOf(this.componentTypes,a.CLASS_NAME))){if(null!=b&&b<this.components.length){var c=this.components.slice(0,b),d=this.components.slice(b,this.components.length);c.push(a);this.components=c.concat(d)}else this.components.push(a);a.parent=this;this.clearBounds();c=!0}return c},removeComponents:function(a){var b=!1;OpenLayers.Util.isArray(a)||(a=[a]);for(var c=a.length-1;0<=c;--c)b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15995 this.removeComponent(a[c])||b;return b},removeComponent:function(a){OpenLayers.Util.removeItem(this.components,a);this.clearBounds();return!0},getLength:function(){for(var a=0,b=0,c=this.components.length;b<c;b++)a+=this.components[b].getLength();return a},getArea:function(){for(var a=0,b=0,c=this.components.length;b<c;b++)a+=this.components[b].getArea();return a},getGeodesicArea:function(a){for(var b=0,c=0,d=this.components.length;c<d;c++)b+=this.components[c].getGeodesicArea(a);return b},getCentroid:function(a){if(!a)return this.components.length&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15996 this.components[0].getCentroid();a=this.components.length;if(!a)return!1;for(var b=[],c=[],d=0,e=Number.MAX_VALUE,f,g=0;g<a;++g){f=this.components[g];var h=f.getArea();f=f.getCentroid(!0);!isNaN(h)&&(!isNaN(f.x)&&!isNaN(f.y))&&(b.push(h),d+=h,e=h<e&&0<h?h:e,c.push(f))}a=b.length;if(0===d){for(g=0;g<a;++g)b[g]=1;d=b.length}else{for(g=0;g<a;++g)b[g]/=e;d/=e}for(var i=e=0,g=0;g<a;++g)f=c[g],h=b[g],e+=f.x*h,i+=f.y*h;return new OpenLayers.Geometry.Point(e/d,i/d)},getGeodesicLength:function(a){for(var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15997 0,c=0,d=this.components.length;c<d;c++)b+=this.components[c].getGeodesicLength(a);return b},move:function(a,b){for(var c=0,d=this.components.length;c<d;c++)this.components[c].move(a,b)},rotate:function(a,b){for(var c=0,d=this.components.length;c<d;++c)this.components[c].rotate(a,b)},resize:function(a,b,c){for(var d=0;d<this.components.length;++d)this.components[d].resize(a,b,c);return this},distanceTo:function(a,b){for(var c=!(b&&!1===b.edge)&&b&&b.details,d,e,f,g=Number.POSITIVE_INFINITY,h=0,i=this.components.length;h< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15998 i&&!(d=this.components[h].distanceTo(a,b),f=c?d.distance:d,f<g&&(g=f,e=d,0==g));++h);return e},equals:function(a){var b=!0;if(!a||!a.CLASS_NAME||this.CLASS_NAME!=a.CLASS_NAME)b=!1;else if(!OpenLayers.Util.isArray(a.components)||a.components.length!=this.components.length)b=!1;else for(var c=0,d=this.components.length;c<d;++c)if(!this.components[c].equals(a.components[c])){b=!1;break}return b},transform:function(a,b){if(a&&b){for(var c=0,d=this.components.length;c<d;c++)this.components[c].transform(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15999 b);this.bounds=null}return this},intersects:function(a){for(var b=!1,c=0,d=this.components.length;c<d&&!(b=a.intersects(this.components[c]));++c);return b},getVertices:function(a){for(var b=[],c=0,d=this.components.length;c<d;++c)Array.prototype.push.apply(b,this.components[c].getVertices(a));return b},CLASS_NAME:"OpenLayers.Geometry.Collection"});OpenLayers.Geometry.MultiPoint=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Point"],addPoint:function(a,b){this.addComponent(a,b)},removePoint:function(a){this.removeComponent(a)},CLASS_NAME:"OpenLayers.Geometry.MultiPoint"});OpenLayers.Geometry.Curve=OpenLayers.Class(OpenLayers.Geometry.MultiPoint,{componentTypes:["OpenLayers.Geometry.Point"],getLength:function(){var a=0;if(this.components&&1<this.components.length)for(var b=1,c=this.components.length;b<c;b++)a+=this.components[b-1].distanceTo(this.components[b]);return a},getGeodesicLength:function(a){var b=this;if(a){var c=new OpenLayers.Projection("EPSG:4326");c.equals(a)||(b=this.clone().transform(a,c))}a=0;if(b.components&&1<b.components.length)for(var d,e=1,f=b.components.length;e< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16000 f;e++)c=b.components[e-1],d=b.components[e],a+=OpenLayers.Util.distVincenty({lon:c.x,lat:c.y},{lon:d.x,lat:d.y});return 1E3*a},CLASS_NAME:"OpenLayers.Geometry.Curve"});OpenLayers.Geometry.LineString=OpenLayers.Class(OpenLayers.Geometry.Curve,{removeComponent:function(a){var b=this.components&&2<this.components.length;b&&OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this,arguments);return b},intersects:function(a){var b=!1,c=a.CLASS_NAME;if("OpenLayers.Geometry.LineString"==c||"OpenLayers.Geometry.LinearRing"==c||"OpenLayers.Geometry.Point"==c){var d=this.getSortedSegments(),a="OpenLayers.Geometry.Point"==c?[{x1:a.x,y1:a.y,x2:a.x,y2:a.y}]:a.getSortedSegments(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16001 e,f,g,h,i,j,k,l=0,m=d.length;a:for(;l<m;++l){c=d[l];e=c.x1;f=c.x2;g=c.y1;h=c.y2;var n=0,o=a.length;for(;n<o;++n){i=a[n];if(i.x1>f)break;if(!(i.x2<e)&&(j=i.y1,k=i.y2,!(Math.min(j,k)>Math.max(g,h))&&!(Math.max(j,k)<Math.min(g,h))&&OpenLayers.Geometry.segmentsIntersect(c,i))){b=!0;break a}}}}else b=a.intersects(this);return b},getSortedSegments:function(){for(var a=this.components.length-1,b=Array(a),c,d,e=0;e<a;++e)c=this.components[e],d=this.components[e+1],b[e]=c.x<d.x?{x1:c.x,y1:c.y,x2:d.x,y2:d.y}: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16002 {x1:d.x,y1:d.y,x2:c.x,y2:c.y};return b.sort(function(a,b){return a.x1-b.x1})},splitWithSegment:function(a,b){for(var c=!(b&&!1===b.edge),d=b&&b.tolerance,e=[],f=this.getVertices(),g=[],h=[],i=!1,j,k,l,m={point:!0,tolerance:d},n=null,o=0,p=f.length-2;o<=p;++o)if(d=f[o],g.push(d.clone()),j=f[o+1],k={x1:d.x,y1:d.y,x2:j.x,y2:j.y},k=OpenLayers.Geometry.segmentsIntersect(a,k,m),k instanceof OpenLayers.Geometry.Point&&((l=k.x===a.x1&&k.y===a.y1||k.x===a.x2&&k.y===a.y2||k.equals(d)||k.equals(j)?!0:!1)||c))k.equals(h[h.length- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16003 1])||h.push(k.clone()),!(0===o&&k.equals(d))&&!k.equals(j)&&(i=!0,k.equals(d)||g.push(k),e.push(new OpenLayers.Geometry.LineString(g)),g=[k.clone()]);i&&(g.push(j.clone()),e.push(new OpenLayers.Geometry.LineString(g)));if(0<h.length)var q=a.x1<a.x2?1:-1,r=a.y1<a.y2?1:-1,n={lines:e,points:h.sort(function(a,b){return q*a.x-q*b.x||r*a.y-r*b.y})};return n},split:function(a,b){var c=null,d=b&&b.mutual,e,f,g,h;if(a instanceof OpenLayers.Geometry.LineString){var i=this.getVertices(),j,k,l,m,n,o=[];g=[]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16004 for(var p=0,q=i.length-2;p<=q;++p){j=i[p];k=i[p+1];l={x1:j.x,y1:j.y,x2:k.x,y2:k.y};h=h||[a];d&&o.push(j.clone());for(var r=0;r<h.length;++r)if(m=h[r].splitWithSegment(l,b))if(n=m.lines,0<n.length&&(n.unshift(r,1),Array.prototype.splice.apply(h,n),r+=n.length-2),d)for(var s=0,t=m.points.length;s<t;++s)n=m.points[s],n.equals(j)||(o.push(n),g.push(new OpenLayers.Geometry.LineString(o)),o=n.equals(k)?[]:[n.clone()])}d&&(0<g.length&&0<o.length)&&(o.push(k.clone()),g.push(new OpenLayers.Geometry.LineString(o)))}else c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16005 a.splitWith(this,b);h&&1<h.length?f=!0:h=[];g&&1<g.length?e=!0:g=[];if(f||e)c=d?[g,h]:h;return c},splitWith:function(a,b){return a.split(this,b)},getVertices:function(a){return!0===a?[this.components[0],this.components[this.components.length-1]]:!1===a?this.components.slice(1,this.components.length-1):this.components.slice()},distanceTo:function(a,b){var c=!(b&&!1===b.edge)&&b&&b.details,d,e={},f=Number.POSITIVE_INFINITY;if(a instanceof OpenLayers.Geometry.Point){for(var g=this.getSortedSegments(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16006 h=a.x,i=a.y,j,k=0,l=g.length;k<l;++k)if(j=g[k],d=OpenLayers.Geometry.distanceToSegment(a,j),d.distance<f){if(f=d.distance,e=d,0===f)break}else if(j.x2>h&&(i>j.y1&&i<j.y2||i<j.y1&&i>j.y2))break;e=c?{distance:e.distance,x0:e.x,y0:e.y,x1:h,y1:i}:e.distance}else if(a instanceof OpenLayers.Geometry.LineString){var g=this.getSortedSegments(),h=a.getSortedSegments(),m,n,o=h.length,p={point:!0},k=0,l=g.length;a:for(;k<l;++k){i=g[k];j=i.x1;n=i.y1;for(var q=0;q<o;++q)if(d=h[q],m=OpenLayers.Geometry.segmentsIntersect(i, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16007 d,p)){f=0;e={distance:0,x0:m.x,y0:m.y,x1:m.x,y1:m.y};break a}else d=OpenLayers.Geometry.distanceToSegment({x:j,y:n},d),d.distance<f&&(f=d.distance,e={distance:f,x0:j,y0:n,x1:d.x,y1:d.y})}c||(e=e.distance);0!==f&&i&&(d=a.distanceTo(new OpenLayers.Geometry.Point(i.x2,i.y2),b),k=c?d.distance:d,k<f&&(e=c?{distance:f,x0:d.x1,y0:d.y1,x1:d.x0,y1:d.y0}:k))}else e=a.distanceTo(this,b),c&&(e={distance:e.distance,x0:e.x1,y0:e.y1,x1:e.x0,y1:e.y0});return e},simplify:function(a){if(this&&null!==this){var b=this.getVertices(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16008 if(3>b.length)return this;var c=function(a,b,d,i){for(var j=0,k=0,l=b,m;l<d;l++){m=a[b];var n=a[d],o=a[l],o=Math.abs(0.5*(m.x*n.y+n.x*o.y+o.x*m.y-n.x*m.y-o.x*n.y-m.x*o.y));m=Math.sqrt(Math.pow(m.x-n.x,2)+Math.pow(m.y-n.y,2));m=2*(o/m);m>j&&(j=m,k=l)}j>i&&k!=b&&(e.push(k),c(a,b,k,i),c(a,k,d,i))},d=b.length-1,e=[];e.push(0);for(e.push(d);b[0].equals(b[d]);)d--,e.push(d);c(b,0,d,a);a=[];e.sort(function(a,b){return a-b});for(d=0;d<e.length;d++)a.push(b[e[d]]);return new OpenLayers.Geometry.LineString(a)}return this}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16009 CLASS_NAME:"OpenLayers.Geometry.LineString"});OpenLayers.Geometry.MultiLineString=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LineString"],split:function(a,b){for(var c=null,d=b&&b.mutual,e,f,g,h,i=[],j=[a],k=0,l=this.components.length;k<l;++k){f=this.components[k];g=!1;for(var m=0;m<j.length;++m)if(e=f.split(j[m],b)){if(d){g=e[0];for(var n=0,o=g.length;n<o;++n)0===n&&i.length?i[i.length-1].addComponent(g[n]):i.push(new OpenLayers.Geometry.MultiLineString([g[n]]));g=!0;e=e[1]}if(e.length){e.unshift(m, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16010 1);Array.prototype.splice.apply(j,e);break}}g||(i.length?i[i.length-1].addComponent(f.clone()):i=[new OpenLayers.Geometry.MultiLineString(f.clone())])}i&&1<i.length?g=!0:i=[];j&&1<j.length?h=!0:j=[];if(g||h)c=d?[i,j]:j;return c},splitWith:function(a,b){var c=null,d=b&&b.mutual,e,f,g,h,i,j;if(a instanceof OpenLayers.Geometry.LineString){j=[];i=[a];for(var k=0,l=this.components.length;k<l;++k){g=!1;f=this.components[k];for(var m=0;m<i.length;++m)if(e=i[m].split(f,b)){d&&(g=e[0],g.length&&(g.unshift(m, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16011 1),Array.prototype.splice.apply(i,g),m+=g.length-2),e=e[1],0===e.length&&(e=[f.clone()]));g=0;for(var n=e.length;g<n;++g)0===g&&j.length?j[j.length-1].addComponent(e[g]):j.push(new OpenLayers.Geometry.MultiLineString([e[g]]));g=!0}g||(j.length?j[j.length-1].addComponent(f.clone()):j=[new OpenLayers.Geometry.MultiLineString([f.clone()])])}}else c=a.split(this);i&&1<i.length?h=!0:i=[];j&&1<j.length?g=!0:j=[];if(h||g)c=d?[i,j]:j;return c},CLASS_NAME:"OpenLayers.Geometry.MultiLineString"});OpenLayers.Geometry.LinearRing=OpenLayers.Class(OpenLayers.Geometry.LineString,{componentTypes:["OpenLayers.Geometry.Point"],addComponent:function(a,b){var c=!1,d=this.components.pop();if(null!=b||!a.equals(d))c=OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,arguments);OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[this.components[0]]);return c},removeComponent:function(a){var b=this.components&&3<this.components.length;b&&(this.components.pop(),OpenLayers.Geometry.Collection.prototype.removeComponent.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16012 arguments),OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,[this.components[0]]));return b},move:function(a,b){for(var c=0,d=this.components.length;c<d-1;c++)this.components[c].move(a,b)},rotate:function(a,b){for(var c=0,d=this.components.length;c<d-1;++c)this.components[c].rotate(a,b)},resize:function(a,b,c){for(var d=0,e=this.components.length;d<e-1;++d)this.components[d].resize(a,b,c);return this},transform:function(a,b){if(a&&b){for(var c=0,d=this.components.length;c<d-1;c++)this.components[c].transform(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16013 b);this.bounds=null}return this},getCentroid:function(){if(this.components&&2<this.components.length){for(var a=0,b=0,c=0;c<this.components.length-1;c++)var d=this.components[c],e=this.components[c+1],a=a+(d.x+e.x)*(d.x*e.y-e.x*d.y),b=b+(d.y+e.y)*(d.x*e.y-e.x*d.y);c=-1*this.getArea();return new OpenLayers.Geometry.Point(a/(6*c),b/(6*c))}return null},getArea:function(){var a=0;if(this.components&&2<this.components.length){for(var b=a=0,c=this.components.length;b<c-1;b++)var d=this.components[b],e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16014 this.components[b+1],a=a+(d.x+e.x)*(e.y-d.y);a=-a/2}return a},getGeodesicArea:function(a){var b=this;if(a){var c=new OpenLayers.Projection("EPSG:4326");c.equals(a)||(b=this.clone().transform(a,c))}a=0;c=b.components&&b.components.length;if(2<c){for(var d,e,f=0;f<c-1;f++)d=b.components[f],e=b.components[f+1],a+=OpenLayers.Util.rad(e.x-d.x)*(2+Math.sin(OpenLayers.Util.rad(d.y))+Math.sin(OpenLayers.Util.rad(e.y)));a=40680631590769*a/2}return a},containsPoint:function(a){for(var b=OpenLayers.Number.limitSigDigs, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16015 c=b(a.x,14),a=b(a.y,14),d=this.components.length-1,e,f,g,h,i,j=0,k=0;k<d;++k)if(e=this.components[k],g=b(e.x,14),e=b(e.y,14),f=this.components[k+1],h=b(f.x,14),f=b(f.y,14),e==f){if(a==e&&(g<=h&&c>=g&&c<=h||g>=h&&c<=g&&c>=h)){j=-1;break}}else{i=b((a-f)*((h-g)/(f-e))+h,14);if(i==c&&(e<f&&a>=e&&a<=f||e>f&&a<=e&&a>=f)){j=-1;break}i<=c||g!=h&&(i<Math.min(g,h)||i>Math.max(g,h))||(e<f&&a>=e&&a<f||e>f&&a<e&&a>=f)&&++j}return-1==j?1:!!(j&1)},intersects:function(a){var b=!1;if("OpenLayers.Geometry.Point"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16016 a.CLASS_NAME)b=this.containsPoint(a);else if("OpenLayers.Geometry.LineString"==a.CLASS_NAME)b=a.intersects(this);else if("OpenLayers.Geometry.LinearRing"==a.CLASS_NAME)b=OpenLayers.Geometry.LineString.prototype.intersects.apply(this,[a]);else for(var c=0,d=a.components.length;c<d&&!(b=a.components[c].intersects(this));++c);return b},getVertices:function(a){return!0===a?[]:this.components.slice(0,this.components.length-1)},CLASS_NAME:"OpenLayers.Geometry.LinearRing"});OpenLayers.Geometry.Polygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.LinearRing"],getArea:function(){var a=0;if(this.components&&0<this.components.length)for(var a=a+Math.abs(this.components[0].getArea()),b=1,c=this.components.length;b<c;b++)a-=Math.abs(this.components[b].getArea());return a},getGeodesicArea:function(a){var b=0;if(this.components&&0<this.components.length)for(var b=b+Math.abs(this.components[0].getGeodesicArea(a)),c=1,d=this.components.length;c< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16017 d;c++)b-=Math.abs(this.components[c].getGeodesicArea(a));return b},containsPoint:function(a){var b=this.components.length,c=!1;if(0<b&&(c=this.components[0].containsPoint(a),1!==c&&c&&1<b))for(var d,e=1;e<b;++e)if(d=this.components[e].containsPoint(a)){c=1===d?1:!1;break}return c},intersects:function(a){var b=!1,c,d;if("OpenLayers.Geometry.Point"==a.CLASS_NAME)b=this.containsPoint(a);else if("OpenLayers.Geometry.LineString"==a.CLASS_NAME||"OpenLayers.Geometry.LinearRing"==a.CLASS_NAME){c=0;for(d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16018 this.components.length;c<d&&!(b=a.intersects(this.components[c]));++c);if(!b){c=0;for(d=a.components.length;c<d&&!(b=this.containsPoint(a.components[c]));++c);}}else{c=0;for(d=a.components.length;c<d&&!(b=this.intersects(a.components[c]));++c);}if(!b&&"OpenLayers.Geometry.Polygon"==a.CLASS_NAME){var e=this.components[0];c=0;for(d=e.components.length;c<d&&!(b=a.containsPoint(e.components[c]));++c);}return b},distanceTo:function(a,b){return b&&!1===b.edge&&this.intersects(a)?0:OpenLayers.Geometry.Collection.prototype.distanceTo.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16019 [a,b])},CLASS_NAME:"OpenLayers.Geometry.Polygon"});OpenLayers.Geometry.Polygon.createRegularPolygon=function(a,b,c,d){var e=Math.PI*(1/c-0.5);d&&(e+=d/180*Math.PI);for(var f,g=[],h=0;h<c;++h)f=e+2*h*Math.PI/c,d=a.x+b*Math.cos(f),f=a.y+b*Math.sin(f),g.push(new OpenLayers.Geometry.Point(d,f));a=new OpenLayers.Geometry.LinearRing(g);return new OpenLayers.Geometry.Polygon([a])};OpenLayers.Geometry.MultiPolygon=OpenLayers.Class(OpenLayers.Geometry.Collection,{componentTypes:["OpenLayers.Geometry.Polygon"],CLASS_NAME:"OpenLayers.Geometry.MultiPolygon"});OpenLayers.Format.GML=OpenLayers.Class(OpenLayers.Format.XML,{featureNS:"http://mapserver.gis.umn.edu/mapserver",featurePrefix:"feature",featureName:"featureMember",layerName:"features",geometryName:"geometry",collectionName:"FeatureCollection",gmlns:"http://www.opengis.net/gml",extractAttributes:!0,xy:!0,initialize:function(a){this.regExes={trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g};OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){"string"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16020 typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));for(var a=this.getElementsByTagNameNS(a.documentElement,this.gmlns,this.featureName),b=[],c=0;c<a.length;c++){var d=this.parseFeature(a[c]);d&&b.push(d)}return b},parseFeature:function(a){for(var b="MultiPolygon Polygon MultiLineString LineString MultiPoint Point Envelope".split(" "),c,d,e,f=0;f<b.length;++f)if(c=b[f],d=this.getElementsByTagNameNS(a,this.gmlns,c),0<d.length){if(e=this.parseGeometry[c.toLowerCase()])e=e.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16021 [d[0]]),this.internalProjection&&this.externalProjection&&e.transform(this.externalProjection,this.internalProjection);else throw new TypeError("Unsupported geometry type: "+c);break}var g;c=this.getElementsByTagNameNS(a,this.gmlns,"Box");for(f=0;f<c.length;++f)b=c[f],d=this.parseGeometry.box.apply(this,[b]),b=b.parentNode,"boundedBy"===(b.localName||b.nodeName.split(":").pop())?g=d:e=d.toGeometry();var h;this.extractAttributes&&(h=this.parseAttributes(a));h=new OpenLayers.Feature.Vector(e,h);h.bounds= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16022 g;h.gml={featureType:a.firstChild.nodeName.split(":")[1],featureNS:a.firstChild.namespaceURI,featureNSPrefix:a.firstChild.prefix};for(var a=a.firstChild,i;a&&!(1==a.nodeType&&(i=a.getAttribute("fid")||a.getAttribute("id")));)a=a.nextSibling;h.fid=i;return h},parseGeometry:{point:function(a){var b,c;c=[];b=this.getElementsByTagNameNS(a,this.gmlns,"pos");0<b.length&&(c=b[0].firstChild.nodeValue,c=c.replace(this.regExes.trimSpace,""),c=c.split(this.regExes.splitSpace));0==c.length&&(b=this.getElementsByTagNameNS(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16023 this.gmlns,"coordinates"),0<b.length&&(c=b[0].firstChild.nodeValue,c=c.replace(this.regExes.removeSpace,""),c=c.split(",")));0==c.length&&(b=this.getElementsByTagNameNS(a,this.gmlns,"coord"),0<b.length&&(a=this.getElementsByTagNameNS(b[0],this.gmlns,"X"),b=this.getElementsByTagNameNS(b[0],this.gmlns,"Y"),0<a.length&&0<b.length&&(c=[a[0].firstChild.nodeValue,b[0].firstChild.nodeValue])));2==c.length&&(c[2]=null);return this.xy?new OpenLayers.Geometry.Point(c[0],c[1],c[2]):new OpenLayers.Geometry.Point(c[1], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16024 c[0],c[2])},multipoint:function(a){var a=this.getElementsByTagNameNS(a,this.gmlns,"Point"),b=[];if(0<a.length)for(var c,d=0;d<a.length;++d)(c=this.parseGeometry.point.apply(this,[a[d]]))&&b.push(c);return new OpenLayers.Geometry.MultiPoint(b)},linestring:function(a,b){var c,d;d=[];var e=[];c=this.getElementsByTagNameNS(a,this.gmlns,"posList");if(0<c.length){d=this.getChildValue(c[0]);d=d.replace(this.regExes.trimSpace,"");d=d.split(this.regExes.splitSpace);var f=parseInt(c[0].getAttribute("dimension")), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16025 g,h,i;for(c=0;c<d.length/f;++c)g=c*f,h=d[g],i=d[g+1],g=2==f?null:d[g+2],this.xy?e.push(new OpenLayers.Geometry.Point(h,i,g)):e.push(new OpenLayers.Geometry.Point(i,h,g))}if(0==d.length&&(c=this.getElementsByTagNameNS(a,this.gmlns,"coordinates"),0<c.length)){d=this.getChildValue(c[0]);d=d.replace(this.regExes.trimSpace,"");d=d.replace(this.regExes.trimComma,",");f=d.split(this.regExes.splitSpace);for(c=0;c<f.length;++c)d=f[c].split(","),2==d.length&&(d[2]=null),this.xy?e.push(new OpenLayers.Geometry.Point(d[0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16026 d[1],d[2])):e.push(new OpenLayers.Geometry.Point(d[1],d[0],d[2]))}d=null;0!=e.length&&(d=b?new OpenLayers.Geometry.LinearRing(e):new OpenLayers.Geometry.LineString(e));return d},multilinestring:function(a){var a=this.getElementsByTagNameNS(a,this.gmlns,"LineString"),b=[];if(0<a.length)for(var c,d=0;d<a.length;++d)(c=this.parseGeometry.linestring.apply(this,[a[d]]))&&b.push(c);return new OpenLayers.Geometry.MultiLineString(b)},polygon:function(a){var a=this.getElementsByTagNameNS(a,this.gmlns,"LinearRing"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16027 b=[];if(0<a.length)for(var c,d=0;d<a.length;++d)(c=this.parseGeometry.linestring.apply(this,[a[d],!0]))&&b.push(c);return new OpenLayers.Geometry.Polygon(b)},multipolygon:function(a){var a=this.getElementsByTagNameNS(a,this.gmlns,"Polygon"),b=[];if(0<a.length)for(var c,d=0;d<a.length;++d)(c=this.parseGeometry.polygon.apply(this,[a[d]]))&&b.push(c);return new OpenLayers.Geometry.MultiPolygon(b)},envelope:function(a){var b=[],c,d,e=this.getElementsByTagNameNS(a,this.gmlns,"lowerCorner");if(0<e.length){c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16028 [];0<e.length&&(c=e[0].firstChild.nodeValue,c=c.replace(this.regExes.trimSpace,""),c=c.split(this.regExes.splitSpace));2==c.length&&(c[2]=null);var f=this.xy?new OpenLayers.Geometry.Point(c[0],c[1],c[2]):new OpenLayers.Geometry.Point(c[1],c[0],c[2])}a=this.getElementsByTagNameNS(a,this.gmlns,"upperCorner");if(0<a.length){c=[];0<a.length&&(c=a[0].firstChild.nodeValue,c=c.replace(this.regExes.trimSpace,""),c=c.split(this.regExes.splitSpace));2==c.length&&(c[2]=null);var g=this.xy?new OpenLayers.Geometry.Point(c[0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16029 c[1],c[2]):new OpenLayers.Geometry.Point(c[1],c[0],c[2])}f&&g&&(b.push(new OpenLayers.Geometry.Point(f.x,f.y)),b.push(new OpenLayers.Geometry.Point(g.x,f.y)),b.push(new OpenLayers.Geometry.Point(g.x,g.y)),b.push(new OpenLayers.Geometry.Point(f.x,g.y)),b.push(new OpenLayers.Geometry.Point(f.x,f.y)),b=new OpenLayers.Geometry.LinearRing(b),d=new OpenLayers.Geometry.Polygon([b]));return d},box:function(a){var b=this.getElementsByTagNameNS(a,this.gmlns,"coordinates"),c=a=null;0<b.length&&(b=b[0].firstChild.nodeValue, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16030 b=b.split(" "),2==b.length&&(a=b[0].split(","),c=b[1].split(",")));if(null!==a&&null!==c)return new OpenLayers.Bounds(parseFloat(a[0]),parseFloat(a[1]),parseFloat(c[0]),parseFloat(c[1]))}},parseAttributes:function(a){for(var b={},a=a.firstChild,c,d,e;a;){if(1==a.nodeType){a=a.childNodes;for(c=0;c<a.length;++c)if(d=a[c],1==d.nodeType)if(e=d.childNodes,1==e.length){if(e=e[0],3==e.nodeType||4==e.nodeType)d=d.prefix?d.nodeName.split(":")[1]:d.nodeName,e=e.nodeValue.replace(this.regExes.trimSpace,""), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16031 b[d]=e}else b[d.nodeName.split(":").pop()]=null;break}a=a.nextSibling}return b},write:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=this.createElementNS("http://www.opengis.net/wfs","wfs:"+this.collectionName),c=0;c<a.length;c++)b.appendChild(this.createFeatureXML(a[c]));return OpenLayers.Format.XML.prototype.write.apply(this,[b])},createFeatureXML:function(a){var b=this.buildGeometryNode(a.geometry),c=this.createElementNS(this.featureNS,this.featurePrefix+":"+this.geometryName);c.appendChild(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16032 var b=this.createElementNS(this.gmlns,"gml:"+this.featureName),d=this.createElementNS(this.featureNS,this.featurePrefix+":"+this.layerName);d.setAttribute("fid",a.fid||a.id);d.appendChild(c);for(var e in a.attributes){var c=this.createTextNode(a.attributes[e]),f=this.createElementNS(this.featureNS,this.featurePrefix+":"+e.substring(e.lastIndexOf(":")+1));f.appendChild(c);d.appendChild(f)}b.appendChild(d);return b},buildGeometryNode:function(a){this.externalProjection&&this.internalProjection&&(a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16033 a.clone(),a.transform(this.internalProjection,this.externalProjection));var b=a.CLASS_NAME;return this.buildGeometry[b.substring(b.lastIndexOf(".")+1).toLowerCase()].apply(this,[a])},buildGeometry:{point:function(a){var b=this.createElementNS(this.gmlns,"gml:Point");b.appendChild(this.buildCoordinatesNode(a));return b},multipoint:function(a){for(var b=this.createElementNS(this.gmlns,"gml:MultiPoint"),a=a.components,c,d,e=0;e<a.length;e++)c=this.createElementNS(this.gmlns,"gml:pointMember"),d=this.buildGeometry.point.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16034 [a[e]]),c.appendChild(d),b.appendChild(c);return b},linestring:function(a){var b=this.createElementNS(this.gmlns,"gml:LineString");b.appendChild(this.buildCoordinatesNode(a));return b},multilinestring:function(a){for(var b=this.createElementNS(this.gmlns,"gml:MultiLineString"),a=a.components,c,d,e=0;e<a.length;++e)c=this.createElementNS(this.gmlns,"gml:lineStringMember"),d=this.buildGeometry.linestring.apply(this,[a[e]]),c.appendChild(d),b.appendChild(c);return b},linearring:function(a){var b=this.createElementNS(this.gmlns, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16035 "gml:LinearRing");b.appendChild(this.buildCoordinatesNode(a));return b},polygon:function(a){for(var b=this.createElementNS(this.gmlns,"gml:Polygon"),a=a.components,c,d,e=0;e<a.length;++e)c=0==e?"outerBoundaryIs":"innerBoundaryIs",c=this.createElementNS(this.gmlns,"gml:"+c),d=this.buildGeometry.linearring.apply(this,[a[e]]),c.appendChild(d),b.appendChild(c);return b},multipolygon:function(a){for(var b=this.createElementNS(this.gmlns,"gml:MultiPolygon"),a=a.components,c,d,e=0;e<a.length;++e)c=this.createElementNS(this.gmlns, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16036 "gml:polygonMember"),d=this.buildGeometry.polygon.apply(this,[a[e]]),c.appendChild(d),b.appendChild(c);return b},bounds:function(a){var b=this.createElementNS(this.gmlns,"gml:Box");b.appendChild(this.buildCoordinatesNode(a));return b}},buildCoordinatesNode:function(a){var b=this.createElementNS(this.gmlns,"gml:coordinates");b.setAttribute("decimal",".");b.setAttribute("cs",",");b.setAttribute("ts"," ");var c=[];if(a instanceof OpenLayers.Bounds)c.push(a.left+","+a.bottom),c.push(a.right+","+a.top); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16037 else for(var a=a.components?a.components:[a],d=0;d<a.length;d++)c.push(a[d].x+","+a[d].y);c=this.createTextNode(c.join(" "));b.appendChild(c);return b},CLASS_NAME:"OpenLayers.Format.GML"});OpenLayers.Format.GML||(OpenLayers.Format.GML={}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16038 OpenLayers.Format.GML.Base=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",wfs:"http://www.opengis.net/wfs"},defaultPrefix:"gml",schemaLocation:null,featureType:null,featureNS:null,geometryName:"geometry",extractAttributes:!0,srsName:null,xy:!0,geometryTypes:null,singleFeatureType:null,regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g,featureMember:/^(.*:)?featureMembers?$/}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16039 initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);this.setGeometryTypes();a&&a.featureNS&&this.setNamespace("feature",a.featureNS);this.singleFeatureType=!a||typeof a.featureType==="string"},read:function(a){typeof a=="string"&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));if(a&&a.nodeType==9)a=a.documentElement;var b=[];this.readNode(a,{features:b},true);if(b.length==0){var c=this.getElementsByTagNameNS(a,this.namespaces.gml,"featureMember");if(c.length)for(var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16040 0,d=c.length;a<d;++a)this.readNode(c[a],{features:b},true);else{c=this.getElementsByTagNameNS(a,this.namespaces.gml,"featureMembers");c.length&&this.readNode(c[0],{features:b},true)}}return b},readNode:function(a,b,c){if(c===true&&this.autoConfig===true){this.featureType=null;delete this.namespaceAlias[this.featureNS];delete this.namespaces.feature;this.featureNS=null}if(!this.featureNS&&!(a.prefix in this.namespaces)&&a.parentNode.namespaceURI==this.namespaces.gml&&this.regExes.featureMember.test(a.parentNode.nodeName)){this.featureType= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16041 a.nodeName.split(":").pop();this.setNamespace("feature",a.namespaceURI);this.featureNS=a.namespaceURI;this.autoConfig=true}return OpenLayers.Format.XML.prototype.readNode.apply(this,[a,b])},readers:{gml:{featureMember:function(a,b){this.readChildNodes(a,b)},featureMembers:function(a,b){this.readChildNodes(a,b)},name:function(a,b){b.name=this.getChildValue(a)},boundedBy:function(a,b){var c={};this.readChildNodes(a,c);if(c.components&&c.components.length>0)b.bounds=c.components[0]},Point:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16042 b){var c={points:[]};this.readChildNodes(a,c);if(!b.components)b.components=[];b.components.push(c.points[0])},coordinates:function(a,b){for(var c=this.getChildValue(a).replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),c=c.split(this.regExes.splitSpace),d,e=c.length,f=Array(e),g=0;g<e;++g){d=c[g].split(",");f[g]=this.xy?new OpenLayers.Geometry.Point(d[0],d[1],d[2]):new OpenLayers.Geometry.Point(d[1],d[0],d[2])}b.points=f},coord:function(a,b){var c={};this.readChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16043 c);if(!b.points)b.points=[];b.points.push(new OpenLayers.Geometry.Point(c.x,c.y,c.z))},X:function(a,b){b.x=this.getChildValue(a)},Y:function(a,b){b.y=this.getChildValue(a)},Z:function(a,b){b.z=this.getChildValue(a)},MultiPoint:function(a,b){var c={components:[]};this.readChildNodes(a,c);b.components=[new OpenLayers.Geometry.MultiPoint(c.components)]},pointMember:function(a,b){this.readChildNodes(a,b)},LineString:function(a,b){var c={};this.readChildNodes(a,c);if(!b.components)b.components=[];b.components.push(new OpenLayers.Geometry.LineString(c.points))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16044 MultiLineString:function(a,b){var c={components:[]};this.readChildNodes(a,c);b.components=[new OpenLayers.Geometry.MultiLineString(c.components)]},lineStringMember:function(a,b){this.readChildNodes(a,b)},Polygon:function(a,b){var c={outer:null,inner:[]};this.readChildNodes(a,c);c.inner.unshift(c.outer);if(!b.components)b.components=[];b.components.push(new OpenLayers.Geometry.Polygon(c.inner))},LinearRing:function(a,b){var c={};this.readChildNodes(a,c);b.components=[new OpenLayers.Geometry.LinearRing(c.points)]}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16045 MultiPolygon:function(a,b){var c={components:[]};this.readChildNodes(a,c);b.components=[new OpenLayers.Geometry.MultiPolygon(c.components)]},polygonMember:function(a,b){this.readChildNodes(a,b)},GeometryCollection:function(a,b){var c={components:[]};this.readChildNodes(a,c);b.components=[new OpenLayers.Geometry.Collection(c.components)]},geometryMember:function(a,b){this.readChildNodes(a,b)}},feature:{"*":function(a,b){var c,d=a.localName||a.nodeName.split(":").pop();b.features?!this.singleFeatureType&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16046 OpenLayers.Util.indexOf(this.featureType,d)!==-1?c="_typeName":d===this.featureType&&(c="_typeName"):a.childNodes.length==0||a.childNodes.length==1&&a.firstChild.nodeType==3?this.extractAttributes&&(c="_attribute"):c="_geometry";c&&this.readers.feature[c].apply(this,[a,b])},_typeName:function(a,b){var c={components:[],attributes:{}};this.readChildNodes(a,c);if(c.name)c.attributes.name=c.name;var d=new OpenLayers.Feature.Vector(c.components[0],c.attributes);if(!this.singleFeatureType){d.type=a.nodeName.split(":").pop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16047 d.namespace=a.namespaceURI}var e=a.getAttribute("fid")||this.getAttributeNS(a,this.namespaces.gml,"id");if(e)d.fid=e;this.internalProjection&&(this.externalProjection&&d.geometry)&&d.geometry.transform(this.externalProjection,this.internalProjection);if(c.bounds)d.bounds=c.bounds;b.features.push(d)},_geometry:function(a,b){if(!this.geometryName)this.geometryName=a.nodeName.split(":").pop();this.readChildNodes(a,b)},_attribute:function(a,b){var c=a.localName||a.nodeName.split(":").pop(),d=this.getChildValue(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16048 b.attributes[c]=d}},wfs:{FeatureCollection:function(a,b){this.readChildNodes(a,b)}}},write:function(a){a=this.writeNode("gml:"+(OpenLayers.Util.isArray(a)?"featureMembers":"featureMember"),a);this.setAttributeNS(a,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{gml:{featureMember:function(a){var b=this.createElementNSPlus("gml:featureMember");this.writeNode("feature:_typeName",a,b);return b},MultiPoint:function(a){for(var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16049 this.createElementNSPlus("gml:MultiPoint"),a=a.components||[a],c=0,d=a.length;c<d;++c)this.writeNode("pointMember",a[c],b);return b},pointMember:function(a){var b=this.createElementNSPlus("gml:pointMember");this.writeNode("Point",a,b);return b},MultiLineString:function(a){for(var b=this.createElementNSPlus("gml:MultiLineString"),a=a.components||[a],c=0,d=a.length;c<d;++c)this.writeNode("lineStringMember",a[c],b);return b},lineStringMember:function(a){var b=this.createElementNSPlus("gml:lineStringMember"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16050 this.writeNode("LineString",a,b);return b},MultiPolygon:function(a){for(var b=this.createElementNSPlus("gml:MultiPolygon"),a=a.components||[a],c=0,d=a.length;c<d;++c)this.writeNode("polygonMember",a[c],b);return b},polygonMember:function(a){var b=this.createElementNSPlus("gml:polygonMember");this.writeNode("Polygon",a,b);return b},GeometryCollection:function(a){for(var b=this.createElementNSPlus("gml:GeometryCollection"),c=0,d=a.components.length;c<d;++c)this.writeNode("geometryMember",a.components[c], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16051 b);return b},geometryMember:function(a){var b=this.createElementNSPlus("gml:geometryMember"),a=this.writeNode("feature:_geometry",a);b.appendChild(a.firstChild);return b}},feature:{_typeName:function(a){var b=this.createElementNSPlus("feature:"+this.featureType,{attributes:{fid:a.fid}});a.geometry&&this.writeNode("feature:_geometry",a.geometry,b);for(var c in a.attributes){var d=a.attributes[c];d!=null&&this.writeNode("feature:_attribute",{name:c,value:d},b)}return b},_geometry:function(a){this.externalProjection&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16052 this.internalProjection&&(a=a.clone().transform(this.internalProjection,this.externalProjection));var b=this.createElementNSPlus("feature:"+this.geometryName),a=this.writeNode("gml:"+this.geometryTypes[a.CLASS_NAME],a,b);this.srsName&&a.setAttribute("srsName",this.srsName);return b},_attribute:function(a){return this.createElementNSPlus("feature:"+a.name,{value:a.value})}},wfs:{FeatureCollection:function(a){for(var b=this.createElementNSPlus("wfs:FeatureCollection"),c=0,d=a.length;c<d;++c)this.writeNode("gml:featureMember", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16053 a[c],b);return b}}},setGeometryTypes:function(){this.geometryTypes={"OpenLayers.Geometry.Point":"Point","OpenLayers.Geometry.MultiPoint":"MultiPoint","OpenLayers.Geometry.LineString":"LineString","OpenLayers.Geometry.MultiLineString":"MultiLineString","OpenLayers.Geometry.Polygon":"Polygon","OpenLayers.Geometry.MultiPolygon":"MultiPolygon","OpenLayers.Geometry.Collection":"GeometryCollection"}},CLASS_NAME:"OpenLayers.Format.GML.Base"});OpenLayers.Format.GML.v3=OpenLayers.Class(OpenLayers.Format.GML.Base,{schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd",curve:!1,multiCurve:!0,surface:!1,multiSurface:!0,initialize:function(a){OpenLayers.Format.GML.Base.prototype.initialize.apply(this,[a])},readers:{gml:OpenLayers.Util.applyDefaults({featureMembers:function(a,b){this.readChildNodes(a,b)},Curve:function(a,b){var c={points:[]};this.readChildNodes(a,c);b.components|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16054 (b.components=[]);b.components.push(new OpenLayers.Geometry.LineString(c.points))},segments:function(a,b){this.readChildNodes(a,b)},LineStringSegment:function(a,b){var c={};this.readChildNodes(a,c);c.points&&Array.prototype.push.apply(b.points,c.points)},pos:function(a,b){var c=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(this.regExes.splitSpace),c=this.xy?new OpenLayers.Geometry.Point(c[0],c[1],c[2]):new OpenLayers.Geometry.Point(c[1],c[0],c[2]);b.points=[c]},posList:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16055 b){for(var c=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(this.regExes.splitSpace),d=parseInt(a.getAttribute("dimension"))||2,e,f,g,h=Array(c.length/d),i=0,j=c.length;i<j;i+=d)e=c[i],f=c[i+1],g=2==d?void 0:c[i+2],h[i/d]=this.xy?new OpenLayers.Geometry.Point(e,f,g):new OpenLayers.Geometry.Point(f,e,g);b.points=h},Surface:function(a,b){this.readChildNodes(a,b)},patches:function(a,b){this.readChildNodes(a,b)},PolygonPatch:function(a,b){this.readers.gml.Polygon.apply(this,[a,b])},exterior:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16056 b){var c={};this.readChildNodes(a,c);b.outer=c.components[0]},interior:function(a,b){var c={};this.readChildNodes(a,c);b.inner.push(c.components[0])},MultiCurve:function(a,b){var c={components:[]};this.readChildNodes(a,c);0<c.components.length&&(b.components=[new OpenLayers.Geometry.MultiLineString(c.components)])},curveMember:function(a,b){this.readChildNodes(a,b)},MultiSurface:function(a,b){var c={components:[]};this.readChildNodes(a,c);0<c.components.length&&(b.components=[new OpenLayers.Geometry.MultiPolygon(c.components)])}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16057 surfaceMember:function(a,b){this.readChildNodes(a,b)},surfaceMembers:function(a,b){this.readChildNodes(a,b)},pointMembers:function(a,b){this.readChildNodes(a,b)},lineStringMembers:function(a,b){this.readChildNodes(a,b)},polygonMembers:function(a,b){this.readChildNodes(a,b)},geometryMembers:function(a,b){this.readChildNodes(a,b)},Envelope:function(a,b){var c={points:Array(2)};this.readChildNodes(a,c);b.components||(b.components=[]);var d=c.points[0],c=c.points[1];b.components.push(new OpenLayers.Bounds(d.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16058 d.y,c.x,c.y))},lowerCorner:function(a,b){var c={};this.readers.gml.pos.apply(this,[a,c]);b.points[0]=c.points[0]},upperCorner:function(a,b){var c={};this.readers.gml.pos.apply(this,[a,c]);b.points[1]=c.points[0]}},OpenLayers.Format.GML.Base.prototype.readers.gml),feature:OpenLayers.Format.GML.Base.prototype.readers.feature,wfs:OpenLayers.Format.GML.Base.prototype.readers.wfs},write:function(a){a=this.writeNode("gml:"+(OpenLayers.Util.isArray(a)?"featureMembers":"featureMember"),a);this.setAttributeNS(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16059 this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{gml:OpenLayers.Util.applyDefaults({featureMembers:function(a){for(var b=this.createElementNSPlus("gml:featureMembers"),c=0,d=a.length;c<d;++c)this.writeNode("feature:_typeName",a[c],b);return b},Point:function(a){var b=this.createElementNSPlus("gml:Point");this.writeNode("pos",a,b);return b},pos:function(a){return this.createElementNSPlus("gml:pos",{value:this.xy?a.x+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16060 " "+a.y:a.y+" "+a.x})},LineString:function(a){var b=this.createElementNSPlus("gml:LineString");this.writeNode("posList",a.components,b);return b},Curve:function(a){var b=this.createElementNSPlus("gml:Curve");this.writeNode("segments",a,b);return b},segments:function(a){var b=this.createElementNSPlus("gml:segments");this.writeNode("LineStringSegment",a,b);return b},LineStringSegment:function(a){var b=this.createElementNSPlus("gml:LineStringSegment");this.writeNode("posList",a.components,b);return b}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16061 posList:function(a){for(var b=a.length,c=Array(b),d,e=0;e<b;++e)d=a[e],c[e]=this.xy?d.x+" "+d.y:d.y+" "+d.x;return this.createElementNSPlus("gml:posList",{value:c.join(" ")})},Surface:function(a){var b=this.createElementNSPlus("gml:Surface");this.writeNode("patches",a,b);return b},patches:function(a){var b=this.createElementNSPlus("gml:patches");this.writeNode("PolygonPatch",a,b);return b},PolygonPatch:function(a){var b=this.createElementNSPlus("gml:PolygonPatch",{attributes:{interpolation:"planar"}}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16062 this.writeNode("exterior",a.components[0],b);for(var c=1,d=a.components.length;c<d;++c)this.writeNode("interior",a.components[c],b);return b},Polygon:function(a){var b=this.createElementNSPlus("gml:Polygon");this.writeNode("exterior",a.components[0],b);for(var c=1,d=a.components.length;c<d;++c)this.writeNode("interior",a.components[c],b);return b},exterior:function(a){var b=this.createElementNSPlus("gml:exterior");this.writeNode("LinearRing",a,b);return b},interior:function(a){var b=this.createElementNSPlus("gml:interior"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16063 this.writeNode("LinearRing",a,b);return b},LinearRing:function(a){var b=this.createElementNSPlus("gml:LinearRing");this.writeNode("posList",a.components,b);return b},MultiCurve:function(a){for(var b=this.createElementNSPlus("gml:MultiCurve"),a=a.components||[a],c=0,d=a.length;c<d;++c)this.writeNode("curveMember",a[c],b);return b},curveMember:function(a){var b=this.createElementNSPlus("gml:curveMember");this.curve?this.writeNode("Curve",a,b):this.writeNode("LineString",a,b);return b},MultiSurface:function(a){for(var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16064 this.createElementNSPlus("gml:MultiSurface"),a=a.components||[a],c=0,d=a.length;c<d;++c)this.writeNode("surfaceMember",a[c],b);return b},surfaceMember:function(a){var b=this.createElementNSPlus("gml:surfaceMember");this.surface?this.writeNode("Surface",a,b):this.writeNode("Polygon",a,b);return b},Envelope:function(a){var b=this.createElementNSPlus("gml:Envelope");this.writeNode("lowerCorner",a,b);this.writeNode("upperCorner",a,b);this.srsName&&b.setAttribute("srsName",this.srsName);return b},lowerCorner:function(a){return this.createElementNSPlus("gml:lowerCorner", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16065 {value:this.xy?a.left+" "+a.bottom:a.bottom+" "+a.left})},upperCorner:function(a){return this.createElementNSPlus("gml:upperCorner",{value:this.xy?a.right+" "+a.top:a.top+" "+a.right})}},OpenLayers.Format.GML.Base.prototype.writers.gml),feature:OpenLayers.Format.GML.Base.prototype.writers.feature,wfs:OpenLayers.Format.GML.Base.prototype.writers.wfs},setGeometryTypes:function(){this.geometryTypes={"OpenLayers.Geometry.Point":"Point","OpenLayers.Geometry.MultiPoint":"MultiPoint","OpenLayers.Geometry.LineString":!0=== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16066 this.curve?"Curve":"LineString","OpenLayers.Geometry.MultiLineString":!1===this.multiCurve?"MultiLineString":"MultiCurve","OpenLayers.Geometry.Polygon":!0===this.surface?"Surface":"Polygon","OpenLayers.Geometry.MultiPolygon":!1===this.multiSurface?"MultiPolygon":"MultiSurface","OpenLayers.Geometry.Collection":"GeometryCollection"}},CLASS_NAME:"OpenLayers.Format.GML.v3"});OpenLayers.Format.Filter.v1_1_0=OpenLayers.Class(OpenLayers.Format.GML.v3,OpenLayers.Format.Filter.v1,{VERSION:"1.1.0",schemaLocation:"http://www.opengis.net/ogc/filter/1.1.0/filter.xsd",initialize:function(a){OpenLayers.Format.GML.v3.prototype.initialize.apply(this,[a])},readers:{ogc:OpenLayers.Util.applyDefaults({PropertyIsEqualTo:function(a,b){var c=a.getAttribute("matchCase"),c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,matchCase:!("false"===c||"0"===c)});this.readChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16067 c);b.filters.push(c)},PropertyIsNotEqualTo:function(a,b){var c=a.getAttribute("matchCase"),c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.NOT_EQUAL_TO,matchCase:!("false"===c||"0"===c)});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsLike:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LIKE});this.readChildNodes(a,c);var d=a.getAttribute("wildCard"),e=a.getAttribute("singleChar"),f=a.getAttribute("escapeChar");c.value2regex(d,e, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16068 f);b.filters.push(c)}},OpenLayers.Format.Filter.v1.prototype.readers.ogc),gml:OpenLayers.Format.GML.v3.prototype.readers.gml,feature:OpenLayers.Format.GML.v3.prototype.readers.feature},writers:{ogc:OpenLayers.Util.applyDefaults({PropertyIsEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsEqualTo",{attributes:{matchCase:a.matchCase}});this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsNotEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsNotEqualTo", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16069 {attributes:{matchCase:a.matchCase}});this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsLike:function(a){var b=this.createElementNSPlus("ogc:PropertyIsLike",{attributes:{matchCase:a.matchCase,wildCard:"*",singleChar:".",escapeChar:"!"}});this.writeNode("PropertyName",a,b);this.writeNode("Literal",a.regex2value(),b);return b},BBOX:function(a){var b=this.createElementNSPlus("ogc:BBOX");a.property&&this.writeNode("PropertyName",a,b);var c=this.writeNode("gml:Envelope", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16070 a.value);a.projection&&c.setAttribute("srsName",a.projection);b.appendChild(c);return b},SortBy:function(a){for(var b=this.createElementNSPlus("ogc:SortBy"),c=0,d=a.length;c<d;c++)this.writeNode("ogc:SortProperty",a[c],b);return b},SortProperty:function(a){var b=this.createElementNSPlus("ogc:SortProperty");this.writeNode("ogc:PropertyName",a,b);this.writeNode("ogc:SortOrder","DESC"==a.order?"DESC":"ASC",b);return b},SortOrder:function(a){return this.createElementNSPlus("ogc:SortOrder",{value:a})}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16071 OpenLayers.Format.Filter.v1.prototype.writers.ogc),gml:OpenLayers.Format.GML.v3.prototype.writers.gml,feature:OpenLayers.Format.GML.v3.prototype.writers.feature},writeSpatial:function(a,b){var c=this.createElementNSPlus("ogc:"+b);this.writeNode("PropertyName",a,c);if(a.value instanceof OpenLayers.Filter.Function)this.writeNode("Function",a.value,c);else{var d;d=a.value instanceof OpenLayers.Geometry?this.writeNode("feature:_geometry",a.value).firstChild:this.writeNode("gml:Envelope",a.value);a.projection&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16072 d.setAttribute("srsName",a.projection);c.appendChild(d)}return c},CLASS_NAME:"OpenLayers.Format.Filter.v1_1_0"});OpenLayers.Format.OWSCommon=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",getVersion:function(a){var b=this.version;b||((a=a.getAttribute("xmlns:ows"))&&"1.1"===a.substring(a.lastIndexOf("/")+1)&&(b="1.1.0"),b||(b=this.defaultVersion));return b},CLASS_NAME:"OpenLayers.Format.OWSCommon"});OpenLayers.Format.OWSCommon.v1=OpenLayers.Class(OpenLayers.Format.XML,{regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},read:function(a,b){OpenLayers.Util.applyDefaults(b,this.options);var c={};this.readChildNodes(a,c);return c},readers:{ows:{Exception:function(a,b){var c={code:a.getAttribute("exceptionCode"),locator:a.getAttribute("locator"),texts:[]};b.exceptions.push(c);this.readChildNodes(a,c)},ExceptionText:function(a,b){var c=this.getChildValue(a);b.texts.push(c)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16073 ServiceIdentification:function(a,b){b.serviceIdentification={};this.readChildNodes(a,b.serviceIdentification)},Title:function(a,b){b.title=this.getChildValue(a)},Abstract:function(a,b){b["abstract"]=this.getChildValue(a)},Keywords:function(a,b){b.keywords={};this.readChildNodes(a,b.keywords)},Keyword:function(a,b){b[this.getChildValue(a)]=!0},ServiceType:function(a,b){b.serviceType={codeSpace:a.getAttribute("codeSpace"),value:this.getChildValue(a)}},ServiceTypeVersion:function(a,b){b.serviceTypeVersion= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16074 this.getChildValue(a)},Fees:function(a,b){b.fees=this.getChildValue(a)},AccessConstraints:function(a,b){b.accessConstraints=this.getChildValue(a)},ServiceProvider:function(a,b){b.serviceProvider={};this.readChildNodes(a,b.serviceProvider)},ProviderName:function(a,b){b.providerName=this.getChildValue(a)},ProviderSite:function(a,b){b.providerSite=this.getAttributeNS(a,this.namespaces.xlink,"href")},ServiceContact:function(a,b){b.serviceContact={};this.readChildNodes(a,b.serviceContact)},IndividualName:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16075 b){b.individualName=this.getChildValue(a)},PositionName:function(a,b){b.positionName=this.getChildValue(a)},ContactInfo:function(a,b){b.contactInfo={};this.readChildNodes(a,b.contactInfo)},Phone:function(a,b){b.phone={};this.readChildNodes(a,b.phone)},Voice:function(a,b){b.voice=this.getChildValue(a)},Address:function(a,b){b.address={};this.readChildNodes(a,b.address)},DeliveryPoint:function(a,b){b.deliveryPoint=this.getChildValue(a)},City:function(a,b){b.city=this.getChildValue(a)},AdministrativeArea:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16076 b){b.administrativeArea=this.getChildValue(a)},PostalCode:function(a,b){b.postalCode=this.getChildValue(a)},Country:function(a,b){b.country=this.getChildValue(a)},ElectronicMailAddress:function(a,b){b.electronicMailAddress=this.getChildValue(a)},Role:function(a,b){b.role=this.getChildValue(a)},OperationsMetadata:function(a,b){b.operationsMetadata={};this.readChildNodes(a,b.operationsMetadata)},Operation:function(a,b){var c=a.getAttribute("name");b[c]={};this.readChildNodes(a,b[c])},DCP:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16077 b){b.dcp={};this.readChildNodes(a,b.dcp)},HTTP:function(a,b){b.http={};this.readChildNodes(a,b.http)},Get:function(a,b){b.get||(b.get=[]);var c={url:this.getAttributeNS(a,this.namespaces.xlink,"href")};this.readChildNodes(a,c);b.get.push(c)},Post:function(a,b){b.post||(b.post=[]);var c={url:this.getAttributeNS(a,this.namespaces.xlink,"href")};this.readChildNodes(a,c);b.post.push(c)},Parameter:function(a,b){b.parameters||(b.parameters={});var c=a.getAttribute("name");b.parameters[c]={};this.readChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16078 b.parameters[c])},Constraint:function(a,b){b.constraints||(b.constraints={});var c=a.getAttribute("name");b.constraints[c]={};this.readChildNodes(a,b.constraints[c])},Value:function(a,b){b[this.getChildValue(a)]=!0},OutputFormat:function(a,b){b.formats.push({value:this.getChildValue(a)});this.readChildNodes(a,b)},WGS84BoundingBox:function(a,b){var c={};c.crs=a.getAttribute("crs");b.BoundingBox?b.BoundingBox.push(c):(b.projection=c.crs,c=b);this.readChildNodes(a,c)},BoundingBox:function(a,b){this.readers.ows.WGS84BoundingBox.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16079 [a,b])},LowerCorner:function(a,b){var c=this.getChildValue(a).replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),c=c.split(this.regExes.splitSpace);b.left=c[0];b.bottom=c[1]},UpperCorner:function(a,b){var c=this.getChildValue(a).replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),c=c.split(this.regExes.splitSpace);b.right=c[0];b.top=c[1];b.bounds=new OpenLayers.Bounds(b.left,b.bottom,b.right,b.top);delete b.left;delete b.bottom;delete b.right;delete b.top}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16080 Language:function(a,b){b.language=this.getChildValue(a)}}},writers:{ows:{BoundingBox:function(a){var b=this.createElementNSPlus("ows:BoundingBox",{attributes:{crs:a.projection}});this.writeNode("ows:LowerCorner",a,b);this.writeNode("ows:UpperCorner",a,b);return b},LowerCorner:function(a){return this.createElementNSPlus("ows:LowerCorner",{value:a.bounds.left+" "+a.bounds.bottom})},UpperCorner:function(a){return this.createElementNSPlus("ows:UpperCorner",{value:a.bounds.right+" "+a.bounds.top})},Identifier:function(a){return this.createElementNSPlus("ows:Identifier", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16081 {value:a})},Title:function(a){return this.createElementNSPlus("ows:Title",{value:a})},Abstract:function(a){return this.createElementNSPlus("ows:Abstract",{value:a})},OutputFormat:function(a){return this.createElementNSPlus("ows:OutputFormat",{value:a})}}},CLASS_NAME:"OpenLayers.Format.OWSCommon.v1"});OpenLayers.Format.OWSCommon.v1_0_0=OpenLayers.Class(OpenLayers.Format.OWSCommon.v1,{namespaces:{ows:"http://www.opengis.net/ows",xlink:"http://www.w3.org/1999/xlink"},readers:{ows:OpenLayers.Util.applyDefaults({ExceptionReport:function(a,b){b.success=!1;b.exceptionReport={version:a.getAttribute("version"),language:a.getAttribute("language"),exceptions:[]};this.readChildNodes(a,b.exceptionReport)}},OpenLayers.Format.OWSCommon.v1.prototype.readers.ows)},writers:{ows:OpenLayers.Format.OWSCommon.v1.prototype.writers.ows}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16082 CLASS_NAME:"OpenLayers.Format.OWSCommon.v1_0_0"});OpenLayers.Format.WFST.v1_1_0=OpenLayers.Class(OpenLayers.Format.Filter.v1_1_0,OpenLayers.Format.WFST.v1,{version:"1.1.0",schemaLocations:{wfs:"http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"},initialize:function(a){OpenLayers.Format.Filter.v1_1_0.prototype.initialize.apply(this,[a]);OpenLayers.Format.WFST.v1.prototype.initialize.apply(this,[a])},readNode:function(a,b){return OpenLayers.Format.GML.v3.prototype.readNode.apply(this,[a,b])},readers:{wfs:OpenLayers.Util.applyDefaults({FeatureCollection:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16083 b){b.numberOfFeatures=parseInt(a.getAttribute("numberOfFeatures"));OpenLayers.Format.WFST.v1.prototype.readers.wfs.FeatureCollection.apply(this,arguments)},TransactionResponse:function(a,b){b.insertIds=[];b.success=!1;this.readChildNodes(a,b)},TransactionSummary:function(a,b){b.success=!0},InsertResults:function(a,b){this.readChildNodes(a,b)},Feature:function(a,b){var c={fids:[]};this.readChildNodes(a,c);b.insertIds.push(c.fids[0])}},OpenLayers.Format.WFST.v1.prototype.readers.wfs),gml:OpenLayers.Format.GML.v3.prototype.readers.gml, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16084 feature:OpenLayers.Format.GML.v3.prototype.readers.feature,ogc:OpenLayers.Format.Filter.v1_1_0.prototype.readers.ogc,ows:OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers.ows},writers:{wfs:OpenLayers.Util.applyDefaults({GetFeature:function(a){var b=OpenLayers.Format.WFST.v1.prototype.writers.wfs.GetFeature.apply(this,arguments);a&&this.setAttributes(b,{resultType:a.resultType,startIndex:a.startIndex,count:a.count});return b},Query:function(a){var a=OpenLayers.Util.extend({featureNS:this.featureNS, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16085 featurePrefix:this.featurePrefix,featureType:this.featureType,srsName:this.srsName},a),b=a.featurePrefix,c=this.createElementNSPlus("wfs:Query",{attributes:{typeName:(b?b+":":"")+a.featureType,srsName:a.srsName}});a.featureNS&&c.setAttribute("xmlns:"+b,a.featureNS);if(a.propertyNames)for(var b=0,d=a.propertyNames.length;b<d;b++)this.writeNode("wfs:PropertyName",{property:a.propertyNames[b]},c);a.filter&&(OpenLayers.Format.WFST.v1_1_0.prototype.setFilterProperty.call(this,a.filter),this.writeNode("ogc:Filter", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16086 a.filter,c));return c},PropertyName:function(a){return this.createElementNSPlus("wfs:PropertyName",{value:a.property})}},OpenLayers.Format.WFST.v1.prototype.writers.wfs),gml:OpenLayers.Format.GML.v3.prototype.writers.gml,feature:OpenLayers.Format.GML.v3.prototype.writers.feature,ogc:OpenLayers.Format.Filter.v1_1_0.prototype.writers.ogc},CLASS_NAME:"OpenLayers.Format.WFST.v1_1_0"});OpenLayers.Protocol=OpenLayers.Class({format:null,options:null,autoDestroy:!0,defaultFilter:null,initialize:function(a){a=a||{};OpenLayers.Util.extend(this,a);this.options=a},mergeWithDefaultFilter:function(a){return a&&this.defaultFilter?new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND,filters:[this.defaultFilter,a]}):a||this.defaultFilter||void 0},destroy:function(){this.format=this.options=null},read:function(a){a=a||{};a.filter=this.mergeWithDefaultFilter(a.filter)},create:function(){}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16087 update:function(){},"delete":function(){},commit:function(){},abort:function(){},createCallback:function(a,b,c){return OpenLayers.Function.bind(function(){a.apply(this,[b,c])},this)},CLASS_NAME:"OpenLayers.Protocol"});OpenLayers.Protocol.Response=OpenLayers.Class({code:null,requestType:null,last:!0,features:null,data:null,reqFeatures:null,priv:null,error:null,initialize:function(a){OpenLayers.Util.extend(this,a)},success:function(){return 0<this.code},CLASS_NAME:"OpenLayers.Protocol.Response"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16088 OpenLayers.Protocol.Response.SUCCESS=1;OpenLayers.Protocol.Response.FAILURE=0;OpenLayers.Format.JSON=OpenLayers.Class(OpenLayers.Format,{indent:" ",space:" ",newline:"\n",level:0,pretty:!1,nativeJSON:function(){return!(!window.JSON||!("function"==typeof JSON.parse&&"function"==typeof JSON.stringify))}(),read:function(a,b){var c;if(this.nativeJSON)c=JSON.parse(a,b);else try{if(/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))&&(c=eval("("+a+")"),"function"=== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16089 typeof b)){var d=function(a,c){if(c&&"object"===typeof c)for(var e in c)c.hasOwnProperty(e)&&(c[e]=d(e,c[e]));return b(a,c)};c=d("",c)}}catch(e){}this.keepData&&(this.data=c);return c},write:function(a,b){this.pretty=!!b;var c=null,d=typeof a;if(this.serialize[d])try{c=!this.pretty&&this.nativeJSON?JSON.stringify(a):this.serialize[d].apply(this,[a])}catch(e){OpenLayers.Console.error("Trouble serializing: "+e)}return c},writeIndent:function(){var a=[];if(this.pretty)for(var b=0;b<this.level;++b)a.push(this.indent); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16090 return a.join("")},writeNewline:function(){return this.pretty?this.newline:""},writeSpace:function(){return this.pretty?this.space:""},serialize:{object:function(a){if(null==a)return"null";if(a.constructor==Date)return this.serialize.date.apply(this,[a]);if(a.constructor==Array)return this.serialize.array.apply(this,[a]);var b=["{"];this.level+=1;var c,d,e,f=!1;for(c in a)a.hasOwnProperty(c)&&(d=OpenLayers.Format.JSON.prototype.write.apply(this,[c,this.pretty]),e=OpenLayers.Format.JSON.prototype.write.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16091 [a[c],this.pretty]),null!=d&&null!=e&&(f&&b.push(","),b.push(this.writeNewline(),this.writeIndent(),d,":",this.writeSpace(),e),f=!0));this.level-=1;b.push(this.writeNewline(),this.writeIndent(),"}");return b.join("")},array:function(a){var b,c=["["];this.level+=1;for(var d=0,e=a.length;d<e;++d)b=OpenLayers.Format.JSON.prototype.write.apply(this,[a[d],this.pretty]),null!=b&&(0<d&&c.push(","),c.push(this.writeNewline(),this.writeIndent(),b));this.level-=1;c.push(this.writeNewline(),this.writeIndent(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16092 "]");return c.join("")},string:function(a){var b={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(a)?'"'+a.replace(/([\x00-\x1f\\"])/g,function(a,d){var e=b[d];if(e)return e;e=d.charCodeAt();return"\\u00"+Math.floor(e/16).toString(16)+(e%16).toString(16)})+'"':'"'+a+'"'},number:function(a){return isFinite(a)?""+a:"null"},"boolean":function(a){return""+a},date:function(a){function b(a){return 10>a?"0"+a:a}return'"'+a.getFullYear()+"-"+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16093 b(a.getMonth()+1)+"-"+b(a.getDate())+"T"+b(a.getHours())+":"+b(a.getMinutes())+":"+b(a.getSeconds())+'"'}},CLASS_NAME:"OpenLayers.Format.JSON"});OpenLayers.Format.GeoJSON=OpenLayers.Class(OpenLayers.Format.JSON,{ignoreExtraDims:!1,read:function(a,b,c){var b=b?b:"FeatureCollection",d=null,e=null;if(e="string"==typeof a?OpenLayers.Format.JSON.prototype.read.apply(this,[a,c]):a)if("string"!=typeof e.type)OpenLayers.Console.error("Bad GeoJSON - no type: "+a);else{if(this.isValidType(e,b))switch(b){case "Geometry":try{d=this.parseGeometry(e)}catch(f){OpenLayers.Console.error(f)}break;case "Feature":try{d=this.parseFeature(e),d.type="Feature"}catch(g){OpenLayers.Console.error(g)}break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16094 case "FeatureCollection":switch(d=[],e.type){case "Feature":try{d.push(this.parseFeature(e))}catch(h){d=null,OpenLayers.Console.error(h)}break;case "FeatureCollection":a=0;for(b=e.features.length;a<b;++a)try{d.push(this.parseFeature(e.features[a]))}catch(i){d=null,OpenLayers.Console.error(i)}break;default:try{var j=this.parseGeometry(e);d.push(new OpenLayers.Feature.Vector(j))}catch(k){d=null,OpenLayers.Console.error(k)}}}}else OpenLayers.Console.error("Bad JSON: "+a);return d},isValidType:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16095 b){var c=!1;switch(b){case "Geometry":-1==OpenLayers.Util.indexOf("Point MultiPoint LineString MultiLineString Polygon MultiPolygon Box GeometryCollection".split(" "),a.type)?OpenLayers.Console.error("Unsupported geometry type: "+a.type):c=!0;break;case "FeatureCollection":c=!0;break;default:a.type==b?c=!0:OpenLayers.Console.error("Cannot convert types from "+a.type+" to "+b)}return c},parseFeature:function(a){var b,c,d;c=a.properties?a.properties:{};d=a.geometry&&a.geometry.bbox||a.bbox;try{b=this.parseGeometry(a.geometry)}catch(e){throw e; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16096 }b=new OpenLayers.Feature.Vector(b,c);d&&(b.bounds=OpenLayers.Bounds.fromArray(d));a.id&&(b.fid=a.id);return b},parseGeometry:function(a){if(null==a)return null;var b,c=!1;if("GeometryCollection"==a.type){if(!OpenLayers.Util.isArray(a.geometries))throw"GeometryCollection must have geometries array: "+a;b=a.geometries.length;for(var c=Array(b),d=0;d<b;++d)c[d]=this.parseGeometry.apply(this,[a.geometries[d]]);b=new OpenLayers.Geometry.Collection(c);c=!0}else{if(!OpenLayers.Util.isArray(a.coordinates))throw"Geometry must have coordinates array: "+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16097 a;if(!this.parseCoords[a.type.toLowerCase()])throw"Unsupported geometry type: "+a.type;try{b=this.parseCoords[a.type.toLowerCase()].apply(this,[a.coordinates])}catch(e){throw e;}}this.internalProjection&&(this.externalProjection&&!c)&&b.transform(this.externalProjection,this.internalProjection);return b},parseCoords:{point:function(a){if(!1==this.ignoreExtraDims&&2!=a.length)throw"Only 2D points are supported: "+a;return new OpenLayers.Geometry.Point(a[0],a[1])},multipoint:function(a){for(var b=[], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16098 c=null,d=0,e=a.length;d<e;++d){try{c=this.parseCoords.point.apply(this,[a[d]])}catch(f){throw f;}b.push(c)}return new OpenLayers.Geometry.MultiPoint(b)},linestring:function(a){for(var b=[],c=null,d=0,e=a.length;d<e;++d){try{c=this.parseCoords.point.apply(this,[a[d]])}catch(f){throw f;}b.push(c)}return new OpenLayers.Geometry.LineString(b)},multilinestring:function(a){for(var b=[],c=null,d=0,e=a.length;d<e;++d){try{c=this.parseCoords.linestring.apply(this,[a[d]])}catch(f){throw f;}b.push(c)}return new OpenLayers.Geometry.MultiLineString(b)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16099 polygon:function(a){for(var b=[],c,d,e=0,f=a.length;e<f;++e){try{d=this.parseCoords.linestring.apply(this,[a[e]])}catch(g){throw g;}c=new OpenLayers.Geometry.LinearRing(d.components);b.push(c)}return new OpenLayers.Geometry.Polygon(b)},multipolygon:function(a){for(var b=[],c=null,d=0,e=a.length;d<e;++d){try{c=this.parseCoords.polygon.apply(this,[a[d]])}catch(f){throw f;}b.push(c)}return new OpenLayers.Geometry.MultiPolygon(b)},box:function(a){if(2!=a.length)throw"GeoJSON box coordinates must have 2 elements"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16100 return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(a[0][0],a[0][1]),new OpenLayers.Geometry.Point(a[1][0],a[0][1]),new OpenLayers.Geometry.Point(a[1][0],a[1][1]),new OpenLayers.Geometry.Point(a[0][0],a[1][1]),new OpenLayers.Geometry.Point(a[0][0],a[0][1])])])}},write:function(a,b){var c={type:null};if(OpenLayers.Util.isArray(a)){c.type="FeatureCollection";var d=a.length;c.features=Array(d);for(var e=0;e<d;++e){var f=a[e];if(!f instanceof OpenLayers.Feature.Vector)throw"FeatureCollection only supports collections of features: "+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16101 f;c.features[e]=this.extract.feature.apply(this,[f])}}else 0==a.CLASS_NAME.indexOf("OpenLayers.Geometry")?c=this.extract.geometry.apply(this,[a]):a instanceof OpenLayers.Feature.Vector&&(c=this.extract.feature.apply(this,[a]),a.layer&&a.layer.projection&&(c.crs=this.createCRSObject(a)));return OpenLayers.Format.JSON.prototype.write.apply(this,[c,b])},createCRSObject:function(a){var a=a.layer.projection.toString(),b={};a.match(/epsg:/i)&&(a=parseInt(a.substring(a.indexOf(":")+1)),b=4326==a?{type:"name", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16102 properties:{name:"urn:ogc:def:crs:OGC:1.3:CRS84"}}:{type:"name",properties:{name:"EPSG:"+a}});return b},extract:{feature:function(a){var b=this.extract.geometry.apply(this,[a.geometry]),b={type:"Feature",properties:a.attributes,geometry:b};null!=a.fid&&(b.id=a.fid);return b},geometry:function(a){if(null==a)return null;this.internalProjection&&this.externalProjection&&(a=a.clone(),a.transform(this.internalProjection,this.externalProjection));var b=a.CLASS_NAME.split(".")[2],a=this.extract[b.toLowerCase()].apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16103 [a]);return"Collection"==b?{type:"GeometryCollection",geometries:a}:{type:b,coordinates:a}},point:function(a){return[a.x,a.y]},multipoint:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.extract.point.apply(this,[a.components[c]]));return b},linestring:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.extract.point.apply(this,[a.components[c]]));return b},multilinestring:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.extract.linestring.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16104 [a.components[c]]));return b},polygon:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.extract.linestring.apply(this,[a.components[c]]));return b},multipolygon:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.extract.polygon.apply(this,[a.components[c]]));return b},collection:function(a){for(var b=a.components.length,c=Array(b),d=0;d<b;++d)c[d]=this.extract.geometry.apply(this,[a.components[d]]);return c}},CLASS_NAME:"OpenLayers.Format.GeoJSON"});OpenLayers.Protocol.Script=OpenLayers.Class(OpenLayers.Protocol,{url:null,params:null,callback:null,callbackTemplate:"OpenLayers.Protocol.Script.registry.${id}",callbackKey:"callback",callbackPrefix:"",scope:null,format:null,pendingRequests:null,srsInBBOX:!1,initialize:function(a){a=a||{};this.params={};this.pendingRequests={};OpenLayers.Protocol.prototype.initialize.apply(this,arguments);this.format||(this.format=new OpenLayers.Format.GeoJSON);if(!this.filterToParams&&OpenLayers.Format.QueryStringFilter){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16105 new OpenLayers.Format.QueryStringFilter({srsInBBOX:this.srsInBBOX});this.filterToParams=function(a,d){return b.write(a,d)}}},read:function(a){OpenLayers.Protocol.prototype.read.apply(this,arguments);a=OpenLayers.Util.applyDefaults(a,this.options);a.params=OpenLayers.Util.applyDefaults(a.params,this.options.params);a.filter&&this.filterToParams&&(a.params=this.filterToParams(a.filter,a.params));var b=new OpenLayers.Protocol.Response({requestType:"read"}),c=this.createRequest(a.url,a.params,OpenLayers.Function.bind(function(c){b.data= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16106 c;this.handleRead(b,a)},this));b.priv=c;return b},createRequest:function(a,b,c){var c=OpenLayers.Protocol.Script.register(c),d=OpenLayers.String.format(this.callbackTemplate,{id:c}),b=OpenLayers.Util.extend({},b);b[this.callbackKey]=this.callbackPrefix+d;a=OpenLayers.Util.urlAppend(a,OpenLayers.Util.getParameterString(b));b=document.createElement("script");b.type="text/javascript";b.src=a;b.id="OpenLayers_Protocol_Script_"+c;this.pendingRequests[b.id]=b;document.getElementsByTagName("head")[0].appendChild(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16107 return b},destroyRequest:function(a){OpenLayers.Protocol.Script.unregister(a.id.split("_").pop());delete this.pendingRequests[a.id];a.parentNode&&a.parentNode.removeChild(a)},handleRead:function(a,b){this.handleResponse(a,b)},handleResponse:function(a,b){b.callback&&(a.data?(a.features=this.parseFeatures(a.data),a.code=OpenLayers.Protocol.Response.SUCCESS):a.code=OpenLayers.Protocol.Response.FAILURE,this.destroyRequest(a.priv),b.callback.call(b.scope,a))},parseFeatures:function(a){return this.format.read(a)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16108 abort:function(a){if(a)this.destroyRequest(a.priv);else for(var b in this.pendingRequests)this.destroyRequest(this.pendingRequests[b])},destroy:function(){this.abort();delete this.params;delete this.format;OpenLayers.Protocol.prototype.destroy.apply(this)},CLASS_NAME:"OpenLayers.Protocol.Script"});(function(){var a=OpenLayers.Protocol.Script,b=0;a.registry={};a.register=function(c){var d="c"+ ++b;a.registry[d]=function(){c.apply(this,arguments)};return d};a.unregister=function(b){delete a.registry[b]}})();OpenLayers.Control.Panel=OpenLayers.Class(OpenLayers.Control,{controls:null,autoActivate:!0,defaultControl:null,saveState:!1,allowDepress:!1,activeState:null,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,[a]);this.controls=[];this.activeState={}},destroy:function(){this.map&&this.map.events.unregister("buttonclick",this,this.onButtonClick);OpenLayers.Control.prototype.destroy.apply(this,arguments);for(var a,b=this.controls.length-1;0<=b;b--)a=this.controls[b],a.events&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16109 a.events.un({activate:this.iconOn,deactivate:this.iconOff}),a.panel_div=null;this.activeState=null},activate:function(){if(OpenLayers.Control.prototype.activate.apply(this,arguments)){for(var a,b=0,c=this.controls.length;b<c;b++)a=this.controls[b],(a===this.defaultControl||this.saveState&&this.activeState[a.id])&&a.activate();!0===this.saveState&&(this.defaultControl=null);this.redraw();return!0}return!1},deactivate:function(){if(OpenLayers.Control.prototype.deactivate.apply(this,arguments)){for(var a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16110 b=0,c=this.controls.length;b<c;b++)a=this.controls[b],this.activeState[a.id]=a.deactivate();this.redraw();return!0}return!1},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.outsideViewport?(this.events.attachToElement(this.div),this.events.register("buttonclick",this,this.onButtonClick)):this.map.events.register("buttonclick",this,this.onButtonClick);this.addControlsToMap(this.controls);return this.div},redraw:function(){for(var a=this.div.childNodes.length-1;0<=a;a--)this.div.removeChild(this.div.childNodes[a]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16111 this.div.innerHTML="";if(this.active)for(var a=0,b=this.controls.length;a<b;a++)this.div.appendChild(this.controls[a].panel_div)},activateControl:function(a){if(!this.active)return!1;if(a.type==OpenLayers.Control.TYPE_BUTTON)a.trigger();else if(a.type==OpenLayers.Control.TYPE_TOGGLE)a.active?a.deactivate():a.activate();else if(this.allowDepress&&a.active)a.deactivate();else{for(var b,c=0,d=this.controls.length;c<d;c++)b=this.controls[c],b!=a&&(b.type===OpenLayers.Control.TYPE_TOOL||null==b.type)&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16112 b.deactivate();a.activate()}},addControls:function(a){OpenLayers.Util.isArray(a)||(a=[a]);this.controls=this.controls.concat(a);for(var b=0,c=a.length;b<c;b++){var d=a[b],e=this.createControlMarkup(d);OpenLayers.Element.addClass(e,d.displayClass+"ItemInactive");OpenLayers.Element.addClass(e,"olButton");""!=d.title&&!e.title&&(e.title=d.title);d.panel_div=e}this.map&&(this.addControlsToMap(a),this.redraw())},createControlMarkup:function(){return document.createElement("div")},addControlsToMap:function(a){for(var b, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16113 c=0,d=a.length;c<d;c++)b=a[c],!0===b.autoActivate?(b.autoActivate=!1,this.map.addControl(b),b.autoActivate=!0):(this.map.addControl(b),b.deactivate()),b.events.on({activate:this.iconOn,deactivate:this.iconOff})},iconOn:function(){var a=this.panel_div;a.className=a.className.replace(RegExp("\\b("+this.displayClass+"Item)Inactive\\b"),"$1Active")},iconOff:function(){var a=this.panel_div;a.className=a.className.replace(RegExp("\\b("+this.displayClass+"Item)Active\\b"),"$1Inactive")},onButtonClick:function(a){for(var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16114 this.controls,a=a.buttonElement,c=b.length-1;0<=c;--c)if(b[c].panel_div===a){this.activateControl(b[c]);break}},getControlsBy:function(a,b){var c="function"==typeof b.test;return OpenLayers.Array.filter(this.controls,function(d){return d[a]==b||c&&b.test(d[a])})},getControlsByName:function(a){return this.getControlsBy("name",a)},getControlsByClass:function(a){return this.getControlsBy("CLASS_NAME",a)},CLASS_NAME:"OpenLayers.Control.Panel"});OpenLayers.Control.ZoomIn=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){this.map.zoomIn()},CLASS_NAME:"OpenLayers.Control.ZoomIn"});OpenLayers.Control.ZoomOut=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){this.map.zoomOut()},CLASS_NAME:"OpenLayers.Control.ZoomOut"});OpenLayers.Control.ZoomToMaxExtent=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){this.map&&this.map.zoomToMaxExtent()},CLASS_NAME:"OpenLayers.Control.ZoomToMaxExtent"});OpenLayers.Control.ZoomPanel=OpenLayers.Class(OpenLayers.Control.Panel,{initialize:function(a){OpenLayers.Control.Panel.prototype.initialize.apply(this,[a]);this.addControls([new OpenLayers.Control.ZoomIn,new OpenLayers.Control.ZoomToMaxExtent,new OpenLayers.Control.ZoomOut])},CLASS_NAME:"OpenLayers.Control.ZoomPanel"});OpenLayers.Layer.HTTPRequest=OpenLayers.Class(OpenLayers.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:!1,initialize:function(a,b,c,d){OpenLayers.Layer.prototype.initialize.apply(this,[a,d]);this.url=b;this.params||(this.params=OpenLayers.Util.extend({},c))},destroy:function(){this.params=this.url=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.HTTPRequest(this.name,this.url,this.params,this.getOptions())); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16115 return a=OpenLayers.Layer.prototype.clone.apply(this,[a])},setUrl:function(a){this.url=a},mergeNewParams:function(a){this.params=OpenLayers.Util.extend(this.params,a);a=this.redraw();null!=this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"params"});return a},redraw:function(a){return a?this.mergeNewParams({_olSalt:Math.random()}):OpenLayers.Layer.prototype.redraw.apply(this,[])},selectUrl:function(a,b){for(var c=1,d=0,e=a.length;d<e;d++)c*=a.charCodeAt(d)*this.URL_HASH_FACTOR, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16116 c-=Math.floor(c);return b[Math.floor(c*b.length)]},getFullRequestString:function(a,b){var c=b||this.url,d=OpenLayers.Util.extend({},this.params),d=OpenLayers.Util.extend(d,a),e=OpenLayers.Util.getParameterString(d);OpenLayers.Util.isArray(c)&&(c=this.selectUrl(e,c));var e=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(c)),f;for(f in d)f.toUpperCase()in e&&delete d[f];e=OpenLayers.Util.getParameterString(d);return OpenLayers.Util.urlAppend(c,e)},CLASS_NAME:"OpenLayers.Layer.HTTPRequest"});OpenLayers.Tile=OpenLayers.Class({events:null,eventListeners:null,id:null,layer:null,url:null,bounds:null,size:null,position:null,isLoading:!1,initialize:function(a,b,c,d,e,f){this.layer=a;this.position=b.clone();this.setBounds(c);this.url=d;e&&(this.size=e.clone());this.id=OpenLayers.Util.createUniqueID("Tile_");OpenLayers.Util.extend(this,f);this.events=new OpenLayers.Events(this);if(this.eventListeners instanceof Object)this.events.on(this.eventListeners)},unload:function(){this.isLoading&&(this.isLoading= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16117 !1,this.events.triggerEvent("unload"))},destroy:function(){this.position=this.size=this.bounds=this.layer=null;this.eventListeners&&this.events.un(this.eventListeners);this.events.destroy();this.events=this.eventListeners=null},draw:function(a){a||this.clear();var b=this.shouldDraw();b&&!a&&(b=!1!==this.events.triggerEvent("beforedraw"));return b},shouldDraw:function(){var a=!1,b=this.layer.maxExtent;if(b){var c=this.layer.map,c=c.baseLayer.wrapDateLine&&c.getMaxExtent();this.bounds.intersectsBounds(b, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16118 {inclusive:!1,worldBounds:c})&&(a=!0)}return a||this.layer.displayOutsideMaxExtent},setBounds:function(a){a=a.clone();if(this.layer.map.baseLayer.wrapDateLine)var b=this.layer.map.getMaxExtent(),c=this.layer.map.getResolution(),a=a.wrapDateLine(b,{leftTolerance:c,rightTolerance:c});this.bounds=a},moveTo:function(a,b,c){null==c&&(c=!0);this.setBounds(a);this.position=b.clone();c&&this.draw()},clear:function(){},CLASS_NAME:"OpenLayers.Tile"});OpenLayers.Tile.Image=OpenLayers.Class(OpenLayers.Tile,{url:null,imgDiv:null,frame:null,imageReloadAttempts:null,layerAlphaHack:null,asyncRequestId:null,blankImageUrl:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAQAIBRAA7",maxGetUrlLength:null,canvasContext:null,crossOriginKeyword:null,initialize:function(a,b,c,d,e,f){OpenLayers.Tile.prototype.initialize.apply(this,arguments);this.url=d;this.layerAlphaHack=this.layer.alpha&&OpenLayers.Util.alphaHack();if(null!=this.maxGetUrlLength|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16119 this.layer.gutter||this.layerAlphaHack)this.frame=document.createElement("div"),this.frame.style.position="absolute",this.frame.style.overflow="hidden";null!=this.maxGetUrlLength&&OpenLayers.Util.extend(this,OpenLayers.Tile.Image.IFrame)},destroy:function(){this.imgDiv&&(this.clear(),this.frame=this.imgDiv=null);this.asyncRequestId=null;OpenLayers.Tile.prototype.destroy.apply(this,arguments)},draw:function(){var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);a?(this.layer!=this.layer.map.baseLayer&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16120 this.layer.reproject&&(this.bounds=this.getBoundsFromBaseLayer(this.position)),this.isLoading?this._loadEvent="reload":(this.isLoading=!0,this._loadEvent="loadstart"),this.positionTile(),this.renderTile()):this.unload();return a},renderTile:function(){this.layer.div.appendChild(this.getTile());if(this.layer.async){var a=this.asyncRequestId=(this.asyncRequestId||0)+1;this.layer.getURLasync(this.bounds,function(b){a==this.asyncRequestId&&(this.url=b,this.initImage())},this)}else this.url=this.layer.getURL(this.bounds), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16121 this.initImage()},positionTile:function(){var a=this.getTile().style,b=this.frame?this.size:this.layer.getImageSize(this.bounds);a.left=this.position.x+"%";a.top=this.position.y+"%";a.width=b.w+"%";a.height=b.h+"%"},clear:function(){OpenLayers.Tile.prototype.clear.apply(this,arguments);var a=this.imgDiv;if(a){OpenLayers.Event.stopObservingElement(a);var b=this.getTile();b.parentNode===this.layer.div&&this.layer.div.removeChild(b);this.setImgSrc();!0===this.layerAlphaHack&&(a.style.filter="");OpenLayers.Element.removeClass(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16122 "olImageLoadError")}this.canvasContext=null},getImage:function(){if(!this.imgDiv){this.imgDiv=document.createElement("img");this.imgDiv.className="olTileImage";this.imgDiv.galleryImg="no";var a=this.imgDiv.style;if(this.frame){var b=0,c=0;this.layer.gutter&&(b=100*(this.layer.gutter/this.layer.tileSize.w),c=100*(this.layer.gutter/this.layer.tileSize.h));a.left=-b+"%";a.top=-c+"%";a.width=2*b+100+"%";a.height=2*c+100+"%"}a.visibility="hidden";a.opacity=0;1>this.layer.opacity&&(a.filter="alpha(opacity="+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16123 100*this.layer.opacity+")");a.position="absolute";this.layerAlphaHack&&(a.paddingTop=a.height,a.height="0",a.width="100%");this.frame&&this.frame.appendChild(this.imgDiv)}return this.imgDiv},initImage:function(){this.events.triggerEvent(this._loadEvent);var a=this.getImage();if(this.url&&a.getAttribute("src")==this.url)this.onImageLoad();else{var b=OpenLayers.Function.bind(function(){OpenLayers.Event.stopObservingElement(a);OpenLayers.Event.observe(a,"load",OpenLayers.Function.bind(this.onImageLoad, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16124 this));OpenLayers.Event.observe(a,"error",OpenLayers.Function.bind(this.onImageError,this));this.imageReloadAttempts=0;this.setImgSrc(this.url)},this);a.getAttribute("src")==this.blankImageUrl?b():(OpenLayers.Event.observe(a,"load",b),OpenLayers.Event.observe(a,"error",b),this.crossOriginKeyword&&a.removeAttribute("crossorigin"),a.src=this.blankImageUrl)}},setImgSrc:function(a){var b=this.imgDiv;b.style.visibility="hidden";b.style.opacity=0;a&&(this.crossOriginKeyword&&("data:"!==a.substr(0,5)?b.setAttribute("crossorigin", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16125 this.crossOriginKeyword):b.removeAttribute("crossorigin")),b.src=a)},getTile:function(){return this.frame?this.frame:this.getImage()},createBackBuffer:function(){if(this.imgDiv&&!this.isLoading){var a;this.frame?(a=this.frame.cloneNode(!1),a.appendChild(this.imgDiv)):a=this.imgDiv;this.imgDiv=null;return a}},onImageLoad:function(){var a=this.imgDiv;OpenLayers.Event.stopObservingElement(a);a.style.visibility="inherit";a.style.opacity=this.layer.opacity;this.isLoading=!1;this.canvasContext=null;this.events.triggerEvent("loadend"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16126 if(7>parseFloat(navigator.appVersion.split("MSIE")[1])&&this.layer&&this.layer.div){var b=document.createElement("span");b.style.display="none";var c=this.layer.div;c.appendChild(b);window.setTimeout(function(){b.parentNode===c&&b.parentNode.removeChild(b)},0)}!0===this.layerAlphaHack&&(a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"', sizingMethod='scale')")},onImageError:function(){var a=this.imgDiv;null!=a.src&&(this.imageReloadAttempts++,this.imageReloadAttempts<= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16127 OpenLayers.IMAGE_RELOAD_ATTEMPTS?this.setImgSrc(this.layer.getURL(this.bounds)):(OpenLayers.Element.addClass(a,"olImageLoadError"),this.events.triggerEvent("loaderror"),this.onImageLoad()))},getCanvasContext:function(){if(OpenLayers.CANVAS_SUPPORTED&&this.imgDiv&&!this.isLoading){if(!this.canvasContext){var a=document.createElement("canvas");a.width=this.size.w;a.height=this.size.h;this.canvasContext=a.getContext("2d");this.canvasContext.drawImage(this.imgDiv,0,0)}return this.canvasContext}},CLASS_NAME:"OpenLayers.Tile.Image"});OpenLayers.Layer.Grid=OpenLayers.Class(OpenLayers.Layer.HTTPRequest,{tileSize:null,tileOriginCorner:"bl",tileOrigin:null,tileOptions:null,tileClass:OpenLayers.Tile.Image,grid:null,singleTile:!1,ratio:1.5,buffer:0,transitionEffect:null,numLoadingTiles:0,tileLoadingDelay:85,serverResolutions:null,moveTimerId:null,deferMoveGriddedTiles:null,tileQueueId:null,tileQueue:null,loading:!1,backBuffer:null,gridResolution:null,backBufferResolution:null,backBufferLonLat:null,backBufferTimerId:null,removeBackBufferDelay:null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16128 className:null,initialize:function(a,b,c,d){OpenLayers.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.grid=[];this.tileQueue=[];null===this.removeBackBufferDelay&&(this.removeBackBufferDelay=this.singleTile?0:2500);null===this.className&&(this.className=this.singleTile?"olLayerGridSingleTile":"olLayerGrid");OpenLayers.Animation.isNative||(this.deferMoveGriddedTiles=OpenLayers.Function.bind(function(){this.moveGriddedTiles(true);this.moveTimerId=null},this))},setMap:function(a){OpenLayers.Layer.HTTPRequest.prototype.setMap.call(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16129 a);OpenLayers.Element.addClass(this.div,this.className)},removeMap:function(){null!==this.moveTimerId&&(window.clearTimeout(this.moveTimerId),this.moveTimerId=null);this.clearTileQueue();null!==this.backBufferTimerId&&(window.clearTimeout(this.backBufferTimerId),this.backBufferTimerId=null)},destroy:function(){this.removeBackBuffer();this.clearGrid();this.tileSize=this.grid=null;OpenLayers.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){this.clearTileQueue();if(this.grid){for(var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16130 0,b=this.grid.length;a<b;a++)for(var c=this.grid[a],d=0,e=c.length;d<e;d++)this.destroyTile(c[d]);this.grid=[];this.gridResolution=null}},clone:function(a){null==a&&(a=new OpenLayers.Layer.Grid(this.name,this.url,this.params,this.getOptions()));a=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,[a]);null!=this.tileSize&&(a.tileSize=this.tileSize.clone());a.grid=[];a.gridResolution=null;a.backBuffer=null;a.backBufferTimerId=null;a.tileQueue=[];a.tileQueueId=null;a.loading=!1;a.moveTimerId=null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16131 return a},moveTo:function(a,b,c){OpenLayers.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);a=a||this.map.getExtent();if(null!=a){var d=!this.grid.length||b,e=this.getTilesBounds(),f=this.map.getResolution(),g=this.getServerResolution(f);if(this.singleTile){if(d||!c&&!e.containsBounds(a))b&&"resize"!==this.transitionEffect&&this.removeBackBuffer(),(!b||"resize"===this.transitionEffect)&&this.applyBackBuffer(g),this.initSingleTile(a)}else(d=d||!e.intersectsBounds(a,{worldBounds:this.map.baseLayer.wrapDateLine&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16132 this.map.getMaxExtent()}),f!==g?(a=this.map.calculateBounds(null,g),d&&this.transformDiv(g/f)):(this.div.style.width="100%",this.div.style.height="100%",this.div.style.left="0%",this.div.style.top="0%"),d)?(b&&"resize"===this.transitionEffect&&this.applyBackBuffer(g),this.initGriddedTiles(a)):this.moveGriddedTiles()}},getTileData:function(a){var b=null,c=a.lon,d=a.lat,e=this.grid.length;if(this.map&&e){var f=this.map.getResolution(),a=this.tileSize.w,g=this.tileSize.h,h=this.grid[0][0].bounds,i=h.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16133 h=h.top;if(c<i&&this.map.baseLayer.wrapDateLine)var j=this.map.getMaxExtent().getWidth(),k=Math.ceil((i-c)/j),c=c+j*k;c=(c-i)/(f*a);d=(h-d)/(f*g);f=Math.floor(c);i=Math.floor(d);0<=i&&i<e&&(e=this.grid[i][f])&&(b={tile:e,i:Math.floor((c-f)*a),j:Math.floor((d-i)*g)})}return b},queueTileDraw:function(a){a=a.object;~OpenLayers.Util.indexOf(this.tileQueue,a)||this.tileQueue.push(a);this.tileQueueId||(this.tileQueueId=OpenLayers.Animation.start(OpenLayers.Function.bind(this.drawTileFromQueue,this),null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16134 this.div));return!1},drawTileFromQueue:function(){0===this.tileQueue.length?this.clearTileQueue():this.tileQueue.shift().draw(!0)},clearTileQueue:function(){OpenLayers.Animation.stop(this.tileQueueId);this.tileQueueId=null;this.tileQueue=[]},destroyTile:function(a){this.removeTileMonitoringHooks(a);a.destroy()},getServerResolution:function(a){a=a||this.map.getResolution();if(this.serverResolutions&&-1===OpenLayers.Util.indexOf(this.serverResolutions,a)){var b,c;for(b=this.serverResolutions.length- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16135 1;0<=b;b--)if(c=this.serverResolutions[b],c>a){a=c;break}if(-1===b)throw"no appropriate resolution in serverResolutions";}return a},getServerZoom:function(){var a=this.getServerResolution();return this.serverResolutions?OpenLayers.Util.indexOf(this.serverResolutions,a):this.map.getZoomForResolution(a)+(this.zoomOffset||0)},transformDiv:function(a){this.div.style.width=100*a+"%";this.div.style.height=100*a+"%";var b=this.map.getSize(),c=parseInt(this.map.layerContainerDiv.style.left,10),d=(parseInt(this.map.layerContainerDiv.style.top, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16136 10)-b.h/2)*(a-1);this.div.style.left=(c-b.w/2)*(a-1)+"%";this.div.style.top=d+"%"},getResolutionScale:function(){return parseInt(this.div.style.width,10)/100},applyBackBuffer:function(a){null!==this.backBufferTimerId&&this.removeBackBuffer();var b=this.backBuffer;if(!b){b=this.createBackBuffer();if(!b)return;this.div.insertBefore(b,this.div.firstChild);this.backBuffer=b;var c=this.grid[0][0].bounds;this.backBufferLonLat={lon:c.left,lat:c.top};this.backBufferResolution=this.gridResolution}var c=b.style, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16137 d=this.backBufferResolution/a;c.width=100*d+"%";c.height=100*d+"%";a=this.getViewPortPxFromLonLat(this.backBufferLonLat,a);c=parseInt(this.map.layerContainerDiv.style.left,10);d=parseInt(this.map.layerContainerDiv.style.top,10);b.style.left=Math.round(a.x-c)+"%";b.style.top=Math.round(a.y-d)+"%"},createBackBuffer:function(){var a;if(0<this.grid.length){a=document.createElement("div");a.id=this.div.id+"_bb";a.className="olBackBuffer";a.style.position="absolute";a.style.width="100%";a.style.height= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16138 "100%";for(var b=0,c=this.grid.length;b<c;b++)for(var d=0,e=this.grid[b].length;d<e;d++){var f=this.grid[b][d].createBackBuffer();f&&(f.style.top=b*this.tileSize.h+"%",f.style.left=d*this.tileSize.w+"%",a.appendChild(f))}}return a},removeBackBuffer:function(){this.backBuffer&&(this.div.removeChild(this.backBuffer),this.backBufferResolution=this.backBuffer=null,null!==this.backBufferTimerId&&(window.clearTimeout(this.backBufferTimerId),this.backBufferTimerId=null))},moveByPx:function(){this.singleTile|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16139 this.moveGriddedTiles()},setTileSize:function(a){this.singleTile&&(a=this.map.getSize(),a.h=parseInt(a.h*this.ratio),a.w=parseInt(a.w*this.ratio));OpenLayers.Layer.HTTPRequest.prototype.setTileSize.apply(this,[a])},getTilesBounds:function(){var a=null,b=this.grid.length;if(b)var a=this.grid[b-1][0].bounds,b=this.grid[0].length*a.getWidth(),c=this.grid.length*a.getHeight(),a=new OpenLayers.Bounds(a.left,a.bottom,a.left+b,a.bottom+c);return a},initSingleTile:function(a){this.clearTileQueue();var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16140 a.getCenterLonLat(),c=a.getWidth()*this.ratio,a=a.getHeight()*this.ratio,b=new OpenLayers.Bounds(b.lon-c/2,b.lat-a/2,b.lon+c/2,b.lat+a/2),c=this.map.getLayerPxFromLonLat({lon:b.left,lat:b.top});this.grid.length||(this.grid[0]=[]);(a=this.grid[0][0])?a.moveTo(b,c):(a=this.addTile(b,c),this.addTileMonitoringHooks(a),a.draw(),this.grid[0][0]=a);this.removeExcessTiles(1,1);this.gridResolution=this.getServerResolution()},calculateGridLayout:function(a,b,c){var d=c*this.tileSize.w,c=c*this.tileSize.h,e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16141 a.left-b.lon,f=Math.floor(e/d)-this.buffer,e=-(e/d-f)*this.tileSize.w,f=b.lon+f*d,a=a.top-(b.lat+c),g=Math.ceil(a/c)+this.buffer;return{tilelon:d,tilelat:c,tileoffsetlon:f,tileoffsetlat:b.lat+g*c,tileoffsetx:e,tileoffsety:-(g-a/c)*this.tileSize.h}},getTileOrigin:function(){var a=this.tileOrigin;if(!a)var a=this.getMaxExtent(),b={tl:["left","top"],tr:["right","top"],bl:["left","bottom"],br:["right","bottom"]}[this.tileOriginCorner],a=new OpenLayers.LonLat(a[b[0]],a[b[1]]);return a},initGriddedTiles:function(a){this.clearTileQueue(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16142 var b=this.map.getSize(),c=Math.ceil(b.h/this.tileSize.h)+Math.max(1,2*this.buffer),b=Math.ceil(b.w/this.tileSize.w)+Math.max(1,2*this.buffer),d=this.getTileOrigin(),e=this.getServerResolution(),d=this.calculateGridLayout(a,d,e),e=Math.round(d.tileoffsetx),f=Math.round(d.tileoffsety),g=d.tileoffsetlon,h=d.tileoffsetlat,i=d.tilelon,j=d.tilelat,k=e,l=g,m=0,n=parseInt(this.map.layerContainerDiv.style.left),o=parseInt(this.map.layerContainerDiv.style.top),d=[],p=this.map.getCenter();do{var q=this.grid[m++]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16143 q||(q=[],this.grid.push(q));var g=l,e=k,r=0;do{var s=new OpenLayers.Bounds(g,h,g+i,h+j),t=e,t=t-n,u=f,u=u-o,u=new OpenLayers.Pixel(t,u);(t=q[r++])?t.moveTo(s,u,!1):(t=this.addTile(s,u),this.addTileMonitoringHooks(t),q.push(t));s=s.getCenterLonLat();d.push({tile:t,distance:Math.pow(s.lon-p.lon,2)+Math.pow(s.lat-p.lat,2)});g+=i;e+=this.tileSize.w}while(g<=a.right+i*this.buffer||r<b);h-=j;f+=this.tileSize.h}while(h>=a.bottom-j*this.buffer||m<c);this.removeExcessTiles(m,r);this.gridResolution=this.getServerResolution(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16144 d.sort(function(a,b){return a.distance-b.distance});a=0;for(c=d.length;a<c;++a)d[a].tile.draw()},getMaxExtent:function(){return this.maxExtent},addTile:function(a,b){var c=new this.tileClass(this,b,a,null,this.tileSize,this.tileOptions);c.events.register("beforedraw",this,this.queueTileDraw);return c},addTileMonitoringHooks:function(a){a.onLoadStart=function(){!1===this.loading&&(this.loading=!0,this.events.triggerEvent("loadstart"));this.events.triggerEvent("tileloadstart",{tile:a});this.numLoadingTiles++}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16145 a.onLoadEnd=function(){this.numLoadingTiles--;this.events.triggerEvent("tileloaded",{tile:a});0===this.tileQueue.length&&0===this.numLoadingTiles&&(this.loading=!1,this.events.triggerEvent("loadend"),this.backBuffer&&(this.backBufferTimerId=window.setTimeout(OpenLayers.Function.bind(this.removeBackBuffer,this),this.removeBackBufferDelay)))};a.onLoadError=function(){this.events.triggerEvent("tileerror",{tile:a})};a.events.on({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,loaderror:a.onLoadError, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16146 scope:this})},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,loaderror:a.onLoadError,scope:this})},moveGriddedTiles:function(a){if(!a&&!OpenLayers.Animation.isNative)null!=this.moveTimerId&&window.clearTimeout(this.moveTimerId),this.moveTimerId=window.setTimeout(this.deferMoveGriddedTiles,this.tileLoadingDelay);else for(var a=this.buffer||1,b=this.getResolutionScale();;){var c=this.grid[0][0].position.x*b+parseInt(this.div.style.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16147 10)+parseInt(this.map.layerContainerDiv.style.left),d=this.grid[0][0].position.y*b+parseInt(this.div.style.top,10)+parseInt(this.map.layerContainerDiv.style.top),e=this.tileSize.w*b,f=this.tileSize.h*b;if(c>-e*(a-1))this.shiftColumn(!0);else if(c<-e*a)this.shiftColumn(!1);else if(d>-f*(a-1))this.shiftRow(!0);else if(d<-f*a)this.shiftRow(!1);else break}},shiftRow:function(a){for(var b=this.grid,c=b[a?0:this.grid.length-1],d=this.getServerResolution(),e=a?-this.tileSize.h:this.tileSize.h,d=d*-e,f=a? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16148 b.pop():b.shift(),g=0,h=c.length;g<h;g++){var i=c[g],j=i.bounds.clone(),i=i.position.clone();j.bottom+=d;j.top+=d;i.y+=e;f[g].moveTo(j,i)}a?b.unshift(f):b.push(f)},shiftColumn:function(a){for(var b=a?-this.tileSize.w:this.tileSize.w,c=this.getServerResolution()*b,d=0,e=this.grid.length;d<e;d++){var f=this.grid[d],g=f[a?0:f.length-1],h=g.bounds.clone(),g=g.position.clone();h.left+=c;h.right+=c;g.x+=b;var i=a?this.grid[d].pop():this.grid[d].shift();i.moveTo(h,g);a?f.unshift(i):f.push(i)}},removeExcessTiles:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16149 b){for(var c,d;this.grid.length>a;){var e=this.grid.pop();c=0;for(d=e.length;c<d;c++){var f=e[c];this.destroyTile(f)}}c=0;for(d=this.grid.length;c<d;c++)for(;this.grid[c].length>b;)e=this.grid[c],f=e.pop(),this.destroyTile(f)},onMapResize:function(){this.singleTile&&(this.clearGrid(),this.setTileSize())},getTileBounds:function(a){var b=this.maxExtent,c=this.getResolution(),d=c*this.tileSize.w,c=c*this.tileSize.h,e=this.getLonLatFromViewPortPx(a),a=b.left+d*Math.floor((e.lon-b.left)/d),b=b.bottom+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16150 c*Math.floor((e.lat-b.bottom)/c);return new OpenLayers.Bounds(a,b,a+d,b+c)},CLASS_NAME:"OpenLayers.Layer.Grid"});OpenLayers.Format.ArcXML=OpenLayers.Class(OpenLayers.Format.XML,{fontStyleKeys:"antialiasing blockout font fontcolor fontsize fontstyle glowing interval outline printmode shadow transparency".split(" "),request:null,response:null,initialize:function(a){this.request=new OpenLayers.Format.ArcXML.Request;this.response=new OpenLayers.Format.ArcXML.Response;if(a)if("feature"==a.requesttype){this.request.get_image=null;var b=this.request.get_feature.query;this.addCoordSys(b.featurecoordsys,a.featureCoordSys); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16151 this.addCoordSys(b.filtercoordsys,a.filterCoordSys);a.polygon?(b.isspatial=!0,b.spatialfilter.polygon=a.polygon):a.envelope&&(b.isspatial=!0,b.spatialfilter.envelope={minx:0,miny:0,maxx:0,maxy:0},this.parseEnvelope(b.spatialfilter.envelope,a.envelope))}else"image"==a.requesttype?(this.request.get_feature=null,b=this.request.get_image.properties,this.parseEnvelope(b.envelope,a.envelope),this.addLayers(b.layerlist,a.layers),this.addImageSize(b.imagesize,a.tileSize),this.addCoordSys(b.featurecoordsys, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16152 a.featureCoordSys),this.addCoordSys(b.filtercoordsys,a.filterCoordSys)):this.request=null;OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},parseEnvelope:function(a,b){b&&4==b.length&&(a.minx=b[0],a.miny=b[1],a.maxx=b[2],a.maxy=b[3])},addLayers:function(a,b){for(var c=0,d=b.length;c<d;c++)a.push(b[c])},addImageSize:function(a,b){null!==b&&(a.width=b.w,a.height=b.h,a.printwidth=b.w,a.printheight=b.h)},addCoordSys:function(a,b){"string"==typeof b?(a.id=parseInt(b),a.string=b):"object"==typeof b&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16153 null!==b.proj&&(a.id=b.proj.srsProjNumber,a.string=b.proj.srsCode)},iserror:function(a){var b=null;a?(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]),a=a.documentElement.getElementsByTagName("ERROR"),b=null!==a&&0<a.length):b=""!==this.response.error;return b},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=null;a&&a.documentElement&&(b="ARCXML"==a.documentElement.nodeName?a.documentElement:a.documentElement.getElementsByTagName("ARCXML")[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16154 if(!b||"parsererror"===b.firstChild.nodeName){var c,d;try{c=a.firstChild.nodeValue,d=a.firstChild.childNodes[1].firstChild.nodeValue}catch(e){}throw{message:"Error parsing the ArcXML request",error:c,source:d};}return this.parseResponse(b)},write:function(a){a||(a=this.request);var b=this.createElementNS("","ARCXML");b.setAttribute("version","1.1");var c=this.createElementNS("","REQUEST");if(null!=a.get_image){var d=this.createElementNS("","GET_IMAGE");c.appendChild(d);var e=this.createElementNS("", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16155 "PROPERTIES");d.appendChild(e);a=a.get_image.properties;null!=a.featurecoordsys&&(d=this.createElementNS("","FEATURECOORDSYS"),e.appendChild(d),0===a.featurecoordsys.id?d.setAttribute("string",a.featurecoordsys.string):d.setAttribute("id",a.featurecoordsys.id));null!=a.filtercoordsys&&(d=this.createElementNS("","FILTERCOORDSYS"),e.appendChild(d),0===a.filtercoordsys.id?d.setAttribute("string",a.filtercoordsys.string):d.setAttribute("id",a.filtercoordsys.id));null!=a.envelope&&(d=this.createElementNS("", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16156 "ENVELOPE"),e.appendChild(d),d.setAttribute("minx",a.envelope.minx),d.setAttribute("miny",a.envelope.miny),d.setAttribute("maxx",a.envelope.maxx),d.setAttribute("maxy",a.envelope.maxy));d=this.createElementNS("","IMAGESIZE");e.appendChild(d);d.setAttribute("height",a.imagesize.height);d.setAttribute("width",a.imagesize.width);if(a.imagesize.height!=a.imagesize.printheight||a.imagesize.width!=a.imagesize.printwidth)d.setAttribute("printheight",a.imagesize.printheight),d.setArrtibute("printwidth",a.imagesize.printwidth); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16157 null!=a.background&&(d=this.createElementNS("","BACKGROUND"),e.appendChild(d),d.setAttribute("color",a.background.color.r+","+a.background.color.g+","+a.background.color.b),null!==a.background.transcolor&&d.setAttribute("transcolor",a.background.transcolor.r+","+a.background.transcolor.g+","+a.background.transcolor.b));if(null!=a.layerlist&&0<a.layerlist.length){d=this.createElementNS("","LAYERLIST");e.appendChild(d);for(e=0;e<a.layerlist.length;e++){var f=this.createElementNS("","LAYERDEF");d.appendChild(f); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16158 f.setAttribute("id",a.layerlist[e].id);f.setAttribute("visible",a.layerlist[e].visible);if("object"==typeof a.layerlist[e].query){var g=a.layerlist[e].query;if(0>g.where.length)continue;var h=null,h="boolean"==typeof g.spatialfilter&&g.spatialfilter?this.createElementNS("","SPATIALQUERY"):this.createElementNS("","QUERY");h.setAttribute("where",g.where);"number"==typeof g.accuracy&&0<g.accuracy&&h.setAttribute("accuracy",g.accuracy);"number"==typeof g.featurelimit&&2E3>g.featurelimit&&h.setAttribute("featurelimit", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16159 g.featurelimit);"string"==typeof g.subfields&&"#ALL#"!=g.subfields&&h.setAttribute("subfields",g.subfields);"string"==typeof g.joinexpression&&0<g.joinexpression.length&&h.setAttribute("joinexpression",g.joinexpression);"string"==typeof g.jointables&&0<g.jointables.length&&h.setAttribute("jointables",g.jointables);f.appendChild(h)}"object"==typeof a.layerlist[e].renderer&&this.addRenderer(f,a.layerlist[e].renderer)}}}else if(null!=a.get_feature&&(d=this.createElementNS("","GET_FEATURES"),d.setAttribute("outputmode", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16160 "newxml"),d.setAttribute("checkesc","true"),a.get_feature.geometry?d.setAttribute("geometry",a.get_feature.geometry):d.setAttribute("geometry","false"),a.get_feature.compact&&d.setAttribute("compact",a.get_feature.compact),"number"==a.get_feature.featurelimit&&d.setAttribute("featurelimit",a.get_feature.featurelimit),d.setAttribute("globalenvelope","true"),c.appendChild(d),null!=a.get_feature.layer&&0<a.get_feature.layer.length&&(e=this.createElementNS("","LAYER"),e.setAttribute("id",a.get_feature.layer), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16161 d.appendChild(e)),a=a.get_feature.query,null!=a))e=null,e=a.isspatial?this.createElementNS("","SPATIALQUERY"):this.createElementNS("","QUERY"),d.appendChild(e),"number"==typeof a.accuracy&&e.setAttribute("accuracy",a.accuracy),null!=a.featurecoordsys&&(d=this.createElementNS("","FEATURECOORDSYS"),0==a.featurecoordsys.id?d.setAttribute("string",a.featurecoordsys.string):d.setAttribute("id",a.featurecoordsys.id),e.appendChild(d)),null!=a.filtercoordsys&&(d=this.createElementNS("","FILTERCOORDSYS"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16162 0===a.filtercoordsys.id?d.setAttribute("string",a.filtercoordsys.string):d.setAttribute("id",a.filtercoordsys.id),e.appendChild(d)),0<a.buffer&&(d=this.createElementNS("","BUFFER"),d.setAttribute("distance",a.buffer),e.appendChild(d)),a.isspatial&&(d=this.createElementNS("","SPATIALFILTER"),d.setAttribute("relation",a.spatialfilter.relation),e.appendChild(d),a.spatialfilter.envelope?(f=this.createElementNS("","ENVELOPE"),f.setAttribute("minx",a.spatialfilter.envelope.minx),f.setAttribute("miny",a.spatialfilter.envelope.miny), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16163 f.setAttribute("maxx",a.spatialfilter.envelope.maxx),f.setAttribute("maxy",a.spatialfilter.envelope.maxy),d.appendChild(f)):"object"==typeof a.spatialfilter.polygon&&d.appendChild(this.writePolygonGeometry(a.spatialfilter.polygon))),null!=a.where&&0<a.where.length&&e.setAttribute("where",a.where);b.appendChild(c);return OpenLayers.Format.XML.prototype.write.apply(this,[b])},addGroupRenderer:function(a,b){var c=this.createElementNS("","GROUPRENDERER");a.appendChild(c);for(var d=0;d<b.length;d++)this.addRenderer(c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16164 b[d])},addRenderer:function(a,b){if(OpenLayers.Util.isArray(b))this.addGroupRenderer(a,b);else{var c=this.createElementNS("",b.type.toUpperCase()+"RENDERER");a.appendChild(c);"VALUEMAPRENDERER"==c.tagName?this.addValueMapRenderer(c,b):"VALUEMAPLABELRENDERER"==c.tagName?this.addValueMapLabelRenderer(c,b):"SIMPLELABELRENDERER"==c.tagName?this.addSimpleLabelRenderer(c,b):"SCALEDEPENDENTRENDERER"==c.tagName&&this.addScaleDependentRenderer(c,b)}},addScaleDependentRenderer:function(a,b){("string"==typeof b.lower|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16165 "number"==typeof b.lower)&&a.setAttribute("lower",b.lower);("string"==typeof b.upper||"number"==typeof b.upper)&&a.setAttribute("upper",b.upper);this.addRenderer(a,b.renderer)},addValueMapLabelRenderer:function(a,b){a.setAttribute("lookupfield",b.lookupfield);a.setAttribute("labelfield",b.labelfield);if("object"==typeof b.exacts)for(var c=0,d=b.exacts.length;c<d;c++){var e=b.exacts[c],f=this.createElementNS("","EXACT");"string"==typeof e.value&&f.setAttribute("value",e.value);"string"==typeof e.label&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16166 f.setAttribute("label",e.label);"string"==typeof e.method&&f.setAttribute("method",e.method);a.appendChild(f);if("object"==typeof e.symbol){var g=null;"text"==e.symbol.type&&(g=this.createElementNS("","TEXTSYMBOL"));if(null!=g){for(var h=this.fontStyleKeys,i=0,j=h.length;i<j;i++){var k=h[i];e.symbol[k]&&g.setAttribute(k,e.symbol[k])}f.appendChild(g)}}}},addValueMapRenderer:function(a,b){a.setAttribute("lookupfield",b.lookupfield);if("object"==typeof b.ranges)for(var c=0,d=b.ranges.length;c<d;c++){var e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16167 b.ranges[c],f=this.createElementNS("","RANGE");f.setAttribute("lower",e.lower);f.setAttribute("upper",e.upper);a.appendChild(f);if("object"==typeof e.symbol){var g=null;"simplepolygon"==e.symbol.type&&(g=this.createElementNS("","SIMPLEPOLYGONSYMBOL"));null!=g&&("string"==typeof e.symbol.boundarycolor&&g.setAttribute("boundarycolor",e.symbol.boundarycolor),"string"==typeof e.symbol.fillcolor&&g.setAttribute("fillcolor",e.symbol.fillcolor),"number"==typeof e.symbol.filltransparency&&g.setAttribute("filltransparency", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16168 e.symbol.filltransparency),f.appendChild(g))}}else if("object"==typeof b.exacts){c=0;for(d=b.exacts.length;c<d;c++)e=b.exacts[c],f=this.createElementNS("","EXACT"),"string"==typeof e.value&&f.setAttribute("value",e.value),"string"==typeof e.label&&f.setAttribute("label",e.label),"string"==typeof e.method&&f.setAttribute("method",e.method),a.appendChild(f),"object"==typeof e.symbol&&(g=null,"simplemarker"==e.symbol.type&&(g=this.createElementNS("","SIMPLEMARKERSYMBOL")),null!=g&&("string"==typeof e.symbol.antialiasing&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16169 g.setAttribute("antialiasing",e.symbol.antialiasing),"string"==typeof e.symbol.color&&g.setAttribute("color",e.symbol.color),"string"==typeof e.symbol.outline&&g.setAttribute("outline",e.symbol.outline),"string"==typeof e.symbol.overlap&&g.setAttribute("overlap",e.symbol.overlap),"string"==typeof e.symbol.shadow&&g.setAttribute("shadow",e.symbol.shadow),"number"==typeof e.symbol.transparency&&g.setAttribute("transparency",e.symbol.transparency),"string"==typeof e.symbol.usecentroid&&g.setAttribute("usecentroid", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16170 e.symbol.usecentroid),"number"==typeof e.symbol.width&&g.setAttribute("width",e.symbol.width),f.appendChild(g)))}},addSimpleLabelRenderer:function(a,b){a.setAttribute("field",b.field);for(var c="featureweight howmanylabels labelbufferratio labelpriorities labelweight linelabelposition rotationalangles".split(" "),d=0,e=c.length;d<e;d++){var f=c[d];b[f]&&a.setAttribute(f,b[f])}if("text"==b.symbol.type){var g=b.symbol,h=this.createElementNS("","TEXTSYMBOL");a.appendChild(h);c=this.fontStyleKeys;d=0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16171 for(e=c.length;d<e;d++)f=c[d],g[f]&&h.setAttribute(f,b[f])}},writePolygonGeometry:function(a){if(!(a instanceof OpenLayers.Geometry.Polygon))throw{message:"Cannot write polygon geometry to ArcXML with an "+a.CLASS_NAME+" object.",geometry:a};for(var b=this.createElementNS("","POLYGON"),c=0,d=a.components.length;c<d;c++){for(var e=a.components[c],f=this.createElementNS("","RING"),g=0,h=e.components.length;g<h;g++){var i=e.components[g],j=this.createElementNS("","POINT");j.setAttribute("x",i.x);j.setAttribute("y", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16172 i.y);f.appendChild(j)}b.appendChild(f)}return b},parseResponse:function(a){"string"==typeof a&&(a=(new OpenLayers.Format.XML).read(a));var b=new OpenLayers.Format.ArcXML.Response,c=a.getElementsByTagName("ERROR");if(null!=c&&0<c.length)b.error=this.getChildValue(c,"Unknown error.");else{c=a.getElementsByTagName("RESPONSE");if(null==c||0==c.length)return b.error="No RESPONSE tag found in ArcXML response.",b;var d=c[0].firstChild.nodeName;"#text"==d&&(d=c[0].firstChild.nextSibling.nodeName);if("IMAGE"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16173 d)c=a.getElementsByTagName("ENVELOPE"),a=a.getElementsByTagName("OUTPUT"),null==c||0==c.length?b.error="No ENVELOPE tag found in ArcXML response.":null==a||0==a.length?b.error="No OUTPUT tag found in ArcXML response.":(c=this.parseAttributes(c[0]),d=this.parseAttributes(a[0]),b.image="string"==typeof d.type?{envelope:c,output:{type:d.type,data:this.getChildValue(a[0])}}:{envelope:c,output:d});else if("FEATURES"==d){if(a=c[0].getElementsByTagName("FEATURES"),c=a[0].getElementsByTagName("FEATURECOUNT"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16174 b.features.featurecount=c[0].getAttribute("count"),0<b.features.featurecount){c=a[0].getElementsByTagName("ENVELOPE");b.features.envelope=this.parseAttributes(c[0],"number");a=a[0].getElementsByTagName("FEATURE");for(c=0;c<a.length;c++){for(var d=new OpenLayers.Feature.Vector,e=a[c].getElementsByTagName("FIELD"),f=0;f<e.length;f++){var g=e[f].getAttribute("name"),h=e[f].getAttribute("value");d.attributes[g]=h}e=a[c].getElementsByTagName("POLYGON");if(0<e.length){e=e[0].getElementsByTagName("RING"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16175 f=[];for(g=0;g<e.length;g++){h=[];h.push(this.parsePointGeometry(e[g]));for(var i=e[g].getElementsByTagName("HOLE"),j=0;j<i.length;j++)h.push(this.parsePointGeometry(i[j]));f.push(new OpenLayers.Geometry.Polygon(h))}d.geometry=1==f.length?f[0]:new OpenLayers.Geometry.MultiPolygon(f)}b.features.feature.push(d)}}}else b.error="Unidentified response type."}return b},parseAttributes:function(a,b){for(var c={},d=0;d<a.attributes.length;d++)c[a.attributes[d].nodeName]="number"==b?parseFloat(a.attributes[d].nodeValue): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16176 a.attributes[d].nodeValue;return c},parsePointGeometry:function(a){var b=[],c=a.getElementsByTagName("COORDS");if(0<c.length){a=this.getChildValue(c[0]);a=a.split(/;/);for(c=0;c<a.length;c++){var d=a[c].split(/ /);b.push(new OpenLayers.Geometry.Point(d[0],d[1]))}}else if(a=a.getElementsByTagName("POINT"),0<a.length)for(c=0;c<a.length;c++)b.push(new OpenLayers.Geometry.Point(parseFloat(a[c].getAttribute("x")),parseFloat(a[c].getAttribute("y"))));return new OpenLayers.Geometry.LinearRing(b)},CLASS_NAME:"OpenLayers.Format.ArcXML"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16177 OpenLayers.Format.ArcXML.Request=OpenLayers.Class({initialize:function(){return OpenLayers.Util.extend(this,{get_image:{properties:{background:null,draw:!0,envelope:{minx:0,miny:0,maxx:0,maxy:0},featurecoordsys:{id:0,string:"",datumtransformid:0,datumtransformstring:""},filtercoordsys:{id:0,string:"",datumtransformid:0,datumtransformstring:""},imagesize:{height:0,width:0,dpi:96,printheight:0,printwidth:0,scalesymbols:!1},layerlist:[],output:{baseurl:"",legendbaseurl:"",legendname:"",legendpath:"", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16178 legendurl:"",name:"",path:"",type:"jpg",url:""}}},get_feature:{layer:"",query:{isspatial:!1,featurecoordsys:{id:0,string:"",datumtransformid:0,datumtransformstring:""},filtercoordsys:{id:0,string:"",datumtransformid:0,datumtransformstring:""},buffer:0,where:"",spatialfilter:{relation:"envelope_intersection",envelope:null}}},environment:{separators:{cs:" ",ts:";"}},layer:[],workspaces:[]})},CLASS_NAME:"OpenLayers.Format.ArcXML.Request"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16179 OpenLayers.Format.ArcXML.Response=OpenLayers.Class({initialize:function(){return OpenLayers.Util.extend(this,{image:{envelope:null,output:""},features:{featurecount:0,envelope:null,feature:[]},error:""})},CLASS_NAME:"OpenLayers.Format.ArcXML.Response"});OpenLayers.ProxyHost=""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16180 OpenLayers.Request={DEFAULT_CONFIG:{method:"GET",url:window.location.href,async:!0,user:void 0,password:void 0,params:null,proxy:OpenLayers.ProxyHost,headers:{},data:null,callback:function(){},success:null,failure:null,scope:null},URL_SPLIT_REGEX:/([^:]*:)\/\/([^:]*:?[^@]*@)?([^:\/\?]*):?([^\/\?]*)/,events:new OpenLayers.Events(this),makeSameOrigin:function(a,b){var c=0!==a.indexOf("http"),d=!c&&a.match(this.URL_SPLIT_REGEX);if(d){var e=window.location,c=d[1]==e.protocol&&d[3]==e.hostname,d=d[4], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16181 e=e.port;if(80!=d&&""!=d||"80"!=e&&""!=e)c=c&&d==e}c||(b?a="function"==typeof b?b(a):b+encodeURIComponent(a):OpenLayers.Console.warn(OpenLayers.i18n("proxyNeeded"),{url:a}));return a},issue:function(a){var b=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost}),a=OpenLayers.Util.applyDefaults(a,b),b=!1,c;for(c in a.headers)a.headers.hasOwnProperty(c)&&"x-requested-with"===c.toLowerCase()&&(b=!0);!1===b&&(a.headers["X-Requested-With"]="XMLHttpRequest");var d=new OpenLayers.Request.XMLHttpRequest, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16182 e=OpenLayers.Util.urlAppend(a.url,OpenLayers.Util.getParameterString(a.params||{})),e=OpenLayers.Request.makeSameOrigin(e,a.proxy);d.open(a.method,e,a.async,a.user,a.password);for(var f in a.headers)d.setRequestHeader(f,a.headers[f]);var g=this.events,h=this;d.onreadystatechange=function(){d.readyState==OpenLayers.Request.XMLHttpRequest.DONE&&!1!==g.triggerEvent("complete",{request:d,config:a,requestUrl:e})&&h.runCallbacks({request:d,config:a,requestUrl:e})};!1===a.async?d.send(a.data):window.setTimeout(function(){0!== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16183 d.readyState&&d.send(a.data)},0);return d},runCallbacks:function(a){var b=a.request,c=a.config,d=c.scope?OpenLayers.Function.bind(c.callback,c.scope):c.callback,e;c.success&&(e=c.scope?OpenLayers.Function.bind(c.success,c.scope):c.success);var f;c.failure&&(f=c.scope?OpenLayers.Function.bind(c.failure,c.scope):c.failure);"file:"==OpenLayers.Util.createUrlObject(c.url).protocol&&b.responseText&&(b.status=200);d(b);if(!b.status||200<=b.status&&300>b.status)this.events.triggerEvent("success",a),e&&e(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16184 if(b.status&&(200>b.status||300<=b.status))this.events.triggerEvent("failure",a),f&&f(b)},GET:function(a){a=OpenLayers.Util.extend(a,{method:"GET"});return OpenLayers.Request.issue(a)},POST:function(a){a=OpenLayers.Util.extend(a,{method:"POST"});a.headers=a.headers?a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},PUT:function(a){a=OpenLayers.Util.extend(a,{method:"PUT"});a.headers=a.headers? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16185 a.headers:{};"CONTENT-TYPE"in OpenLayers.Util.upperCaseObject(a.headers)||(a.headers["Content-Type"]="application/xml");return OpenLayers.Request.issue(a)},DELETE:function(a){a=OpenLayers.Util.extend(a,{method:"DELETE"});return OpenLayers.Request.issue(a)},HEAD:function(a){a=OpenLayers.Util.extend(a,{method:"HEAD"});return OpenLayers.Request.issue(a)},OPTIONS:function(a){a=OpenLayers.Util.extend(a,{method:"OPTIONS"});return OpenLayers.Request.issue(a)}};OpenLayers.Layer.ArcIMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{ClientVersion:"9.2",ServiceName:""},featureCoordSys:"4326",filterCoordSys:"4326",layers:null,async:!0,name:"ArcIMS",isBaseLayer:!0,DEFAULT_OPTIONS:{tileSize:new OpenLayers.Size(512,512),featureCoordSys:"4326",filterCoordSys:"4326",layers:null,isBaseLayer:!0,async:!0,name:"ArcIMS"},initialize:function(a,b,c){this.tileSize=new OpenLayers.Size(512,512);this.params=OpenLayers.Util.applyDefaults({ServiceName:c.serviceName}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16186 this.DEFAULT_PARAMS);this.options=OpenLayers.Util.applyDefaults(c,this.DEFAULT_OPTIONS);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a,b,this.params,c]);if(this.transparent&&(this.isBaseLayer||(this.isBaseLayer=!1),"image/jpeg"==this.format))this.format=OpenLayers.Util.alphaHack()?"image/gif":"image/png";null===this.options.layers&&(this.options.layers=[])},getURL:function(a){var b="",a=this.adjustBounds(a),a=new OpenLayers.Format.ArcXML(OpenLayers.Util.extend(this.options,{requesttype:"image", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16187 envelope:a.toArray(),tileSize:this.tileSize})),a=new OpenLayers.Request.POST({url:this.getFullRequestString(),data:a.write(),async:!1});if(null!=a){b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;b=this.getUrlOrImage((new OpenLayers.Format.ArcXML).read(b).image.output)}return b},getURLasync:function(a,b,c){a=this.adjustBounds(a);a=new OpenLayers.Format.ArcXML(OpenLayers.Util.extend(this.options,{requesttype:"image",envelope:a.toArray(),tileSize:this.tileSize}));OpenLayers.Request.POST({url:this.getFullRequestString(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16188 async:!0,data:a.write(),callback:function(a){var e=a.responseXML;if(!e||!e.documentElement)e=a.responseText;a=(new OpenLayers.Format.ArcXML).read(e);b.call(c,this.getUrlOrImage(a.image.output))},scope:this})},getUrlOrImage:function(a){var b="";a.url?b=a.url:a.data&&(b="data:image/"+a.type+";base64,"+a.data);return b},setLayerQuery:function(a,b){for(var c=0;c<this.options.layers.length;c++)if(a==this.options.layers[c].id){this.options.layers[c].query=b;return}this.options.layers.push({id:a,visible:!0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16189 query:b})},getFeatureInfo:function(a,b,c){var d=c.buffer||1,e=c.callback||function(){},f=c.scope||window,g={};OpenLayers.Util.extend(g,this.options);g.requesttype="feature";a instanceof OpenLayers.LonLat?(g.polygon=null,g.envelope=[a.lon-d,a.lat-d,a.lon+d,a.lat+d]):a instanceof OpenLayers.Geometry.Polygon&&(g.envelope=null,g.polygon=a);var h=new OpenLayers.Format.ArcXML(g);OpenLayers.Util.extend(h.request.get_feature,c);h.request.get_feature.layer=b.id;"number"==typeof b.query.accuracy?h.request.get_feature.query.accuracy= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16190 b.query.accuracy:(a=this.map.getCenter(),c=this.map.getViewPortPxFromLonLat(a),c.x++,c=this.map.getLonLatFromPixel(c),h.request.get_feature.query.accuracy=c.lon-a.lon);h.request.get_feature.query.where=b.query.where;h.request.get_feature.query.spatialfilter.relation="area_intersection";OpenLayers.Request.POST({url:this.getFullRequestString({CustomService:"Query"}),data:h.write(),callback:function(a){a=h.parseResponse(a.responseText);h.iserror()?e.call(f,null):e.call(f,a.features)}})},clone:function(a){null== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16191 a&&(a=new OpenLayers.Layer.ArcIMS(this.name,this.url,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},CLASS_NAME:"OpenLayers.Layer.ArcIMS"});OpenLayers.Format.OWSCommon.v1_1_0=OpenLayers.Class(OpenLayers.Format.OWSCommon.v1,{namespaces:{ows:"http://www.opengis.net/ows/1.1",xlink:"http://www.w3.org/1999/xlink"},readers:{ows:OpenLayers.Util.applyDefaults({ExceptionReport:function(a,b){b.exceptionReport={version:a.getAttribute("version"),language:a.getAttribute("xml:lang"),exceptions:[]};this.readChildNodes(a,b.exceptionReport)},AllowedValues:function(a,b){b.allowedValues={};this.readChildNodes(a,b.allowedValues)},AnyValue:function(a,b){b.anyValue= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16192 !0},DataType:function(a,b){b.dataType=this.getChildValue(a)},Range:function(a,b){b.range={};this.readChildNodes(a,b.range)},MinimumValue:function(a,b){b.minValue=this.getChildValue(a)},MaximumValue:function(a,b){b.maxValue=this.getChildValue(a)},Identifier:function(a,b){b.identifier=this.getChildValue(a)},SupportedCRS:function(a,b){b.supportedCRS=this.getChildValue(a)}},OpenLayers.Format.OWSCommon.v1.prototype.readers.ows)},writers:{ows:OpenLayers.Util.applyDefaults({Range:function(a){var b=this.createElementNSPlus("ows:Range", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16193 {attributes:{"ows:rangeClosure":a.closure}});this.writeNode("ows:MinimumValue",a.minValue,b);this.writeNode("ows:MaximumValue",a.maxValue,b);return b},MinimumValue:function(a){return this.createElementNSPlus("ows:MinimumValue",{value:a})},MaximumValue:function(a){return this.createElementNSPlus("ows:MaximumValue",{value:a})},Value:function(a){return this.createElementNSPlus("ows:Value",{value:a})}},OpenLayers.Format.OWSCommon.v1.prototype.writers.ows)},CLASS_NAME:"OpenLayers.Format.OWSCommon.v1_1_0"});OpenLayers.Format.WCSGetCoverage=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ows:"http://www.opengis.net/ows/1.1",wcs:"http://www.opengis.net/wcs/1.1",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},VERSION:"1.1.2",schemaLocation:"http://www.opengis.net/wcs/1.1 http://schemas.opengis.net/wcs/1.1/wcsGetCoverage.xsd",write:function(a){a=this.writeNode("wcs:GetCoverage", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16194 a);this.setAttributeNS(a,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{wcs:{GetCoverage:function(a){var b=this.createElementNSPlus("wcs:GetCoverage",{attributes:{version:a.version||this.VERSION,service:"WCS"}});this.writeNode("ows:Identifier",a.identifier,b);this.writeNode("wcs:DomainSubset",a.domainSubset,b);this.writeNode("wcs:Output",a.output,b);return b},DomainSubset:function(a){var b=this.createElementNSPlus("wcs:DomainSubset", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16195 {});this.writeNode("ows:BoundingBox",a.boundingBox,b);a.temporalSubset&&this.writeNode("wcs:TemporalSubset",a.temporalSubset,b);return b},TemporalSubset:function(a){for(var b=this.createElementNSPlus("wcs:TemporalSubset",{}),c=0,d=a.timePeriods.length;c<d;++c)this.writeNode("wcs:TimePeriod",a.timePeriods[c],b);return b},TimePeriod:function(a){var b=this.createElementNSPlus("wcs:TimePeriod",{});this.writeNode("wcs:BeginPosition",a.begin,b);this.writeNode("wcs:EndPosition",a.end,b);a.resolution&&this.writeNode("wcs:TimeResolution", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16196 a.resolution,b);return b},BeginPosition:function(a){return this.createElementNSPlus("wcs:BeginPosition",{value:a})},EndPosition:function(a){return this.createElementNSPlus("wcs:EndPosition",{value:a})},TimeResolution:function(a){return this.createElementNSPlus("wcs:TimeResolution",{value:a})},Output:function(a){var b=this.createElementNSPlus("wcs:Output",{attributes:{format:a.format,store:a.store}});a.gridCRS&&this.writeNode("wcs:GridCRS",a.gridCRS,b);return b},GridCRS:function(a){var b=this.createElementNSPlus("wcs:GridCRS", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16197 {});this.writeNode("wcs:GridBaseCRS",a.baseCRS,b);a.type&&this.writeNode("wcs:GridType",a.type,b);a.origin&&this.writeNode("wcs:GridOrigin",a.origin,b);this.writeNode("wcs:GridOffsets",a.offsets,b);a.CS&&this.writeNode("wcs:GridCS",a.CS,b);return b},GridBaseCRS:function(a){return this.createElementNSPlus("wcs:GridBaseCRS",{value:a})},GridOrigin:function(a){return this.createElementNSPlus("wcs:GridOrigin",{value:a})},GridType:function(a){return this.createElementNSPlus("wcs:GridType",{value:a})},GridOffsets:function(a){return this.createElementNSPlus("wcs:GridOffsets", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16198 {value:a})},GridCS:function(a){return this.createElementNSPlus("wcs:GridCS",{value:a})}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.writers.ows},CLASS_NAME:"OpenLayers.Format.WCSGetCoverage"});OpenLayers.Format.WPSExecute=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ows:"http://www.opengis.net/ows/1.1",gml:"http://www.opengis.net/gml",wps:"http://www.opengis.net/wps/1.0.0",wfs:"http://www.opengis.net/wfs",ogc:"http://www.opengis.net/ogc",wcs:"http://www.opengis.net/wcs",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16199 schemaLocationAttr:function(){},write:function(a){var b;window.ActiveXObject?this.xmldom=b=new ActiveXObject("Microsoft.XMLDOM"):b=document.implementation.createDocument("","",null);a=this.writeNode("wps:Execute",a,b);this.setAttributeNS(a,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{wps:{Execute:function(a){var b=this.createElementNSPlus("wps:Execute",{attributes:{version:this.VERSION,service:"WPS"}});this.writeNode("ows:Identifier", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16200 a.identifier,b);this.writeNode("wps:DataInputs",a.dataInputs,b);this.writeNode("wps:ResponseForm",a.responseForm,b);return b},ResponseForm:function(a){var b=this.createElementNSPlus("wps:ResponseForm",{});a.rawDataOutput&&this.writeNode("wps:RawDataOutput",a.rawDataOutput,b);a.responseDocument&&this.writeNode("wps:ResponseDocument",a.responseDocument,b);return b},ResponseDocument:function(a){var b=this.createElementNSPlus("wps:ResponseDocument",{attributes:{storeExecuteResponse:a.storeExecuteResponse, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16201 lineage:a.lineage,status:a.status}});a.output&&this.writeNode("wps:Output",a.output,b);return b},Output:function(a){var b=this.createElementNSPlus("wps:Output",{attributes:{asReference:a.asReference}});this.writeNode("ows:Identifier",a.identifier,b);this.writeNode("ows:Title",a.title,b);this.writeNode("ows:Abstract",a["abstract"],b);return b},RawDataOutput:function(a){var b=this.createElementNSPlus("wps:RawDataOutput",{attributes:{mimeType:a.mimeType}});this.writeNode("ows:Identifier",a.identifier, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16202 b);return b},DataInputs:function(a){for(var b=this.createElementNSPlus("wps:DataInputs",{}),c=0,d=a.length;c<d;++c)this.writeNode("wps:Input",a[c],b);return b},Input:function(a){var b=this.createElementNSPlus("wps:Input",{});this.writeNode("ows:Identifier",a.identifier,b);a.title&&this.writeNode("ows:Title",a.title,b);a.data&&this.writeNode("wps:Data",a.data,b);a.reference&&this.writeNode("wps:Reference",a.reference,b);return b},Data:function(a){var b=this.createElementNSPlus("wps:Data",{});a.literalData? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16203 this.writeNode("wps:LiteralData",a.literalData,b):a.complexData&&this.writeNode("wps:ComplexData",a.complexData,b);return b},LiteralData:function(a){return this.createElementNSPlus("wps:LiteralData",{attributes:{uom:a.uom},value:a.value})},ComplexData:function(a){var b=this.createElementNSPlus("wps:ComplexData",{attributes:{mimeType:a.mimeType,encoding:a.encoding,schema:a.schema}}),c=a.value;"string"===typeof c?b.appendChild(this.getXMLDoc().createCDATASection(a.value)):b.appendChild(c);return b}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16204 Reference:function(a){var b=this.createElementNSPlus("wps:Reference",{attributes:{mimeType:a.mimeType,"xlink:href":a.href,method:a.method,encoding:a.encoding,schema:a.schema}});a.body&&this.writeNode("wps:Body",a.body,b);return b},Body:function(a){var b=this.createElementNSPlus("wps:Body",{});a.wcs?this.writeNode("wcs:GetCoverage",a.wcs,b):a.wfs?(this.featureType=a.wfs.featureType,this.version=a.wfs.version,this.writeNode("wfs:GetFeature",a.wfs,b)):this.writeNode("wps:Execute",a,b);return b}},wcs:OpenLayers.Format.WCSGetCoverage.prototype.writers.wcs, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16205 wfs:OpenLayers.Format.WFST.v1_1_0.prototype.writers.wfs,ogc:OpenLayers.Format.Filter.v1_1_0.prototype.writers.ogc,ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.writers.ows},CLASS_NAME:"OpenLayers.Format.WPSExecute"});OpenLayers.Control.PanZoom=OpenLayers.Class(OpenLayers.Control,{slideFactor:50,slideRatio:null,buttons:null,position:null,initialize:function(a){this.position=new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,OpenLayers.Control.PanZoom.Y);OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.map&&this.map.events.unregister("buttonclick",this,this.onButtonClick);this.removeButtons();this.position=this.buttons=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16206 setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);this.map.events.register("buttonclick",this,this.onButtonClick)},draw:function(a){OpenLayers.Control.prototype.draw.apply(this,arguments);a=this.position;this.buttons=[];var b={w:18,h:18},c=new OpenLayers.Pixel(a.x+b.w/2,a.y);this._addButton("panup","north-mini.png",c,b);a.y=c.y+b.h;this._addButton("panleft","west-mini.png",a,b);this._addButton("panright","east-mini.png",a.add(b.w,0),b);this._addButton("pandown","south-mini.png", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16207 c.add(0,2*b.h),b);this._addButton("zoomin","zoom-plus-mini.png",c.add(0,3*b.h+5),b);this._addButton("zoomworld","zoom-world-mini.png",c.add(0,4*b.h+5),b);this._addButton("zoomout","zoom-minus-mini.png",c.add(0,5*b.h+5),b);return this.div},_addButton:function(a,b,c,d){b=OpenLayers.Util.getImageLocation(b);c=OpenLayers.Util.createAlphaImageDiv(this.id+"_"+a,c,d,b,"absolute");c.style.cursor="pointer";this.div.appendChild(c);c.action=a;c.className="olButton";this.buttons.push(c);return c},_removeButton:function(a){this.div.removeChild(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16208 OpenLayers.Util.removeItem(this.buttons,a)},removeButtons:function(){for(var a=this.buttons.length-1;0<=a;--a)this._removeButton(this.buttons[a])},onButtonClick:function(a){switch(a.buttonElement.action){case "panup":this.map.pan(0,-this.getSlideFactor("h"));break;case "pandown":this.map.pan(0,this.getSlideFactor("h"));break;case "panleft":this.map.pan(-this.getSlideFactor("w"),0);break;case "panright":this.map.pan(this.getSlideFactor("w"),0);break;case "zoomin":this.map.zoomIn();break;case "zoomout":this.map.zoomOut(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16209 break;case "zoomworld":this.map.zoomToMaxExtent()}},getSlideFactor:function(a){return this.slideRatio?this.map.getSize()[a]*this.slideRatio:this.slideFactor},CLASS_NAME:"OpenLayers.Control.PanZoom"});OpenLayers.Control.PanZoom.X=4;OpenLayers.Control.PanZoom.Y=4;OpenLayers.Control.PanZoomBar=OpenLayers.Class(OpenLayers.Control.PanZoom,{zoomStopWidth:18,zoomStopHeight:11,slider:null,sliderEvents:null,zoombarDiv:null,zoomWorldIcon:!1,panIcons:!0,forceFixedZoomLevel:!1,mouseDragStart:null,deltaY:null,zoomStart:null,destroy:function(){this._removeZoomBar();this.map.events.un({changebaselayer:this.redraw,scope:this});OpenLayers.Control.PanZoom.prototype.destroy.apply(this,arguments);delete this.mouseDragStart;delete this.zoomStart},setMap:function(a){OpenLayers.Control.PanZoom.prototype.setMap.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16210 arguments);this.map.events.register("changebaselayer",this,this.redraw)},redraw:function(){null!=this.div&&(this.removeButtons(),this._removeZoomBar());this.draw()},draw:function(a){OpenLayers.Control.prototype.draw.apply(this,arguments);a=this.position.clone();this.buttons=[];var b={w:18,h:18};if(this.panIcons){var c=new OpenLayers.Pixel(a.x+b.w/2,a.y),d=b.w;this.zoomWorldIcon&&(c=new OpenLayers.Pixel(a.x+b.w,a.y));this._addButton("panup","north-mini.png",c,b);a.y=c.y+b.h;this._addButton("panleft", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16211 "west-mini.png",a,b);this.zoomWorldIcon&&(this._addButton("zoomworld","zoom-world-mini.png",a.add(b.w,0),b),d*=2);this._addButton("panright","east-mini.png",a.add(d,0),b);this._addButton("pandown","south-mini.png",c.add(0,2*b.h),b);this._addButton("zoomin","zoom-plus-mini.png",c.add(0,3*b.h+5),b);c=this._addZoomBar(c.add(0,4*b.h+5));this._addButton("zoomout","zoom-minus-mini.png",c,b)}else this._addButton("zoomin","zoom-plus-mini.png",a,b),c=this._addZoomBar(a.add(0,b.h)),this._addButton("zoomout", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16212 "zoom-minus-mini.png",c,b),this.zoomWorldIcon&&(c=c.add(0,b.h+3),this._addButton("zoomworld","zoom-world-mini.png",c,b));return this.div},_addZoomBar:function(a){var b=OpenLayers.Util.getImageLocation("slider.png"),c=this.id+"_"+this.map.id,d=this.map.getNumZoomLevels()-1-this.map.getZoom(),d=OpenLayers.Util.createAlphaImageDiv(c,a.add(-1,d*this.zoomStopHeight),{w:20,h:9},b,"absolute");d.style.cursor="move";this.slider=d;this.sliderEvents=new OpenLayers.Events(this,d,null,!0,{includeXY:!0});this.sliderEvents.on({touchstart:this.zoomBarDown, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16213 touchmove:this.zoomBarDrag,touchend:this.zoomBarUp,mousedown:this.zoomBarDown,mousemove:this.zoomBarDrag,mouseup:this.zoomBarUp});var e={w:this.zoomStopWidth,h:this.zoomStopHeight*this.map.getNumZoomLevels()},b=OpenLayers.Util.getImageLocation("zoombar.png"),c=null;OpenLayers.Util.alphaHack()?(c=this.id+"_"+this.map.id,c=OpenLayers.Util.createAlphaImageDiv(c,a,{w:e.w,h:this.zoomStopHeight},b,"absolute",null,"crop"),c.style.height=e.h+"px"):c=OpenLayers.Util.createDiv("OpenLayers_Control_PanZoomBar_Zoombar"+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16214 this.map.id,a,e,b);c.style.cursor="pointer";c.className="olButton";this.zoombarDiv=c;this.div.appendChild(c);this.startTop=parseInt(c.style.top);this.div.appendChild(d);this.map.events.register("zoomend",this,this.moveZoomBar);return a=a.add(0,this.zoomStopHeight*this.map.getNumZoomLevels())},_removeZoomBar:function(){this.sliderEvents.un({touchstart:this.zoomBarDown,touchmove:this.zoomBarDrag,touchend:this.zoomBarUp,mousedown:this.zoomBarDown,mousemove:this.zoomBarDrag,mouseup:this.zoomBarUp});this.sliderEvents.destroy(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16215 this.div.removeChild(this.zoombarDiv);this.zoombarDiv=null;this.div.removeChild(this.slider);this.slider=null;this.map.events.unregister("zoomend",this,this.moveZoomBar)},onButtonClick:function(a){OpenLayers.Control.PanZoom.prototype.onButtonClick.apply(this,arguments);if(a.buttonElement===this.zoombarDiv){var b=a.buttonXY.y/this.zoomStopHeight;if(this.forceFixedZoomLevel||!this.map.fractionalZoom)b=Math.floor(b);b=this.map.getNumZoomLevels()-1-b;b=Math.min(Math.max(b,0),this.map.getNumZoomLevels()- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16216 1);this.map.zoomTo(b)}},passEventToSlider:function(a){this.sliderEvents.handleBrowserEvent(a)},zoomBarDown:function(a){if(OpenLayers.Event.isLeftClick(a)||OpenLayers.Event.isSingleTouch(a))this.map.events.on({touchmove:this.passEventToSlider,mousemove:this.passEventToSlider,mouseup:this.passEventToSlider,scope:this}),this.mouseDragStart=a.xy.clone(),this.zoomStart=a.xy.clone(),this.div.style.cursor="move",this.zoombarDiv.offsets=null,OpenLayers.Event.stop(a)},zoomBarDrag:function(a){if(null!=this.mouseDragStart){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16217 this.mouseDragStart.y-a.xy.y,c=OpenLayers.Util.pagePosition(this.zoombarDiv);0<a.clientY-c[1]&&a.clientY-c[1]<parseInt(this.zoombarDiv.style.height)-2&&(this.slider.style.top=parseInt(this.slider.style.top)-b+"px",this.mouseDragStart=a.xy.clone());this.deltaY=this.zoomStart.y-a.xy.y;OpenLayers.Event.stop(a)}},zoomBarUp:function(a){if((OpenLayers.Event.isLeftClick(a)||"touchend"===a.type)&&this.mouseDragStart){this.div.style.cursor="";this.map.events.un({touchmove:this.passEventToSlider,mouseup:this.passEventToSlider, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16218 mousemove:this.passEventToSlider,scope:this});var b=this.map.zoom;!this.forceFixedZoomLevel&&this.map.fractionalZoom?(b+=this.deltaY/this.zoomStopHeight,b=Math.min(Math.max(b,0),this.map.getNumZoomLevels()-1)):(b+=this.deltaY/this.zoomStopHeight,b=Math.max(Math.round(b),0));this.map.zoomTo(b);this.zoomStart=this.mouseDragStart=null;this.deltaY=0;OpenLayers.Event.stop(a)}},moveZoomBar:function(){this.slider.style.top=(this.map.getNumZoomLevels()-1-this.map.getZoom())*this.zoomStopHeight+this.startTop+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16219 1+"px"},CLASS_NAME:"OpenLayers.Control.PanZoomBar"});OpenLayers.Format.WFSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.1.0",errorProperty:"service",CLASS_NAME:"OpenLayers.Format.WFSCapabilities"});OpenLayers.Format.WFSCapabilities.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{wfs:"http://www.opengis.net/wfs",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",ows:"http://www.opengis.net/ows"},defaultPrefix:"wfs",read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b},readers:{wfs:{WFS_Capabilities:function(a,b){this.readChildNodes(a,b)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16220 FeatureTypeList:function(a,b){b.featureTypeList={featureTypes:[]};this.readChildNodes(a,b.featureTypeList)},FeatureType:function(a,b){var c={};this.readChildNodes(a,c);b.featureTypes.push(c)},Name:function(a,b){var c=this.getChildValue(a);c&&(c=c.split(":"),b.name=c.pop(),0<c.length&&(b.featureNS=this.lookupNamespaceURI(a,c[0])))},Title:function(a,b){var c=this.getChildValue(a);c&&(b.title=c)},Abstract:function(a,b){var c=this.getChildValue(a);c&&(b["abstract"]=c)}}},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1"});OpenLayers.Format.WFSCapabilities.v1_1_0=OpenLayers.Class(OpenLayers.Format.WFSCapabilities.v1,{regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},readers:{wfs:OpenLayers.Util.applyDefaults({DefaultSRS:function(a,b){var c=this.getChildValue(a);c&&(b.srs=c)}},OpenLayers.Format.WFSCapabilities.v1.prototype.readers.wfs),ows:OpenLayers.Format.OWSCommon.v1.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1_1_0"});OpenLayers.Layer.Image=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:!0,url:null,extent:null,size:null,tile:null,aspectRatio:null,initialize:function(a,b,c,d,e){this.url=b;this.maxExtent=this.extent=c;this.size=d;OpenLayers.Layer.prototype.initialize.apply(this,[a,e]);this.aspectRatio=this.extent.getHeight()/this.size.h/(this.extent.getWidth()/this.size.w)},destroy:function(){this.tile&&(this.removeTileMonitoringHooks(this.tile),this.tile.destroy(),this.tile=null);OpenLayers.Layer.prototype.destroy.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16221 arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.Image(this.name,this.url,this.extent,this.size,this.getOptions()));return a=OpenLayers.Layer.prototype.clone.apply(this,[a])},setMap:function(a){null==this.options.maxResolution&&(this.options.maxResolution=this.aspectRatio*this.extent.getWidth()/this.size.w);OpenLayers.Layer.prototype.setMap.apply(this,arguments)},moveTo:function(a,b,c){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);var d=null==this.tile;if(b||d){this.setTileSize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16222 var e=this.map.getLayerPxFromLonLat({lon:this.extent.left,lat:this.extent.top});d?(this.tile=new OpenLayers.Tile.Image(this,e,this.extent,null,this.tileSize),this.addTileMonitoringHooks(this.tile)):(this.tile.size=this.tileSize.clone(),this.tile.position=e.clone());this.tile.draw()}},setTileSize:function(){var a=this.extent.getWidth()/this.map.getResolution(),b=this.extent.getHeight()/this.map.getResolution();this.tileSize=new OpenLayers.Size(a,b)},addTileMonitoringHooks:function(a){a.onLoadStart= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16223 function(){this.events.triggerEvent("loadstart")};a.events.register("loadstart",this,a.onLoadStart);a.onLoadEnd=function(){this.events.triggerEvent("loadend")};a.events.register("loadend",this,a.onLoadEnd);a.events.register("unload",this,a.onLoadEnd)},removeTileMonitoringHooks:function(a){a.unload();a.events.un({loadstart:a.onLoadStart,loadend:a.onLoadEnd,unload:a.onLoadEnd,scope:this})},setUrl:function(a){this.url=a;this.tile.draw()},getURL:function(){return this.url},CLASS_NAME:"OpenLayers.Layer.Image"});OpenLayers.Strategy=OpenLayers.Class({layer:null,options:null,active:null,autoActivate:!0,autoDestroy:!0,initialize:function(a){OpenLayers.Util.extend(this,a);this.options=a;this.active=!1},destroy:function(){this.deactivate();this.options=this.layer=null},setLayer:function(a){this.layer=a},activate:function(){return!this.active?this.active=!0:!1},deactivate:function(){return this.active?(this.active=!1,!0):!1},CLASS_NAME:"OpenLayers.Strategy"});OpenLayers.Strategy.Save=OpenLayers.Class(OpenLayers.Strategy,{events:null,auto:!1,timer:null,initialize:function(a){OpenLayers.Strategy.prototype.initialize.apply(this,[a]);this.events=new OpenLayers.Events(this)},activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);if(a&&this.auto)if("number"===typeof this.auto)this.timer=window.setInterval(OpenLayers.Function.bind(this.save,this),1E3*this.auto);else this.layer.events.on({featureadded:this.triggerSave,afterfeaturemodified:this.triggerSave, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16224 scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.auto&&("number"===typeof this.auto?window.clearInterval(this.timer):this.layer.events.un({featureadded:this.triggerSave,afterfeaturemodified:this.triggerSave,scope:this}));return a},triggerSave:function(a){var b=a.feature;(b.state===OpenLayers.State.INSERT||b.state===OpenLayers.State.UPDATE||b.state===OpenLayers.State.DELETE)&&this.save([a.feature])},save:function(a){a||(a=this.layer.features); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16225 this.events.triggerEvent("start",{features:a});var b=this.layer.projection,c=this.layer.map.getProjectionObject();if(!c.equals(b)){for(var d=a.length,e=Array(d),f,g,h=0;h<d;++h)f=a[h],g=f.clone(),g.fid=f.fid,g.state=f.state,f.url&&(g.url=f.url),g._original=f,g.geometry.transform(c,b),e[h]=g;a=e}this.layer.protocol.commit(a,{callback:this.onCommit,scope:this})},onCommit:function(a){var b={response:a};if(a.success()){for(var c=a.reqFeatures,d,e=[],f=a.insertIds||[],g=0,h=0,i=c.length;h<i;++h)if(d=c[h], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16226 d=d._original||d,a=d.state)a==OpenLayers.State.DELETE?e.push(d):a==OpenLayers.State.INSERT&&(d.fid=f[g],++g),d.state=null;0<e.length&&this.layer.destroyFeatures(e);this.events.triggerEvent("success",b)}else this.events.triggerEvent("fail",b)},CLASS_NAME:"OpenLayers.Strategy.Save"});OpenLayers.Format.GPX=OpenLayers.Class(OpenLayers.Format.XML,{defaultDesc:"No description available",extractWaypoints:!0,extractTracks:!0,extractRoutes:!0,extractAttributes:!0,namespaces:{gpx:"http://www.topografix.com/GPX/1/1",xsi:"http://www.w3.org/2001/XMLSchema-instance"},schemaLocation:"http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd",creator:"OpenLayers",initialize:function(a){this.externalProjection=new OpenLayers.Projection("EPSG:4326");OpenLayers.Format.XML.prototype.initialize.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16227 [a])},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=[];if(this.extractTracks)for(var c=a.getElementsByTagName("trk"),d=0,e=c.length;d<e;d++){var f={};this.extractAttributes&&(f=this.parseAttributes(c[d]));for(var g=this.getElementsByTagNameNS(c[d],c[d].namespaceURI,"trkseg"),h=0,i=g.length;h<i;h++){var j=this.extractSegment(g[h],"trkpt");b.push(new OpenLayers.Feature.Vector(j,f))}}if(this.extractRoutes){e=a.getElementsByTagName("rte");c=0;for(d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16228 e.length;c<d;c++)f={},this.extractAttributes&&(f=this.parseAttributes(e[c])),g=this.extractSegment(e[c],"rtept"),b.push(new OpenLayers.Feature.Vector(g,f))}if(this.extractWaypoints){a=a.getElementsByTagName("wpt");c=0;for(e=a.length;c<e;c++)f={},this.extractAttributes&&(f=this.parseAttributes(a[c])),d=new OpenLayers.Geometry.Point(a[c].getAttribute("lon"),a[c].getAttribute("lat")),b.push(new OpenLayers.Feature.Vector(d,f))}if(this.internalProjection&&this.externalProjection){f=0;for(a=b.length;f< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16229 a;f++)b[f].geometry.transform(this.externalProjection,this.internalProjection)}return b},extractSegment:function(a,b){for(var c=this.getElementsByTagNameNS(a,a.namespaceURI,b),d=[],e=0,f=c.length;e<f;e++)d.push(new OpenLayers.Geometry.Point(c[e].getAttribute("lon"),c[e].getAttribute("lat")));return new OpenLayers.Geometry.LineString(d)},parseAttributes:function(a){for(var b={},a=a.firstChild,c,d;a;){if(1==a.nodeType&&a.firstChild&&(c=a.firstChild,3==c.nodeType||4==c.nodeType))d=a.prefix?a.nodeName.split(":")[1]: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16230 a.nodeName,"trkseg"!=d&&"rtept"!=d&&(b[d]=c.nodeValue);a=a.nextSibling}return b},write:function(a,b){var a=OpenLayers.Util.isArray(a)?a:[a],c=this.createElementNS(this.namespaces.gpx,"gpx");c.setAttribute("version","1.1");c.setAttribute("creator",this.creator);this.setAttributes(c,{"xsi:schemaLocation":this.schemaLocation});b&&"object"==typeof b&&c.appendChild(this.buildMetadataNode(b));for(var d=0,e=a.length;d<e;d++)c.appendChild(this.buildFeatureNode(a[d]));return OpenLayers.Format.XML.prototype.write.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16231 [c])},buildMetadataNode:function(a){for(var b=["name","desc","author"],c=this.createElementNSPlus("gpx:metadata"),d=0;d<b.length;d++){var e=b[d];if(a[e]){var f=this.createElementNSPlus("gpx:"+e);f.appendChild(this.createTextNode(a[e]));c.appendChild(f)}}return c},buildFeatureNode:function(a){var b=a.geometry,b=b.clone();this.internalProjection&&this.externalProjection&&b.transform(this.internalProjection,this.externalProjection);if("OpenLayers.Geometry.Point"==b.CLASS_NAME){var c=this.buildWptNode(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16232 this.appendAttributesNode(c,a);return c}c=this.createElementNSPlus("gpx:trk");this.appendAttributesNode(c,a);for(var a=this.buildTrkSegNode(b),a=OpenLayers.Util.isArray(a)?a:[a],b=0,d=a.length;b<d;b++)c.appendChild(a[b]);return c},buildTrkSegNode:function(a){var b,c,d,e;if("OpenLayers.Geometry.LineString"==a.CLASS_NAME||"OpenLayers.Geometry.LinearRing"==a.CLASS_NAME){b=this.createElementNSPlus("gpx:trkseg");c=0;for(d=a.components.length;c<d;c++)e=a.components[c],b.appendChild(this.buildTrkPtNode(e)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16233 return b}b=[];c=0;for(d=a.components.length;c<d;c++)b.push(this.buildTrkSegNode(a.components[c]));return b},buildTrkPtNode:function(a){var b=this.createElementNSPlus("gpx:trkpt");b.setAttribute("lon",a.x);b.setAttribute("lat",a.y);return b},buildWptNode:function(a){var b=this.createElementNSPlus("gpx:wpt");b.setAttribute("lon",a.x);b.setAttribute("lat",a.y);return b},appendAttributesNode:function(a,b){var c=this.createElementNSPlus("gpx:name");c.appendChild(this.createTextNode(b.attributes.name|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16234 b.id));a.appendChild(c);c=this.createElementNSPlus("gpx:desc");c.appendChild(this.createTextNode(b.attributes.description||this.defaultDesc));a.appendChild(c)},CLASS_NAME:"OpenLayers.Format.GPX"});OpenLayers.Format.WMSDescribeLayer=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.1.1",getVersion:function(a,b){var c=OpenLayers.Format.XML.VersionedOGC.prototype.getVersion.apply(this,arguments);if("1.1.1"==c||"1.1.0"==c)c="1.1";return c},CLASS_NAME:"OpenLayers.Format.WMSDescribeLayer"});OpenLayers.Format.WMSDescribeLayer.v1_1=OpenLayers.Class(OpenLayers.Format.WMSDescribeLayer,{initialize:function(a){OpenLayers.Format.WMSDescribeLayer.prototype.initialize.apply(this,[a])},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));for(var a=a.documentElement.childNodes,b=[],c,d,e=0;e<a.length;++e)if(c=a[e],d=c.nodeName,"LayerDescription"==d){d=c.getAttribute("name");var f="",g="",h="";c.getAttribute("owsType")?(f=c.getAttribute("owsType"),g=c.getAttribute("owsURL")): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16235 ""!=c.getAttribute("wfs")?(f="WFS",g=c.getAttribute("wfs")):""!=c.getAttribute("wcs")&&(f="WCS",g=c.getAttribute("wcs"));c=c.getElementsByTagName("Query");0<c.length&&((h=c[0].getAttribute("typeName"))||(h=c[0].getAttribute("typename")));b.push({layerName:d,owsType:f,owsURL:g,typeName:h})}return b},CLASS_NAME:"OpenLayers.Format.WMSDescribeLayer.v1_1"});OpenLayers.Layer.XYZ=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,sphericalMercator:!1,zoomOffset:0,serverResolutions:null,initialize:function(a,b,c){if(c&&c.sphericalMercator||this.sphericalMercator)c=OpenLayers.Util.extend({projection:"EPSG:900913",numZoomLevels:19},c);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a||this.name,b||this.url,{},c])},clone:function(a){null==a&&(a=new OpenLayers.Layer.XYZ(this.name,this.url,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16236 [a])},getURL:function(a){var a=this.getXYZ(a),b=this.url;OpenLayers.Util.isArray(b)&&(b=this.selectUrl(""+a.x+a.y+a.z,b));return OpenLayers.String.format(b,a)},getXYZ:function(a){var b=this.getServerResolution(),c=Math.round((a.left-this.maxExtent.left)/(b*this.tileSize.w)),a=Math.round((this.maxExtent.top-a.top)/(b*this.tileSize.h)),b=this.getServerZoom();if(this.wrapDateLine)var d=Math.pow(2,b),c=(c%d+d)%d;return{x:c,y:a,z:b}},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16237 arguments);this.tileOrigin||(this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.bottom))},CLASS_NAME:"OpenLayers.Layer.XYZ"});OpenLayers.Layer.OSM=OpenLayers.Class(OpenLayers.Layer.XYZ,{name:"OpenStreetMap",url:["http://a.tile.openstreetmap.org/${z}/${x}/${y}.png","http://b.tile.openstreetmap.org/${z}/${x}/${y}.png","http://c.tile.openstreetmap.org/${z}/${x}/${y}.png"],attribution:"Data CC-By-SA by <a href='http://openstreetmap.org/'>OpenStreetMap</a>",sphericalMercator:!0,wrapDateLine:!0,tileOptions:null,initialize:function(a,b,c){OpenLayers.Layer.XYZ.prototype.initialize.apply(this,arguments);this.tileOptions=OpenLayers.Util.extend({crossOriginKeyword:"anonymous"}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16238 this.options&&this.options.tileOptions)},clone:function(a){null==a&&(a=new OpenLayers.Layer.OSM(this.name,this.url,this.getOptions()));return a=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},CLASS_NAME:"OpenLayers.Layer.OSM"});OpenLayers.Renderer=OpenLayers.Class({container:null,root:null,extent:null,locked:!1,size:null,resolution:null,map:null,featureDx:0,initialize:function(a,b){this.container=OpenLayers.Util.getElement(a);OpenLayers.Util.extend(this,b)},destroy:function(){this.map=this.resolution=this.size=this.extent=this.container=null},supported:function(){return!1},setExtent:function(a,b){this.extent=a.clone();if(this.map.baseLayer&&this.map.baseLayer.wrapDateLine){var c=a.getWidth()/this.map.getExtent().getWidth(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16239 a=a.scale(1/c);this.extent=a.wrapDateLine(this.map.getMaxExtent()).scale(c)}b&&(this.resolution=null);return!0},setSize:function(a){this.size=a.clone();this.resolution=null},getResolution:function(){return this.resolution=this.resolution||this.map.getResolution()},drawFeature:function(a,b){null==b&&(b=a.style);if(a.geometry){var c=a.geometry.getBounds();if(c){var d;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(d=this.map.getMaxExtent());c.intersectsBounds(this.extent,{worldBounds:d})?this.calculateFeatureDx(c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16240 d):b={display:"none"};c=this.drawGeometry(a.geometry,b,a.id);if("none"!=b.display&&b.label&&!1!==c){d=a.geometry.getCentroid();if(b.labelXOffset||b.labelYOffset){var e=isNaN(b.labelXOffset)?0:b.labelXOffset,f=isNaN(b.labelYOffset)?0:b.labelYOffset,g=this.getResolution();d.move(e*g,f*g)}this.drawText(a.id,b,d)}else this.removeText(a.id);return c}}},calculateFeatureDx:function(a,b){this.featureDx=0;if(b){var c=b.getWidth();this.featureDx=Math.round(((a.left+a.right)/2-(this.extent.left+this.extent.right)/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16241 2)/c)*c}},drawGeometry:function(){},drawText:function(){},removeText:function(){},clear:function(){},getFeatureIdFromEvent:function(){},eraseFeatures:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0,c=a.length;b<c;++b){var d=a[b];this.eraseGeometry(d.geometry,d.id);this.removeText(d.id)}},eraseGeometry:function(){},moveRoot:function(){},getRenderLayerId:function(){return this.container.id},applyDefaultSymbolizer:function(a){var b=OpenLayers.Util.extend({},OpenLayers.Renderer.defaultSymbolizer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16242 !1===a.stroke&&(delete b.strokeWidth,delete b.strokeColor);!1===a.fill&&delete b.fillColor;OpenLayers.Util.extend(b,a);return b},CLASS_NAME:"OpenLayers.Renderer"});OpenLayers.Renderer.defaultSymbolizer={fillColor:"#000000",strokeColor:"#000000",strokeWidth:2,fillOpacity:1,strokeOpacity:1,pointRadius:0,labelAlign:"cm"}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16243 OpenLayers.Renderer.symbol={star:[350,75,379,161,469,161,397,215,423,301,350,250,277,301,303,215,231,161,321,161,350,75],cross:[4,0,6,0,6,4,10,4,10,6,6,6,6,10,4,10,4,6,0,6,0,4,4,4,4,0],x:[0,0,25,0,50,35,75,0,100,0,65,50,100,100,75,100,50,65,25,100,0,100,35,50,0,0],square:[0,0,0,1,1,1,1,0,0,0],triangle:[0,10,10,10,5,0,0,10]};OpenLayers.Renderer.Canvas=OpenLayers.Class(OpenLayers.Renderer,{hitDetection:!0,hitOverflow:0,canvas:null,features:null,pendingRedraw:!1,cachedSymbolBounds:{},initialize:function(a,b){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.root=document.createElement("canvas");this.container.appendChild(this.root);this.canvas=this.root.getContext("2d");this.features={};this.hitDetection&&(this.hitCanvas=document.createElement("canvas"),this.hitContext=this.hitCanvas.getContext("2d"))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16244 setExtent:function(){OpenLayers.Renderer.prototype.setExtent.apply(this,arguments);return!1},eraseGeometry:function(a,b){this.eraseFeatures(this.features[b][0])},supported:function(){return OpenLayers.CANVAS_SUPPORTED},setSize:function(a){this.size=a.clone();var b=this.root;b.style.width=a.w+"px";b.style.height=a.h+"px";b.width=a.w;b.height=a.h;this.resolution=null;this.hitDetection&&(b=this.hitCanvas,b.style.width=a.w+"px",b.style.height=a.h+"px",b.width=a.w,b.height=a.h)},drawFeature:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16245 b){var c;if(a.geometry){b=this.applyDefaultSymbolizer(b||a.style);c=a.geometry.getBounds();var d;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(d=this.map.getMaxExtent());d=c&&c.intersectsBounds(this.extent,{worldBounds:d});(c="none"!==b.display&&!!c&&d)?this.features[a.id]=[a,b]:delete this.features[a.id];this.pendingRedraw=!0}this.pendingRedraw&&!this.locked&&(this.redraw(),this.pendingRedraw=!1);return c},drawGeometry:function(a,b,c){var d=a.CLASS_NAME;if("OpenLayers.Geometry.Collection"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16246 d||"OpenLayers.Geometry.MultiPoint"==d||"OpenLayers.Geometry.MultiLineString"==d||"OpenLayers.Geometry.MultiPolygon"==d)for(d=0;d<a.components.length;d++)this.drawGeometry(a.components[d],b,c);else switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":this.drawPoint(a,b,c);break;case "OpenLayers.Geometry.LineString":this.drawLineString(a,b,c);break;case "OpenLayers.Geometry.LinearRing":this.drawLinearRing(a,b,c);break;case "OpenLayers.Geometry.Polygon":this.drawPolygon(a,b,c)}},drawExternalGraphic:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16247 b,c){var d=new Image;b.graphicTitle&&(d.title=b.graphicTitle);var e=b.graphicWidth||b.graphicHeight,f=b.graphicHeight||b.graphicWidth,e=e?e:2*b.pointRadius,f=f?f:2*b.pointRadius,g=void 0!=b.graphicXOffset?b.graphicXOffset:-(0.5*e),h=void 0!=b.graphicYOffset?b.graphicYOffset:-(0.5*f),i=b.graphicOpacity||b.fillOpacity;d.onload=OpenLayers.Function.bind(function(){if(this.features[c]){var b=this.getLocalXY(a),k=b[0],b=b[1];if(!isNaN(k)&&!isNaN(b)){var k=k+g|0,b=b+h|0,l=this.canvas;l.globalAlpha=i;var m= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16248 OpenLayers.Renderer.Canvas.drawImageScaleFactor||(OpenLayers.Renderer.Canvas.drawImageScaleFactor=/android 2.1/.test(navigator.userAgent.toLowerCase())?320/window.screen.width:1);l.drawImage(d,k*m,b*m,e*m,f*m);if(this.hitDetection){this.setHitContextStyle("fill",c);this.hitContext.fillRect(k,b,e,f)}}}},this);d.src=b.externalGraphic},drawNamedSymbol:function(a,b,c){var d,e,f,g;f=Math.PI/180;var h=OpenLayers.Renderer.symbol[b.graphicName];if(!h)throw Error(b.graphicName+" is not a valid symbol name"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16249 if(h.length&&!(2>h.length)&&(a=this.getLocalXY(a),e=a[0],g=a[1],!isNaN(e)&&!isNaN(g))){this.canvas.lineCap="round";this.canvas.lineJoin="round";this.hitDetection&&(this.hitContext.lineCap="round",this.hitContext.lineJoin="round");if(b.graphicName in this.cachedSymbolBounds)d=this.cachedSymbolBounds[b.graphicName];else{d=new OpenLayers.Bounds;for(a=0;a<h.length;a+=2)d.extend(new OpenLayers.LonLat(h[a],h[a+1]));this.cachedSymbolBounds[b.graphicName]=d}this.canvas.save();this.hitDetection&&this.hitContext.save(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16250 this.canvas.translate(e,g);this.hitDetection&&this.hitContext.translate(e,g);a=f*b.rotation;isNaN(a)||(this.canvas.rotate(a),this.hitDetection&&this.hitContext.rotate(a));f=2*b.pointRadius/Math.max(d.getWidth(),d.getHeight());this.canvas.scale(f,f);this.hitDetection&&this.hitContext.scale(f,f);a=d.getCenterLonLat().lon;d=d.getCenterLonLat().lat;this.canvas.translate(-a,-d);this.hitDetection&&this.hitContext.translate(-a,-d);g=b.strokeWidth;b.strokeWidth=g/f;if(!1!==b.fill){this.setCanvasStyle("fill", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16251 b);this.canvas.beginPath();for(a=0;a<h.length;a+=2)d=h[a],e=h[a+1],0==a&&this.canvas.moveTo(d,e),this.canvas.lineTo(d,e);this.canvas.closePath();this.canvas.fill();if(this.hitDetection){this.setHitContextStyle("fill",c,b);this.hitContext.beginPath();for(a=0;a<h.length;a+=2)d=h[a],e=h[a+1],0==a&&this.canvas.moveTo(d,e),this.hitContext.lineTo(d,e);this.hitContext.closePath();this.hitContext.fill()}}if(!1!==b.stroke){this.setCanvasStyle("stroke",b);this.canvas.beginPath();for(a=0;a<h.length;a+=2)d=h[a], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16252 e=h[a+1],0==a&&this.canvas.moveTo(d,e),this.canvas.lineTo(d,e);this.canvas.closePath();this.canvas.stroke();if(this.hitDetection){this.setHitContextStyle("stroke",c,b,f);this.hitContext.beginPath();for(a=0;a<h.length;a+=2)d=h[a],e=h[a+1],0==a&&this.hitContext.moveTo(d,e),this.hitContext.lineTo(d,e);this.hitContext.closePath();this.hitContext.stroke()}}b.strokeWidth=g;this.canvas.restore();this.hitDetection&&this.hitContext.restore();this.setCanvasStyle("reset")}},setCanvasStyle:function(a,b){"fill"=== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16253 a?(this.canvas.globalAlpha=b.fillOpacity,this.canvas.fillStyle=b.fillColor):"stroke"===a?(this.canvas.globalAlpha=b.strokeOpacity,this.canvas.strokeStyle=b.strokeColor,this.canvas.lineWidth=b.strokeWidth):(this.canvas.globalAlpha=0,this.canvas.lineWidth=1)},featureIdToHex:function(a){a=Number(a.split("_").pop())+1;16777216<=a&&(this.hitOverflow=a-16777215,a=a%16777216+1);var a="000000"+a.toString(16),b=a.length;return a="#"+a.substring(b-6,b)},setHitContextStyle:function(a,b,c,d){b=this.featureIdToHex(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16254 "fill"==a?(this.hitContext.globalAlpha=1,this.hitContext.fillStyle=b):"stroke"==a?(this.hitContext.globalAlpha=1,this.hitContext.strokeStyle=b,"undefined"===typeof d?this.hitContext.lineWidth=c.strokeWidth+2:isNaN(d)||(this.hitContext.lineWidth=c.strokeWidth+2/d)):(this.hitContext.globalAlpha=0,this.hitContext.lineWidth=1)},drawPoint:function(a,b,c){if(!1!==b.graphic)if(b.externalGraphic)this.drawExternalGraphic(a,b,c);else if(b.graphicName&&"circle"!=b.graphicName)this.drawNamedSymbol(a,b,c);else{var d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16255 this.getLocalXY(a),a=d[0],d=d[1];if(!isNaN(a)&&!isNaN(d)){var e=2*Math.PI,f=b.pointRadius;!1!==b.fill&&(this.setCanvasStyle("fill",b),this.canvas.beginPath(),this.canvas.arc(a,d,f,0,e,!0),this.canvas.fill(),this.hitDetection&&(this.setHitContextStyle("fill",c,b),this.hitContext.beginPath(),this.hitContext.arc(a,d,f,0,e,!0),this.hitContext.fill()));!1!==b.stroke&&(this.setCanvasStyle("stroke",b),this.canvas.beginPath(),this.canvas.arc(a,d,f,0,e,!0),this.canvas.stroke(),this.hitDetection&&(this.setHitContextStyle("stroke", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16256 c,b),this.hitContext.beginPath(),this.hitContext.arc(a,d,f,0,e,!0),this.hitContext.stroke()),this.setCanvasStyle("reset"))}}},drawLineString:function(a,b,c){b=OpenLayers.Util.applyDefaults({fill:!1},b);this.drawLinearRing(a,b,c)},drawLinearRing:function(a,b,c){!1!==b.fill&&(this.setCanvasStyle("fill",b),this.renderPath(this.canvas,a,b,c,"fill"),this.hitDetection&&(this.setHitContextStyle("fill",c,b),this.renderPath(this.hitContext,a,b,c,"fill")));!1!==b.stroke&&(this.setCanvasStyle("stroke",b),this.renderPath(this.canvas, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16257 a,b,c,"stroke"),this.hitDetection&&(this.setHitContextStyle("stroke",c,b),this.renderPath(this.hitContext,a,b,c,"stroke")));this.setCanvasStyle("reset")},renderPath:function(a,b,c,d,e){b=b.components;c=b.length;a.beginPath();var d=this.getLocalXY(b[0]),f=d[1];if(!isNaN(d[0])&&!isNaN(f)){a.moveTo(d[0],d[1]);for(d=1;d<c;++d)f=this.getLocalXY(b[d]),a.lineTo(f[0],f[1]);"fill"===e?a.fill():a.stroke()}},drawPolygon:function(a,b,c){var a=a.components,d=a.length;this.drawLinearRing(a[0],b,c);for(var e=1;e< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16258 d;++e)this.canvas.globalCompositeOperation="destination-out",this.hitDetection&&(this.hitContext.globalCompositeOperation="destination-out"),this.drawLinearRing(a[e],OpenLayers.Util.applyDefaults({stroke:!1,fillOpacity:1},b),c),this.canvas.globalCompositeOperation="source-over",this.hitDetection&&(this.hitContext.globalCompositeOperation="source-over"),this.drawLinearRing(a[e],OpenLayers.Util.applyDefaults({fill:!1},b),c)},drawText:function(a,b){var c=this.getLocalXY(a);this.setCanvasStyle("reset"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16259 this.canvas.fillStyle=b.fontColor;this.canvas.globalAlpha=b.fontOpacity||1;var d=[b.fontStyle?b.fontStyle:"normal","normal",b.fontWeight?b.fontWeight:"normal",b.fontSize?b.fontSize:"1em",b.fontFamily?b.fontFamily:"sans-serif"].join(" "),e=b.label.split("\n"),f=e.length;if(this.canvas.fillText){this.canvas.font=d;this.canvas.textAlign=OpenLayers.Renderer.Canvas.LABEL_ALIGN[b.labelAlign[0]]||"center";this.canvas.textBaseline=OpenLayers.Renderer.Canvas.LABEL_ALIGN[b.labelAlign[1]]||"middle";var g=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[1]]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16260 null==g&&(g=-0.5);d=this.canvas.measureText("Mg").height||this.canvas.measureText("xx").width;c[1]+=d*g*(f-1);for(g=0;g<f;g++)b.labelOutlineWidth&&(this.canvas.save(),this.canvas.strokeStyle=b.labelOutlineColor,this.canvas.lineWidth=b.labelOutlineWidth,this.canvas.strokeText(e[g],c[0],c[1]+d*g+1),this.canvas.restore()),this.canvas.fillText(e[g],c[0],c[1]+d*g)}else if(this.canvas.mozDrawText){this.canvas.mozTextStyle=d;var h=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[0]];null==h&&(h=-0.5); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16261 g=OpenLayers.Renderer.Canvas.LABEL_FACTOR[b.labelAlign[1]];null==g&&(g=-0.5);d=this.canvas.mozMeasureText("xx");c[1]+=d*(1+g*f);for(g=0;g<f;g++){var i=c[0]+h*this.canvas.mozMeasureText(e[g]),j=c[1]+g*d;this.canvas.translate(i,j);this.canvas.mozDrawText(e[g]);this.canvas.translate(-i,-j)}}this.setCanvasStyle("reset")},getLocalXY:function(a){var b=this.getResolution(),c=this.extent;return[(a.x-this.featureDx)/b+-c.left/b,c.top/b-a.y/b]},clear:function(){var a=this.root.height,b=this.root.width;this.canvas.clearRect(0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16262 0,b,a);this.features={};this.hitDetection&&this.hitContext.clearRect(0,0,b,a)},getFeatureIdFromEvent:function(a){var b;if(this.hitDetection&&"none"!==this.root.style.display&&!this.map.dragging&&(a=a.xy,a=this.hitContext.getImageData(a.x|0,a.y|0,1,1).data,255===a[3]&&(a=a[2]+256*(a[1]+256*a[0])))){a="OpenLayers.Feature.Vector_"+(a-1+this.hitOverflow);try{b=this.features[a][0]}catch(c){}}return b},eraseFeatures:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=0;b<a.length;++b)delete this.features[a[b].id]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16263 this.redraw()},redraw:function(){if(!this.locked){var a=this.root.height,b=this.root.width;this.canvas.clearRect(0,0,b,a);this.hitDetection&&this.hitContext.clearRect(0,0,b,a);var a=[],c,d,e=this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&this.map.getMaxExtent(),f;for(f in this.features)this.features.hasOwnProperty(f)&&(b=this.features[f][0],c=b.geometry,this.calculateFeatureDx(c.getBounds(),e),d=this.features[f][1],this.drawGeometry(c,d,b.id),d.label&&a.push([b,d]));b=0;for(c=a.length;b<c;++b)f= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16264 a[b],this.drawText(f[0].geometry.getCentroid(),f[1])}},CLASS_NAME:"OpenLayers.Renderer.Canvas"});OpenLayers.Renderer.Canvas.LABEL_ALIGN={l:"left",r:"right",t:"top",b:"bottom"};OpenLayers.Renderer.Canvas.LABEL_FACTOR={l:0,r:-1,t:0,b:-1};OpenLayers.Renderer.Canvas.drawImageScaleFactor=null;OpenLayers.Format.OSM=OpenLayers.Class(OpenLayers.Format.XML,{checkTags:!1,interestingTagsExclude:null,areaTags:null,initialize:function(a){for(var b={interestingTagsExclude:"source source_ref source:ref history attribution created_by".split(" "),areaTags:"area building leisure tourism ruins historic landuse military natural sport".split(" ")},b=OpenLayers.Util.extend(b,a),c={},a=0;a<b.interestingTagsExclude.length;a++)c[b.interestingTagsExclude[a]]=!0;b.interestingTagsExclude=c;c={};for(a=0;a<b.areaTags.length;a++)c[b.areaTags[a]]= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16265 !0;b.areaTags=c;this.externalProjection=new OpenLayers.Projection("EPSG:4326");OpenLayers.Format.XML.prototype.initialize.apply(this,[b])},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));for(var b=this.getNodes(a),c=this.getWays(a),a=Array(c.length),d=0;d<c.length;d++){for(var e=Array(c[d].nodes.length),f=this.isWayArea(c[d])?1:0,g=0;g<c[d].nodes.length;g++){var h=b[c[d].nodes[g]],i=new OpenLayers.Geometry.Point(h.lon,h.lat);i.osm_id=parseInt(c[d].nodes[g]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16266 e[g]=i;h.used=!0}h=null;h=f?new OpenLayers.Geometry.Polygon(new OpenLayers.Geometry.LinearRing(e)):new OpenLayers.Geometry.LineString(e);this.internalProjection&&this.externalProjection&&h.transform(this.externalProjection,this.internalProjection);e=new OpenLayers.Feature.Vector(h,c[d].tags);e.osm_id=parseInt(c[d].id);e.fid="way."+e.osm_id;a[d]=e}for(var j in b){h=b[j];if(!h.used||this.checkTags){c=null;if(this.checkTags){c=this.getTags(h.node,!0);if(h.used&&!c[1])continue;c=c[0]}else c=this.getTags(h.node); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16267 e=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(h.lon,h.lat),c);this.internalProjection&&this.externalProjection&&e.geometry.transform(this.externalProjection,this.internalProjection);e.osm_id=parseInt(j);e.fid="node."+e.osm_id;a.push(e)}h.node=null}return a},getNodes:function(a){for(var a=a.getElementsByTagName("node"),b={},c=0;c<a.length;c++){var d=a[c],e=d.getAttribute("id");b[e]={lat:d.getAttribute("lat"),lon:d.getAttribute("lon"),node:d}}return b},getWays:function(a){for(var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16268 a.getElementsByTagName("way"),b=[],c=0;c<a.length;c++){var d=a[c],e={id:d.getAttribute("id")};e.tags=this.getTags(d);d=d.getElementsByTagName("nd");e.nodes=Array(d.length);for(var f=0;f<d.length;f++)e.nodes[f]=d[f].getAttribute("ref");b.push(e)}return b},getTags:function(a,b){for(var c=a.getElementsByTagName("tag"),d={},e=!1,f=0;f<c.length;f++){var g=c[f].getAttribute("k");d[g]=c[f].getAttribute("v");b&&(this.interestingTagsExclude[g]||(e=!0))}return b?[d,e]:d},isWayArea:function(a){var b=!1,c=!1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16269 a.nodes[0]==a.nodes[a.nodes.length-1]&&(b=!0);if(this.checkTags)for(var d in a.tags)if(this.areaTags[d]){c=!0;break}return b&&(this.checkTags?c:!0)},write:function(a){OpenLayers.Util.isArray(a)||(a=[a]);this.osm_id=1;this.created_nodes={};var b=this.createElementNS(null,"osm");b.setAttribute("version","0.5");b.setAttribute("generator","OpenLayers "+OpenLayers.VERSION_NUMBER);for(var c=a.length-1;0<=c;c--)for(var d=this.createFeatureNodes(a[c]),e=0;e<d.length;e++)b.appendChild(d[e]);return OpenLayers.Format.XML.prototype.write.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16270 [b])},createFeatureNodes:function(a){var b=[],c=a.geometry.CLASS_NAME,c=c.substring(c.lastIndexOf(".")+1),c=c.toLowerCase();(c=this.createXML[c])&&(b=c.apply(this,[a]));return b},createXML:{point:function(a){var b=null,c=a.geometry?a.geometry:a;this.internalProjection&&this.externalProjection&&(c=c.clone(),c.transform(this.internalProjection,this.externalProjection));var d=!1;a.osm_id?(b=a.osm_id,this.created_nodes[b]&&(d=!0)):(b=-this.osm_id,this.osm_id++);var e=d?this.created_nodes[b]:this.createElementNS(null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16271 "node");this.created_nodes[b]=e;e.setAttribute("id",b);e.setAttribute("lon",c.x);e.setAttribute("lat",c.y);a.attributes&&this.serializeTags(a,e);this.setState(a,e);return d?[]:[e]},linestring:function(a){var b,c=[],d=a.geometry;a.osm_id?b=a.osm_id:(b=-this.osm_id,this.osm_id++);var e=this.createElementNS(null,"way");e.setAttribute("id",b);for(b=0;b<d.components.length;b++){var f=this.createXML.point.apply(this,[d.components[b]]);if(f.length){var f=f[0],g=f.getAttribute("id");c.push(f)}else g=d.components[b].osm_id, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16272 f=this.created_nodes[g];this.setState(a,f);f=this.createElementNS(null,"nd");f.setAttribute("ref",g);e.appendChild(f)}this.serializeTags(a,e);c.push(e);return c},polygon:function(a){var b=OpenLayers.Util.extend({area:"yes"},a.attributes),b=new OpenLayers.Feature.Vector(a.geometry.components[0],b);b.osm_id=a.osm_id;return this.createXML.linestring.apply(this,[b])}},serializeTags:function(a,b){for(var c in a.attributes){var d=this.createElementNS(null,"tag");d.setAttribute("k",c);d.setAttribute("v", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16273 a.attributes[c]);b.appendChild(d)}},setState:function(a,b){if(a.state){var c=null;switch(a.state){case OpenLayers.State.UPDATE:case OpenLayers.State.DELETE:c="delete"}c&&b.setAttribute("action",c)}},CLASS_NAME:"OpenLayers.Format.OSM"});OpenLayers.Handler=OpenLayers.Class({id:null,control:null,map:null,keyMask:null,active:!1,evt:null,initialize:function(a,b,c){OpenLayers.Util.extend(this,c);this.control=a;this.callbacks=b;(a=this.map||a.map)&&this.setMap(a);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},setMap:function(a){this.map=a},checkModifiers:function(a){return null==this.keyMask?!0:((a.shiftKey?OpenLayers.Handler.MOD_SHIFT:0)|(a.ctrlKey?OpenLayers.Handler.MOD_CTRL:0)|(a.altKey?OpenLayers.Handler.MOD_ALT:0))== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16274 this.keyMask},activate:function(){if(this.active)return!1;for(var a=OpenLayers.Events.prototype.BROWSER_EVENTS,b=0,c=a.length;b<c;b++)this[a[b]]&&this.register(a[b],this[a[b]]);return this.active=!0},deactivate:function(){if(!this.active)return!1;for(var a=OpenLayers.Events.prototype.BROWSER_EVENTS,b=0,c=a.length;b<c;b++)this[a[b]]&&this.unregister(a[b],this[a[b]]);this.active=!1;return!0},callback:function(a,b){a&&this.callbacks[a]&&this.callbacks[a].apply(this.control,b)},register:function(a,b){this.map.events.registerPriority(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16275 this,b);this.map.events.registerPriority(a,this,this.setEvent)},unregister:function(a,b){this.map.events.unregister(a,this,b);this.map.events.unregister(a,this,this.setEvent)},setEvent:function(a){this.evt=a;return!0},destroy:function(){this.deactivate();this.control=this.map=null},CLASS_NAME:"OpenLayers.Handler"});OpenLayers.Handler.MOD_NONE=0;OpenLayers.Handler.MOD_SHIFT=1;OpenLayers.Handler.MOD_CTRL=2;OpenLayers.Handler.MOD_ALT=4;OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:!1,stopDown:!0,dragging:!1,touch:!1,last:null,start:null,lastMoveEvt:null,oldOnselectstart:null,interval:0,timeoutId:null,documentDrag:!1,documentEvents:null,initialize:function(a,b,c){OpenLayers.Handler.prototype.initialize.apply(this,arguments);if(!0===this.documentDrag){var d=this;this._docMove=function(a){d.mousemove({xy:{x:a.clientX,y:a.clientY},element:document})};this._docUp=function(a){d.mouseup({xy:{x:a.clientX,y:a.clientY}})}}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16276 dragstart:function(a){var b=!0;this.dragging=!1;this.checkModifiers(a)&&(OpenLayers.Event.isLeftClick(a)||OpenLayers.Event.isSingleTouch(a))?(this.started=!0,this.last=this.start=a.xy,OpenLayers.Element.addClass(this.map.viewPortDiv,"olDragDown"),this.down(a),this.callback("down",[a.xy]),OpenLayers.Event.stop(a),this.oldOnselectstart||(this.oldOnselectstart=document.onselectstart?document.onselectstart:OpenLayers.Function.True),document.onselectstart=OpenLayers.Function.False,b=!this.stopDown):(this.started= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16277 !1,this.last=this.start=null);return b},dragmove:function(a){this.lastMoveEvt=a;if(this.started&&!this.timeoutId&&(a.xy.x!=this.last.x||a.xy.y!=this.last.y))!0===this.documentDrag&&this.documentEvents&&(a.element===document?(this.adjustXY(a),this.setEvent(a)):this.removeDocumentEvents()),0<this.interval&&(this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval)),this.dragging=!0,this.move(a),this.callback("move",[a.xy]),this.oldOnselectstart||(this.oldOnselectstart= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16278 document.onselectstart,document.onselectstart=OpenLayers.Function.False),this.last=a.xy;return!0},dragend:function(a){if(this.started){!0===this.documentDrag&&this.documentEvents&&(this.adjustXY(a),this.removeDocumentEvents());var b=this.start!=this.last;this.dragging=this.started=!1;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.up(a);this.callback("up",[a.xy]);b&&this.callback("done",[a.xy]);document.onselectstart=this.oldOnselectstart}return!0},down:function(){},move:function(){}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16279 up:function(){},out:function(){},mousedown:function(a){return this.dragstart(a)},touchstart:function(a){this.touch||(this.touch=!0,this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,mousemove:this.mousemove,click:this.click,scope:this}));return this.dragstart(a)},mousemove:function(a){return this.dragmove(a)},touchmove:function(a){return this.dragmove(a)},removeTimeout:function(){this.timeoutId=null;this.dragging&&this.mousemove(this.lastMoveEvt)},mouseup:function(a){return this.dragend(a)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16280 touchend:function(a){a.xy=this.last;return this.dragend(a)},mouseout:function(a){if(this.started&&OpenLayers.Util.mouseLeft(a,this.map.viewPortDiv))if(!0===this.documentDrag)this.addDocumentEvents();else{var b=this.start!=this.last;this.dragging=this.started=!1;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown");this.out(a);this.callback("out",[]);b&&this.callback("done",[a.xy]);document.onselectstart&&(document.onselectstart=this.oldOnselectstart)}return!0},click:function(){return this.start== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16281 this.last},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.dragging=!1,a=!0);return a},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.dragging=this.started=this.touch=!1,this.last=this.start=null,a=!0,OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDragDown"));return a},adjustXY:function(a){var b=OpenLayers.Util.pagePosition(this.map.viewPortDiv);a.xy.x-=b[0];a.xy.y-=b[1]},addDocumentEvents:function(){OpenLayers.Element.addClass(document.body, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16282 "olDragDown");this.documentEvents=!0;OpenLayers.Event.observe(document,"mousemove",this._docMove);OpenLayers.Event.observe(document,"mouseup",this._docUp)},removeDocumentEvents:function(){OpenLayers.Element.removeClass(document.body,"olDragDown");this.documentEvents=!1;OpenLayers.Event.stopObserving(document,"mousemove",this._docMove);OpenLayers.Event.stopObserving(document,"mouseup",this._docUp)},CLASS_NAME:"OpenLayers.Handler.Drag"});OpenLayers.Handler.Feature=OpenLayers.Class(OpenLayers.Handler,{EVENTMAP:{click:{"in":"click",out:"clickout"},mousemove:{"in":"over",out:"out"},dblclick:{"in":"dblclick",out:null},mousedown:{"in":null,out:null},mouseup:{"in":null,out:null},touchstart:{"in":"click",out:"clickout"}},feature:null,lastFeature:null,down:null,up:null,touch:!1,clickTolerance:4,geometryTypes:null,stopClick:!0,stopDown:!0,stopUp:!1,initialize:function(a,b,c,d){OpenLayers.Handler.prototype.initialize.apply(this,[a,c,d]);this.layer= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16283 b},touchstart:function(a){this.touch||(this.touch=!0,this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,mousemove:this.mousemove,click:this.click,dblclick:this.dblclick,scope:this}));return OpenLayers.Event.isMultiTouch(a)?!0:this.mousedown(a)},touchmove:function(a){OpenLayers.Event.stop(a)},mousedown:function(a){if(OpenLayers.Event.isLeftClick(a)||OpenLayers.Event.isSingleTouch(a))this.down=a.xy;return this.handle(a)?!this.stopDown:!0},mouseup:function(a){this.up=a.xy;return this.handle(a)? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16284 !this.stopUp:!0},click:function(a){return this.handle(a)?!this.stopClick:!0},mousemove:function(a){if(!this.callbacks.over&&!this.callbacks.out)return!0;this.handle(a);return!0},dblclick:function(a){return!this.handle(a)},geometryTypeMatches:function(a){return null==this.geometryTypes||-1<OpenLayers.Util.indexOf(this.geometryTypes,a.geometry.CLASS_NAME)},handle:function(a){this.feature&&!this.feature.layer&&(this.feature=null);var b=a.type,c=!1,d=!!this.feature,e="click"==b||"dblclick"==b||"touchstart"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16285 b;if((this.feature=this.layer.getFeatureFromEvent(a))&&!this.feature.layer)this.feature=null;this.lastFeature&&!this.lastFeature.layer&&(this.lastFeature=null);this.feature?("touchstart"===b&&OpenLayers.Event.stop(a),a=this.feature!=this.lastFeature,this.geometryTypeMatches(this.feature)?(d&&a?(this.lastFeature&&this.triggerCallback(b,"out",[this.lastFeature]),this.triggerCallback(b,"in",[this.feature])):(!d||e)&&this.triggerCallback(b,"in",[this.feature]),this.lastFeature=this.feature,c=!0):(this.lastFeature&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16286 (d&&a||e)&&this.triggerCallback(b,"out",[this.lastFeature]),this.feature=null)):this.lastFeature&&(d||e)&&this.triggerCallback(b,"out",[this.lastFeature]);return c},triggerCallback:function(a,b,c){(b=this.EVENTMAP[a][b])&&("click"==a&&this.up&&this.down?Math.sqrt(Math.pow(this.up.x-this.down.x,2)+Math.pow(this.up.y-this.down.y,2))<=this.clickTolerance&&this.callback(b,c):this.callback(b,c))},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.moveLayerToTop(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16287 this.map.events.on({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this}),a=!0);return a},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.moveLayerBack(),this.up=this.down=this.lastFeature=this.feature=null,this.touch=!1,this.map.events.un({removelayer:this.handleMapEvents,changelayer:this.handleMapEvents,scope:this}),a=!0);return a},handleMapEvents:function(a){("removelayer"==a.type||"order"==a.property)&&this.moveLayerToTop()}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16288 moveLayerToTop:function(){this.layer.setZIndex(Math.max(this.map.Z_INDEX_BASE.Feature-1,this.layer.getZIndex())+1)},moveLayerBack:function(){var a=this.layer.getZIndex()-1;a>=this.map.Z_INDEX_BASE.Feature?this.layer.setZIndex(a):this.map.setLayerZIndex(this.layer,this.map.getLayerIndex(this.layer))},CLASS_NAME:"OpenLayers.Handler.Feature"});OpenLayers.Control.DragFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,onStart:function(){},onDrag:function(){},onComplete:function(){},onEnter:function(){},onLeave:function(){},documentDrag:!1,layer:null,feature:null,dragCallbacks:{},featureCallbacks:{},lastPixel:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);this.layer=a;this.handlers={drag:new OpenLayers.Handler.Drag(this,OpenLayers.Util.extend({down:this.downFeature,move:this.moveFeature, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16289 up:this.upFeature,out:this.cancel,done:this.doneDragging},this.dragCallbacks),{documentDrag:this.documentDrag}),feature:new OpenLayers.Handler.Feature(this,this.layer,OpenLayers.Util.extend({click:this.clickFeature,clickout:this.clickoutFeature,over:this.overFeature,out:this.outFeature},this.featureCallbacks),{geometryTypes:this.geometryTypes})}},clickFeature:function(a){this.handlers.feature.touch&&(!this.over&&this.overFeature(a))&&(this.handlers.drag.dragstart(this.handlers.feature.evt),this.handlers.drag.stopDown= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16290 !1)},clickoutFeature:function(a){this.handlers.feature.touch&&this.over&&(this.outFeature(a),this.handlers.drag.stopDown=!0)},destroy:function(){this.layer=null;OpenLayers.Control.prototype.destroy.apply(this,[])},activate:function(){return this.handlers.feature.activate()&&OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.handlers.drag.deactivate();this.handlers.feature.deactivate();this.feature=null;this.dragging=!1;this.lastPixel=null;OpenLayers.Element.removeClass(this.map.viewPortDiv, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16291 this.displayClass+"Over");return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},overFeature:function(a){var b=!1;this.handlers.drag.dragging?this.over=this.feature.id==a.id?!0:!1:(this.feature=a,this.handlers.drag.activate(),this.over=b=!0,OpenLayers.Element.addClass(this.map.viewPortDiv,this.displayClass+"Over"),this.onEnter(a));return b},downFeature:function(a){this.lastPixel=a;this.onStart(this.feature,a)},moveFeature:function(a){var b=this.map.getResolution();this.feature.geometry.move(b* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16292 (a.x-this.lastPixel.x),b*(this.lastPixel.y-a.y));this.layer.drawFeature(this.feature);this.lastPixel=a;this.onDrag(this.feature,a)},upFeature:function(){this.over||this.handlers.drag.deactivate()},doneDragging:function(a){this.onComplete(this.feature,a)},outFeature:function(a){this.handlers.drag.dragging?this.feature.id==a.id&&(this.over=!1):(this.over=!1,this.handlers.drag.deactivate(),OpenLayers.Element.removeClass(this.map.viewPortDiv,this.displayClass+"Over"),this.onLeave(a),this.feature=null)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16293 cancel:function(){this.handlers.drag.deactivate();this.over=!1},setMap:function(a){this.handlers.drag.setMap(a);this.handlers.feature.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},CLASS_NAME:"OpenLayers.Control.DragFeature"});OpenLayers.StyleMap=OpenLayers.Class({styles:null,extendDefault:!0,initialize:function(a,b){this.styles={"default":new OpenLayers.Style(OpenLayers.Feature.Vector.style["default"]),select:new OpenLayers.Style(OpenLayers.Feature.Vector.style.select),temporary:new OpenLayers.Style(OpenLayers.Feature.Vector.style.temporary),"delete":new OpenLayers.Style(OpenLayers.Feature.Vector.style["delete"])};if(a instanceof OpenLayers.Style)this.styles["default"]=a,this.styles.select=a,this.styles.temporary=a,this.styles["delete"]= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16294 a;else if("object"==typeof a)for(var c in a)if(a[c]instanceof OpenLayers.Style)this.styles[c]=a[c];else if("object"==typeof a[c])this.styles[c]=new OpenLayers.Style(a[c]);else{this.styles["default"]=new OpenLayers.Style(a);this.styles.select=new OpenLayers.Style(a);this.styles.temporary=new OpenLayers.Style(a);this.styles["delete"]=new OpenLayers.Style(a);break}OpenLayers.Util.extend(this,b)},destroy:function(){for(var a in this.styles)this.styles[a].destroy();this.styles=null},createSymbolizer:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16295 b){a||(a=new OpenLayers.Feature.Vector);this.styles[b]||(b="default");a.renderIntent=b;var c={};this.extendDefault&&"default"!=b&&(c=this.styles["default"].createSymbolizer(a));return OpenLayers.Util.extend(c,this.styles[b].createSymbolizer(a))},addUniqueValueRules:function(a,b,c,d){var e=[],f;for(f in c)e.push(new OpenLayers.Rule({symbolizer:c[f],context:d,filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO,property:b,value:f})}));this.styles[a].addRules(e)},CLASS_NAME:"OpenLayers.StyleMap"});OpenLayers.Layer.Vector=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:!1,isFixed:!1,features:null,filter:null,selectedFeatures:null,unrenderedFeatures:null,reportError:!0,style:null,styleMap:null,strategies:null,protocol:null,renderers:["SVG","VML","Canvas"],renderer:null,rendererOptions:null,geometryType:null,drawn:!1,ratio:1,initialize:function(a,b){OpenLayers.Layer.prototype.initialize.apply(this,arguments);(!this.renderer||!this.renderer.supported())&&this.assignRenderer();if(!this.renderer|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16296 !this.renderer.supported())this.renderer=null,this.displayError();this.styleMap||(this.styleMap=new OpenLayers.StyleMap);this.features=[];this.selectedFeatures=[];this.unrenderedFeatures={};if(this.strategies)for(var c=0,d=this.strategies.length;c<d;c++)this.strategies[c].setLayer(this)},destroy:function(){if(this.strategies){var a,b,c;b=0;for(c=this.strategies.length;b<c;b++)a=this.strategies[b],a.autoDestroy&&a.destroy();this.strategies=null}this.protocol&&(this.protocol.autoDestroy&&this.protocol.destroy(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16297 this.protocol=null);this.destroyFeatures();this.unrenderedFeatures=this.selectedFeatures=this.features=null;this.renderer&&this.renderer.destroy();this.drawn=this.geometryType=this.renderer=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.Vector(this.name,this.getOptions()));for(var a=OpenLayers.Layer.prototype.clone.apply(this,[a]),b=this.features,c=b.length,d=Array(c),e=0;e<c;++e)d[e]=b[e].clone();a.features=d;return a},refresh:function(a){this.calculateInRange()&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16298 this.visibility&&this.events.triggerEvent("refresh",a)},assignRenderer:function(){for(var a=0,b=this.renderers.length;a<b;a++){var c=this.renderers[a];if((c="function"==typeof c?c:OpenLayers.Renderer[c])&&c.prototype.supported()){this.renderer=new c(this.div,this.rendererOptions);break}}},displayError:function(){this.reportError&&OpenLayers.Console.userError(OpenLayers.i18n("browserNotSupported",{renderers:this.renderers.join("\n")}))},setMap:function(a){OpenLayers.Layer.prototype.setMap.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16299 arguments);if(this.renderer){this.renderer.map=this.map;var b=this.map.getSize();b.w*=this.ratio;b.h*=this.ratio;this.renderer.setSize(b)}else this.map.removeLayer(this)},afterAdd:function(){if(this.strategies){var a,b,c;b=0;for(c=this.strategies.length;b<c;b++)a=this.strategies[b],a.autoActivate&&a.activate()}},removeMap:function(){this.drawn=!1;if(this.strategies){var a,b,c;b=0;for(c=this.strategies.length;b<c;b++)a=this.strategies[b],a.autoActivate&&a.deactivate()}},onMapResize:function(){OpenLayers.Layer.prototype.onMapResize.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16300 arguments);var a=this.map.getSize();a.w*=this.ratio;a.h*=this.ratio;this.renderer.setSize(a)},moveTo:function(a,b,c){OpenLayers.Layer.prototype.moveTo.apply(this,arguments);var d=!0;if(!c){this.renderer.root.style.visibility="hidden";var d=this.map.getSize(),e=d.w,d=d.h,e=e/2*this.ratio-e/2,d=d/2*this.ratio-d/2,e=e+parseInt(this.map.layerContainerDiv.style.left,10),e=-Math.round(e),d=d+parseInt(this.map.layerContainerDiv.style.top,10),d=-Math.round(d);this.div.style.left=e+"px";this.div.style.top= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16301 d+"px";d=this.renderer.setExtent(this.map.getExtent().scale(this.ratio),b);this.renderer.root.style.visibility="visible";!0===OpenLayers.IS_GECKO&&(this.div.scrollLeft=this.div.scrollLeft);if(!b&&d)for(var f in this.unrenderedFeatures)e=this.unrenderedFeatures[f],this.drawFeature(e)}if(!this.drawn||b||!d){this.drawn=!0;f=0;for(d=this.features.length;f<d;f++)this.renderer.locked=f!==d-1,e=this.features[f],this.drawFeature(e)}},display:function(a){OpenLayers.Layer.prototype.display.apply(this,arguments); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16302 var b=this.div.style.display;b!=this.renderer.root.style.display&&(this.renderer.root.style.display=b)},addFeatures:function(a,b){OpenLayers.Util.isArray(a)||(a=[a]);var c=!b||!b.silent;if(c){var d={features:a};if(!1===this.events.triggerEvent("beforefeaturesadded",d))return;a=d.features}for(var d=[],e=0,f=a.length;e<f;e++){this.renderer.locked=e!=a.length-1?!0:!1;var g=a[e];if(this.geometryType&&!(g.geometry instanceof this.geometryType))throw new TypeError("addFeatures: component should be an "+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16303 this.geometryType.prototype.CLASS_NAME);g.layer=this;!g.style&&this.style&&(g.style=OpenLayers.Util.extend({},this.style));if(c){if(!1===this.events.triggerEvent("beforefeatureadded",{feature:g}))continue;this.preFeatureInsert(g)}d.push(g);this.features.push(g);this.drawFeature(g);c&&(this.events.triggerEvent("featureadded",{feature:g}),this.onFeatureInsert(g))}c&&this.events.triggerEvent("featuresadded",{features:d})},removeFeatures:function(a,b){if(a&&0!==a.length){if(a===this.features)return this.removeAllFeatures(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16304 OpenLayers.Util.isArray(a)||(a=[a]);a===this.selectedFeatures&&(a=a.slice());var c=!b||!b.silent;c&&this.events.triggerEvent("beforefeaturesremoved",{features:a});for(var d=a.length-1;0<=d;d--){this.renderer.locked=0!=d&&a[d-1].geometry?!0:!1;var e=a[d];delete this.unrenderedFeatures[e.id];c&&this.events.triggerEvent("beforefeatureremoved",{feature:e});this.features=OpenLayers.Util.removeItem(this.features,e);e.layer=null;e.geometry&&this.renderer.eraseFeatures(e);-1!=OpenLayers.Util.indexOf(this.selectedFeatures, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16305 e)&&OpenLayers.Util.removeItem(this.selectedFeatures,e);c&&this.events.triggerEvent("featureremoved",{feature:e})}c&&this.events.triggerEvent("featuresremoved",{features:a})}},removeAllFeatures:function(a){var a=!a||!a.silent,b=this.features;a&&this.events.triggerEvent("beforefeaturesremoved",{features:b});for(var c,d=b.length-1;0<=d;d--)c=b[d],a&&this.events.triggerEvent("beforefeatureremoved",{feature:c}),c.layer=null,a&&this.events.triggerEvent("featureremoved",{feature:c});this.renderer.clear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16306 this.features=[];this.unrenderedFeatures={};this.selectedFeatures=[];a&&this.events.triggerEvent("featuresremoved",{features:b})},destroyFeatures:function(a,b){void 0==a&&(a=this.features);if(a){this.removeFeatures(a,b);for(var c=a.length-1;0<=c;c--)a[c].destroy()}},drawFeature:function(a,b){if(this.drawn){if("object"!=typeof b){!b&&a.state===OpenLayers.State.DELETE&&(b="delete");var c=b||a.renderIntent;(b=a.style||this.style)||(b=this.styleMap.createSymbolizer(a,c))}c=this.renderer.drawFeature(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16307 b);!1===c||null===c?this.unrenderedFeatures[a.id]=a:delete this.unrenderedFeatures[a.id]}},eraseFeatures:function(a){this.renderer.eraseFeatures(a)},getFeatureFromEvent:function(a){if(!this.renderer)throw Error("getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.");var b=null;(a=this.renderer.getFeatureIdFromEvent(a))&&(b="string"===typeof a?this.getFeatureById(a):a);return b},getFeatureBy:function(a,b){for(var c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16308 null,d=0,e=this.features.length;d<e;++d)if(this.features[d][a]==b){c=this.features[d];break}return c},getFeatureById:function(a){return this.getFeatureBy("id",a)},getFeatureByFid:function(a){return this.getFeatureBy("fid",a)},getFeaturesByAttribute:function(a,b){var c,d,e=this.features.length,f=[];for(c=0;c<e;c++)(d=this.features[c])&&d.attributes&&d.attributes[a]===b&&f.push(d);return f},onFeatureInsert:function(){},preFeatureInsert:function(){},getDataExtent:function(){var a=null,b=this.features; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16309 if(b&&0<b.length)for(var c=null,d=0,e=b.length;d<e;d++)if(c=b[d].geometry)null===a&&(a=new OpenLayers.Bounds),a.extend(c.getBounds());return a},CLASS_NAME:"OpenLayers.Layer.Vector"});OpenLayers.Layer.Vector.RootContainer=OpenLayers.Class(OpenLayers.Layer.Vector,{displayInLayerSwitcher:!1,layers:null,display:function(){},getFeatureFromEvent:function(a){for(var b=this.layers,c,d=0;d<b.length;d++)if(c=b[d].getFeatureFromEvent(a))return c},setMap:function(a){OpenLayers.Layer.Vector.prototype.setMap.apply(this,arguments);this.collectRoots();a.events.register("changelayer",this,this.handleChangeLayer)},removeMap:function(a){a.events.unregister("changelayer",this,this.handleChangeLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16310 this.resetRoots();OpenLayers.Layer.Vector.prototype.removeMap.apply(this,arguments)},collectRoots:function(){for(var a,b=0;b<this.map.layers.length;++b)a=this.map.layers[b],-1!=OpenLayers.Util.indexOf(this.layers,a)&&a.renderer.moveRoot(this.renderer)},resetRoots:function(){for(var a,b=0;b<this.layers.length;++b)a=this.layers[b],this.renderer&&a.renderer.getRenderLayerId()==this.id&&this.renderer.moveRoot(a.renderer)},handleChangeLayer:function(a){var b=a.layer;"order"==a.property&&-1!=OpenLayers.Util.indexOf(this.layers, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16311 b)&&(this.resetRoots(),this.collectRoots())},CLASS_NAME:"OpenLayers.Layer.Vector.RootContainer"});OpenLayers.Control.SelectFeature=OpenLayers.Class(OpenLayers.Control,{multipleKey:null,toggleKey:null,multiple:!1,clickout:!0,toggle:!1,hover:!1,highlightOnly:!1,box:!1,onBeforeSelect:function(){},onSelect:function(){},onUnselect:function(){},scope:null,geometryTypes:null,layer:null,layers:null,callbacks:null,selectStyle:null,renderIntent:"select",handlers:null,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);null===this.scope&&(this.scope=this);this.initLayer(a);var c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16312 {click:this.clickFeature,clickout:this.clickoutFeature};this.hover&&(c.over=this.overFeature,c.out=this.outFeature);this.callbacks=OpenLayers.Util.extend(c,this.callbacks);this.handlers={feature:new OpenLayers.Handler.Feature(this,this.layer,this.callbacks,{geometryTypes:this.geometryTypes})};this.box&&(this.handlers.box=new OpenLayers.Handler.Box(this,{done:this.selectBox},{boxDivClassName:"olHandlerBoxSelectFeature"}))},initLayer:function(a){OpenLayers.Util.isArray(a)?(this.layers=a,this.layer= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16313 new OpenLayers.Layer.Vector.RootContainer(this.id+"_container",{layers:a})):this.layer=a},destroy:function(){this.active&&this.layers&&this.map.removeLayer(this.layer);OpenLayers.Control.prototype.destroy.apply(this,arguments);this.layers&&this.layer.destroy()},activate:function(){this.active||(this.layers&&this.map.addLayer(this.layer),this.handlers.feature.activate(),this.box&&this.handlers.box&&this.handlers.box.activate());return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.active&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16314 (this.handlers.feature.deactivate(),this.handlers.box&&this.handlers.box.deactivate(),this.layers&&this.map.removeLayer(this.layer));return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},unselectAll:function(a){for(var b=this.layers||[this.layer],c,d,e=0;e<b.length;++e){c=b[e];for(var f=c.selectedFeatures.length-1;0<=f;--f)d=c.selectedFeatures[f],(!a||a.except!=d)&&this.unselect(d)}},clickFeature:function(a){this.hover||(-1<OpenLayers.Util.indexOf(a.layer.selectedFeatures,a)?this.toggleSelect()? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16315 this.unselect(a):this.multipleSelect()||this.unselectAll({except:a}):(this.multipleSelect()||this.unselectAll({except:a}),this.select(a)))},multipleSelect:function(){return this.multiple||this.handlers.feature.evt&&this.handlers.feature.evt[this.multipleKey]},toggleSelect:function(){return this.toggle||this.handlers.feature.evt&&this.handlers.feature.evt[this.toggleKey]},clickoutFeature:function(){!this.hover&&this.clickout&&this.unselectAll()},overFeature:function(a){var b=a.layer;this.hover&&(this.highlightOnly? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16316 this.highlight(a):-1==OpenLayers.Util.indexOf(b.selectedFeatures,a)&&this.select(a))},outFeature:function(a){if(this.hover)if(this.highlightOnly){if(a._lastHighlighter==this.id)if(a._prevHighlighter&&a._prevHighlighter!=this.id){delete a._lastHighlighter;var b=this.map.getControl(a._prevHighlighter);b&&b.highlight(a)}else this.unhighlight(a)}else this.unselect(a)},highlight:function(a){var b=a.layer;!1!==this.events.triggerEvent("beforefeaturehighlighted",{feature:a})&&(a._prevHighlighter=a._lastHighlighter, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16317 a._lastHighlighter=this.id,b.drawFeature(a,this.selectStyle||this.renderIntent),this.events.triggerEvent("featurehighlighted",{feature:a}))},unhighlight:function(a){var b=a.layer;void 0==a._prevHighlighter?delete a._lastHighlighter:(a._prevHighlighter!=this.id&&(a._lastHighlighter=a._prevHighlighter),delete a._prevHighlighter);b.drawFeature(a,a.style||a.layer.style||"default");this.events.triggerEvent("featureunhighlighted",{feature:a})},select:function(a){var b=this.onBeforeSelect.call(this.scope, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16318 a),c=a.layer;!1!==b&&(b=c.events.triggerEvent("beforefeatureselected",{feature:a}),!1!==b&&(c.selectedFeatures.push(a),this.highlight(a),this.handlers.feature.lastFeature||(this.handlers.feature.lastFeature=c.selectedFeatures[0]),c.events.triggerEvent("featureselected",{feature:a}),this.onSelect.call(this.scope,a)))},unselect:function(a){var b=a.layer;this.unhighlight(a);OpenLayers.Util.removeItem(b.selectedFeatures,a);b.events.triggerEvent("featureunselected",{feature:a});this.onUnselect.call(this.scope, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16319 a)},selectBox:function(a){if(a instanceof OpenLayers.Bounds){var b=this.map.getLonLatFromPixel({x:a.left,y:a.bottom}),a=this.map.getLonLatFromPixel({x:a.right,y:a.top}),b=new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat);this.multipleSelect()||this.unselectAll();a=this.multiple;this.multiple=!0;var c=this.layers||[this.layer];this.events.triggerEvent("boxselectionstart",{layers:c});for(var d,e=0;e<c.length;++e){d=c[e];for(var f=0,g=d.features.length;f<g;++f){var h=d.features[f];h.getVisibility()&&(null== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16320 this.geometryTypes||-1<OpenLayers.Util.indexOf(this.geometryTypes,h.geometry.CLASS_NAME))&&b.toGeometry().intersects(h.geometry)&&-1==OpenLayers.Util.indexOf(d.selectedFeatures,h)&&this.select(h)}}this.multiple=a;this.events.triggerEvent("boxselectionend",{layers:c})}},setMap:function(a){this.handlers.feature.setMap(a);this.box&&this.handlers.box.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},setLayer:function(a){var b=this.active;this.unselectAll();this.deactivate();this.layers&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16321 (this.layer.destroy(),this.layers=null);this.initLayer(a);this.handlers.feature.layer=this.layer;b&&this.activate()},CLASS_NAME:"OpenLayers.Control.SelectFeature"});OpenLayers.Handler.Keyboard=OpenLayers.Class(OpenLayers.Handler,{KEY_EVENTS:["keydown","keyup"],eventListener:null,observeElement:null,initialize:function(a,b,c){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.eventListener=OpenLayers.Function.bindAsEventListener(this.handleKeyEvent,this)},destroy:function(){this.deactivate();this.eventListener=null;OpenLayers.Handler.prototype.destroy.apply(this,arguments)},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16322 arguments)){this.observeElement=this.observeElement||document;for(var a=0,b=this.KEY_EVENTS.length;a<b;a++)OpenLayers.Event.observe(this.observeElement,this.KEY_EVENTS[a],this.eventListener);return!0}return!1},deactivate:function(){var a=!1;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){for(var a=0,b=this.KEY_EVENTS.length;a<b;a++)OpenLayers.Event.stopObserving(this.observeElement,this.KEY_EVENTS[a],this.eventListener);a=!0}return a},handleKeyEvent:function(a){this.checkModifiers(a)&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16323 this.callback(a.type,[a])},CLASS_NAME:"OpenLayers.Handler.Keyboard"});OpenLayers.Control.ModifyFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,clickout:!0,toggle:!0,standalone:!1,layer:null,feature:null,vertices:null,virtualVertices:null,selectControl:null,dragControl:null,handlers:null,deleteCodes:null,virtualStyle:null,vertexRenderIntent:null,mode:null,createVertices:!0,modified:!1,radiusHandle:null,dragHandle:null,onModificationStart:function(){},onModification:function(){},onModificationEnd:function(){},initialize:function(a,b){b=b||{};this.layer= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16324 a;this.vertices=[];this.virtualVertices=[];this.virtualStyle=OpenLayers.Util.extend({},this.layer.style||this.layer.styleMap.createSymbolizer(null,b.vertexRenderIntent));this.virtualStyle.fillOpacity=0.3;this.virtualStyle.strokeOpacity=0.3;this.deleteCodes=[46,68];this.mode=OpenLayers.Control.ModifyFeature.RESHAPE;OpenLayers.Control.prototype.initialize.apply(this,[b]);OpenLayers.Util.isArray(this.deleteCodes)||(this.deleteCodes=[this.deleteCodes]);var c=this,d={geometryTypes:this.geometryTypes,clickout:this.clickout, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16325 toggle:this.toggle,onBeforeSelect:this.beforeSelectFeature,onSelect:this.selectFeature,onUnselect:this.unselectFeature,scope:this};!1===this.standalone&&(this.selectControl=new OpenLayers.Control.SelectFeature(a,d));this.dragControl=new OpenLayers.Control.DragFeature(a,{geometryTypes:["OpenLayers.Geometry.Point"],onStart:function(a,b){c.dragStart.apply(c,[a,b])},onDrag:function(a,b){c.dragVertex.apply(c,[a,b])},onComplete:function(a){c.dragComplete.apply(c,[a])},featureCallbacks:{over:function(a){(c.standalone!== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16326 true||a._sketch||c.feature===a)&&c.dragControl.overFeature.apply(c.dragControl,[a])}}});this.handlers={keyboard:new OpenLayers.Handler.Keyboard(this,{keydown:this.handleKeypress})}},destroy:function(){this.layer=null;this.standalone||this.selectControl.destroy();this.dragControl.destroy();OpenLayers.Control.prototype.destroy.apply(this,[])},activate:function(){return(this.standalone||this.selectControl.activate())&&this.handlers.keyboard.activate()&&OpenLayers.Control.prototype.activate.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16327 arguments)},deactivate:function(){var a=!1;if(OpenLayers.Control.prototype.deactivate.apply(this,arguments)){this.layer.removeFeatures(this.vertices,{silent:!0});this.layer.removeFeatures(this.virtualVertices,{silent:!0});this.vertices=[];this.dragControl.deactivate();var b=(a=this.feature)&&a.geometry&&a.layer;!1===this.standalone?(b&&this.selectControl.unselect.apply(this.selectControl,[a]),this.selectControl.deactivate()):b&&this.unselectFeature(a);this.handlers.keyboard.deactivate();a=!0}return a}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16328 beforeSelectFeature:function(a){return this.layer.events.triggerEvent("beforefeaturemodified",{feature:a})},selectFeature:function(a){if(!this.standalone||!1!==this.beforeSelectFeature(a))this.feature=a,this.modified=!1,this.resetVertices(),this.dragControl.activate(),this.onModificationStart(this.feature);var b=a.modified;if(a.geometry&&(!b||!b.geometry))this._originalGeometry=a.geometry.clone()},unselectFeature:function(a){this.layer.removeFeatures(this.vertices,{silent:!0});this.vertices=[];this.layer.destroyFeatures(this.virtualVertices, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16329 {silent:!0});this.virtualVertices=[];this.dragHandle&&(this.layer.destroyFeatures([this.dragHandle],{silent:!0}),delete this.dragHandle);this.radiusHandle&&(this.layer.destroyFeatures([this.radiusHandle],{silent:!0}),delete this.radiusHandle);this.feature=null;this.dragControl.deactivate();this.onModificationEnd(a);this.layer.events.triggerEvent("afterfeaturemodified",{feature:a,modified:this.modified});this.modified=!1},dragStart:function(a,b){if(a!=this.feature&&(!a.geometry.parent&&a!=this.dragHandle&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16330 a!=this.radiusHandle)&&(!1===this.standalone&&this.feature&&this.selectControl.clickFeature.apply(this.selectControl,[this.feature]),null==this.geometryTypes||-1!=OpenLayers.Util.indexOf(this.geometryTypes,a.geometry.CLASS_NAME)))this.standalone||this.selectControl.clickFeature.apply(this.selectControl,[a]),this.dragControl.overFeature.apply(this.dragControl,[a]),this.dragControl.lastPixel=b,this.dragControl.handlers.drag.started=!0,this.dragControl.handlers.drag.start=b,this.dragControl.handlers.drag.last= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16331 b},dragVertex:function(a,b){this.modified=!0;"OpenLayers.Geometry.Point"==this.feature.geometry.CLASS_NAME?(this.feature!=a&&(this.feature=a),this.layer.events.triggerEvent("vertexmodified",{vertex:a.geometry,feature:this.feature,pixel:b})):(a._index?(a.geometry.parent.addComponent(a.geometry,a._index),delete a._index,OpenLayers.Util.removeItem(this.virtualVertices,a),this.vertices.push(a)):a==this.dragHandle?(this.layer.removeFeatures(this.vertices,{silent:!0}),this.vertices=[],this.radiusHandle&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16332 (this.layer.destroyFeatures([this.radiusHandle],{silent:!0}),this.radiusHandle=null)):a!==this.radiusHandle&&this.layer.events.triggerEvent("vertexmodified",{vertex:a.geometry,feature:this.feature,pixel:b}),0<this.virtualVertices.length&&(this.layer.destroyFeatures(this.virtualVertices,{silent:!0}),this.virtualVertices=[]),this.layer.drawFeature(this.feature,this.standalone?void 0:this.selectControl.renderIntent));this.layer.drawFeature(a)},dragComplete:function(){this.resetVertices();this.setFeatureState(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16333 this.onModification(this.feature);this.layer.events.triggerEvent("featuremodified",{feature:this.feature})},setFeatureState:function(){if(this.feature.state!=OpenLayers.State.INSERT&&this.feature.state!=OpenLayers.State.DELETE&&(this.feature.state=OpenLayers.State.UPDATE,this.modified&&this._originalGeometry)){var a=this.feature;a.modified=OpenLayers.Util.extend(a.modified,{geometry:this._originalGeometry});delete this._originalGeometry}},resetVertices:function(){this.dragControl.feature&&this.dragControl.outFeature(this.dragControl.feature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16334 0<this.vertices.length&&(this.layer.removeFeatures(this.vertices,{silent:!0}),this.vertices=[]);0<this.virtualVertices.length&&(this.layer.removeFeatures(this.virtualVertices,{silent:!0}),this.virtualVertices=[]);this.dragHandle&&(this.layer.destroyFeatures([this.dragHandle],{silent:!0}),this.dragHandle=null);this.radiusHandle&&(this.layer.destroyFeatures([this.radiusHandle],{silent:!0}),this.radiusHandle=null);this.feature&&"OpenLayers.Geometry.Point"!=this.feature.geometry.CLASS_NAME&&(this.mode& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16335 OpenLayers.Control.ModifyFeature.DRAG&&this.collectDragHandle(),this.mode&(OpenLayers.Control.ModifyFeature.ROTATE|OpenLayers.Control.ModifyFeature.RESIZE)&&this.collectRadiusHandle(),this.mode&OpenLayers.Control.ModifyFeature.RESHAPE&&(this.mode&OpenLayers.Control.ModifyFeature.RESIZE||this.collectVertices()))},handleKeypress:function(a){var b=a.keyCode;if(this.feature&&-1!=OpenLayers.Util.indexOf(this.deleteCodes,b)&&(b=this.dragControl.feature)&&-1!=OpenLayers.Util.indexOf(this.vertices,b)&&!this.dragControl.handlers.drag.dragging&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16336 b.geometry.parent)b.geometry.parent.removeComponent(b.geometry),this.layer.events.triggerEvent("vertexremoved",{vertex:b.geometry,feature:this.feature,pixel:a.xy}),this.layer.drawFeature(this.feature,this.standalone?void 0:this.selectControl.renderIntent),this.modified=!0,this.resetVertices(),this.setFeatureState(),this.onModification(this.feature),this.layer.events.triggerEvent("featuremodified",{feature:this.feature})},collectVertices:function(){function a(c){var d,e,f;if("OpenLayers.Geometry.Point"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16337 c.CLASS_NAME)e=new OpenLayers.Feature.Vector(c),e._sketch=!0,e.renderIntent=b.vertexRenderIntent,b.vertices.push(e);else{f=c.components.length;"OpenLayers.Geometry.LinearRing"==c.CLASS_NAME&&(f-=1);for(d=0;d<f;++d)e=c.components[d],"OpenLayers.Geometry.Point"==e.CLASS_NAME?(e=new OpenLayers.Feature.Vector(e),e._sketch=!0,e.renderIntent=b.vertexRenderIntent,b.vertices.push(e)):a(e);if(b.createVertices&&"OpenLayers.Geometry.MultiPoint"!=c.CLASS_NAME){d=0;for(f=c.components.length;d<f-1;++d){e=c.components[d]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16338 var g=c.components[d+1];"OpenLayers.Geometry.Point"==e.CLASS_NAME&&"OpenLayers.Geometry.Point"==g.CLASS_NAME&&(e=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point((e.x+g.x)/2,(e.y+g.y)/2),null,b.virtualStyle),e.geometry.parent=c,e._index=d+1,e._sketch=!0,b.virtualVertices.push(e))}}}}this.vertices=[];this.virtualVertices=[];var b=this;a.call(this,this.feature.geometry);this.layer.addFeatures(this.virtualVertices,{silent:!0});this.layer.addFeatures(this.vertices,{silent:!0})},collectDragHandle:function(){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16339 this.feature.geometry,b=a.getBounds().getCenterLonLat(),b=new OpenLayers.Geometry.Point(b.lon,b.lat),c=new OpenLayers.Feature.Vector(b);b.move=function(b,c){OpenLayers.Geometry.Point.prototype.move.call(this,b,c);a.move(b,c)};c._sketch=!0;this.dragHandle=c;this.dragHandle.renderIntent=this.vertexRenderIntent;this.layer.addFeatures([this.dragHandle],{silent:!0})},collectRadiusHandle:function(){var a=this.feature.geometry,b=a.getBounds(),c=b.getCenterLonLat(),d=new OpenLayers.Geometry.Point(c.lon,c.lat), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16340 b=new OpenLayers.Geometry.Point(b.right,b.bottom),c=new OpenLayers.Feature.Vector(b),e=this.mode&OpenLayers.Control.ModifyFeature.RESIZE,f=this.mode&OpenLayers.Control.ModifyFeature.RESHAPE,g=this.mode&OpenLayers.Control.ModifyFeature.ROTATE;b.move=function(b,c){OpenLayers.Geometry.Point.prototype.move.call(this,b,c);var j=this.x-d.x,k=this.y-d.y,l=j-b,m=k-c;if(g){var n=Math.atan2(m,l),n=Math.atan2(k,j)-n,n=n*(180/Math.PI);a.rotate(n,d)}if(e){var o;f?(k/=m,o=j/l/k):(l=Math.sqrt(l*l+m*m),k=Math.sqrt(j* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16341 j+k*k)/l);a.resize(k,d,o)}};c._sketch=!0;this.radiusHandle=c;this.radiusHandle.renderIntent=this.vertexRenderIntent;this.layer.addFeatures([this.radiusHandle],{silent:!0})},setMap:function(a){this.standalone||this.selectControl.setMap(a);this.dragControl.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},CLASS_NAME:"OpenLayers.Control.ModifyFeature"});OpenLayers.Control.ModifyFeature.RESHAPE=1;OpenLayers.Control.ModifyFeature.RESIZE=2;OpenLayers.Control.ModifyFeature.ROTATE=4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16342 OpenLayers.Control.ModifyFeature.DRAG=8;OpenLayers.Layer.Bing=OpenLayers.Class(OpenLayers.Layer.XYZ,{key:null,serverResolutions:[156543.03390625,78271.516953125,39135.7584765625,19567.87923828125,9783.939619140625,4891.9698095703125,2445.9849047851562,1222.9924523925781,611.4962261962891,305.74811309814453,152.87405654907226,76.43702827453613,38.218514137268066,19.109257068634033,9.554628534317017,4.777314267158508,2.388657133579254,1.194328566789627,0.5971642833948135,0.29858214169740677,0.14929107084870338,0.07464553542435169],attributionTemplate:'<span class="olBingAttribution ${type}"><div><a target="_blank" href="http://www.bing.com/maps/"><img src="${logo}" /></a></div>${copyrights}<a style="white-space: nowrap" target="_blank" href="http://www.microsoft.com/maps/product/terms.html">Terms of Use</a></span>', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16343 metadata:null,type:"Road",culture:"en-US",metadataParams:null,tileOptions:null,initialize:function(a){a=OpenLayers.Util.applyDefaults({sphericalMercator:!0},a);OpenLayers.Layer.XYZ.prototype.initialize.apply(this,[a.name||"Bing "+(a.type||this.type),null,a]);this.tileOptions=OpenLayers.Util.extend({crossOriginKeyword:"anonymous"},this.options.tileOptions);this.loadMetadata()},loadMetadata:function(){this._callbackId="_callback_"+this.id.replace(/\./g,"_");window[this._callbackId]=OpenLayers.Function.bind(OpenLayers.Layer.Bing.processMetadata, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16344 this);var a=OpenLayers.Util.applyDefaults({key:this.key,jsonp:this._callbackId,include:"ImageryProviders"},this.metadataParams),a="http://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+this.type+"?"+OpenLayers.Util.getParameterString(a),b=document.createElement("script");b.type="text/javascript";b.src=a;b.id=this._callbackId;document.getElementsByTagName("head")[0].appendChild(b)},initLayer:function(){var a=this.metadata.resourceSets[0].resources[0],b=a.imageUrl.replace("{quadkey}","${quadkey}"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16345 b=b.replace("{culture}",this.culture);this.url=[];for(var c=0;c<a.imageUrlSubdomains.length;++c)this.url.push(b.replace("{subdomain}",a.imageUrlSubdomains[c]));this.addOptions({maxResolution:Math.min(this.serverResolutions[a.zoomMin],this.maxResolution||Number.POSITIVE_INFINITY),numZoomLevels:Math.min(a.zoomMax+1-a.zoomMin,this.numZoomLevels)},!0)},getURL:function(a){if(this.url){for(var b=this.getXYZ(a),a=b.x,c=b.y,b=b.z,d=[],e=b;0<e;--e){var f="0",g=1<<e-1;0!=(a&g)&&f++;0!=(c&g)&&(f++,f++);d.push(f)}d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16346 d.join("");a=this.selectUrl(""+a+c+b,this.url);return OpenLayers.String.format(a,{quadkey:d})}},updateAttribution:function(){var a=this.metadata;if(a.resourceSets&&this.map&&this.map.center){var b=a.resourceSets[0].resources[0],c=this.map.getExtent().transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326")),b=b.imageryProviders,d=OpenLayers.Util.indexOf(this.serverResolutions,this.getServerResolution()),e="",f,g,h,i,j,k,l;g=0;for(h=b.length;g<h;++g){f=b[g];i=0;for(j=f.coverageAreas.length;i< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16347 j;++i)l=f.coverageAreas[i],k=OpenLayers.Bounds.fromArray(l.bbox,!0),c.intersectsBounds(k)&&(d<=l.zoomMax&&d>=l.zoomMin)&&(e+=f.attribution+" ")}this.attribution=OpenLayers.String.format(this.attributionTemplate,{type:this.type.toLowerCase(),logo:a.brandLogoUri,copyrights:e});this.map&&this.map.events.triggerEvent("changelayer",{layer:this,property:"attribution"})}},setMap:function(){OpenLayers.Layer.XYZ.prototype.setMap.apply(this,arguments);this.updateAttribution();this.map.events.register("moveend", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16348 this,this.updateAttribution)},clone:function(a){null==a&&(a=new OpenLayers.Layer.Bing(this.options));return a=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},destroy:function(){this.map&&this.map.events.unregister("moveend",this,this.updateAttribution);OpenLayers.Layer.XYZ.prototype.destroy.apply(this,arguments)},CLASS_NAME:"OpenLayers.Layer.Bing"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16349 OpenLayers.Layer.Bing.processMetadata=function(a){this.metadata=a;this.initLayer();a=document.getElementById(this._callbackId);a.parentNode.removeChild(a);window[this._callbackId]=void 0;delete this._callbackId};OpenLayers.Layer.PointGrid=OpenLayers.Class(OpenLayers.Layer.Vector,{dx:null,dy:null,ratio:1.5,maxFeatures:250,rotation:0,origin:null,gridBounds:null,initialize:function(a){a=a||{};OpenLayers.Layer.Vector.prototype.initialize.apply(this,[a.name,a])},setMap:function(a){OpenLayers.Layer.Vector.prototype.setMap.apply(this,arguments);a.events.register("moveend",this,this.onMoveEnd)},removeMap:function(a){a.events.unregister("moveend",this,this.onMoveEnd);OpenLayers.Layer.Vector.prototype.removeMap.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16350 arguments)},setRatio:function(a){this.ratio=a;this.updateGrid(!0)},setMaxFeatures:function(a){this.maxFeatures=a;this.updateGrid(!0)},setSpacing:function(a,b){this.dx=a;this.dy=b||a;this.updateGrid(!0)},setOrigin:function(a){this.origin=a;this.updateGrid(!0)},getOrigin:function(){this.origin||(this.origin=this.map.getExtent().getCenterLonLat());return this.origin},setRotation:function(a){this.rotation=a;this.updateGrid(!0)},onMoveEnd:function(){this.updateGrid()},getViewBounds:function(){var a=this.map.getExtent(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16351 if(this.rotation){var b=this.getOrigin(),b=new OpenLayers.Geometry.Point(b.lon,b.lat),a=a.toGeometry();a.rotate(-this.rotation,b);a=a.getBounds()}return a},updateGrid:function(a){if(a||this.invalidBounds()){var b=this.getViewBounds(),c=this.getOrigin(),a=new OpenLayers.Geometry.Point(c.lon,c.lat),d=b.getWidth(),e=b.getHeight(),f=d/e,g=Math.sqrt(this.dx*this.dy*this.maxFeatures/f),d=Math.min(d*this.ratio,g*f),e=Math.min(e*this.ratio,g),b=b.getCenterLonLat();this.gridBounds=new OpenLayers.Bounds(b.lon- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16352 d/2,b.lat-e/2,b.lon+d/2,b.lat+e/2);for(var b=Math.floor(e/this.dy),d=Math.floor(d/this.dx),e=c.lon+this.dx*Math.ceil((this.gridBounds.left-c.lon)/this.dx),c=c.lat+this.dy*Math.ceil((this.gridBounds.bottom-c.lat)/this.dy),g=Array(b*d),h,i=0;i<d;++i)for(var f=e+i*this.dx,j=0;j<b;++j)h=c+j*this.dy,h=new OpenLayers.Geometry.Point(f,h),this.rotation&&h.rotate(this.rotation,a),g[i*b+j]=new OpenLayers.Feature.Vector(h);this.destroyFeatures(this.features,{silent:!0});this.addFeatures(g,{silent:!0})}},invalidBounds:function(){return!this.gridBounds|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16353 !this.gridBounds.containsBounds(this.getViewBounds())},CLASS_NAME:"OpenLayers.Layer.PointGrid"});OpenLayers.Handler.MouseWheel=OpenLayers.Class(OpenLayers.Handler,{wheelListener:null,mousePosition:null,interval:0,delta:0,cumulative:!0,initialize:function(a,b,c){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.wheelListener=OpenLayers.Function.bindAsEventListener(this.onWheelEvent,this)},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.wheelListener=null},onWheelEvent:function(a){if(this.map&&this.checkModifiers(a)){for(var b=!1,c=!1,d=!1,e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16354 OpenLayers.Event.element(a);null!=e&&!d&&!b;){if(!b)try{var f=e.currentStyle?e.currentStyle.overflow:document.defaultView.getComputedStyle(e,null).getPropertyValue("overflow"),b=f&&"auto"==f||"scroll"==f}catch(g){}if(!c)for(var d=0,h=this.map.layers.length;d<h;d++)if(e==this.map.layers[d].div||e==this.map.layers[d].pane){c=!0;break}d=e==this.map.div;e=e.parentNode}!b&&d&&(c&&((b=0,a||(a=window.event),a.wheelDelta?(b=a.wheelDelta/120,window.opera&&9.2>window.opera.version()&&(b=-b)):a.detail&&(b=-a.detail/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16355 3),this.delta+=b,this.interval)?(window.clearTimeout(this._timeoutId),this._timeoutId=window.setTimeout(OpenLayers.Function.bind(function(){this.wheelZoom(a)},this),this.interval)):this.wheelZoom(a)),OpenLayers.Event.stop(a))}},wheelZoom:function(a){var b=this.delta;this.delta=0;b&&(this.mousePosition&&(a.xy=this.mousePosition),a.xy||(a.xy=this.map.getPixelFromLonLat(this.map.getCenter())),0>b?this.callback("down",[a,this.cumulative?b:-1]):this.callback("up",[a,this.cumulative?b:1]))},mousemove:function(a){this.mousePosition= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16356 a.xy},activate:function(a){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",b);OpenLayers.Event.observe(window,"mousewheel",b);OpenLayers.Event.observe(document,"mousewheel",b);return!0}return!1},deactivate:function(a){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var b=this.wheelListener;OpenLayers.Event.stopObserving(window,"DOMMouseScroll",b);OpenLayers.Event.stopObserving(window,"mousewheel", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16357 b);OpenLayers.Event.stopObserving(document,"mousewheel",b);return!0}return!1},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});OpenLayers.Symbolizer=OpenLayers.Class({zIndex:0,initialize:function(a){OpenLayers.Util.extend(this,a)},clone:function(){return new (eval(this.CLASS_NAME))(OpenLayers.Util.extend({},this))},CLASS_NAME:"OpenLayers.Symbolizer"});OpenLayers.Symbolizer.Raster=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(a){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments)},CLASS_NAME:"OpenLayers.Symbolizer.Raster"});OpenLayers.Rule=OpenLayers.Class({id:null,name:null,title:null,description:null,context:null,filter:null,elseFilter:!1,symbolizer:null,symbolizers:null,minScaleDenominator:null,maxScaleDenominator:null,initialize:function(a){this.symbolizer={};OpenLayers.Util.extend(this,a);this.symbolizers&&delete this.symbolizer;this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){for(var a in this.symbolizer)this.symbolizer[a]=null;this.symbolizer=null;delete this.symbolizers},evaluate:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16358 this.getContext(a),c=!0;if(this.minScaleDenominator||this.maxScaleDenominator)var d=a.layer.map.getScale();this.minScaleDenominator&&(c=d>=OpenLayers.Style.createLiteral(this.minScaleDenominator,b));c&&this.maxScaleDenominator&&(c=d<OpenLayers.Style.createLiteral(this.maxScaleDenominator,b));c&&this.filter&&(c="OpenLayers.Filter.FeatureId"==this.filter.CLASS_NAME?this.filter.evaluate(a):this.filter.evaluate(b));return c},getContext:function(a){var b=this.context;b||(b=a.attributes||a.data);"function"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16359 typeof this.context&&(b=this.context(a));return b},clone:function(){var a=OpenLayers.Util.extend({},this);if(this.symbolizers){var b=this.symbolizers.length;a.symbolizers=Array(b);for(var c=0;c<b;++c)a.symbolizers[c]=this.symbolizers[c].clone()}else{a.symbolizer={};for(var d in this.symbolizer)b=this.symbolizer[d],c=typeof b,"object"===c?a.symbolizer[d]=OpenLayers.Util.extend({},b):"string"===c&&(a.symbolizer[d]=b)}a.filter=this.filter&&this.filter.clone();a.context=this.context&&OpenLayers.Util.extend({}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16360 this.context);return new OpenLayers.Rule(a)},CLASS_NAME:"OpenLayers.Rule"});OpenLayers.Filter.Spatial=OpenLayers.Class(OpenLayers.Filter,{type:null,property:null,value:null,distance:null,distanceUnits:null,evaluate:function(a){var b=!1;switch(this.type){case OpenLayers.Filter.Spatial.BBOX:case OpenLayers.Filter.Spatial.INTERSECTS:if(a.geometry){var c=this.value;"OpenLayers.Bounds"==this.value.CLASS_NAME&&(c=this.value.toGeometry());a.geometry.intersects(c)&&(b=!0)}break;default:throw Error("evaluate is not implemented for this filter type.");}return b},clone:function(){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16361 OpenLayers.Util.applyDefaults({value:this.value&&this.value.clone&&this.value.clone()},this);return new OpenLayers.Filter.Spatial(a)},CLASS_NAME:"OpenLayers.Filter.Spatial"});OpenLayers.Filter.Spatial.BBOX="BBOX";OpenLayers.Filter.Spatial.INTERSECTS="INTERSECTS";OpenLayers.Filter.Spatial.DWITHIN="DWITHIN";OpenLayers.Filter.Spatial.WITHIN="WITHIN";OpenLayers.Filter.Spatial.CONTAINS="CONTAINS";OpenLayers.Format.SLD=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{profile:null,defaultVersion:"1.0.0",stringifyOutput:!0,namedLayersAsArray:!1,CLASS_NAME:"OpenLayers.Format.SLD"});OpenLayers.Symbolizer.Polygon=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(a){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments)},CLASS_NAME:"OpenLayers.Symbolizer.Polygon"});OpenLayers.Format.GML.v2=OpenLayers.Class(OpenLayers.Format.GML.Base,{schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd",initialize:function(a){OpenLayers.Format.GML.Base.prototype.initialize.apply(this,[a])},readers:{gml:OpenLayers.Util.applyDefaults({outerBoundaryIs:function(a,b){var c={};this.readChildNodes(a,c);b.outer=c.components[0]},innerBoundaryIs:function(a,b){var c={};this.readChildNodes(a,c);b.inner.push(c.components[0])},Box:function(a,b){var c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16362 {};this.readChildNodes(a,c);b.components||(b.components=[]);var d=c.points[0],c=c.points[1];b.components.push(new OpenLayers.Bounds(d.x,d.y,c.x,c.y))}},OpenLayers.Format.GML.Base.prototype.readers.gml),feature:OpenLayers.Format.GML.Base.prototype.readers.feature,wfs:OpenLayers.Format.GML.Base.prototype.readers.wfs},write:function(a){a=this.writeNode(OpenLayers.Util.isArray(a)?"wfs:FeatureCollection":"gml:featureMember",a);this.setAttributeNS(a,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16363 return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{gml:OpenLayers.Util.applyDefaults({Point:function(a){var b=this.createElementNSPlus("gml:Point");this.writeNode("coordinates",[a],b);return b},coordinates:function(a){for(var b=a.length,c=Array(b),d,e=0;e<b;++e)d=a[e],c[e]=this.xy?d.x+","+d.y:d.y+","+d.x,void 0!=d.z&&(c[e]+=","+d.z);return this.createElementNSPlus("gml:coordinates",{attributes:{decimal:".",cs:",",ts:" "},value:1==b?c[0]:c.join(" ")})},LineString:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16364 this.createElementNSPlus("gml:LineString");this.writeNode("coordinates",a.components,b);return b},Polygon:function(a){var b=this.createElementNSPlus("gml:Polygon");this.writeNode("outerBoundaryIs",a.components[0],b);for(var c=1;c<a.components.length;++c)this.writeNode("innerBoundaryIs",a.components[c],b);return b},outerBoundaryIs:function(a){var b=this.createElementNSPlus("gml:outerBoundaryIs");this.writeNode("LinearRing",a,b);return b},innerBoundaryIs:function(a){var b=this.createElementNSPlus("gml:innerBoundaryIs"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16365 this.writeNode("LinearRing",a,b);return b},LinearRing:function(a){var b=this.createElementNSPlus("gml:LinearRing");this.writeNode("coordinates",a.components,b);return b},Box:function(a){var b=this.createElementNSPlus("gml:Box");this.writeNode("coordinates",[{x:a.left,y:a.bottom},{x:a.right,y:a.top}],b);this.srsName&&b.setAttribute("srsName",this.srsName);return b}},OpenLayers.Format.GML.Base.prototype.writers.gml),feature:OpenLayers.Format.GML.Base.prototype.writers.feature,wfs:OpenLayers.Format.GML.Base.prototype.writers.wfs}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16366 CLASS_NAME:"OpenLayers.Format.GML.v2"});OpenLayers.Format.Filter.v1_0_0=OpenLayers.Class(OpenLayers.Format.GML.v2,OpenLayers.Format.Filter.v1,{VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/ogc/filter/1.0.0/filter.xsd",initialize:function(a){OpenLayers.Format.GML.v2.prototype.initialize.apply(this,[a])},readers:{ogc:OpenLayers.Util.applyDefaults({PropertyIsEqualTo:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.EQUAL_TO});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsNotEqualTo:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16367 b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.NOT_EQUAL_TO});this.readChildNodes(a,c);b.filters.push(c)},PropertyIsLike:function(a,b){var c=new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LIKE});this.readChildNodes(a,c);var d=a.getAttribute("wildCard"),e=a.getAttribute("singleChar"),f=a.getAttribute("escape");c.value2regex(d,e,f);b.filters.push(c)}},OpenLayers.Format.Filter.v1.prototype.readers.ogc),gml:OpenLayers.Format.GML.v2.prototype.readers.gml, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16368 feature:OpenLayers.Format.GML.v2.prototype.readers.feature},writers:{ogc:OpenLayers.Util.applyDefaults({PropertyIsEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsEqualTo");this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsNotEqualTo:function(a){var b=this.createElementNSPlus("ogc:PropertyIsNotEqualTo");this.writeNode("PropertyName",a,b);this.writeOgcExpression(a.value,b);return b},PropertyIsLike:function(a){var b=this.createElementNSPlus("ogc:PropertyIsLike", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16369 {attributes:{wildCard:"*",singleChar:".",escape:"!"}});this.writeNode("PropertyName",a,b);this.writeNode("Literal",a.regex2value(),b);return b},BBOX:function(a){var b=this.createElementNSPlus("ogc:BBOX");a.property&&this.writeNode("PropertyName",a,b);var c=this.writeNode("gml:Box",a.value,b);a.projection&&c.setAttribute("srsName",a.projection);return b}},OpenLayers.Format.Filter.v1.prototype.writers.ogc),gml:OpenLayers.Format.GML.v2.prototype.writers.gml,feature:OpenLayers.Format.GML.v2.prototype.writers.feature}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16370 writeSpatial:function(a,b){var c=this.createElementNSPlus("ogc:"+b);this.writeNode("PropertyName",a,c);if(a.value instanceof OpenLayers.Filter.Function)this.writeNode("Function",a.value,c);else{var d;d=a.value instanceof OpenLayers.Geometry?this.writeNode("feature:_geometry",a.value).firstChild:this.writeNode("gml:Box",a.value);a.projection&&d.setAttribute("srsName",a.projection);c.appendChild(d)}return c},CLASS_NAME:"OpenLayers.Format.Filter.v1_0_0"});OpenLayers.Format.WFST.v1_0_0=OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0,OpenLayers.Format.WFST.v1,{version:"1.0.0",srsNameInQuery:!1,schemaLocations:{wfs:"http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"},initialize:function(a){OpenLayers.Format.Filter.v1_0_0.prototype.initialize.apply(this,[a]);OpenLayers.Format.WFST.v1.prototype.initialize.apply(this,[a])},readNode:function(a,b){return OpenLayers.Format.GML.v2.prototype.readNode.apply(this,[a,b])},readers:{wfs:OpenLayers.Util.applyDefaults({WFS_TransactionResponse:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16371 b){b.insertIds=[];b.success=!1;this.readChildNodes(a,b)},InsertResult:function(a,b){var c={fids:[]};this.readChildNodes(a,c);b.insertIds.push(c.fids[0])},TransactionResult:function(a,b){this.readChildNodes(a,b)},Status:function(a,b){this.readChildNodes(a,b)},SUCCESS:function(a,b){b.success=!0}},OpenLayers.Format.WFST.v1.prototype.readers.wfs),gml:OpenLayers.Format.GML.v2.prototype.readers.gml,feature:OpenLayers.Format.GML.v2.prototype.readers.feature,ogc:OpenLayers.Format.Filter.v1_0_0.prototype.readers.ogc}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16372 writers:{wfs:OpenLayers.Util.applyDefaults({Query:function(a){var a=OpenLayers.Util.extend({featureNS:this.featureNS,featurePrefix:this.featurePrefix,featureType:this.featureType,srsName:this.srsName,srsNameInQuery:this.srsNameInQuery},a),b=a.featurePrefix,c=this.createElementNSPlus("wfs:Query",{attributes:{typeName:(b?b+":":"")+a.featureType}});a.srsNameInQuery&&a.srsName&&c.setAttribute("srsName",a.srsName);a.featureNS&&c.setAttribute("xmlns:"+b,a.featureNS);if(a.propertyNames)for(var b=0,d=a.propertyNames.length;b< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16373 d;b++)this.writeNode("ogc:PropertyName",{property:a.propertyNames[b]},c);a.filter&&(this.setFilterProperty(a.filter),this.writeNode("ogc:Filter",a.filter,c));return c}},OpenLayers.Format.WFST.v1.prototype.writers.wfs),gml:OpenLayers.Format.GML.v2.prototype.writers.gml,feature:OpenLayers.Format.GML.v2.prototype.writers.feature,ogc:OpenLayers.Format.Filter.v1_0_0.prototype.writers.ogc},CLASS_NAME:"OpenLayers.Format.WFST.v1_0_0"});OpenLayers.ElementsIndexer=OpenLayers.Class({maxZIndex:null,order:null,indices:null,compare:null,initialize:function(a){this.compare=a?OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_Y_ORDER:OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER_DRAWING_ORDER;this.clear()},insert:function(a){this.exists(a)&&this.remove(a);var b=a.id;this.determineZIndex(a);for(var c=-1,d=this.order.length,e;1<d-c;)e=parseInt((c+d)/2),0<this.compare(this,a,OpenLayers.Util.getElement(this.order[e]))?c=e:d=e;this.order.splice(d, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16374 0,b);this.indices[b]=this.getZIndex(a);return this.getNextElement(d)},remove:function(a){var a=a.id,b=OpenLayers.Util.indexOf(this.order,a);0<=b&&(this.order.splice(b,1),delete this.indices[a],this.maxZIndex=0<this.order.length?this.indices[this.order[this.order.length-1]]:0)},clear:function(){this.order=[];this.indices={};this.maxZIndex=0},exists:function(a){return null!=this.indices[a.id]},getZIndex:function(a){return a._style.graphicZIndex},determineZIndex:function(a){var b=a._style.graphicZIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16375 null==b?(b=this.maxZIndex,a._style.graphicZIndex=b):b>this.maxZIndex&&(this.maxZIndex=b)},getNextElement:function(a){a+=1;if(a<this.order.length){var b=OpenLayers.Util.getElement(this.order[a]);void 0==b&&(b=this.getNextElement(a));return b}return null},CLASS_NAME:"OpenLayers.ElementsIndexer"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16376 OpenLayers.ElementsIndexer.IndexingMethods={Z_ORDER:function(a,b,c){var b=a.getZIndex(b),d=0;c&&(a=a.getZIndex(c),d=b-a);return d},Z_ORDER_DRAWING_ORDER:function(a,b,c){a=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(a,b,c);c&&0==a&&(a=1);return a},Z_ORDER_Y_ORDER:function(a,b,c){a=OpenLayers.ElementsIndexer.IndexingMethods.Z_ORDER(a,b,c);c&&0===a&&(b=c._boundsBottom-b._boundsBottom,a=0===b?1:b);return a}}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16377 OpenLayers.Renderer.Elements=OpenLayers.Class(OpenLayers.Renderer,{rendererRoot:null,root:null,vectorRoot:null,textRoot:null,xmlns:null,xOffset:0,indexer:null,BACKGROUND_ID_SUFFIX:"_background",LABEL_ID_SUFFIX:"_label",LABEL_OUTLINE_SUFFIX:"_outline",initialize:function(a,b){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.rendererRoot=this.createRenderRoot();this.root=this.createRoot("_root");this.vectorRoot=this.createRoot("_vroot");this.textRoot=this.createRoot("_troot");this.root.appendChild(this.vectorRoot); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16378 this.root.appendChild(this.textRoot);this.rendererRoot.appendChild(this.root);this.container.appendChild(this.rendererRoot);if(b&&(b.zIndexing||b.yOrdering))this.indexer=new OpenLayers.ElementsIndexer(b.yOrdering)},destroy:function(){this.clear();this.xmlns=this.root=this.rendererRoot=null;OpenLayers.Renderer.prototype.destroy.apply(this,arguments)},clear:function(){var a,b=this.vectorRoot;if(b)for(;a=b.firstChild;)b.removeChild(a);if(b=this.textRoot)for(;a=b.firstChild;)b.removeChild(a);this.indexer&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16379 this.indexer.clear()},setExtent:function(a,b){var c=OpenLayers.Renderer.prototype.setExtent.apply(this,arguments),d=this.getResolution();if(this.map.baseLayer&&this.map.baseLayer.wrapDateLine){var e,f=a.getWidth()/this.map.getExtent().getWidth(),a=a.scale(1/f),f=this.map.getMaxExtent();f.right>a.left&&f.right<a.right?e=!0:f.left>a.left&&f.left<a.right&&(e=!1);if(e!==this.rightOfDateLine||b)c=!1,this.xOffset=!0===e?f.getWidth()/d:0;this.rightOfDateLine=e}return c},getNodeType:function(){},drawGeometry:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16380 b,c){var d=a.CLASS_NAME,e=!0;if("OpenLayers.Geometry.Collection"==d||"OpenLayers.Geometry.MultiPoint"==d||"OpenLayers.Geometry.MultiLineString"==d||"OpenLayers.Geometry.MultiPolygon"==d){for(var d=0,f=a.components.length;d<f;d++)e=this.drawGeometry(a.components[d],b,c)&&e;return e}d=e=!1;"none"!=b.display&&(b.backgroundGraphic?this.redrawBackgroundNode(a.id,a,b,c):d=!0,e=this.redrawNode(a.id,a,b,c));if(!1==e&&(b=document.getElementById(a.id)))b._style.backgroundGraphic&&(d=!0),b.parentNode.removeChild(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16381 d&&(b=document.getElementById(a.id+this.BACKGROUND_ID_SUFFIX))&&b.parentNode.removeChild(b);return e},redrawNode:function(a,b,c,d){c=this.applyDefaultSymbolizer(c);a=this.nodeFactory(a,this.getNodeType(b,c));a._featureId=d;a._boundsBottom=b.getBounds().bottom;a._geometryClass=b.CLASS_NAME;a._style=c;b=this.drawGeometryNode(a,b,c);if(!1===b)return!1;a=b.node;this.indexer?(c=this.indexer.insert(a))?this.vectorRoot.insertBefore(a,c):this.vectorRoot.appendChild(a):a.parentNode!==this.vectorRoot&&this.vectorRoot.appendChild(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16382 this.postDraw(a);return b.complete},redrawBackgroundNode:function(a,b,c){c=OpenLayers.Util.extend({},c);c.externalGraphic=c.backgroundGraphic;c.graphicXOffset=c.backgroundXOffset;c.graphicYOffset=c.backgroundYOffset;c.graphicZIndex=c.backgroundGraphicZIndex;c.graphicWidth=c.backgroundWidth||c.graphicWidth;c.graphicHeight=c.backgroundHeight||c.graphicHeight;c.backgroundGraphic=null;c.backgroundXOffset=null;c.backgroundYOffset=null;c.backgroundGraphicZIndex=null;return this.redrawNode(a+this.BACKGROUND_ID_SUFFIX, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16383 b,c,null)},drawGeometryNode:function(a,b,c){var c=c||a._style,d={isFilled:void 0===c.fill?!0:c.fill,isStroked:void 0===c.stroke?!!c.strokeWidth:c.stroke},e;switch(b.CLASS_NAME){case "OpenLayers.Geometry.Point":!1===c.graphic&&(d.isFilled=!1,d.isStroked=!1);e=this.drawPoint(a,b);break;case "OpenLayers.Geometry.LineString":d.isFilled=!1;e=this.drawLineString(a,b);break;case "OpenLayers.Geometry.LinearRing":e=this.drawLinearRing(a,b);break;case "OpenLayers.Geometry.Polygon":e=this.drawPolygon(a,b);break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16384 case "OpenLayers.Geometry.Rectangle":e=this.drawRectangle(a,b)}a._options=d;return!1!=e?{node:this.setStyle(a,c,d,b),complete:e}:!1},postDraw:function(){},drawPoint:function(){},drawLineString:function(){},drawLinearRing:function(){},drawPolygon:function(){},drawRectangle:function(){},drawCircle:function(){},removeText:function(a){var b=document.getElementById(a+this.LABEL_ID_SUFFIX);b&&this.textRoot.removeChild(b);(a=document.getElementById(a+this.LABEL_OUTLINE_SUFFIX))&&this.textRoot.removeChild(a)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16385 getFeatureIdFromEvent:function(a){var b=a.target,c=b&&b.correspondingUseElement;return(c?c:b||a.srcElement)._featureId},eraseGeometry:function(a,b){if("OpenLayers.Geometry.MultiPoint"==a.CLASS_NAME||"OpenLayers.Geometry.MultiLineString"==a.CLASS_NAME||"OpenLayers.Geometry.MultiPolygon"==a.CLASS_NAME||"OpenLayers.Geometry.Collection"==a.CLASS_NAME)for(var c=0,d=a.components.length;c<d;c++)this.eraseGeometry(a.components[c],b);else if((c=OpenLayers.Util.getElement(a.id))&&c.parentNode)if(c.geometry&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16386 (c.geometry.destroy(),c.geometry=null),c.parentNode.removeChild(c),this.indexer&&this.indexer.remove(c),c._style.backgroundGraphic)(c=OpenLayers.Util.getElement(a.id+this.BACKGROUND_ID_SUFFIX))&&c.parentNode&&c.parentNode.removeChild(c)},nodeFactory:function(a,b){var c=OpenLayers.Util.getElement(a);c?this.nodeTypeCompare(c,b)||(c.parentNode.removeChild(c),c=this.nodeFactory(a,b)):c=this.createNode(b,a);return c},nodeTypeCompare:function(){},createNode:function(){},moveRoot:function(a){var b=this.root; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16387 a.root.parentNode==this.rendererRoot&&(b=a.root);b.parentNode.removeChild(b);a.rendererRoot.appendChild(b)},getRenderLayerId:function(){return this.root.parentNode.parentNode.id},isComplexSymbol:function(a){return"circle"!=a&&!!a},CLASS_NAME:"OpenLayers.Renderer.Elements"});OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,getParameters:function(a){var a=a||window.location.href,b=OpenLayers.Util.getParameters(a),c=a.indexOf("#");0<c&&(a="?"+a.substring(c+1,a.length),OpenLayers.Util.extend(b,OpenLayers.Util.getParameters(a)));return b},setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var b=0,c=this.map.controls.length;b<c;b++){var d=this.map.controls[b];if(d!=this&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16388 "OpenLayers.Control.ArgParser"==d.CLASS_NAME){d.displayProjection!=this.displayProjection&&(this.displayProjection=d.displayProjection);break}}if(b==this.map.controls.length&&(b=this.getParameters(),b.layers&&(this.layers=b.layers,this.map.events.register("addlayer",this,this.configureLayers),this.configureLayers()),b.lat&&b.lon))this.center=new OpenLayers.LonLat(parseFloat(b.lon),parseFloat(b.lat)),b.zoom&&(this.zoom=parseFloat(b.zoom)),this.map.events.register("changebaselayer",this,this.setCenter), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16389 this.setCenter()},setCenter:function(){this.map.baseLayer&&(this.map.events.unregister("changebaselayer",this,this.setCenter),this.displayProjection&&this.center.transform(this.displayProjection,this.map.getProjectionObject()),this.map.setCenter(this.center,this.zoom))},configureLayers:function(){if(this.layers.length==this.map.layers.length){this.map.events.unregister("addlayer",this,this.configureLayers);for(var a=0,b=this.layers.length;a<b;a++){var c=this.map.layers[a],d=this.layers.charAt(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16390 "B"==d?this.map.setBaseLayer(c):("T"==d||"F"==d)&&c.setVisibility("T"==d)}}},CLASS_NAME:"OpenLayers.Control.ArgParser"});OpenLayers.Control.Permalink=OpenLayers.Class(OpenLayers.Control,{argParserClass:OpenLayers.Control.ArgParser,element:null,anchor:!1,base:"",displayProjection:null,initialize:function(a,b,c){null!==a&&"object"==typeof a&&!OpenLayers.Util.isElement(a)?(this.base=document.location.href,OpenLayers.Control.prototype.initialize.apply(this,[a]),null!=this.element&&(this.element=OpenLayers.Util.getElement(this.element))):(OpenLayers.Control.prototype.initialize.apply(this,[c]),this.element=OpenLayers.Util.getElement(a), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16391 this.base=b||document.location.href)},destroy:function(){this.element&&this.element.parentNode==this.div&&(this.div.removeChild(this.element),this.element=null);this.map&&this.map.events.unregister("moveend",this,this.updateLink);OpenLayers.Control.prototype.destroy.apply(this,arguments)},setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var b=0,c=this.map.controls.length;b<c;b++){var d=this.map.controls[b];if(d.CLASS_NAME==this.argParserClass.CLASS_NAME){d.displayProjection!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16392 this.displayProjection&&(this.displayProjection=d.displayProjection);break}}b==this.map.controls.length&&this.map.addControl(new this.argParserClass({displayProjection:this.displayProjection}))},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);!this.element&&!this.anchor&&(this.element=document.createElement("a"),this.element.innerHTML=OpenLayers.i18n("Permalink"),this.element.href="",this.div.appendChild(this.element));this.map.events.on({moveend:this.updateLink,changelayer:this.updateLink, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16393 changebaselayer:this.updateLink,scope:this});this.updateLink();return this.div},updateLink:function(){var a=this.anchor?"#":"?",b=this.base;-1!=b.indexOf(a)&&(b=b.substring(0,b.indexOf(a)));b+=a+OpenLayers.Util.getParameterString(this.createParams());this.anchor&&!this.element?window.location.href=b:this.element.href=b},createParams:function(a,b,c){var a=a||this.map.getCenter(),d=OpenLayers.Util.getParameters(this.base);if(a){d.zoom=b||this.map.getZoom();b=a.lat;a=a.lon;this.displayProjection&&(b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16394 OpenLayers.Projection.transform({x:a,y:b},this.map.getProjectionObject(),this.displayProjection),a=b.x,b=b.y);d.lat=Math.round(1E5*b)/1E5;d.lon=Math.round(1E5*a)/1E5;c=c||this.map.layers;d.layers="";a=0;for(b=c.length;a<b;a++){var e=c[a];d.layers=e.isBaseLayer?d.layers+(e==this.map.baseLayer?"B":"0"):d.layers+(e.getVisibility()?"T":"F")}}return d},CLASS_NAME:"OpenLayers.Control.Permalink"});OpenLayers.Layer.TMS=OpenLayers.Class(OpenLayers.Layer.Grid,{serviceVersion:"1.0.0",layername:null,type:null,isBaseLayer:!0,tileOrigin:null,serverResolutions:null,zoomOffset:0,initialize:function(a,b,c){var d=[];d.push(a,b,{},c);OpenLayers.Layer.Grid.prototype.initialize.apply(this,d)},clone:function(a){null==a&&(a=new OpenLayers.Layer.TMS(this.name,this.url,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var a=this.adjustBounds(a),b=this.getServerResolution(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16395 c=Math.round((a.left-this.tileOrigin.lon)/(b*this.tileSize.w)),a=Math.round((a.bottom-this.tileOrigin.lat)/(b*this.tileSize.h)),c=this.serviceVersion+"/"+this.layername+"/"+this.getServerZoom()+"/"+c+"/"+a+"."+this.type,a=this.url;OpenLayers.Util.isArray(a)&&(a=this.selectUrl(c,a));return a+c},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);this.tileOrigin||(this.tileOrigin=new OpenLayers.LonLat(this.map.maxExtent.left,this.map.maxExtent.bottom))},CLASS_NAME:"OpenLayers.Layer.TMS"});OpenLayers.Strategy.Fixed=OpenLayers.Class(OpenLayers.Strategy,{preload:!1,activate:function(){if(OpenLayers.Strategy.prototype.activate.apply(this,arguments)){this.layer.events.on({refresh:this.load,scope:this});if(!0==this.layer.visibility||this.preload)this.load();else this.layer.events.on({visibilitychanged:this.load,scope:this});return!0}return!1},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.layer.events.un({refresh:this.load,visibilitychanged:this.load, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16396 scope:this});return a},load:function(a){var b=this.layer;b.events.triggerEvent("loadstart");b.protocol.read(OpenLayers.Util.applyDefaults({callback:OpenLayers.Function.bind(this.merge,this,b.map.getProjectionObject()),filter:b.filter},a));b.events.un({visibilitychanged:this.load,scope:this})},merge:function(a,b){var c=this.layer;c.destroyFeatures();var d=b.features;if(d&&0<d.length){if(!a.equals(c.projection))for(var e,f=0,g=d.length;f<g;++f)(e=d[f].geometry)&&e.transform(c.projection,a);c.addFeatures(d)}c.events.triggerEvent("loadend")}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16397 CLASS_NAME:"OpenLayers.Strategy.Fixed"});OpenLayers.Control.Zoom=OpenLayers.Class(OpenLayers.Control,{zoomInText:"+",zoomInId:"olZoomInLink",zoomOutText:"-",zoomOutId:"olZoomOutLink",draw:function(){var a=OpenLayers.Control.prototype.draw.apply(this),b=this.getOrCreateLinks(a),c=b.zoomIn,b=b.zoomOut,d=this.map.events;b.parentNode!==a&&(d=this.events,d.attachToElement(b.parentNode));d.register("buttonclick",this,this.onZoomClick);this.zoomInLink=c;this.zoomOutLink=b;return a},getOrCreateLinks:function(a){var b=document.getElementById(this.zoomInId), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16398 c=document.getElementById(this.zoomOutId);b||(b=document.createElement("a"),b.href="#zoomIn",b.appendChild(document.createTextNode(this.zoomInText)),b.className="olControlZoomIn",a.appendChild(b));OpenLayers.Element.addClass(b,"olButton");c||(c=document.createElement("a"),c.href="#zoomOut",c.appendChild(document.createTextNode(this.zoomOutText)),c.className="olControlZoomOut",a.appendChild(c));OpenLayers.Element.addClass(c,"olButton");return{zoomIn:b,zoomOut:c}},onZoomClick:function(a){a=a.buttonElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16399 a===this.zoomInLink?this.map.zoomIn():a===this.zoomOutLink&&this.map.zoomOut()},destroy:function(){this.map&&this.map.events.unregister("buttonclick",this,this.onZoomClick);delete this.zoomInLink;delete this.zoomOutLink;OpenLayers.Control.prototype.destroy.apply(this)},CLASS_NAME:"OpenLayers.Control.Zoom"});OpenLayers.Layer.PointTrack=OpenLayers.Class(OpenLayers.Layer.Vector,{dataFrom:null,styleFrom:null,addNodes:function(a,b){if(2>a.length)throw Error("At least two point features have to be added to create a line from");for(var c=Array(a.length-1),d,e,f,g=0,h=a.length;g<h;g++){d=a[g];if(f=d.geometry){if("OpenLayers.Geometry.Point"!=f.CLASS_NAME)throw new TypeError("Only features with point geometries are supported.");}else f=d.lonlat,f=new OpenLayers.Geometry.Point(f.lon,f.lat);if(0<g){d=null!=this.dataFrom? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16400 a[g+this.dataFrom].data||a[g+this.dataFrom].attributes:null;var i=null!=this.styleFrom?a[g+this.styleFrom].style:null;e=new OpenLayers.Geometry.LineString([e,f]);c[g-1]=new OpenLayers.Feature.Vector(e,d,i)}e=f}this.addFeatures(c,b)},CLASS_NAME:"OpenLayers.Layer.PointTrack"});OpenLayers.Layer.PointTrack.SOURCE_NODE=-1;OpenLayers.Layer.PointTrack.TARGET_NODE=0;OpenLayers.Layer.PointTrack.dataFrom={SOURCE_NODE:-1,TARGET_NODE:0};OpenLayers.Protocol.WFS=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Protocol.WFS.DEFAULTS),b=OpenLayers.Protocol.WFS["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported WFS version: "+a.version;return new b(a)}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16401 OpenLayers.Protocol.WFS.fromWMSLayer=function(a,b){var c,d;c=a.params.LAYERS;c=(OpenLayers.Util.isArray(c)?c[0]:c).split(":");1<c.length&&(d=c[0]);c=c.pop();d={url:a.url,featureType:c,featurePrefix:d,srsName:a.projection&&a.projection.getCode()||a.map&&a.map.getProjectionObject().getCode(),version:"1.1.0"};return new OpenLayers.Protocol.WFS(OpenLayers.Util.applyDefaults(b,d))};OpenLayers.Protocol.WFS.DEFAULTS={version:"1.0.0"};OpenLayers.Layer.Markers=OpenLayers.Class(OpenLayers.Layer,{isBaseLayer:!1,markers:null,drawn:!1,initialize:function(a,b){OpenLayers.Layer.prototype.initialize.apply(this,arguments);this.markers=[]},destroy:function(){this.clearMarkers();this.markers=null;OpenLayers.Layer.prototype.destroy.apply(this,arguments)},setOpacity:function(a){if(a!=this.opacity){this.opacity=a;for(var a=0,b=this.markers.length;a<b;a++)this.markers[a].setOpacity(this.opacity)}},moveTo:function(a,b,c){OpenLayers.Layer.prototype.moveTo.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16402 arguments);if(b||!this.drawn){for(var d=0,e=this.markers.length;d<e;d++)this.drawMarker(this.markers[d]);this.drawn=!0}},addMarker:function(a){this.markers.push(a);1>this.opacity&&a.setOpacity(this.opacity);this.map&&this.map.getExtent()&&(a.map=this.map,this.drawMarker(a))},removeMarker:function(a){this.markers&&this.markers.length&&(OpenLayers.Util.removeItem(this.markers,a),a.erase())},clearMarkers:function(){if(null!=this.markers)for(;0<this.markers.length;)this.removeMarker(this.markers[0])}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16403 drawMarker:function(a){var b=this.map.getLayerPxFromLonLat(a.lonlat);null==b?a.display(!1):a.isDrawn()?a.icon&&a.icon.moveTo(b):this.div.appendChild(a.draw(b))},getDataExtent:function(){var a=null;if(this.markers&&0<this.markers.length)for(var a=new OpenLayers.Bounds,b=0,c=this.markers.length;b<c;b++)a.extend(this.markers[b].lonlat);return a},CLASS_NAME:"OpenLayers.Layer.Markers"});OpenLayers.Control.Pan=OpenLayers.Class(OpenLayers.Control,{slideFactor:50,slideRatio:null,direction:null,type:OpenLayers.Control.TYPE_BUTTON,initialize:function(a,b){this.direction=a;this.CLASS_NAME+=this.direction;OpenLayers.Control.prototype.initialize.apply(this,[b])},trigger:function(){var a=OpenLayers.Function.bind(function(a){return this.slideRatio?this.map.getSize()[a]*this.slideRatio:this.slideFactor},this);switch(this.direction){case OpenLayers.Control.Pan.NORTH:this.map.pan(0,-a("h")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16404 break;case OpenLayers.Control.Pan.SOUTH:this.map.pan(0,a("h"));break;case OpenLayers.Control.Pan.WEST:this.map.pan(-a("w"),0);break;case OpenLayers.Control.Pan.EAST:this.map.pan(a("w"),0)}},CLASS_NAME:"OpenLayers.Control.Pan"});OpenLayers.Control.Pan.NORTH="North";OpenLayers.Control.Pan.SOUTH="South";OpenLayers.Control.Pan.EAST="East";OpenLayers.Control.Pan.WEST="West";OpenLayers.Format.CSWGetDomain=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Format.CSWGetDomain.DEFAULTS),b=OpenLayers.Format.CSWGetDomain["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported CSWGetDomain version: "+a.version;return new b(a)};OpenLayers.Format.CSWGetDomain.DEFAULTS={version:"2.0.2"};OpenLayers.Format.CSWGetDomain.v2_0_2=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",csw:"http://www.opengis.net/cat/csw/2.0.2"},defaultPrefix:"csw",version:"2.0.2",schemaLocation:"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd",PropertyName:null,ParameterName:null,read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16405 a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b},readers:{csw:{GetDomainResponse:function(a,b){this.readChildNodes(a,b)},DomainValues:function(a,b){OpenLayers.Util.isArray(b.DomainValues)||(b.DomainValues=[]);for(var c=a.attributes,d={},e=0,f=c.length;e<f;++e)d[c[e].name]=c[e].nodeValue;this.readChildNodes(a,d);b.DomainValues.push(d)},PropertyName:function(a,b){b.PropertyName=this.getChildValue(a)},ParameterName:function(a,b){b.ParameterName=this.getChildValue(a)},ListOfValues:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16406 b){OpenLayers.Util.isArray(b.ListOfValues)||(b.ListOfValues=[]);this.readChildNodes(a,b.ListOfValues)},Value:function(a,b){for(var c=a.attributes,d={},e=0,f=c.length;e<f;++e)d[c[e].name]=c[e].nodeValue;d.value=this.getChildValue(a);b.push({Value:d})},ConceptualScheme:function(a,b){b.ConceptualScheme={};this.readChildNodes(a,b.ConceptualScheme)},Name:function(a,b){b.Name=this.getChildValue(a)},Document:function(a,b){b.Document=this.getChildValue(a)},Authority:function(a,b){b.Authority=this.getChildValue(a)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16407 RangeOfValues:function(a,b){b.RangeOfValues={};this.readChildNodes(a,b.RangeOfValues)},MinValue:function(a,b){for(var c=a.attributes,d={},e=0,f=c.length;e<f;++e)d[c[e].name]=c[e].nodeValue;d.value=this.getChildValue(a);b.MinValue=d},MaxValue:function(a,b){for(var c=a.attributes,d={},e=0,f=c.length;e<f;++e)d[c[e].name]=c[e].nodeValue;d.value=this.getChildValue(a);b.MaxValue=d}}},write:function(a){a=this.writeNode("csw:GetDomain",a);return OpenLayers.Format.XML.prototype.write.apply(this,[a])},writers:{csw:{GetDomain:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16408 this.createElementNSPlus("csw:GetDomain",{attributes:{service:"CSW",version:this.version}});if(a.PropertyName||this.PropertyName)this.writeNode("csw:PropertyName",a.PropertyName||this.PropertyName,b);else if(a.ParameterName||this.ParameterName)this.writeNode("csw:ParameterName",a.ParameterName||this.ParameterName,b);this.readChildNodes(b,a);return b},PropertyName:function(a){return this.createElementNSPlus("csw:PropertyName",{value:a})},ParameterName:function(a){return this.createElementNSPlus("csw:ParameterName", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16409 {value:a})}}},CLASS_NAME:"OpenLayers.Format.CSWGetDomain.v2_0_2"});OpenLayers.Format.ArcXML.Features=OpenLayers.Class(OpenLayers.Format.XML,{read:function(a){return(new OpenLayers.Format.ArcXML).read(a).features.feature}});OpenLayers.Control.Snapping=OpenLayers.Class(OpenLayers.Control,{DEFAULTS:{tolerance:10,node:!0,edge:!0,vertex:!0},greedy:!0,precedence:["node","vertex","edge"],resolution:null,geoToleranceCache:null,layer:null,feature:null,point:null,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,[a]);this.options=a||{};this.options.layer&&this.setLayer(this.options.layer);a=OpenLayers.Util.extend({},this.options.defaults);this.defaults=OpenLayers.Util.applyDefaults(a,this.DEFAULTS);this.setTargets(this.options.targets); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16410 0===this.targets.length&&this.layer&&this.addTargetLayer(this.layer);this.geoToleranceCache={}},setLayer:function(a){this.active?(this.deactivate(),this.layer=a,this.activate()):this.layer=a},setTargets:function(a){this.targets=[];if(a&&a.length)for(var b,c=0,d=a.length;c<d;++c)b=a[c],b instanceof OpenLayers.Layer.Vector?this.addTargetLayer(b):this.addTarget(b)},addTargetLayer:function(a){this.addTarget({layer:a})},addTarget:function(a){a=OpenLayers.Util.applyDefaults(a,this.defaults);a.nodeTolerance= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16411 a.nodeTolerance||a.tolerance;a.vertexTolerance=a.vertexTolerance||a.tolerance;a.edgeTolerance=a.edgeTolerance||a.tolerance;this.targets.push(a)},removeTargetLayer:function(a){for(var b,c=this.targets.length-1;0<=c;--c)b=this.targets[c],b.layer===a&&this.removeTarget(b)},removeTarget:function(a){return OpenLayers.Util.removeItem(this.targets,a)},activate:function(){var a=OpenLayers.Control.prototype.activate.call(this);if(a&&this.layer&&this.layer.events)this.layer.events.on({sketchstarted:this.onSketchModified, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16412 sketchmodified:this.onSketchModified,vertexmodified:this.onVertexModified,scope:this});return a},deactivate:function(){var a=OpenLayers.Control.prototype.deactivate.call(this);a&&this.layer&&this.layer.events&&this.layer.events.un({sketchstarted:this.onSketchModified,sketchmodified:this.onSketchModified,vertexmodified:this.onVertexModified,scope:this});this.point=this.feature=null;return a},onSketchModified:function(a){this.feature=a.feature;this.considerSnapping(a.vertex,a.vertex)},onVertexModified:function(a){this.feature= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16413 a.feature;var b=this.layer.map.getLonLatFromViewPortPx(a.pixel);this.considerSnapping(a.vertex,new OpenLayers.Geometry.Point(b.lon,b.lat))},considerSnapping:function(a,b){for(var c={rank:Number.POSITIVE_INFINITY,dist:Number.POSITIVE_INFINITY,x:null,y:null},d=!1,e,f,g=0,h=this.targets.length;g<h;++g)if(f=this.targets[g],e=this.testTarget(f,b))if(this.greedy){c=e;c.target=f;d=!0;break}else if(e.rank<c.rank||e.rank===c.rank&&e.dist<c.dist)c=e,c.target=f,d=!0;d&&(!1!==this.events.triggerEvent("beforesnap", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16414 {point:a,x:c.x,y:c.y,distance:c.dist,layer:c.target.layer,snapType:this.precedence[c.rank]})?(a.x=c.x,a.y=c.y,this.point=a,this.events.triggerEvent("snap",{point:a,snapType:this.precedence[c.rank],layer:c.target.layer,distance:c.dist})):d=!1);this.point&&!d&&(a.x=b.x,a.y=b.y,this.point=null,this.events.triggerEvent("unsnap",{point:a}))},testTarget:function(a,b){var c=this.layer.map.getResolution();if("minResolution"in a&&c<a.minResolution||"maxResolution"in a&&c>=a.maxResolution)return null;for(var c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16415 {node:this.getGeoTolerance(a.nodeTolerance,c),vertex:this.getGeoTolerance(a.vertexTolerance,c),edge:this.getGeoTolerance(a.edgeTolerance,c)},d=Math.max(c.node,c.vertex,c.edge),e={rank:Number.POSITIVE_INFINITY,dist:Number.POSITIVE_INFINITY},f=!1,g=a.layer.features,h,i,j,k,l,m,n=this.precedence.length,o=new OpenLayers.LonLat(b.x,b.y),p=0,q=g.length;p<q;++p)if(h=g[p],h!==this.feature&&(!h._sketch&&h.state!==OpenLayers.State.DELETE&&(!a.filter||a.filter.evaluate(h)))&&h.atPoint(o,d,d))for(var r=0,s=Math.min(e.rank+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16416 1,n);r<s;++r)if(i=this.precedence[r],a[i])if("edge"===i){if(j=h.geometry.distanceTo(b,{details:!0}),l=j.distance,l<=c[i]&&l<e.dist){e={rank:r,dist:l,x:j.x0,y:j.y0};f=!0;break}}else{j=h.geometry.getVertices("node"===i);m=!1;for(var t=0,u=j.length;t<u;++t)if(k=j[t],l=k.distanceTo(b),l<=c[i]&&(r<e.rank||r===e.rank&&l<e.dist))e={rank:r,dist:l,x:k.x,y:k.y},m=f=!0;if(m)break}return f?e:null},getGeoTolerance:function(a,b){b!==this.resolution&&(this.resolution=b,this.geoToleranceCache={});var c=this.geoToleranceCache[a]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16417 void 0===c&&(c=a*b,this.geoToleranceCache[a]=c);return c},destroy:function(){this.active&&this.deactivate();delete this.layer;delete this.targets;OpenLayers.Control.prototype.destroy.call(this)},CLASS_NAME:"OpenLayers.Control.Snapping"});OpenLayers.Date={toISOString:function(){if("toISOString"in Date.prototype)return function(a){return a.toISOString()};var a=function(a,c){for(var d=a+"";d.length<c;)d="0"+d;return d};return function(b){return isNaN(b.getTime())?"Invalid Date":b.getUTCFullYear()+"-"+a(b.getUTCMonth()+1,2)+"-"+a(b.getUTCDate(),2)+"T"+a(b.getUTCHours(),2)+":"+a(b.getUTCMinutes(),2)+":"+a(b.getUTCSeconds(),2)+"."+a(b.getUTCMilliseconds(),3)+"Z"}}(),parse:function(a){var b;if((a=a.match(/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))|Z)?$/))&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16418 (a[1]||a[7])){b=parseInt(a[1],10)||0;var c=parseInt(a[2],10)-1||0,d=parseInt(a[3],10)||1;b=new Date(Date.UTC(b,c,d));if(c=a[7]){var d=parseInt(a[4],10),e=parseInt(a[5],10),f=parseFloat(a[6]),g=f|0,f=Math.round(1E3*(f-g));b.setUTCHours(d,e,g,f);"Z"!==c&&(c=parseInt(c,10),a=parseInt(a[8],10)||0,b=new Date(b.getTime()+-1E3*(60*60*c+60*a)))}}else b=new Date("invalid");return b}};(function(){function a(){this._object=f&&!i?new f:new window.ActiveXObject("Microsoft.XMLHTTP");this._listeners=[]}function b(){return new a}function c(a){b.onreadystatechange&&b.onreadystatechange.apply(a);a.dispatchEvent({type:"readystatechange",bubbles:!1,cancelable:!1,timeStamp:new Date+0})}function d(a){try{a.responseText=a._object.responseText}catch(b){}try{var c;var d=a._object,e=d.responseXML,f=d.responseText;h&&(f&&e&&!e.documentElement&&d.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/))&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16419 (e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.validateOnParse=!1,e.loadXML(f));c=e&&(h&&0!=e.parseError||!e.documentElement||e.documentElement&&"parsererror"==e.documentElement.tagName)?null:e;a.responseXML=c}catch(g){}try{a.status=a._object.status}catch(i){}try{a.statusText=a._object.statusText}catch(r){}}function e(a){a._object.onreadystatechange=new window.Function}var f=window.XMLHttpRequest,g=!!window.controllers,h=window.document.all&&!window.opera,i=h&&window.navigator.userAgent.match(/MSIE 7.0/); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16420 b.prototype=a.prototype;g&&f.wrapped&&(b.wrapped=f.wrapped);b.UNSENT=0;b.OPENED=1;b.HEADERS_RECEIVED=2;b.LOADING=3;b.DONE=4;b.prototype.readyState=b.UNSENT;b.prototype.responseText="";b.prototype.responseXML=null;b.prototype.status=0;b.prototype.statusText="";b.prototype.priority="NORMAL";b.prototype.onreadystatechange=null;b.onreadystatechange=null;b.onopen=null;b.onsend=null;b.onabort=null;b.prototype.open=function(a,f,i,m,n){delete this._headers;arguments.length<3&&(i=true);this._async=i;var o= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16421 this,p=this.readyState,q;if(h&&i){q=function(){if(p!=b.DONE){e(o);o.abort()}};window.attachEvent("onunload",q)}b.onopen&&b.onopen.apply(this,arguments);arguments.length>4?this._object.open(a,f,i,m,n):arguments.length>3?this._object.open(a,f,i,m):this._object.open(a,f,i);this.readyState=b.OPENED;c(this);this._object.onreadystatechange=function(){if(!g||i){o.readyState=o._object.readyState;d(o);if(o._aborted)o.readyState=b.UNSENT;else{if(o.readyState==b.DONE){delete o._data;e(o);h&&i&&window.detachEvent("onunload", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16422 q)}p!=o.readyState&&c(o);p=o.readyState}}}};b.prototype.send=function(a){b.onsend&&b.onsend.apply(this,arguments);arguments.length||(a=null);if(a&&a.nodeType){a=window.XMLSerializer?(new window.XMLSerializer).serializeToString(a):a.xml;this._headers["Content-Type"]||this._object.setRequestHeader("Content-Type","application/xml")}this._data=a;a:{this._object.send(this._data);if(g&&!this._async){this.readyState=b.OPENED;for(d(this);this.readyState<b.DONE;){this.readyState++;c(this);if(this._aborted)break a}}}}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16423 b.prototype.abort=function(){b.onabort&&b.onabort.apply(this,arguments);if(this.readyState>b.UNSENT)this._aborted=true;this._object.abort();e(this);this.readyState=b.UNSENT;delete this._data};b.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders()};b.prototype.getResponseHeader=function(a){return this._object.getResponseHeader(a)};b.prototype.setRequestHeader=function(a,b){if(!this._headers)this._headers={};this._headers[a]=b;return this._object.setRequestHeader(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16424 b)};b.prototype.addEventListener=function(a,b,c){for(var d=0,e;e=this._listeners[d];d++)if(e[0]==a&&e[1]==b&&e[2]==c)return;this._listeners.push([a,b,c])};b.prototype.removeEventListener=function(a,b,c){for(var d=0,e;e=this._listeners[d];d++)if(e[0]==a&&e[1]==b&&e[2]==c)break;e&&this._listeners.splice(d,1)};b.prototype.dispatchEvent=function(a){a={type:a.type,target:this,currentTarget:this,eventPhase:2,bubbles:a.bubbles,cancelable:a.cancelable,timeStamp:a.timeStamp,stopPropagation:function(){},preventDefault:function(){}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16425 initEvent:function(){}};a.type=="readystatechange"&&this.onreadystatechange&&(this.onreadystatechange.handleEvent||this.onreadystatechange).apply(this,[a]);for(var b=0,c;c=this._listeners[b];b++)c[0]==a.type&&!c[2]&&(c[1].handleEvent||c[1]).apply(this,[a])};b.prototype.toString=function(){return"[object XMLHttpRequest]"};b.toString=function(){return"[XMLHttpRequest]"};window.Function.prototype.apply||(window.Function.prototype.apply=function(a,b){b||(b=[]);a.__func=this;a.__func(b[0],b[1],b[2],b[3], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16426 b[4]);delete a.__func});OpenLayers.Request.XMLHttpRequest=b})();OpenLayers.Format.KML=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{kml:"http://www.opengis.net/kml/2.2",gx:"http://www.google.com/kml/ext/2.2"},kmlns:"http://earth.google.com/kml/2.0",placemarksDesc:"No description available",foldersName:"OpenLayers export",foldersDesc:"Exported on "+new Date,extractAttributes:!0,kvpAttributes:!1,extractStyles:!1,extractTracks:!1,trackAttributes:null,internalns:null,features:null,styles:null,styleBaseUrl:"",fetched:null,maxDepth:0,initialize:function(a){this.regExes= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16427 {trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g,kmlColor:/(\w{2})(\w{2})(\w{2})(\w{2})/,kmlIconPalette:/root:\/\/icons\/palette-(\d+)(\.\w+)/,straightBracket:/\$\[(.*?)\]/g};this.externalProjection=new OpenLayers.Projection("EPSG:4326");OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){this.features=[];this.styles={};this.fetched={};return this.parseData(a,{depth:0,styleBaseUrl:this.styleBaseUrl})},parseData:function(a,b){"string"==typeof a&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16428 (a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));for(var c=["Link","NetworkLink","Style","StyleMap","Placemark"],d=0,e=c.length;d<e;++d){var f=c[d],g=this.getElementsByTagNameNS(a,"*",f);if(0!=g.length)switch(f.toLowerCase()){case "link":case "networklink":this.parseLinks(g,b);break;case "style":this.extractStyles&&this.parseStyles(g,b);break;case "stylemap":this.extractStyles&&this.parseStyleMaps(g,b);break;case "placemark":this.parseFeatures(g,b)}}return this.features},parseLinks:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16429 b){if(b.depth>=this.maxDepth)return!1;var c=OpenLayers.Util.extend({},b);c.depth++;for(var d=0,e=a.length;d<e;d++){var f=this.parseProperty(a[d],"*","href");f&&!this.fetched[f]&&(this.fetched[f]=!0,(f=this.fetchLink(f))&&this.parseData(f,c))}},fetchLink:function(a){if(a=OpenLayers.Request.GET({url:a,async:!1}))return a.responseText},parseStyles:function(a,b){for(var c=0,d=a.length;c<d;c++){var e=this.parseStyle(a[c]);e&&(this.styles[(b.styleBaseUrl||"")+"#"+e.id]=e)}},parseKmlColor:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16430 null;a&&(a=a.match(this.regExes.kmlColor))&&(b={color:"#"+a[4]+a[3]+a[2],opacity:parseInt(a[1],16)/255});return b},parseStyle:function(a){for(var b={},c=["LineStyle","PolyStyle","IconStyle","BalloonStyle","LabelStyle"],d,e,f=0,g=c.length;f<g;++f)if(d=c[f],e=this.getElementsByTagNameNS(a,"*",d)[0])switch(d.toLowerCase()){case "linestyle":d=this.parseProperty(e,"*","color");if(d=this.parseKmlColor(d))b.strokeColor=d.color,b.strokeOpacity=d.opacity;(d=this.parseProperty(e,"*","width"))&&(b.strokeWidth= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16431 d);break;case "polystyle":d=this.parseProperty(e,"*","color");if(d=this.parseKmlColor(d))b.fillOpacity=d.opacity,b.fillColor=d.color;"0"==this.parseProperty(e,"*","fill")&&(b.fillColor="none");"0"==this.parseProperty(e,"*","outline")&&(b.strokeWidth="0");break;case "iconstyle":var h=parseFloat(this.parseProperty(e,"*","scale")||1);d=32*h;var i=32*h,j=this.getElementsByTagNameNS(e,"*","Icon")[0];if(j){var k=this.parseProperty(j,"*","href");if(k){var l=this.parseProperty(j,"*","w"),m=this.parseProperty(j, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16432 "*","h");OpenLayers.String.startsWith(k,"http://maps.google.com/mapfiles/kml")&&(!l&&!m)&&(m=l=64,h/=2);l=l||m;m=m||l;l&&(d=parseInt(l)*h);m&&(i=parseInt(m)*h);if(m=k.match(this.regExes.kmlIconPalette))l=m[1],m=m[2],k=this.parseProperty(j,"*","x"),j=this.parseProperty(j,"*","y"),k="http://maps.google.com/mapfiles/kml/pal"+l+"/icon"+(8*(j?7-j/32:7)+(k?k/32:0))+m;b.graphicOpacity=1;b.externalGraphic=k}}if(e=this.getElementsByTagNameNS(e,"*","hotSpot")[0])k=parseFloat(e.getAttribute("x")),j=parseFloat(e.getAttribute("y")), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16433 l=e.getAttribute("xunits"),"pixels"==l?b.graphicXOffset=-k*h:"insetPixels"==l?b.graphicXOffset=-d+k*h:"fraction"==l&&(b.graphicXOffset=-d*k),e=e.getAttribute("yunits"),"pixels"==e?b.graphicYOffset=-i+j*h+1:"insetPixels"==e?b.graphicYOffset=-(j*h)+1:"fraction"==e&&(b.graphicYOffset=-i*(1-j)+1);b.graphicWidth=d;b.graphicHeight=i;break;case "balloonstyle":(e=OpenLayers.Util.getXmlNodeValue(e))&&(b.balloonStyle=e.replace(this.regExes.straightBracket,"${$1}"));break;case "labelstyle":if(d=this.parseProperty(e, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16434 "*","color"),d=this.parseKmlColor(d))b.fontColor=d.color,b.fontOpacity=d.opacity}!b.strokeColor&&b.fillColor&&(b.strokeColor=b.fillColor);if((a=a.getAttribute("id"))&&b)b.id=a;return b},parseStyleMaps:function(a,b){for(var c=0,d=a.length;c<d;c++)for(var e=a[c],f=this.getElementsByTagNameNS(e,"*","Pair"),e=e.getAttribute("id"),g=0,h=f.length;g<h;g++){var i=f[g],j=this.parseProperty(i,"*","key");(i=this.parseProperty(i,"*","styleUrl"))&&"normal"==j&&(this.styles[(b.styleBaseUrl||"")+"#"+e]=this.styles[(b.styleBaseUrl|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16435 "")+i])}},parseFeatures:function(a,b){for(var c=[],d=0,e=a.length;d<e;d++){var f=a[d],g=this.parseFeature.apply(this,[f]);if(g){this.extractStyles&&(g.attributes&&g.attributes.styleUrl)&&(g.style=this.getStyle(g.attributes.styleUrl,b));if(this.extractStyles){var h=this.getElementsByTagNameNS(f,"*","Style")[0];if(h&&(h=this.parseStyle(h)))g.style=OpenLayers.Util.extend(g.style,h)}if(this.extractTracks){if((f=this.getElementsByTagNameNS(f,this.namespaces.gx,"Track"))&&0<f.length)g={features:[],feature:g}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16436 this.readNode(f[0],g),0<g.features.length&&c.push.apply(c,g.features)}else c.push(g)}else throw"Bad Placemark: "+d;}this.features=this.features.concat(c)},readers:{kml:{when:function(a,b){b.whens.push(OpenLayers.Date.parse(this.getChildValue(a)))},_trackPointAttribute:function(a,b){var c=a.nodeName.split(":").pop();b.attributes[c].push(this.getChildValue(a))}},gx:{Track:function(a,b){var c={whens:[],points:[],angles:[]};if(this.trackAttributes){var d;c.attributes={};for(var e=0,f=this.trackAttributes.length;e< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16437 f;++e)d=this.trackAttributes[e],c.attributes[d]=[],d in this.readers.kml||(this.readers.kml[d]=this.readers.kml._trackPointAttribute)}this.readChildNodes(a,c);if(c.whens.length!==c.points.length)throw Error("gx:Track with unequal number of when ("+c.whens.length+") and gx:coord ("+c.points.length+") elements.");var g=0<c.angles.length;if(g&&c.whens.length!==c.angles.length)throw Error("gx:Track with unequal number of when ("+c.whens.length+") and gx:angles ("+c.angles.length+") elements.");for(var h, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16438 i,e=0,f=c.whens.length;e<f;++e){h=b.feature.clone();h.fid=b.feature.fid||b.feature.id;i=c.points[e];h.geometry=i;"z"in i&&(h.attributes.altitude=i.z);this.internalProjection&&this.externalProjection&&h.geometry.transform(this.externalProjection,this.internalProjection);if(this.trackAttributes){i=0;for(var j=this.trackAttributes.length;i<j;++i)h.attributes[d]=c.attributes[this.trackAttributes[i]][e]}h.attributes.when=c.whens[e];h.attributes.trackId=b.feature.id;g&&(i=c.angles[e],h.attributes.heading= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16439 parseFloat(i[0]),h.attributes.tilt=parseFloat(i[1]),h.attributes.roll=parseFloat(i[2]));b.features.push(h)}},coord:function(a,b){var c=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(/\s+/),d=new OpenLayers.Geometry.Point(c[0],c[1]);2<c.length&&(d.z=parseFloat(c[2]));b.points.push(d)},angles:function(a,b){var c=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(/\s+/);b.angles.push(c)}}},parseFeature:function(a){for(var b=["MultiGeometry","Polygon","LineString","Point"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16440 c,d,e,f=0,g=b.length;f<g;++f)if(c=b[f],this.internalns=a.namespaceURI?a.namespaceURI:this.kmlns,d=this.getElementsByTagNameNS(a,this.internalns,c),0<d.length){if(b=this.parseGeometry[c.toLowerCase()])e=b.apply(this,[d[0]]),this.internalProjection&&this.externalProjection&&e.transform(this.externalProjection,this.internalProjection);else throw new TypeError("Unsupported geometry type: "+c);break}var h;this.extractAttributes&&(h=this.parseAttributes(a));c=new OpenLayers.Feature.Vector(e,h);a=a.getAttribute("id")|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16441 a.getAttribute("name");null!=a&&(c.fid=a);return c},getStyle:function(a,b){var c=OpenLayers.Util.removeTail(a),d=OpenLayers.Util.extend({},b);d.depth++;d.styleBaseUrl=c;!this.styles[a]&&!OpenLayers.String.startsWith(a,"#")&&d.depth<=this.maxDepth&&!this.fetched[c]&&(c=this.fetchLink(c))&&this.parseData(c,d);return OpenLayers.Util.extend({},this.styles[a])},parseGeometry:{point:function(a){var b=this.getElementsByTagNameNS(a,this.internalns,"coordinates"),a=[];if(0<b.length)var c=b[0].firstChild.nodeValue, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16442 c=c.replace(this.regExes.removeSpace,""),a=c.split(",");b=null;if(1<a.length)2==a.length&&(a[2]=null),b=new OpenLayers.Geometry.Point(a[0],a[1],a[2]);else throw"Bad coordinate string: "+c;return b},linestring:function(a,b){var c=this.getElementsByTagNameNS(a,this.internalns,"coordinates"),d=null;if(0<c.length){for(var c=this.getChildValue(c[0]),c=c.replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),d=c.split(this.regExes.splitSpace),e=d.length,f=Array(e),g,h,i=0;i<e;++i)if(g= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16443 d[i].split(","),h=g.length,1<h)2==g.length&&(g[2]=null),f[i]=new OpenLayers.Geometry.Point(g[0],g[1],g[2]);else throw"Bad LineString point coordinates: "+d[i];if(e)d=b?new OpenLayers.Geometry.LinearRing(f):new OpenLayers.Geometry.LineString(f);else throw"Bad LineString coordinates: "+c;}return d},polygon:function(a){var a=this.getElementsByTagNameNS(a,this.internalns,"LinearRing"),b=a.length,c=Array(b);if(0<b)for(var d=0,e=a.length;d<e;++d)if(b=this.parseGeometry.linestring.apply(this,[a[d],!0]))c[d]= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16444 b;else throw"Bad LinearRing geometry: "+d;return new OpenLayers.Geometry.Polygon(c)},multigeometry:function(a){for(var b,c=[],d=a.childNodes,e=0,f=d.length;e<f;++e)a=d[e],1==a.nodeType&&(b=this.parseGeometry[(a.prefix?a.nodeName.split(":")[1]:a.nodeName).toLowerCase()])&&c.push(b.apply(this,[a]));return new OpenLayers.Geometry.Collection(c)}},parseAttributes:function(a){var b={},c=a.getElementsByTagName("ExtendedData");c.length&&(b=this.parseExtendedData(c[0]));for(var d,e,f,a=a.childNodes,c=0,g= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16445 a.length;c<g;++c)if(d=a[c],1==d.nodeType&&(e=d.childNodes,1<=e.length&&3>=e.length)){switch(e.length){case 1:f=e[0];break;case 2:f=e[0];e=e[1];f=3==f.nodeType||4==f.nodeType?f:e;break;default:f=e[1]}if(3==f.nodeType||4==f.nodeType)if(d=d.prefix?d.nodeName.split(":")[1]:d.nodeName,f=OpenLayers.Util.getXmlNodeValue(f))f=f.replace(this.regExes.trimSpace,""),b[d]=f}return b},parseExtendedData:function(a){var b={},c,d,e,f,g=a.getElementsByTagName("Data");c=0;for(d=g.length;c<d;c++){e=g[c];f=e.getAttribute("name"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16446 var h={},i=e.getElementsByTagName("value");i.length&&(h.value=this.getChildValue(i[0]));this.kvpAttributes?b[f]=h.value:(e=e.getElementsByTagName("displayName"),e.length&&(h.displayName=this.getChildValue(e[0])),b[f]=h)}a=a.getElementsByTagName("SimpleData");c=0;for(d=a.length;c<d;c++)h={},e=a[c],f=e.getAttribute("name"),h.value=this.getChildValue(e),this.kvpAttributes?b[f]=h.value:(h.displayName=f,b[f]=h);return b},parseProperty:function(a,b,c){var d,a=this.getElementsByTagNameNS(a,b,c);try{d=OpenLayers.Util.getXmlNodeValue(a[0])}catch(e){d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16447 null}return d},write:function(a){OpenLayers.Util.isArray(a)||(a=[a]);for(var b=this.createElementNS(this.kmlns,"kml"),c=this.createFolderXML(),d=0,e=a.length;d<e;++d)c.appendChild(this.createPlacemarkXML(a[d]));b.appendChild(c);return OpenLayers.Format.XML.prototype.write.apply(this,[b])},createFolderXML:function(){var a=this.createElementNS(this.kmlns,"Folder");if(this.foldersName){var b=this.createElementNS(this.kmlns,"name"),c=this.createTextNode(this.foldersName);b.appendChild(c);a.appendChild(b)}this.foldersDesc&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16448 (b=this.createElementNS(this.kmlns,"description"),c=this.createTextNode(this.foldersDesc),b.appendChild(c),a.appendChild(b));return a},createPlacemarkXML:function(a){var b=this.createElementNS(this.kmlns,"name");b.appendChild(this.createTextNode(a.style&&a.style.label?a.style.label:a.attributes.name||a.id));var c=this.createElementNS(this.kmlns,"description");c.appendChild(this.createTextNode(a.attributes.description||this.placemarksDesc));var d=this.createElementNS(this.kmlns,"Placemark");null!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16449 a.fid&&d.setAttribute("id",a.fid);d.appendChild(b);d.appendChild(c);b=this.buildGeometryNode(a.geometry);d.appendChild(b);a.attributes&&(a=this.buildExtendedData(a.attributes))&&d.appendChild(a);return d},buildGeometryNode:function(a){var b=a.CLASS_NAME,b=this.buildGeometry[b.substring(b.lastIndexOf(".")+1).toLowerCase()],c=null;b&&(c=b.apply(this,[a]));return c},buildGeometry:{point:function(a){var b=this.createElementNS(this.kmlns,"Point");b.appendChild(this.buildCoordinatesNode(a));return b},multipoint:function(a){return this.buildGeometry.collection.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16450 [a])},linestring:function(a){var b=this.createElementNS(this.kmlns,"LineString");b.appendChild(this.buildCoordinatesNode(a));return b},multilinestring:function(a){return this.buildGeometry.collection.apply(this,[a])},linearring:function(a){var b=this.createElementNS(this.kmlns,"LinearRing");b.appendChild(this.buildCoordinatesNode(a));return b},polygon:function(a){for(var b=this.createElementNS(this.kmlns,"Polygon"),a=a.components,c,d,e=0,f=a.length;e<f;++e)c=0==e?"outerBoundaryIs":"innerBoundaryIs", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16451 c=this.createElementNS(this.kmlns,c),d=this.buildGeometry.linearring.apply(this,[a[e]]),c.appendChild(d),b.appendChild(c);return b},multipolygon:function(a){return this.buildGeometry.collection.apply(this,[a])},collection:function(a){for(var b=this.createElementNS(this.kmlns,"MultiGeometry"),c,d=0,e=a.components.length;d<e;++d)(c=this.buildGeometryNode.apply(this,[a.components[d]]))&&b.appendChild(c);return b}},buildCoordinatesNode:function(a){var b=this.createElementNS(this.kmlns,"coordinates"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16452 c;if(c=a.components){for(var d=c.length,e=Array(d),f=0;f<d;++f)a=c[f],e[f]=this.buildCoordinates(a);c=e.join(" ")}else c=this.buildCoordinates(a);c=this.createTextNode(c);b.appendChild(c);return b},buildCoordinates:function(a){this.internalProjection&&this.externalProjection&&(a=a.clone(),a.transform(this.internalProjection,this.externalProjection));return a.x+","+a.y},buildExtendedData:function(a){var b=this.createElementNS(this.kmlns,"ExtendedData"),c;for(c in a)if(a[c]&&"name"!=c&&"description"!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16453 c&&"styleUrl"!=c){var d=this.createElementNS(this.kmlns,"Data");d.setAttribute("name",c);var e=this.createElementNS(this.kmlns,"value");if("object"==typeof a[c]){if(a[c].value&&e.appendChild(this.createTextNode(a[c].value)),a[c].displayName){var f=this.createElementNS(this.kmlns,"displayName");f.appendChild(this.getXMLDoc().createCDATASection(a[c].displayName));d.appendChild(f)}}else e.appendChild(this.createTextNode(a[c]));d.appendChild(e);b.appendChild(d)}return this.isSimpleContent(b)?null:b}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16454 CLASS_NAME:"OpenLayers.Format.KML"});OpenLayers.Popup=OpenLayers.Class({events:null,id:"",lonlat:null,div:null,contentSize:null,size:null,contentHTML:null,backgroundColor:"",opacity:"",border:"",contentDiv:null,groupDiv:null,closeDiv:null,autoSize:!1,minSize:null,maxSize:null,displayClass:"olPopup",contentDisplayClass:"olPopupContent",padding:0,disableFirefoxOverflowHack:!1,fixPadding:function(){"number"==typeof this.padding&&(this.padding=new OpenLayers.Bounds(this.padding,this.padding,this.padding,this.padding))},panMapIfOutOfView:!1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16455 keepInMap:!1,closeOnMove:!1,map:null,initialize:function(a,b,c,d,e,f){null==a&&(a=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_"));this.id=a;this.lonlat=b;this.contentSize=null!=c?c:new OpenLayers.Size(OpenLayers.Popup.WIDTH,OpenLayers.Popup.HEIGHT);null!=d&&(this.contentHTML=d);this.backgroundColor=OpenLayers.Popup.COLOR;this.opacity=OpenLayers.Popup.OPACITY;this.border=OpenLayers.Popup.BORDER;this.div=OpenLayers.Util.createDiv(this.id,null,null,null,null,null,"hidden");this.div.className=this.displayClass; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16456 this.groupDiv=OpenLayers.Util.createDiv(this.id+"_GroupDiv",null,null,null,"relative",null,"hidden");a=this.div.id+"_contentDiv";this.contentDiv=OpenLayers.Util.createDiv(a,null,this.contentSize.clone(),null,"relative");this.contentDiv.className=this.contentDisplayClass;this.groupDiv.appendChild(this.contentDiv);this.div.appendChild(this.groupDiv);e&&this.addCloseBox(f);this.registerEvents()},destroy:function(){this.border=this.opacity=this.backgroundColor=this.contentHTML=this.size=this.lonlat=this.id= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16457 null;this.closeOnMove&&this.map&&this.map.events.unregister("movestart",this,this.hide);this.events.destroy();this.events=null;this.closeDiv&&(OpenLayers.Event.stopObservingElement(this.closeDiv),this.groupDiv.removeChild(this.closeDiv));this.closeDiv=null;this.div.removeChild(this.groupDiv);this.groupDiv=null;null!=this.map&&this.map.removePopup(this);this.panMapIfOutOfView=this.padding=this.maxSize=this.minSize=this.autoSize=this.div=this.map=null},draw:function(a){null==a&&null!=this.lonlat&&null!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16458 this.map&&(a=this.map.getLayerPxFromLonLat(this.lonlat));this.closeOnMove&&this.map.events.register("movestart",this,this.hide);!this.disableFirefoxOverflowHack&&"firefox"==OpenLayers.BROWSER_NAME&&(this.map.events.register("movestart",this,function(){var a=document.defaultView.getComputedStyle(this.contentDiv,null).getPropertyValue("overflow");"hidden"!=a&&(this.contentDiv._oldOverflow=a,this.contentDiv.style.overflow="hidden")}),this.map.events.register("moveend",this,function(){var a=this.contentDiv._oldOverflow; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16459 a&&(this.contentDiv.style.overflow=a,this.contentDiv._oldOverflow=null)}));this.moveTo(a);!this.autoSize&&!this.size&&this.setSize(this.contentSize);this.setBackgroundColor();this.setOpacity();this.setBorder();this.setContentHTML();this.panMapIfOutOfView&&this.panIntoView();return this.div},updatePosition:function(){if(this.lonlat&&this.map){var a=this.map.getLayerPxFromLonLat(this.lonlat);a&&this.moveTo(a)}},moveTo:function(a){null!=a&&null!=this.div&&(this.div.style.left=a.x+"px",this.div.style.top= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16460 a.y+"px")},visible:function(){return OpenLayers.Element.visible(this.div)},toggle:function(){this.visible()?this.hide():this.show()},show:function(){this.div.style.display="";this.panMapIfOutOfView&&this.panIntoView()},hide:function(){this.div.style.display="none"},setSize:function(a){this.size=a.clone();var b=this.getContentDivPadding(),c=b.left+b.right,d=b.top+b.bottom;this.fixPadding();c+=this.padding.left+this.padding.right;d+=this.padding.top+this.padding.bottom;if(this.closeDiv)var e=parseInt(this.closeDiv.style.width), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16461 c=c+(e+b.right);this.size.w+=c;this.size.h+=d;"msie"==OpenLayers.BROWSER_NAME&&(this.contentSize.w+=b.left+b.right,this.contentSize.h+=b.bottom+b.top);null!=this.div&&(this.div.style.width=this.size.w+"px",this.div.style.height=this.size.h+"px");null!=this.contentDiv&&(this.contentDiv.style.width=a.w+"px",this.contentDiv.style.height=a.h+"px")},updateSize:function(){var a="<div class='"+this.contentDisplayClass+"'>"+this.contentDiv.innerHTML+"</div>",b=this.map?this.map.div:document.body,c=OpenLayers.Util.getRenderedDimensions(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16462 null,{displayClass:this.displayClass,containerElement:b}),d=this.getSafeContentSize(c),e=null;d.equals(c)?e=c:(c={w:d.w<c.w?d.w:null,h:d.h<c.h?d.h:null},c.w&&c.h?e=d:(a=OpenLayers.Util.getRenderedDimensions(a,c,{displayClass:this.contentDisplayClass,containerElement:b}),"hidden"!=OpenLayers.Element.getStyle(this.contentDiv,"overflow")&&a.equals(d)&&(d=OpenLayers.Util.getScrollbarWidth(),c.w?a.h+=d:a.w+=d),e=this.getSafeContentSize(a)));this.setSize(e)},setBackgroundColor:function(a){void 0!=a&&(this.backgroundColor= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16463 a);null!=this.div&&(this.div.style.backgroundColor=this.backgroundColor)},setOpacity:function(a){void 0!=a&&(this.opacity=a);null!=this.div&&(this.div.style.opacity=this.opacity,this.div.style.filter="alpha(opacity="+100*this.opacity+")")},setBorder:function(a){void 0!=a&&(this.border=a);null!=this.div&&(this.div.style.border=this.border)},setContentHTML:function(a){null!=a&&(this.contentHTML=a);null!=this.contentDiv&&(null!=this.contentHTML&&this.contentHTML!=this.contentDiv.innerHTML)&&(this.contentDiv.innerHTML= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16464 this.contentHTML,this.autoSize&&(this.registerImageListeners(),this.updateSize()))},registerImageListeners:function(){for(var a=function(){null!==this.popup.id&&(this.popup.updateSize(),this.popup.visible()&&this.popup.panMapIfOutOfView&&this.popup.panIntoView(),OpenLayers.Event.stopObserving(this.img,"load",this.img._onImageLoad))},b=this.contentDiv.getElementsByTagName("img"),c=0,d=b.length;c<d;c++){var e=b[c];if(0==e.width||0==e.height)e._onImgLoad=OpenLayers.Function.bind(a,{popup:this,img:e}), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16465 OpenLayers.Event.observe(e,"load",e._onImgLoad)}},getSafeContentSize:function(a){var a=a.clone(),b=this.getContentDivPadding(),c=b.left+b.right,d=b.top+b.bottom;this.fixPadding();c+=this.padding.left+this.padding.right;d+=this.padding.top+this.padding.bottom;if(this.closeDiv)var e=parseInt(this.closeDiv.style.width),c=c+(e+b.right);this.minSize&&(a.w=Math.max(a.w,this.minSize.w-c),a.h=Math.max(a.h,this.minSize.h-d));this.maxSize&&(a.w=Math.min(a.w,this.maxSize.w-c),a.h=Math.min(a.h,this.maxSize.h- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16466 d));if(this.map&&this.map.size){e=b=0;if(this.keepInMap&&!this.panMapIfOutOfView)switch(e=this.map.getPixelFromLonLat(this.lonlat),this.relativePosition){case "tr":b=e.x;e=this.map.size.h-e.y;break;case "tl":b=this.map.size.w-e.x;e=this.map.size.h-e.y;break;case "bl":b=this.map.size.w-e.x;e=e.y;break;case "br":b=e.x;e=e.y;break;default:b=e.x,e=this.map.size.h-e.y}d=this.map.size.h-this.map.paddingForPopups.top-this.map.paddingForPopups.bottom-d-e;a.w=Math.min(a.w,this.map.size.w-this.map.paddingForPopups.left- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16467 this.map.paddingForPopups.right-c-b);a.h=Math.min(a.h,d)}return a},getContentDivPadding:function(){var a=this._contentDivPadding;if(!a&&(null==this.div.parentNode&&(this.div.style.display="none",document.body.appendChild(this.div)),this._contentDivPadding=a=new OpenLayers.Bounds(OpenLayers.Element.getStyle(this.contentDiv,"padding-left"),OpenLayers.Element.getStyle(this.contentDiv,"padding-bottom"),OpenLayers.Element.getStyle(this.contentDiv,"padding-right"),OpenLayers.Element.getStyle(this.contentDiv, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16468 "padding-top")),this.div.parentNode==document.body))document.body.removeChild(this.div),this.div.style.display="";return a},addCloseBox:function(a){this.closeDiv=OpenLayers.Util.createDiv(this.id+"_close",null,{w:17,h:17});this.closeDiv.className="olPopupCloseBox";var b=this.getContentDivPadding();this.closeDiv.style.right=b.right+"px";this.closeDiv.style.top=b.top+"px";this.groupDiv.appendChild(this.closeDiv);a=a||function(a){this.hide();OpenLayers.Event.stop(a)};OpenLayers.Event.observe(this.closeDiv, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16469 "touchend",OpenLayers.Function.bindAsEventListener(a,this));OpenLayers.Event.observe(this.closeDiv,"click",OpenLayers.Function.bindAsEventListener(a,this))},panIntoView:function(){var a=this.map.getSize(),b=this.map.getViewPortPxFromLayerPx(new OpenLayers.Pixel(parseInt(this.div.style.left),parseInt(this.div.style.top))),c=b.clone();b.x<this.map.paddingForPopups.left?c.x=this.map.paddingForPopups.left:b.x+this.size.w>a.w-this.map.paddingForPopups.right&&(c.x=a.w-this.map.paddingForPopups.right-this.size.w); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16470 b.y<this.map.paddingForPopups.top?c.y=this.map.paddingForPopups.top:b.y+this.size.h>a.h-this.map.paddingForPopups.bottom&&(c.y=a.h-this.map.paddingForPopups.bottom-this.size.h);this.map.pan(b.x-c.x,b.y-c.y)},registerEvents:function(){this.events=new OpenLayers.Events(this,this.div,null,!0);this.events.on({mousedown:this.onmousedown,mousemove:this.onmousemove,mouseup:this.onmouseup,click:this.onclick,mouseout:this.onmouseout,dblclick:this.ondblclick,touchstart:function(a){OpenLayers.Event.stop(a,!0)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16471 scope:this})},onmousedown:function(a){this.mousedown=!0;OpenLayers.Event.stop(a,!0)},onmousemove:function(a){this.mousedown&&OpenLayers.Event.stop(a,!0)},onmouseup:function(a){this.mousedown&&(this.mousedown=!1,OpenLayers.Event.stop(a,!0))},onclick:function(a){OpenLayers.Event.stop(a,!0)},onmouseout:function(){this.mousedown=!1},ondblclick:function(a){OpenLayers.Event.stop(a,!0)},CLASS_NAME:"OpenLayers.Popup"});OpenLayers.Popup.WIDTH=200;OpenLayers.Popup.HEIGHT=200;OpenLayers.Popup.COLOR="white"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16472 OpenLayers.Popup.OPACITY=1;OpenLayers.Popup.BORDER="0px";OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:!0,anchor:null,initialize:function(a,b,c,d,e,f,g){OpenLayers.Popup.prototype.initialize.apply(this,[a,b,c,d,f,g]);this.anchor=null!=e?e:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)}},destroy:function(){this.relativePosition=this.anchor=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments)},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16473 moveTo:function(a){var b=this.relativePosition;this.relativePosition=this.calculateRelativePosition(a);a=this.calculateNewPx(a);OpenLayers.Popup.prototype.moveTo.apply(this,Array(a));this.relativePosition!=b&&this.updateRelativePosition()},setSize:function(a){OpenLayers.Popup.prototype.setSize.apply(this,arguments);this.lonlat&&this.map&&this.moveTo(this.map.getLayerPxFromLonLat(this.lonlat))},calculateRelativePosition:function(a){a=this.map.getLonLatFromLayerPx(a);a=this.map.getExtent().determineQuadrant(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16474 return OpenLayers.Bounds.oppositeQuadrant(a)},updateRelativePosition:function(){},calculateNewPx:function(a){var a=a.offset(this.anchor.offset),b=this.size||this.contentSize,c="t"==this.relativePosition.charAt(0);a.y+=c?-b.h:this.anchor.size.h;c="l"==this.relativePosition.charAt(1);a.x+=c?-b.w:this.anchor.size.w;return a},CLASS_NAME:"OpenLayers.Popup.Anchored"});/* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16475 Apache 2 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16476 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16477 Contains portions of Rico <http://openrico.org/> |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16478 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16479 Copyright 2005 Sabre Airline Solutions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16480 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16481 Licensed under the Apache License, Version 2.0 (the "License"); you |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16482 may not use this file except in compliance with the License. You |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16483 may obtain a copy of the License at |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16484 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16485 http://www.apache.org/licenses/LICENSE-2.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16486 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16487 Unless required by applicable law or agreed to in writing, software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16488 distributed under the License is distributed on an "AS IS" BASIS, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16489 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16490 implied. See the License for the specific language governing |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16491 permissions and limitations under the License. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16492 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16493 OpenLayers.Console.warn("OpenLayers.Rico is deprecated");OpenLayers.Rico=OpenLayers.Rico||{}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16494 OpenLayers.Rico.Color=OpenLayers.Class({initialize:function(a,b,c){this.rgb={r:a,g:b,b:c}},setRed:function(a){this.rgb.r=a},setGreen:function(a){this.rgb.g=a},setBlue:function(a){this.rgb.b=a},setHue:function(a){var b=this.asHSB();b.h=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setSaturation:function(a){var b=this.asHSB();b.s=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)},setBrightness:function(a){var b=this.asHSB();b.b=a;this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,b.b)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16495 darken:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.max(b.b-a,0))},brighten:function(a){var b=this.asHSB();this.rgb=OpenLayers.Rico.Color.HSBtoRGB(b.h,b.s,Math.min(b.b+a,1))},blend:function(a){this.rgb.r=Math.floor((this.rgb.r+a.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+a.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+a.rgb.b)/2)},isBright:function(){this.asHSB();return 0.5<this.asHSB().b},isDark:function(){return!this.isBright()},asRGB:function(){return"rgb("+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16496 this.rgb.r+","+this.rgb.g+","+this.rgb.b+")"},asHex:function(){return"#"+this.rgb.r.toColorPart()+this.rgb.g.toColorPart()+this.rgb.b.toColorPart()},asHSB:function(){return OpenLayers.Rico.Color.RGBtoHSB(this.rgb.r,this.rgb.g,this.rgb.b)},toString:function(){return this.asHex()}}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16497 OpenLayers.Rico.Color.createFromHex=function(a){if(4==a.length)for(var b=a,a="#",c=1;4>c;c++)a+=b.charAt(c)+b.charAt(c);0==a.indexOf("#")&&(a=a.substring(1));b=a.substring(0,2);c=a.substring(2,4);a=a.substring(4,6);return new OpenLayers.Rico.Color(parseInt(b,16),parseInt(c,16),parseInt(a,16))}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16498 OpenLayers.Rico.Color.createColorFromBackground=function(a){var b=OpenLayers.Element.getStyle(OpenLayers.Util.getElement(a),"backgroundColor");return"transparent"==b&&a.parentNode?OpenLayers.Rico.Color.createColorFromBackground(a.parentNode):null==b?new OpenLayers.Rico.Color(255,255,255):0==b.indexOf("rgb(")?(a=b.substring(4,b.length-1).split(","),new OpenLayers.Rico.Color(parseInt(a[0]),parseInt(a[1]),parseInt(a[2]))):0==b.indexOf("#")?OpenLayers.Rico.Color.createFromHex(b):new OpenLayers.Rico.Color(255, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16499 255,255)}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16500 OpenLayers.Rico.Color.HSBtoRGB=function(a,b,c){var d=0,e=0,f=0;if(0==b)f=e=d=parseInt(255*c+0.5);else{var a=6*(a-Math.floor(a)),g=a-Math.floor(a),h=c*(1-b),i=c*(1-b*g),b=c*(1-b*(1-g));switch(parseInt(a)){case 0:d=255*c+0.5;e=255*b+0.5;f=255*h+0.5;break;case 1:d=255*i+0.5;e=255*c+0.5;f=255*h+0.5;break;case 2:d=255*h+0.5;e=255*c+0.5;f=255*b+0.5;break;case 3:d=255*h+0.5;e=255*i+0.5;f=255*c+0.5;break;case 4:d=255*b+0.5;e=255*h+0.5;f=255*c+0.5;break;case 5:d=255*c+0.5,e=255*h+0.5,f=255*i+0.5}}return{r:parseInt(d),g:parseInt(e), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16501 b:parseInt(f)}};OpenLayers.Rico.Color.RGBtoHSB=function(a,b,c){var d,e=a>b?a:b;c>e&&(e=c);var f=a<b?a:b;c<f&&(f=c);d=0!=e?(e-f)/e:0;if(0==d)a=0;else{var g=(e-a)/(e-f),h=(e-b)/(e-f),c=(e-c)/(e-f),a=(a==e?c-h:b==e?2+g-c:4+h-g)/6;0>a&&(a+=1)}return{h:a,s:d,b:e/255}};OpenLayers.Console.warn("OpenLayers.Rico is deprecated");OpenLayers.Rico=OpenLayers.Rico||{}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16502 OpenLayers.Rico.Corner={round:function(a,b){a=OpenLayers.Util.getElement(a);this._setOptions(b);var c=this.options.color;"fromElement"==this.options.color&&(c=this._background(a));var d=this.options.bgColor;"fromParent"==this.options.bgColor&&(d=this._background(a.offsetParent));this._roundCornersImpl(a,c,d)},changeColor:function(a,b){a.style.backgroundColor=b;for(var c=a.parentNode.getElementsByTagName("span"),d=0;d<c.length;d++)c[d].style.backgroundColor=b},changeOpacity:function(a,b){var c="alpha(opacity="+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16503 100*b+")";a.style.opacity=b;a.style.filter=c;for(var d=a.parentNode.getElementsByTagName("span"),e=0;e<d.length;e++)d[e].style.opacity=b,d[e].style.filter=c},reRound:function(a,b){var c=a.parentNode.childNodes[2];a.parentNode.removeChild(a.parentNode.childNodes[0]);a.parentNode.removeChild(c);this.round(a.parentNode,b)},_roundCornersImpl:function(a,b,c){this.options.border&&this._renderBorder(a,c);this._isTopRounded()&&this._roundTopCorners(a,b,c);this._isBottomRounded()&&this._roundBottomCorners(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16504 b,c)},_renderBorder:function(a,b){var c="1px solid "+this._borderColor(b);a.innerHTML="<div "+("style='border-left: "+c+";"+("border-right: "+c)+"'")+">"+a.innerHTML+"</div>"},_roundTopCorners:function(a,b,c){for(var d=this._createCorner(c),e=0;e<this.options.numSlices;e++)d.appendChild(this._createCornerSlice(b,c,e,"top"));a.style.paddingTop=0;a.insertBefore(d,a.firstChild)},_roundBottomCorners:function(a,b,c){for(var d=this._createCorner(c),e=this.options.numSlices-1;0<=e;e--)d.appendChild(this._createCornerSlice(b, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16505 c,e,"bottom"));a.style.paddingBottom=0;a.appendChild(d)},_createCorner:function(a){var b=document.createElement("div");b.style.backgroundColor=this._isTransparent()?"transparent":a;return b},_createCornerSlice:function(a,b,c,d){var e=document.createElement("span"),f=e.style;f.backgroundColor=a;f.display="block";f.height="1px";f.overflow="hidden";f.fontSize="1px";a=this._borderColor(a,b);this.options.border&&0==c?(f.borderTopStyle="solid",f.borderTopWidth="1px",f.borderLeftWidth="0px",f.borderRightWidth= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16506 "0px",f.borderBottomWidth="0px",f.height="0px",f.borderColor=a):a&&(f.borderColor=a,f.borderStyle="solid",f.borderWidth="0px 1px");!this.options.compact&&c==this.options.numSlices-1&&(f.height="2px");this._setMargin(e,c,d);this._setBorder(e,c,d);return e},_setOptions:function(a){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:!0,border:!1,compact:!1};OpenLayers.Util.extend(this.options,a||{});this.options.numSlices=this.options.compact?2:4;this._isTransparent()&&(this.options.blend= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16507 !1)},_whichSideTop:function(){return this._hasString(this.options.corners,"all","top")||0<=this.options.corners.indexOf("tl")&&0<=this.options.corners.indexOf("tr")?"":0<=this.options.corners.indexOf("tl")?"left":0<=this.options.corners.indexOf("tr")?"right":""},_whichSideBottom:function(){return this._hasString(this.options.corners,"all","bottom")||0<=this.options.corners.indexOf("bl")&&0<=this.options.corners.indexOf("br")?"":0<=this.options.corners.indexOf("bl")?"left":0<=this.options.corners.indexOf("br")? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16508 "right":""},_borderColor:function(a,b){return"transparent"==a?b:this.options.border?this.options.border:this.options.blend?this._blend(b,a):""},_setMargin:function(a,b,c){b=this._marginSize(b);c="top"==c?this._whichSideTop():this._whichSideBottom();"left"==c?(a.style.marginLeft=b+"px",a.style.marginRight="0px"):"right"==c?(a.style.marginRight=b+"px",a.style.marginLeft="0px"):(a.style.marginLeft=b+"px",a.style.marginRight=b+"px")},_setBorder:function(a,b,c){b=this._borderSize(b);c="top"==c?this._whichSideTop(): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16509 this._whichSideBottom();"left"==c?(a.style.borderLeftWidth=b+"px",a.style.borderRightWidth="0px"):"right"==c?(a.style.borderRightWidth=b+"px",a.style.borderLeftWidth="0px"):(a.style.borderLeftWidth=b+"px",a.style.borderRightWidth=b+"px");!1!=this.options.border&&(a.style.borderLeftWidth=b+"px",a.style.borderRightWidth=b+"px")},_marginSize:function(a){if(this._isTransparent())return 0;var b=[5,3,2,1],c=[3,2,1,0],d=[2,1],e=[1,0];return this.options.compact&&this.options.blend?e[a]:this.options.compact? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16510 d[a]:this.options.blend?c[a]:b[a]},_borderSize:function(a){var b=[5,3,2,1],c=[2,1,1,1],d=[1,0],e=[0,2,0,0];return this.options.compact&&(this.options.blend||this._isTransparent())?1:this.options.compact?d[a]:this.options.blend?c[a]:this.options.border?e[a]:this._isTransparent()?b[a]:0},_hasString:function(a){for(var b=1;b<arguments.length;b++)if(0<=a.indexOf(arguments[b]))return!0;return!1},_blend:function(a,b){var c=OpenLayers.Rico.Color.createFromHex(a);c.blend(OpenLayers.Rico.Color.createFromHex(b)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16511 return c},_background:function(a){try{return OpenLayers.Rico.Color.createColorFromBackground(a).asHex()}catch(b){return"#ffffff"}},_isTransparent:function(){return"transparent"==this.options.color},_isTopRounded:function(){return this._hasString(this.options.corners,"all","top","tl","tr")},_isBottomRounded:function(){return this._hasString(this.options.corners,"all","bottom","bl","br")},_hasSingleTextChild:function(a){return 1==a.childNodes.length&&3==a.childNodes[0].nodeType}};OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:!1,initialize:function(a,b,c,d,e,f,g){OpenLayers.Console.warn("AnchoredBubble is deprecated");this.padding=new OpenLayers.Bounds(0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments)},draw:function(a){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16512 this.setOpacity();return this.div},updateRelativePosition:function(){this.setRicoCorners()},setSize:function(a){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.setRicoCorners()},setBackgroundColor:function(a){void 0!=a&&(this.backgroundColor=a);null!=this.div&&null!=this.contentDiv&&(this.div.style.background="transparent",OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor))},setOpacity:function(a){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16513 a);null!=this.div&&null!=this.groupDiv&&OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity)},setBorder:function(){this.border=0},setRicoCorners:function(){var a={corners:this.getCornersToRound(this.relativePosition),color:this.backgroundColor,bgColor:"transparent",blend:!1};this.rounded?(OpenLayers.Rico.Corner.reRound(this.groupDiv,a),this.setBackgroundColor(),this.setOpacity()):(OpenLayers.Rico.Corner.round(this.div,a),this.rounded=!0)},getCornersToRound:function(){var a=["tl","tr", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16514 "bl","br"],b=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(a,b);return a.join(" ")},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;OpenLayers.Protocol.WFS.v1=OpenLayers.Class(OpenLayers.Protocol,{version:null,srsName:"EPSG:4326",featureType:null,featureNS:null,geometryName:"the_geom",schema:null,featurePrefix:"feature",formatOptions:null,readFormat:null,readOptions:null,initialize:function(a){OpenLayers.Protocol.prototype.initialize.apply(this,[a]);a.format||(this.format=OpenLayers.Format.WFST(OpenLayers.Util.extend({version:this.version,featureType:this.featureType,featureNS:this.featureNS,featurePrefix:this.featurePrefix,geometryName:this.geometryName, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16515 srsName:this.srsName,schema:this.schema},this.formatOptions)));!a.geometryName&&1<parseFloat(this.format.version)&&this.setGeometryName(null)},destroy:function(){this.options&&!this.options.format&&this.format.destroy();this.format=null;OpenLayers.Protocol.prototype.destroy.apply(this)},read:function(a){OpenLayers.Protocol.prototype.read.apply(this,arguments);a=OpenLayers.Util.extend({},a);OpenLayers.Util.applyDefaults(a,this.options||{});var b=new OpenLayers.Protocol.Response({requestType:"read"}), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16516 c=OpenLayers.Format.XML.prototype.write.apply(this.format,[this.format.writeNode("wfs:GetFeature",a)]);b.priv=OpenLayers.Request.POST({url:a.url,callback:this.createCallback(this.handleRead,b,a),params:a.params,headers:a.headers,data:c});return b},setFeatureType:function(a){this.featureType=a;this.format.featureType=a},setGeometryName:function(a){this.geometryName=a;this.format.geometryName=a},handleRead:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);if(b.callback){var c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16517 a.priv;200<=c.status&&300>c.status?(c=this.parseResponse(c,b.readOptions))&&!1!==c.success?(b.readOptions&&"object"==b.readOptions.output?OpenLayers.Util.extend(a,c):a.features=c,a.code=OpenLayers.Protocol.Response.SUCCESS):(a.code=OpenLayers.Protocol.Response.FAILURE,a.error=c):a.code=OpenLayers.Protocol.Response.FAILURE;b.callback.call(b.scope,a)}},parseResponse:function(a,b){var c=a.responseXML;if(!c||!c.documentElement)c=a.responseText;if(!c||0>=c.length)return null;c=null!==this.readFormat?this.readFormat.read(c): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16518 this.format.read(c,b);if(!this.featureNS){var d=this.readFormat||this.format;this.featureNS=d.featureNS;d.autoConfig=!1;this.geometryName||this.setGeometryName(d.geometryName)}return c},commit:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);var c=new OpenLayers.Protocol.Response({requestType:"commit",reqFeatures:a});c.priv=OpenLayers.Request.POST({url:b.url,headers:b.headers,data:this.format.write(a,b),callback:this.createCallback(this.handleCommit,c,b)}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16519 return c},handleCommit:function(a,b){if(b.callback){var c=a.priv,d=c.responseXML;if(!d||!d.documentElement)d=c.responseText;c=this.format.read(d)||{};a.insertIds=c.insertIds||[];c.success?a.code=OpenLayers.Protocol.Response.SUCCESS:(a.code=OpenLayers.Protocol.Response.FAILURE,a.error=c);b.callback.call(b.scope,a)}},filterDelete:function(a,b){b=OpenLayers.Util.extend({},b);OpenLayers.Util.applyDefaults(b,this.options);new OpenLayers.Protocol.Response({requestType:"commit"});var c=this.format.createElementNSPlus("wfs:Transaction", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16520 {attributes:{service:"WFS",version:this.version}}),d=this.format.createElementNSPlus("wfs:Delete",{attributes:{typeName:(b.featureNS?this.featurePrefix+":":"")+b.featureType}});b.featureNS&&d.setAttribute("xmlns:"+this.featurePrefix,b.featureNS);var e=this.format.writeNode("ogc:Filter",a);d.appendChild(e);c.appendChild(d);c=OpenLayers.Format.XML.prototype.write.apply(this.format,[c]);return OpenLayers.Request.POST({url:this.url,callback:b.callback||function(){},data:c})},abort:function(a){a&&a.priv.abort()}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16521 CLASS_NAME:"OpenLayers.Protocol.WFS.v1"});OpenLayers.Handler.Point=OpenLayers.Class(OpenLayers.Handler,{point:null,layer:null,multi:!1,citeCompliant:!1,mouseDown:!1,stoppedDown:null,lastDown:null,lastUp:null,persist:!1,stopDown:!1,stopUp:!1,layerOptions:null,pixelTolerance:5,touch:!1,lastTouchPx:null,initialize:function(a,b,c){if(!c||!c.layerOptions||!c.layerOptions.styleMap)this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style["default"],{});OpenLayers.Handler.prototype.initialize.apply(this,arguments)},activate:function(){if(!OpenLayers.Handler.prototype.activate.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16522 arguments))return!1;var a=OpenLayers.Util.extend({displayInLayerSwitcher:!1,calculateInRange:OpenLayers.Function.True,wrapDateLine:this.citeCompliant},this.layerOptions);this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,a);this.map.addLayer(this.layer);return!0},createFeature:function(a){a=this.layer.getLonLatFromViewPortPx(a);a=new OpenLayers.Geometry.Point(a.lon,a.lat);this.point=new OpenLayers.Feature.Vector(a);this.callback("create",[this.point.geometry,this.point]);this.point.geometry.clearBounds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16523 this.layer.addFeatures([this.point],{silent:!0})},deactivate:function(){if(!OpenLayers.Handler.prototype.deactivate.apply(this,arguments))return!1;this.cancel();null!=this.layer.map&&(this.destroyFeature(!0),this.layer.destroy(!1));this.layer=null;this.touch=!1;return!0},destroyFeature:function(a){this.layer&&(a||!this.persist)&&this.layer.destroyFeatures();this.point=null},destroyPersistedFeature:function(){var a=this.layer;a&&1<a.features.length&&this.layer.features[0].destroy()},finalize:function(a){this.mouseDown= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16524 !1;this.lastTouchPx=this.lastUp=this.lastDown=null;this.callback(a?"cancel":"done",[this.geometryClone()]);this.destroyFeature(a)},cancel:function(){this.finalize(!0)},click:function(a){OpenLayers.Event.stop(a);return!1},dblclick:function(a){OpenLayers.Event.stop(a);return!1},modifyFeature:function(a){this.point||this.createFeature(a);a=this.layer.getLonLatFromViewPortPx(a);this.point.geometry.x=a.lon;this.point.geometry.y=a.lat;this.callback("modify",[this.point.geometry,this.point,!1]);this.point.geometry.clearBounds(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16525 this.drawFeature()},drawFeature:function(){this.layer.drawFeature(this.point,this.style)},getGeometry:function(){var a=this.point&&this.point.geometry;a&&this.multi&&(a=new OpenLayers.Geometry.MultiPoint([a]));return a},geometryClone:function(){var a=this.getGeometry();return a&&a.clone()},mousedown:function(a){return this.down(a)},touchstart:function(a){this.touch||(this.touch=!0,this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,mousemove:this.mousemove,click:this.click,dblclick:this.dblclick, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16526 scope:this}));this.lastTouchPx=a.xy;return this.down(a)},mousemove:function(a){return this.move(a)},touchmove:function(a){this.lastTouchPx=a.xy;return this.move(a)},mouseup:function(a){return this.up(a)},touchend:function(a){a.xy=this.lastTouchPx;return this.up(a)},down:function(a){this.mouseDown=!0;this.lastDown=a.xy;this.touch||this.modifyFeature(a.xy);this.stoppedDown=this.stopDown;return!this.stopDown},move:function(a){!this.touch&&(!this.mouseDown||this.stoppedDown)&&this.modifyFeature(a.xy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16527 return!0},up:function(a){this.mouseDown=!1;this.stoppedDown=this.stopDown;return this.checkModifiers(a)&&(!this.lastUp||!this.lastUp.equals(a.xy))&&this.lastDown&&this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance)?(this.touch&&this.modifyFeature(a.xy),this.persist&&this.destroyPersistedFeature(),this.lastUp=a.xy,this.finalize(),!this.stopUp):!0},mouseout:function(a){OpenLayers.Util.mouseLeft(a,this.map.viewPortDiv)&&(this.stoppedDown=this.stopDown,this.mouseDown=!1)},passesTolerance:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16528 b,c){var d=!0;null!=c&&a&&b&&a.distanceTo(b)>c&&(d=!1);return d},CLASS_NAME:"OpenLayers.Handler.Point"});OpenLayers.Handler.Path=OpenLayers.Class(OpenLayers.Handler.Point,{line:null,maxVertices:null,doubleTouchTolerance:20,freehand:!1,freehandToggle:"shiftKey",timerId:null,redoStack:null,createFeature:function(a){a=this.layer.getLonLatFromViewPortPx(a);a=new OpenLayers.Geometry.Point(a.lon,a.lat);this.point=new OpenLayers.Feature.Vector(a);this.line=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString([this.point.geometry]));this.callback("create",[this.point.geometry,this.getSketch()]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16529 this.point.geometry.clearBounds();this.layer.addFeatures([this.line,this.point],{silent:!0})},destroyFeature:function(a){OpenLayers.Handler.Point.prototype.destroyFeature.call(this,a);this.line=null},destroyPersistedFeature:function(){var a=this.layer;a&&2<a.features.length&&this.layer.features[0].destroy()},removePoint:function(){this.point&&this.layer.removeFeatures([this.point])},addPoint:function(a){this.layer.removeFeatures([this.point]);a=this.layer.getLonLatFromViewPortPx(a);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a.lon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16530 a.lat));this.line.geometry.addComponent(this.point.geometry,this.line.geometry.components.length);this.layer.addFeatures([this.point]);this.callback("point",[this.point.geometry,this.getGeometry()]);this.callback("modify",[this.point.geometry,this.getSketch()]);this.drawFeature();delete this.redoStack},insertXY:function(a,b){this.line.geometry.addComponent(new OpenLayers.Geometry.Point(a,b),this.getCurrentPointIndex());this.drawFeature();delete this.redoStack},insertDeltaXY:function(a,b){var c=this.line.geometry.components[this.getCurrentPointIndex()- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16531 1];c&&(!isNaN(c.x)&&!isNaN(c.y))&&this.insertXY(c.x+a,c.y+b)},insertDirectionLength:function(a,b){var a=a*(Math.PI/180),c=b*Math.cos(a),d=b*Math.sin(a);this.insertDeltaXY(c,d)},insertDeflectionLength:function(a,b){var c=this.getCurrentPointIndex()-1;if(0<c){var d=this.line.geometry.components[c],c=this.line.geometry.components[c-1];this.insertDirectionLength(180*Math.atan2(d.y-c.y,d.x-c.x)/Math.PI+a,b)}},getCurrentPointIndex:function(){return this.line.geometry.components.length-1},undo:function(){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16532 this.line.geometry,b=a.components,c=this.getCurrentPointIndex()-1,b=b[c];if(a=a.removeComponent(b))this.redoStack||(this.redoStack=[]),this.redoStack.push(b),this.drawFeature();return a},redo:function(){var a=this.redoStack&&this.redoStack.pop();a&&(this.line.geometry.addComponent(a,this.getCurrentPointIndex()),this.drawFeature());return!!a},freehandMode:function(a){return this.freehandToggle&&a[this.freehandToggle]?!this.freehand:this.freehand},modifyFeature:function(a,b){this.line||this.createFeature(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16533 var c=this.layer.getLonLatFromViewPortPx(a);this.point.geometry.x=c.lon;this.point.geometry.y=c.lat;this.callback("modify",[this.point.geometry,this.getSketch(),b]);this.point.geometry.clearBounds();this.drawFeature()},drawFeature:function(){this.layer.drawFeature(this.line,this.style);this.layer.drawFeature(this.point,this.style)},getSketch:function(){return this.line},getGeometry:function(){var a=this.line&&this.line.geometry;a&&this.multi&&(a=new OpenLayers.Geometry.MultiLineString([a]));return a}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16534 touchstart:function(a){if(this.timerId&&this.passesTolerance(this.lastTouchPx,a.xy,this.doubleTouchTolerance))return this.finishGeometry(),window.clearTimeout(this.timerId),this.timerId=null,!1;this.timerId&&(window.clearTimeout(this.timerId),this.timerId=null);this.timerId=window.setTimeout(OpenLayers.Function.bind(function(){this.timerId=null},this),300);return OpenLayers.Handler.Point.prototype.touchstart.call(this,a)},down:function(a){var b=this.stopDown;this.freehandMode(a)&&(b=!0,this.touch&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16535 (this.modifyFeature(a.xy,!!this.lastUp),OpenLayers.Event.stop(a)));!this.touch&&(!this.lastDown||!this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance))&&this.modifyFeature(a.xy,!!this.lastUp);this.mouseDown=!0;this.lastDown=a.xy;this.stoppedDown=b;return!b},move:function(a){if(this.stoppedDown&&this.freehandMode(a))return this.persist&&this.destroyPersistedFeature(),this.maxVertices&&this.line&&this.line.geometry.components.length===this.maxVertices?(this.removePoint(),this.finalize()):this.addPoint(a.xy), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16536 !1;!this.touch&&(!this.mouseDown||this.stoppedDown)&&this.modifyFeature(a.xy,!!this.lastUp);return!0},up:function(a){if(this.mouseDown&&(!this.lastUp||!this.lastUp.equals(a.xy)))this.stoppedDown&&this.freehandMode(a)?(this.persist&&this.destroyPersistedFeature(),this.removePoint(),this.finalize()):this.passesTolerance(this.lastDown,a.xy,this.pixelTolerance)&&(this.touch&&this.modifyFeature(a.xy),null==this.lastUp&&this.persist&&this.destroyPersistedFeature(),this.addPoint(a.xy),this.lastUp=a.xy,this.line.geometry.components.length=== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16537 this.maxVertices+1&&this.finishGeometry());this.stoppedDown=this.stopDown;this.mouseDown=!1;return!this.stopUp},finishGeometry:function(){this.line.geometry.removeComponent(this.line.geometry.components[this.line.geometry.components.length-1]);this.removePoint();this.finalize()},dblclick:function(a){this.freehandMode(a)||this.finishGeometry();return!1},CLASS_NAME:"OpenLayers.Handler.Path"});OpenLayers.Spherical=OpenLayers.Spherical||{};OpenLayers.Spherical.DEFAULT_RADIUS=6378137;OpenLayers.Spherical.computeDistanceBetween=function(a,b,c){var c=c||OpenLayers.Spherical.DEFAULT_RADIUS,d=Math.sin(Math.PI*(b.lon-a.lon)/360),e=Math.sin(Math.PI*(b.lat-a.lat)/360),a=e*e+d*d*Math.cos(Math.PI*a.lat/180)*Math.cos(Math.PI*b.lat/180);return 2*c*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16538 OpenLayers.Spherical.computeHeading=function(a,b){var c=Math.sin(Math.PI*(a.lon-b.lon)/180)*Math.cos(Math.PI*b.lat/180),d=Math.cos(Math.PI*a.lat/180)*Math.sin(Math.PI*b.lat/180)-Math.sin(Math.PI*a.lat/180)*Math.cos(Math.PI*b.lat/180)*Math.cos(Math.PI*(a.lon-b.lon)/180);return 180*Math.atan2(c,d)/Math.PI};OpenLayers.Control.CacheWrite=OpenLayers.Class(OpenLayers.Control,{layers:null,imageFormat:"image/png",quotaRegEx:/quota/i,setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);var b,c=this.layers||a.layers;for(b=c.length-1;0<=b;--b)this.addLayer({layer:c[b]});if(!this.layers)a.events.on({addlayer:this.addLayer,removeLayer:this.removeLayer,scope:this})},addLayer:function(a){a.layer.events.on({tileloadstart:this.makeSameOrigin,tileloaded:this.cache,scope:this})},removeLayer:function(a){a.layer.events.un({tileloadstart:this.makeSameOrigin, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16539 tileloaded:this.cache,scope:this})},makeSameOrigin:function(a){if(this.active&&(a=a.tile,a instanceof OpenLayers.Tile.Image&&!a.crossOriginKeyword&&"data:"!==a.url.substr(0,5))){var b=OpenLayers.Request.makeSameOrigin(a.url,OpenLayers.ProxyHost);OpenLayers.Control.CacheWrite.urlMap[b]=a.url;a.url=b}},cache:function(a){if(this.active&&window.localStorage&&(a=a.tile,a instanceof OpenLayers.Tile.Image&&"data:"!==a.url.substr(0,5)))try{var b=a.getCanvasContext();if(b){var c=OpenLayers.Control.CacheWrite.urlMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16540 window.localStorage.setItem("olCache_"+(c[a.url]||a.url),b.canvas.toDataURL(this.imageFormat));delete c[a.url]}}catch(d){(b=d.name||d.message)&&this.quotaRegEx.test(b)?this.events.triggerEvent("cachefull",{tile:a}):OpenLayers.Console.error(d.toString())}},destroy:function(){if(this.layers||this.map){var a,b=this.layers||this.map.layers;for(a=b.length-1;0<=a;--a)this.removeLayer({layer:b[a]})}this.map&&this.map.events.un({addlayer:this.addLayer,removeLayer:this.removeLayer,scope:this});OpenLayers.Control.prototype.destroy.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16541 arguments)},CLASS_NAME:"OpenLayers.Control.CacheWrite"});OpenLayers.Control.CacheWrite.clearCache=function(){if(window.localStorage){var a,b;for(a=window.localStorage.length-1;0<=a;--a)b=window.localStorage.key(a),"olCache_"===b.substr(0,8)&&window.localStorage.removeItem(b)}};OpenLayers.Control.CacheWrite.urlMap={};OpenLayers.Format.Context=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{layerOptions:null,layerParams:null,read:function(a,b){var c=OpenLayers.Format.XML.VersionedOGC.prototype.read.apply(this,arguments);if(b&&b.map)if(this.context=c,b.map instanceof OpenLayers.Map)c=this.mergeContextToMap(c,b.map);else{var d=b.map;if(OpenLayers.Util.isElement(d)||"string"==typeof d)d={div:d};c=this.contextToMap(c,d)}return c},getLayerFromContext:function(a){var b,c,d={queryable:a.queryable,visibility:a.visibility, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16542 maxExtent:a.maxExtent,metadata:OpenLayers.Util.applyDefaults(a.metadata,{styles:a.styles,formats:a.formats,"abstract":a["abstract"],dataURL:a.dataURL}),numZoomLevels:a.numZoomLevels,units:a.units,isBaseLayer:a.isBaseLayer,opacity:a.opacity,displayInLayerSwitcher:a.displayInLayerSwitcher,singleTile:a.singleTile,tileSize:a.tileSize?new OpenLayers.Size(a.tileSize.width,a.tileSize.height):void 0,minScale:a.minScale||a.maxScaleDenominator,maxScale:a.maxScale||a.minScaleDenominator,srs:a.srs,dimensions:a.dimensions, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16543 metadataURL:a.metadataURL};this.layerOptions&&OpenLayers.Util.applyDefaults(d,this.layerOptions);var e={layers:a.name,transparent:a.transparent,version:a.version};if(a.formats&&0<a.formats.length){e.format=a.formats[0].value;b=0;for(c=a.formats.length;b<c;b++){var f=a.formats[b];if(!0==f.current){e.format=f.value;break}}}if(a.styles&&0<a.styles.length){b=0;for(c=a.styles.length;b<c;b++)if(f=a.styles[b],!0==f.current){f.href?e.sld=f.href:f.body?e.sld_body=f.body:e.styles=f.name;break}}this.layerParams&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16544 OpenLayers.Util.applyDefaults(e,this.layerParams);b=null;c=a.service;c==OpenLayers.Format.Context.serviceTypes.WFS?(d.strategies=[new OpenLayers.Strategy.BBOX],d.protocol=new OpenLayers.Protocol.WFS({url:a.url,featurePrefix:a.name.split(":")[0],featureType:a.name.split(":").pop()}),b=new OpenLayers.Layer.Vector(a.title||a.name,d)):c==OpenLayers.Format.Context.serviceTypes.KML?(d.strategies=[new OpenLayers.Strategy.Fixed],d.protocol=new OpenLayers.Protocol.HTTP({url:a.url,format:new OpenLayers.Format.KML}), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16545 b=new OpenLayers.Layer.Vector(a.title||a.name,d)):c==OpenLayers.Format.Context.serviceTypes.GML?(d.strategies=[new OpenLayers.Strategy.Fixed],d.protocol=new OpenLayers.Protocol.HTTP({url:a.url,format:new OpenLayers.Format.GML}),b=new OpenLayers.Layer.Vector(a.title||a.name,d)):a.features?(b=new OpenLayers.Layer.Vector(a.title||a.name,d),b.addFeatures(a.features)):!0!==a.categoryLayer&&(b=new OpenLayers.Layer.WMS(a.title||a.name,a.url,e,d));return b},getLayersFromContext:function(a){for(var b=[],c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16546 0,d=a.length;c<d;c++){var e=this.getLayerFromContext(a[c]);null!==e&&b.push(e)}return b},contextToMap:function(a,b){b=OpenLayers.Util.applyDefaults({maxExtent:a.maxExtent,projection:a.projection,units:a.units},b);b.maxExtent&&(b.maxResolution=b.maxExtent.getWidth()/OpenLayers.Map.TILE_WIDTH);b.metadata={contactInformation:a.contactInformation,"abstract":a["abstract"],keywords:a.keywords,logo:a.logo,descriptionURL:a.descriptionURL};var c=new OpenLayers.Map(b);c.addLayers(this.getLayersFromContext(a.layersContext)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16547 c.setCenter(a.bounds.getCenterLonLat(),c.getZoomForExtent(a.bounds,!0));return c},mergeContextToMap:function(a,b){b.addLayers(this.getLayersFromContext(a.layersContext));return b},write:function(a,b){a=this.toContext(a);return OpenLayers.Format.XML.VersionedOGC.prototype.write.apply(this,arguments)},CLASS_NAME:"OpenLayers.Format.Context"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16548 OpenLayers.Format.Context.serviceTypes={WMS:"urn:ogc:serviceType:WMS",WFS:"urn:ogc:serviceType:WFS",WCS:"urn:ogc:serviceType:WCS",GML:"urn:ogc:serviceType:GML",SLD:"urn:ogc:serviceType:SLD",FES:"urn:ogc:serviceType:FES",KML:"urn:ogc:serviceType:KML"};OpenLayers.Format.WMC=OpenLayers.Class(OpenLayers.Format.Context,{defaultVersion:"1.1.0",layerToContext:function(a){var b=this.getParser(),c={queryable:a.queryable,visibility:a.visibility,name:a.params.LAYERS,title:a.name,"abstract":a.metadata["abstract"],dataURL:a.metadata.dataURL,metadataURL:a.metadataURL,server:{version:a.params.VERSION,url:a.url},maxExtent:a.maxExtent,transparent:a.params.TRANSPARENT,numZoomLevels:a.numZoomLevels,units:a.units,isBaseLayer:a.isBaseLayer,opacity:1==a.opacity?void 0: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16549 a.opacity,displayInLayerSwitcher:a.displayInLayerSwitcher,singleTile:a.singleTile,tileSize:a.singleTile||!a.tileSize?void 0:{width:a.tileSize.w,height:a.tileSize.h},minScale:a.options.resolutions||a.options.scales||a.options.maxResolution||a.options.minScale?a.minScale:void 0,maxScale:a.options.resolutions||a.options.scales||a.options.minResolution||a.options.maxScale?a.maxScale:void 0,formats:[],styles:[],srs:a.srs,dimensions:a.dimensions};a.metadata.servertitle&&(c.server.title=a.metadata.servertitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16550 if(a.metadata.formats&&0<a.metadata.formats.length)for(var d=0,e=a.metadata.formats.length;d<e;d++){var f=a.metadata.formats[d];c.formats.push({value:f.value,current:f.value==a.params.FORMAT})}else c.formats.push({value:a.params.FORMAT,current:!0});if(a.metadata.styles&&0<a.metadata.styles.length){d=0;for(e=a.metadata.styles.length;d<e;d++)b=a.metadata.styles[d],b.current=b.href==a.params.SLD||b.body==a.params.SLD_BODY||b.name==a.params.STYLES?!0:!1,c.styles.push(b)}else c.styles.push({href:a.params.SLD, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16551 body:a.params.SLD_BODY,name:a.params.STYLES||b.defaultStyleName,title:b.defaultStyleTitle,current:!0});return c},toContext:function(a){var b={},c=a.layers;if("OpenLayers.Map"==a.CLASS_NAME){var d=a.metadata||{};b.size=a.getSize();b.bounds=a.getExtent();b.projection=a.projection;b.title=a.title;b.keywords=d.keywords;b["abstract"]=d["abstract"];b.logo=d.logo;b.descriptionURL=d.descriptionURL;b.contactInformation=d.contactInformation;b.maxExtent=a.maxExtent}else OpenLayers.Util.applyDefaults(b,a),void 0!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16552 b.layers&&delete b.layers;void 0==b.layersContext&&(b.layersContext=[]);if(void 0!=c&&OpenLayers.Util.isArray(c)){a=0;for(d=c.length;a<d;a++){var e=c[a];e instanceof OpenLayers.Layer.WMS&&b.layersContext.push(this.layerToContext(e))}}return b},CLASS_NAME:"OpenLayers.Format.WMC"});OpenLayers.Format.WMC.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ol:"http://openlayers.org/context",wmc:"http://www.opengis.net/context",sld:"http://www.opengis.net/sld",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},schemaLocation:"",getNamespacePrefix:function(a){var b=null;if(null==a)b=this.namespaces[this.defaultPrefix];else for(b in this.namespaces)if(this.namespaces[b]==a)break;return b},defaultPrefix:"wmc",rootPrefix:null,defaultStyleName:"", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16553 defaultStyleTitle:"Default",initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a=a.documentElement;this.rootPrefix=a.prefix;var b={version:a.getAttribute("version")};this.runChildNodes(b,a);return b},runChildNodes:function(a,b){for(var c=b.childNodes,d,e,f,g=0,h=c.length;g<h;++g)d=c[g],1==d.nodeType&&(e=this.getNamespacePrefix(d.namespaceURI),f=d.nodeName.split(":").pop(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16554 (e=this["read_"+e+"_"+f])&&e.apply(this,[a,d]))},read_wmc_General:function(a,b){this.runChildNodes(a,b)},read_wmc_BoundingBox:function(a,b){a.projection=b.getAttribute("SRS");a.bounds=new OpenLayers.Bounds(b.getAttribute("minx"),b.getAttribute("miny"),b.getAttribute("maxx"),b.getAttribute("maxy"))},read_wmc_LayerList:function(a,b){a.layersContext=[];this.runChildNodes(a,b)},read_wmc_Layer:function(a,b){var c={visibility:"1"!=b.getAttribute("hidden"),queryable:"1"==b.getAttribute("queryable"),formats:[], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16555 styles:[],metadata:{}};this.runChildNodes(c,b);a.layersContext.push(c)},read_wmc_Extension:function(a,b){this.runChildNodes(a,b)},read_ol_units:function(a,b){a.units=this.getChildValue(b)},read_ol_maxExtent:function(a,b){var c=new OpenLayers.Bounds(b.getAttribute("minx"),b.getAttribute("miny"),b.getAttribute("maxx"),b.getAttribute("maxy"));a.maxExtent=c},read_ol_transparent:function(a,b){a.transparent=this.getChildValue(b)},read_ol_numZoomLevels:function(a,b){a.numZoomLevels=parseInt(this.getChildValue(b))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16556 read_ol_opacity:function(a,b){a.opacity=parseFloat(this.getChildValue(b))},read_ol_singleTile:function(a,b){a.singleTile="true"==this.getChildValue(b)},read_ol_tileSize:function(a,b){var c={width:b.getAttribute("width"),height:b.getAttribute("height")};a.tileSize=c},read_ol_isBaseLayer:function(a,b){a.isBaseLayer="true"==this.getChildValue(b)},read_ol_displayInLayerSwitcher:function(a,b){a.displayInLayerSwitcher="true"==this.getChildValue(b)},read_wmc_Server:function(a,b){a.version=b.getAttribute("version"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16557 a.url=this.getOnlineResource_href(b);a.metadata.servertitle=b.getAttribute("title")},read_wmc_FormatList:function(a,b){this.runChildNodes(a,b)},read_wmc_Format:function(a,b){var c={value:this.getChildValue(b)};"1"==b.getAttribute("current")&&(c.current=!0);a.formats.push(c)},read_wmc_StyleList:function(a,b){this.runChildNodes(a,b)},read_wmc_Style:function(a,b){var c={};this.runChildNodes(c,b);"1"==b.getAttribute("current")&&(c.current=!0);a.styles.push(c)},read_wmc_SLD:function(a,b){this.runChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16558 b)},read_sld_StyledLayerDescriptor:function(a,b){var c=OpenLayers.Format.XML.prototype.write.apply(this,[b]);a.body=c},read_sld_FeatureTypeStyle:function(a,b){var c=OpenLayers.Format.XML.prototype.write.apply(this,[b]);a.body=c},read_wmc_OnlineResource:function(a,b){a.href=this.getAttributeNS(b,this.namespaces.xlink,"href")},read_wmc_Name:function(a,b){var c=this.getChildValue(b);c&&(a.name=c)},read_wmc_Title:function(a,b){var c=this.getChildValue(b);c&&(a.title=c)},read_wmc_MetadataURL:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16559 b){a.metadataURL=this.getOnlineResource_href(b)},read_wmc_KeywordList:function(a,b){a.keywords=[];this.runChildNodes(a.keywords,b)},read_wmc_Keyword:function(a,b){a.push(this.getChildValue(b))},read_wmc_Abstract:function(a,b){var c=this.getChildValue(b);c&&(a["abstract"]=c)},read_wmc_LogoURL:function(a,b){a.logo={width:b.getAttribute("width"),height:b.getAttribute("height"),format:b.getAttribute("format"),href:this.getOnlineResource_href(b)}},read_wmc_DescriptionURL:function(a,b){a.descriptionURL= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16560 this.getOnlineResource_href(b)},read_wmc_ContactInformation:function(a,b){var c={};this.runChildNodes(c,b);a.contactInformation=c},read_wmc_ContactPersonPrimary:function(a,b){var c={};this.runChildNodes(c,b);a.personPrimary=c},read_wmc_ContactPerson:function(a,b){var c=this.getChildValue(b);c&&(a.person=c)},read_wmc_ContactOrganization:function(a,b){var c=this.getChildValue(b);c&&(a.organization=c)},read_wmc_ContactPosition:function(a,b){var c=this.getChildValue(b);c&&(a.position=c)},read_wmc_ContactAddress:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16561 b){var c={};this.runChildNodes(c,b);a.contactAddress=c},read_wmc_AddressType:function(a,b){var c=this.getChildValue(b);c&&(a.type=c)},read_wmc_Address:function(a,b){var c=this.getChildValue(b);c&&(a.address=c)},read_wmc_City:function(a,b){var c=this.getChildValue(b);c&&(a.city=c)},read_wmc_StateOrProvince:function(a,b){var c=this.getChildValue(b);c&&(a.stateOrProvince=c)},read_wmc_PostCode:function(a,b){var c=this.getChildValue(b);c&&(a.postcode=c)},read_wmc_Country:function(a,b){var c=this.getChildValue(b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16562 c&&(a.country=c)},read_wmc_ContactVoiceTelephone:function(a,b){var c=this.getChildValue(b);c&&(a.phone=c)},read_wmc_ContactFacsimileTelephone:function(a,b){var c=this.getChildValue(b);c&&(a.fax=c)},read_wmc_ContactElectronicMailAddress:function(a,b){var c=this.getChildValue(b);c&&(a.email=c)},read_wmc_DataURL:function(a,b){a.dataURL=this.getOnlineResource_href(b)},read_wmc_LegendURL:function(a,b){var c={width:b.getAttribute("width"),height:b.getAttribute("height"),format:b.getAttribute("format"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16563 href:this.getOnlineResource_href(b)};a.legend=c},read_wmc_DimensionList:function(a,b){a.dimensions={};this.runChildNodes(a.dimensions,b)},read_wmc_Dimension:function(a,b){var c={name:b.getAttribute("name").toLowerCase(),units:b.getAttribute("units")||"",unitSymbol:b.getAttribute("unitSymbol")||"",userValue:b.getAttribute("userValue")||"",nearestValue:"1"===b.getAttribute("nearestValue"),multipleValues:"1"===b.getAttribute("multipleValues"),current:"1"===b.getAttribute("current"),"default":b.getAttribute("default")|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16564 ""},d=this.getChildValue(b);c.values=d.split(",");a[c.name]=c},write:function(a,b){var c=this.createElementDefaultNS("ViewContext");this.setAttributes(c,{version:this.VERSION,id:b&&"string"==typeof b.id?b.id:OpenLayers.Util.createUniqueID("OpenLayers_Context_")});this.setAttributeNS(c,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);c.appendChild(this.write_wmc_General(a));c.appendChild(this.write_wmc_LayerList(a));return OpenLayers.Format.XML.prototype.write.apply(this,[c])},createElementDefaultNS:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16565 b,c){a=this.createElementNS(this.namespaces[this.defaultPrefix],a);b&&a.appendChild(this.createTextNode(b));c&&this.setAttributes(a,c);return a},setAttributes:function(a,b){var c,d;for(d in b)c=b[d].toString(),c.match(/[A-Z]/)?this.setAttributeNS(a,null,d,c):a.setAttribute(d,c)},write_wmc_General:function(a){var b=this.createElementDefaultNS("General");a.size&&b.appendChild(this.createElementDefaultNS("Window",null,{width:a.size.w,height:a.size.h}));var c=a.bounds;b.appendChild(this.createElementDefaultNS("BoundingBox", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16566 null,{minx:c.left.toPrecision(18),miny:c.bottom.toPrecision(18),maxx:c.right.toPrecision(18),maxy:c.top.toPrecision(18),SRS:a.projection}));b.appendChild(this.createElementDefaultNS("Title",a.title));a.keywords&&b.appendChild(this.write_wmc_KeywordList(a.keywords));a["abstract"]&&b.appendChild(this.createElementDefaultNS("Abstract",a["abstract"]));a.logo&&b.appendChild(this.write_wmc_URLType("LogoURL",a.logo.href,a.logo));a.descriptionURL&&b.appendChild(this.write_wmc_URLType("DescriptionURL",a.descriptionURL)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16567 a.contactInformation&&b.appendChild(this.write_wmc_ContactInformation(a.contactInformation));b.appendChild(this.write_ol_MapExtension(a));return b},write_wmc_KeywordList:function(a){for(var b=this.createElementDefaultNS("KeywordList"),c=0,d=a.length;c<d;c++)b.appendChild(this.createElementDefaultNS("Keyword",a[c]));return b},write_wmc_ContactInformation:function(a){var b=this.createElementDefaultNS("ContactInformation");a.personPrimary&&b.appendChild(this.write_wmc_ContactPersonPrimary(a.personPrimary)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16568 a.position&&b.appendChild(this.createElementDefaultNS("ContactPosition",a.position));a.contactAddress&&b.appendChild(this.write_wmc_ContactAddress(a.contactAddress));a.phone&&b.appendChild(this.createElementDefaultNS("ContactVoiceTelephone",a.phone));a.fax&&b.appendChild(this.createElementDefaultNS("ContactFacsimileTelephone",a.fax));a.email&&b.appendChild(this.createElementDefaultNS("ContactElectronicMailAddress",a.email));return b},write_wmc_ContactPersonPrimary:function(a){var b=this.createElementDefaultNS("ContactPersonPrimary"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16569 a.person&&b.appendChild(this.createElementDefaultNS("ContactPerson",a.person));a.organization&&b.appendChild(this.createElementDefaultNS("ContactOrganization",a.organization));return b},write_wmc_ContactAddress:function(a){var b=this.createElementDefaultNS("ContactAddress");a.type&&b.appendChild(this.createElementDefaultNS("AddressType",a.type));a.address&&b.appendChild(this.createElementDefaultNS("Address",a.address));a.city&&b.appendChild(this.createElementDefaultNS("City",a.city));a.stateOrProvince&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16570 b.appendChild(this.createElementDefaultNS("StateOrProvince",a.stateOrProvince));a.postcode&&b.appendChild(this.createElementDefaultNS("PostCode",a.postcode));a.country&&b.appendChild(this.createElementDefaultNS("Country",a.country));return b},write_ol_MapExtension:function(a){var b=this.createElementDefaultNS("Extension");if(a=a.maxExtent){var c=this.createElementNS(this.namespaces.ol,"ol:maxExtent");this.setAttributes(c,{minx:a.left.toPrecision(18),miny:a.bottom.toPrecision(18),maxx:a.right.toPrecision(18), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16571 maxy:a.top.toPrecision(18)});b.appendChild(c)}return b},write_wmc_LayerList:function(a){for(var b=this.createElementDefaultNS("LayerList"),c=0,d=a.layersContext.length;c<d;++c)b.appendChild(this.write_wmc_Layer(a.layersContext[c]));return b},write_wmc_Layer:function(a){var b=this.createElementDefaultNS("Layer",null,{queryable:a.queryable?"1":"0",hidden:a.visibility?"0":"1"});b.appendChild(this.write_wmc_Server(a));b.appendChild(this.createElementDefaultNS("Name",a.name));b.appendChild(this.createElementDefaultNS("Title", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16572 a.title));a["abstract"]&&b.appendChild(this.createElementDefaultNS("Abstract",a["abstract"]));a.dataURL&&b.appendChild(this.write_wmc_URLType("DataURL",a.dataURL));a.metadataURL&&b.appendChild(this.write_wmc_URLType("MetadataURL",a.metadataURL));return b},write_wmc_LayerExtension:function(a){var b=this.createElementDefaultNS("Extension"),c=a.maxExtent,d=this.createElementNS(this.namespaces.ol,"ol:maxExtent");this.setAttributes(d,{minx:c.left.toPrecision(18),miny:c.bottom.toPrecision(18),maxx:c.right.toPrecision(18), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16573 maxy:c.top.toPrecision(18)});b.appendChild(d);a.tileSize&&!a.singleTile&&(c=this.createElementNS(this.namespaces.ol,"ol:tileSize"),this.setAttributes(c,a.tileSize),b.appendChild(c));for(var c="transparent numZoomLevels units isBaseLayer opacity displayInLayerSwitcher singleTile".split(" "),e=0,f=c.length;e<f;++e)(d=this.createOLPropertyNode(a,c[e]))&&b.appendChild(d);return b},createOLPropertyNode:function(a,b){var c=null;null!=a[b]&&(c=this.createElementNS(this.namespaces.ol,"ol:"+b),c.appendChild(this.createTextNode(a[b].toString()))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16574 return c},write_wmc_Server:function(a){var a=a.server,b=this.createElementDefaultNS("Server"),c={service:"OGC:WMS",version:a.version};a.title&&(c.title=a.title);this.setAttributes(b,c);b.appendChild(this.write_wmc_OnlineResource(a.url));return b},write_wmc_URLType:function(a,b,c){a=this.createElementDefaultNS(a);a.appendChild(this.write_wmc_OnlineResource(b));if(c)for(var b=["width","height","format"],d=0;d<b.length;d++)b[d]in c&&a.setAttribute(b[d],c[b[d]]);return a},write_wmc_DimensionList:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16575 this.createElementDefaultNS("DimensionList"),c;for(c in a.dimensions){var d={},e=a.dimensions[c],f;for(f in e)d[f]="boolean"==typeof e[f]?Number(e[f]):e[f];e="";d.values&&(e=d.values.join(","),delete d.values);b.appendChild(this.createElementDefaultNS("Dimension",e,d))}return b},write_wmc_FormatList:function(a){for(var b=this.createElementDefaultNS("FormatList"),c=0,d=a.formats.length;c<d;c++){var e=a.formats[c];b.appendChild(this.createElementDefaultNS("Format",e.value,e.current&&!0==e.current?{current:"1"}: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16576 null))}return b},write_wmc_StyleList:function(a){var b=this.createElementDefaultNS("StyleList");if((a=a.styles)&&OpenLayers.Util.isArray(a))for(var c,d=0,e=a.length;d<e;d++){var f=a[d],g=this.createElementDefaultNS("Style",null,f.current&&!0==f.current?{current:"1"}:null);f.href?(c=this.createElementDefaultNS("SLD"),f.name&&c.appendChild(this.createElementDefaultNS("Name",f.name)),f.title&&c.appendChild(this.createElementDefaultNS("Title",f.title)),f.legend&&c.appendChild(this.write_wmc_URLType("LegendURL", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16577 f.legend.href,f.legend)),f=this.write_wmc_OnlineResource(f.href),c.appendChild(f),g.appendChild(c)):f.body?(c=this.createElementDefaultNS("SLD"),f.name&&c.appendChild(this.createElementDefaultNS("Name",f.name)),f.title&&c.appendChild(this.createElementDefaultNS("Title",f.title)),f.legend&&c.appendChild(this.write_wmc_URLType("LegendURL",f.legend.href,f.legend)),f=OpenLayers.Format.XML.prototype.read.apply(this,[f.body]).documentElement,c.ownerDocument&&c.ownerDocument.importNode&&(f=c.ownerDocument.importNode(f, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16578 !0)),c.appendChild(f),g.appendChild(c)):(g.appendChild(this.createElementDefaultNS("Name",f.name)),g.appendChild(this.createElementDefaultNS("Title",f.title)),f["abstract"]&&g.appendChild(this.createElementDefaultNS("Abstract",f["abstract"])),f.legend&&g.appendChild(this.write_wmc_URLType("LegendURL",f.legend.href,f.legend)));b.appendChild(g)}return b},write_wmc_OnlineResource:function(a){var b=this.createElementDefaultNS("OnlineResource");this.setAttributeNS(b,this.namespaces.xlink,"xlink:type", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16579 "simple");this.setAttributeNS(b,this.namespaces.xlink,"xlink:href",a);return b},getOnlineResource_href:function(a){var b={},a=a.getElementsByTagName("OnlineResource");0<a.length&&this.read_wmc_OnlineResource(b,a[0]);return b.href},CLASS_NAME:"OpenLayers.Format.WMC.v1"});OpenLayers.Control.PanPanel=OpenLayers.Class(OpenLayers.Control.Panel,{slideFactor:50,slideRatio:null,initialize:function(a){OpenLayers.Control.Panel.prototype.initialize.apply(this,[a]);a={slideFactor:this.slideFactor,slideRatio:this.slideRatio};this.addControls([new OpenLayers.Control.Pan(OpenLayers.Control.Pan.NORTH,a),new OpenLayers.Control.Pan(OpenLayers.Control.Pan.SOUTH,a),new OpenLayers.Control.Pan(OpenLayers.Control.Pan.EAST,a),new OpenLayers.Control.Pan(OpenLayers.Control.Pan.WEST,a)])}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16580 CLASS_NAME:"OpenLayers.Control.PanPanel"});OpenLayers.Control.Attribution=OpenLayers.Class(OpenLayers.Control,{separator:", ",template:"${layers}",destroy:function(){this.map.events.un({removelayer:this.updateAttribution,addlayer:this.updateAttribution,changelayer:this.updateAttribution,changebaselayer:this.updateAttribution,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.map.events.on({changebaselayer:this.updateAttribution,changelayer:this.updateAttribution, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16581 addlayer:this.updateAttribution,removelayer:this.updateAttribution,scope:this});this.updateAttribution();return this.div},updateAttribution:function(){var a=[];if(this.map&&this.map.layers){for(var b=0,c=this.map.layers.length;b<c;b++){var d=this.map.layers[b];d.attribution&&d.getVisibility()&&-1===OpenLayers.Util.indexOf(a,d.attribution)&&a.push(d.attribution)}this.div.innerHTML=OpenLayers.String.format(this.template,{layers:a.join(this.separator)})}},CLASS_NAME:"OpenLayers.Control.Attribution"});OpenLayers.Kinetic=OpenLayers.Class({threshold:0,deceleration:0.0035,nbPoints:100,delay:200,points:void 0,timerId:void 0,initialize:function(a){OpenLayers.Util.extend(this,a)},begin:function(){OpenLayers.Animation.stop(this.timerId);this.timerId=void 0;this.points=[]},update:function(a){this.points.unshift({xy:a,tick:(new Date).getTime()});this.points.length>this.nbPoints&&this.points.pop()},end:function(a){for(var b,c=(new Date).getTime(),d=0,e=this.points.length,f;d<e;d++){f=this.points[d];if(c- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16582 f.tick>this.delay)break;b=f}if(b&&(d=(new Date).getTime()-b.tick,c=Math.sqrt(Math.pow(a.x-b.xy.x,2)+Math.pow(a.y-b.xy.y,2)),d=c/d,!(0==d||d<this.threshold)))return c=Math.asin((a.y-b.xy.y)/c),b.xy.x<=a.x&&(c=Math.PI-c),{speed:d,theta:c}},move:function(a,b){var c=a.speed,d=Math.cos(a.theta),e=-Math.sin(a.theta),f=(new Date).getTime(),g=0,h=0;this.timerId=OpenLayers.Animation.start(OpenLayers.Function.bind(function(){if(null!=this.timerId){var a=(new Date).getTime()-f,j=-this.deceleration*Math.pow(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16583 2)/2+c*a,k=j*d,j=j*e,l,m;l=!1;0>=-this.deceleration*a+c&&(OpenLayers.Animation.stop(this.timerId),this.timerId=null,l=!0);a=k-g;m=j-h;g=k;h=j;b(a,m,l)}},this))},CLASS_NAME:"OpenLayers.Kinetic"});OpenLayers.Layer.GeoRSS=OpenLayers.Class(OpenLayers.Layer.Markers,{location:null,features:null,formatOptions:null,selectedFeature:null,icon:null,popupSize:null,useFeedTitle:!0,initialize:function(a,b,c){OpenLayers.Layer.Markers.prototype.initialize.apply(this,[a,c]);this.location=b;this.features=[]},destroy:function(){OpenLayers.Layer.Markers.prototype.destroy.apply(this,arguments);this.clearFeatures();this.features=null},loadRSS:function(){this.loaded||(this.events.triggerEvent("loadstart"),OpenLayers.Request.GET({url:this.location, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16584 success:this.parseData,scope:this}),this.loaded=!0)},moveTo:function(a,b,c){OpenLayers.Layer.Markers.prototype.moveTo.apply(this,arguments);this.visibility&&!this.loaded&&this.loadRSS()},parseData:function(a){var b=a.responseXML;if(!b||!b.documentElement)b=OpenLayers.Format.XML.prototype.read(a.responseText);if(this.useFeedTitle){a=null;try{a=b.getElementsByTagNameNS("*","title")[0].firstChild.nodeValue}catch(c){a=b.getElementsByTagName("title")[0].firstChild.nodeValue}a&&this.setName(a)}a={};OpenLayers.Util.extend(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16585 this.formatOptions);this.map&&!this.projection.equals(this.map.getProjectionObject())&&(a.externalProjection=this.projection,a.internalProjection=this.map.getProjectionObject());for(var b=(new OpenLayers.Format.GeoRSS(a)).read(b),a=0,d=b.length;a<d;a++){var e={},f=b[a];if(f.geometry){var g=f.attributes.title?f.attributes.title:"Untitled",h=f.attributes.description?f.attributes.description:"No description.",i=f.attributes.link?f.attributes.link:"",f=f.geometry.getBounds().getCenterLonLat();e.icon= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16586 null==this.icon?OpenLayers.Marker.defaultIcon():this.icon.clone();e.popupSize=this.popupSize?this.popupSize.clone():new OpenLayers.Size(250,120);if(g||h){e.title=g;e.description=h;var j='<div class="olLayerGeoRSSClose">[x]</div>',j=j+'<div class="olLayerGeoRSSTitle">';i&&(j+='<a class="link" href="'+i+'" target="_blank">');j+=g;i&&(j+="</a>");j+="</div>";j+='<div style="" class="olLayerGeoRSSDescription">';j+=h;j+="</div>";e.popupContentHTML=j}f=new OpenLayers.Feature(this,f,e);this.features.push(f); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16587 e=f.createMarker();e.events.register("click",f,this.markerClick);this.addMarker(e)}}this.events.triggerEvent("loadend")},markerClick:function(a){var b=this==this.layer.selectedFeature;this.layer.selectedFeature=!b?this:null;for(var c=0,d=this.layer.map.popups.length;c<d;c++)this.layer.map.removePopup(this.layer.map.popups[c]);b||(b=this.createPopup(),OpenLayers.Event.observe(b.div,"click",OpenLayers.Function.bind(function(){for(var a=0,b=this.layer.map.popups.length;a<b;a++)this.layer.map.removePopup(this.layer.map.popups[a])}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16588 this)),this.layer.map.addPopup(b));OpenLayers.Event.stop(a)},clearFeatures:function(){if(null!=this.features)for(;0<this.features.length;){var a=this.features[0];OpenLayers.Util.removeItem(this.features,a);a.destroy()}},CLASS_NAME:"OpenLayers.Layer.GeoRSS"});OpenLayers.Symbolizer.Point=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(a){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments)},CLASS_NAME:"OpenLayers.Symbolizer.Point"});OpenLayers.Symbolizer.Line=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(a){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments)},CLASS_NAME:"OpenLayers.Symbolizer.Line"});OpenLayers.Symbolizer.Text=OpenLayers.Class(OpenLayers.Symbolizer,{initialize:function(a){OpenLayers.Symbolizer.prototype.initialize.apply(this,arguments)},CLASS_NAME:"OpenLayers.Symbolizer.Text"});OpenLayers.Format.SLD.v1=OpenLayers.Class(OpenLayers.Format.Filter.v1_0_0,{namespaces:{sld:"http://www.opengis.net/sld",ogc:"http://www.opengis.net/ogc",gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"sld",schemaLocation:null,multipleSymbolizers:!1,featureTypeCounter:null,defaultSymbolizer:{fillColor:"#808080",fillOpacity:1,strokeColor:"#000000",strokeOpacity:1,strokeWidth:1,strokeDashstyle:"solid",pointRadius:3, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16589 graphicName:"square"},read:function(a,b){var b=OpenLayers.Util.applyDefaults(b,this.options),c={namedLayers:!0===b.namedLayersAsArray?[]:{}};this.readChildNodes(a,c);return c},readers:OpenLayers.Util.applyDefaults({sld:{StyledLayerDescriptor:function(a,b){b.version=a.getAttribute("version");this.readChildNodes(a,b)},Name:function(a,b){b.name=this.getChildValue(a)},Title:function(a,b){b.title=this.getChildValue(a)},Abstract:function(a,b){b.description=this.getChildValue(a)},NamedLayer:function(a,b){var c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16590 {userStyles:[],namedStyles:[]};this.readChildNodes(a,c);for(var d=0,e=c.userStyles.length;d<e;++d)c.userStyles[d].layerName=c.name;OpenLayers.Util.isArray(b.namedLayers)?b.namedLayers.push(c):b.namedLayers[c.name]=c},NamedStyle:function(a,b){b.namedStyles.push(this.getChildName(a.firstChild))},UserStyle:function(a,b){var c={defaultsPerSymbolizer:!0,rules:[]};this.featureTypeCounter=-1;this.readChildNodes(a,c);this.multipleSymbolizers?(delete c.defaultsPerSymbolizer,c=new OpenLayers.Style2(c)):c=new OpenLayers.Style(this.defaultSymbolizer, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16591 c);b.userStyles.push(c)},IsDefault:function(a,b){"1"==this.getChildValue(a)&&(b.isDefault=!0)},FeatureTypeStyle:function(a,b){++this.featureTypeCounter;var c={rules:this.multipleSymbolizers?b.rules:[]};this.readChildNodes(a,c);this.multipleSymbolizers||(b.rules=c.rules)},Rule:function(a,b){var c;this.multipleSymbolizers&&(c={symbolizers:[]});c=new OpenLayers.Rule(c);this.readChildNodes(a,c);b.rules.push(c)},ElseFilter:function(a,b){b.elseFilter=!0},MinScaleDenominator:function(a,b){b.minScaleDenominator= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16592 parseFloat(this.getChildValue(a))},MaxScaleDenominator:function(a,b){b.maxScaleDenominator=parseFloat(this.getChildValue(a))},TextSymbolizer:function(a,b){var c={};this.readChildNodes(a,c);this.multipleSymbolizers?(c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Text(c))):b.symbolizer.Text=OpenLayers.Util.applyDefaults(c,b.symbolizer.Text)},LabelPlacement:function(a,b){this.readChildNodes(a,b)},PointPlacement:function(a,b){var c={};this.readChildNodes(a,c);c.labelRotation= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16593 c.rotation;delete c.rotation;var d,e=b.labelAnchorPointX,f=b.labelAnchorPointY;e<=1/3?d="l":e>1/3&&e<2/3?d="c":e>=2/3&&(d="r");f<=1/3?d+="b":f>1/3&&f<2/3?d+="m":f>=2/3&&(d+="t");c.labelAlign=d;OpenLayers.Util.applyDefaults(b,c)},AnchorPoint:function(a,b){this.readChildNodes(a,b)},AnchorPointX:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelAnchorPointX=c)},AnchorPointY:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelAnchorPointY=c)},Displacement:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16594 b){this.readChildNodes(a,b)},DisplacementX:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelXOffset=c)},DisplacementY:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelYOffset=c)},LinePlacement:function(a,b){this.readChildNodes(a,b)},PerpendicularOffset:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.labelPerpendicularOffset=c)},Label:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.label=c)},Font:function(a,b){this.readChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16595 b)},Halo:function(a,b){var c={};this.readChildNodes(a,c);b.haloRadius=c.haloRadius;b.haloColor=c.fillColor;b.haloOpacity=c.fillOpacity},Radius:function(a,b){var c=this.readers.ogc._expression.call(this,a);null!=c&&(b.haloRadius=c)},RasterSymbolizer:function(a,b){var c={};this.readChildNodes(a,c);this.multipleSymbolizers?(c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Raster(c))):b.symbolizer.Raster=OpenLayers.Util.applyDefaults(c,b.symbolizer.Raster)},Geometry:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16596 b){b.geometry={};this.readChildNodes(a,b.geometry)},ColorMap:function(a,b){b.colorMap=[];this.readChildNodes(a,b.colorMap)},ColorMapEntry:function(a,b){var c=a.getAttribute("quantity"),d=a.getAttribute("opacity");b.push({color:a.getAttribute("color"),quantity:null!==c?parseFloat(c):void 0,label:a.getAttribute("label")||void 0,opacity:null!==d?parseFloat(d):void 0})},LineSymbolizer:function(a,b){var c={};this.readChildNodes(a,c);this.multipleSymbolizers?(c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Line(c))): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16597 b.symbolizer.Line=OpenLayers.Util.applyDefaults(c,b.symbolizer.Line)},PolygonSymbolizer:function(a,b){var c={fill:!1,stroke:!1};this.multipleSymbolizers||(c=b.symbolizer.Polygon||c);this.readChildNodes(a,c);this.multipleSymbolizers?(c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Polygon(c))):b.symbolizer.Polygon=c},PointSymbolizer:function(a,b){var c={fill:!1,stroke:!1,graphic:!1};this.multipleSymbolizers||(c=b.symbolizer.Point||c);this.readChildNodes(a,c);this.multipleSymbolizers? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16598 (c.zIndex=this.featureTypeCounter,b.symbolizers.push(new OpenLayers.Symbolizer.Point(c))):b.symbolizer.Point=c},Stroke:function(a,b){b.stroke=!0;this.readChildNodes(a,b)},Fill:function(a,b){b.fill=!0;this.readChildNodes(a,b)},CssParameter:function(a,b){var c=a.getAttribute("name"),d=this.cssMap[c];b.label&&("fill"===c?d="fontColor":"fill-opacity"===c&&(d="fontOpacity"));d&&(c=this.readers.ogc._expression.call(this,a))&&(b[d]=c)},Graphic:function(a,b){b.graphic=!0;var c={};this.readChildNodes(a,c); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16599 for(var d="stroke strokeColor strokeWidth strokeOpacity strokeLinecap fill fillColor fillOpacity graphicName rotation graphicFormat".split(" "),e,f,g=0,h=d.length;g<h;++g)e=d[g],f=c[e],void 0!=f&&(b[e]=f);void 0!=c.opacity&&(b.graphicOpacity=c.opacity);void 0!=c.size&&(isNaN(c.size/2)?b.graphicWidth=c.size:b.pointRadius=c.size/2);void 0!=c.href&&(b.externalGraphic=c.href);void 0!=c.rotation&&(b.rotation=c.rotation)},ExternalGraphic:function(a,b){this.readChildNodes(a,b)},Mark:function(a,b){this.readChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16600 b)},WellKnownName:function(a,b){b.graphicName=this.getChildValue(a)},Opacity:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.opacity=c)},Size:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.size=c)},Rotation:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.rotation=c)},OnlineResource:function(a,b){b.href=this.getAttributeNS(a,this.namespaces.xlink,"href")},Format:function(a,b){b.graphicFormat=this.getChildValue(a)}}},OpenLayers.Format.Filter.v1_0_0.prototype.readers), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16601 cssMap:{stroke:"strokeColor","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","stroke-linecap":"strokeLinecap","stroke-dasharray":"strokeDashstyle",fill:"fillColor","fill-opacity":"fillOpacity","font-family":"fontFamily","font-size":"fontSize","font-weight":"fontWeight","font-style":"fontStyle"},getCssProperty:function(a){var b=null,c;for(c in this.cssMap)if(this.cssMap[c]==a){b=c;break}return b},getGraphicFormat:function(a){var b,c;for(c in this.graphicFormats)if(this.graphicFormats[c].test(a)){b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16602 c;break}return b||this.defaultGraphicFormat},defaultGraphicFormat:"image/png",graphicFormats:{"image/jpeg":/\.jpe?g$/i,"image/gif":/\.gif$/i,"image/png":/\.png$/i},write:function(a){return this.writers.sld.StyledLayerDescriptor.apply(this,[a])},writers:OpenLayers.Util.applyDefaults({sld:{_OGCExpression:function(a,b){var c=this.createElementNSPlus(a),d="string"==typeof b?b.split("${"):[b];c.appendChild(this.createTextNode(d[0]));for(var e,f,g=1,h=d.length;g<h;g++)e=d[g],f=e.indexOf("}"),0<f?(this.writeNode("ogc:PropertyName", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16603 {property:e.substring(0,f)},c),c.appendChild(this.createTextNode(e.substring(++f)))):c.appendChild(this.createTextNode("${"+e));return c},StyledLayerDescriptor:function(a){var b=this.createElementNSPlus("sld:StyledLayerDescriptor",{attributes:{version:this.VERSION,"xsi:schemaLocation":this.schemaLocation}});b.setAttribute("xmlns:ogc",this.namespaces.ogc);b.setAttribute("xmlns:gml",this.namespaces.gml);a.name&&this.writeNode("Name",a.name,b);a.title&&this.writeNode("Title",a.title,b);a.description&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16604 this.writeNode("Abstract",a.description,b);if(OpenLayers.Util.isArray(a.namedLayers))for(var c=0,d=a.namedLayers.length;c<d;++c)this.writeNode("NamedLayer",a.namedLayers[c],b);else for(c in a.namedLayers)this.writeNode("NamedLayer",a.namedLayers[c],b);return b},Name:function(a){return this.createElementNSPlus("sld:Name",{value:a})},Title:function(a){return this.createElementNSPlus("sld:Title",{value:a})},Abstract:function(a){return this.createElementNSPlus("sld:Abstract",{value:a})},NamedLayer:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16605 this.createElementNSPlus("sld:NamedLayer");this.writeNode("Name",a.name,b);if(a.namedStyles)for(var c=0,d=a.namedStyles.length;c<d;++c)this.writeNode("NamedStyle",a.namedStyles[c],b);if(a.userStyles){c=0;for(d=a.userStyles.length;c<d;++c)this.writeNode("UserStyle",a.userStyles[c],b)}return b},NamedStyle:function(a){var b=this.createElementNSPlus("sld:NamedStyle");this.writeNode("Name",a,b);return b},UserStyle:function(a){var b=this.createElementNSPlus("sld:UserStyle");a.name&&this.writeNode("Name", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16606 a.name,b);a.title&&this.writeNode("Title",a.title,b);a.description&&this.writeNode("Abstract",a.description,b);a.isDefault&&this.writeNode("IsDefault",a.isDefault,b);if(this.multipleSymbolizers&&a.rules){for(var c={"0":[]},d=[0],e,f,g,h,i,j=0,k=a.rules.length;j<k;++j)if(e=a.rules[j],e.symbolizers){f={};for(var l=0,m=e.symbolizers.length;l<m;++l)g=e.symbolizers[l],h=g.zIndex,h in f||(i=e.clone(),i.symbolizers=[],f[h]=i),f[h].symbolizers.push(g.clone());for(h in f)h in c||(d.push(h),c[h]=[]),c[h].push(f[h])}else c[0].push(e.clone()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16607 d.sort();j=0;for(k=d.length;j<k;++j)e=c[d[j]],0<e.length&&(i=a.clone(),i.rules=c[d[j]],this.writeNode("FeatureTypeStyle",i,b))}else this.writeNode("FeatureTypeStyle",a,b);return b},IsDefault:function(a){return this.createElementNSPlus("sld:IsDefault",{value:a?"1":"0"})},FeatureTypeStyle:function(a){for(var b=this.createElementNSPlus("sld:FeatureTypeStyle"),c=0,d=a.rules.length;c<d;++c)this.writeNode("Rule",a.rules[c],b);return b},Rule:function(a){var b=this.createElementNSPlus("sld:Rule");a.name&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16608 this.writeNode("Name",a.name,b);a.title&&this.writeNode("Title",a.title,b);a.description&&this.writeNode("Abstract",a.description,b);a.elseFilter?this.writeNode("ElseFilter",null,b):a.filter&&this.writeNode("ogc:Filter",a.filter,b);void 0!=a.minScaleDenominator&&this.writeNode("MinScaleDenominator",a.minScaleDenominator,b);void 0!=a.maxScaleDenominator&&this.writeNode("MaxScaleDenominator",a.maxScaleDenominator,b);var c,d;if(this.multipleSymbolizers&&a.symbolizers)for(var e=0,f=a.symbolizers.length;e< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16609 f;++e)d=a.symbolizers[e],c=d.CLASS_NAME.split(".").pop(),this.writeNode(c+"Symbolizer",d,b);else for(var f=OpenLayers.Style.SYMBOLIZER_PREFIXES,e=0,g=f.length;e<g;++e)c=f[e],(d=a.symbolizer[c])&&this.writeNode(c+"Symbolizer",d,b);return b},ElseFilter:function(){return this.createElementNSPlus("sld:ElseFilter")},MinScaleDenominator:function(a){return this.createElementNSPlus("sld:MinScaleDenominator",{value:a})},MaxScaleDenominator:function(a){return this.createElementNSPlus("sld:MaxScaleDenominator", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16610 {value:a})},LineSymbolizer:function(a){var b=this.createElementNSPlus("sld:LineSymbolizer");this.writeNode("Stroke",a,b);return b},Stroke:function(a){var b=this.createElementNSPlus("sld:Stroke");void 0!=a.strokeColor&&this.writeNode("CssParameter",{symbolizer:a,key:"strokeColor"},b);void 0!=a.strokeOpacity&&this.writeNode("CssParameter",{symbolizer:a,key:"strokeOpacity"},b);void 0!=a.strokeWidth&&this.writeNode("CssParameter",{symbolizer:a,key:"strokeWidth"},b);void 0!=a.strokeDashstyle&&"solid"!== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16611 a.strokeDashstyle&&this.writeNode("CssParameter",{symbolizer:a,key:"strokeDashstyle"},b);void 0!=a.strokeLinecap&&this.writeNode("CssParameter",{symbolizer:a,key:"strokeLinecap"},b);return b},CssParameter:function(a){return this.createElementNSPlus("sld:CssParameter",{attributes:{name:this.getCssProperty(a.key)},value:a.symbolizer[a.key]})},TextSymbolizer:function(a){var b=this.createElementNSPlus("sld:TextSymbolizer");null!=a.label&&this.writeNode("Label",a.label,b);(null!=a.fontFamily||null!=a.fontSize|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16612 null!=a.fontWeight||null!=a.fontStyle)&&this.writeNode("Font",a,b);(null!=a.labelAnchorPointX||null!=a.labelAnchorPointY||null!=a.labelAlign||null!=a.labelXOffset||null!=a.labelYOffset||null!=a.labelRotation||null!=a.labelPerpendicularOffset)&&this.writeNode("LabelPlacement",a,b);(null!=a.haloRadius||null!=a.haloColor||null!=a.haloOpacity)&&this.writeNode("Halo",a,b);(null!=a.fontColor||null!=a.fontOpacity)&&this.writeNode("Fill",{fillColor:a.fontColor,fillOpacity:a.fontOpacity},b);return b},LabelPlacement:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16613 this.createElementNSPlus("sld:LabelPlacement");(null!=a.labelAnchorPointX||null!=a.labelAnchorPointY||null!=a.labelAlign||null!=a.labelXOffset||null!=a.labelYOffset||null!=a.labelRotation)&&null==a.labelPerpendicularOffset&&this.writeNode("PointPlacement",a,b);null!=a.labelPerpendicularOffset&&this.writeNode("LinePlacement",a,b);return b},LinePlacement:function(a){var b=this.createElementNSPlus("sld:LinePlacement");this.writeNode("PerpendicularOffset",a.labelPerpendicularOffset,b);return b},PerpendicularOffset:function(a){return this.createElementNSPlus("sld:PerpendicularOffset", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16614 {value:a})},PointPlacement:function(a){var b=this.createElementNSPlus("sld:PointPlacement");(null!=a.labelAnchorPointX||null!=a.labelAnchorPointY||null!=a.labelAlign)&&this.writeNode("AnchorPoint",a,b);(null!=a.labelXOffset||null!=a.labelYOffset)&&this.writeNode("Displacement",a,b);null!=a.labelRotation&&this.writeNode("Rotation",a.labelRotation,b);return b},AnchorPoint:function(a){var b=this.createElementNSPlus("sld:AnchorPoint"),c=a.labelAnchorPointX,d=a.labelAnchorPointY;null!=c&&this.writeNode("AnchorPointX", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16615 c,b);null!=d&&this.writeNode("AnchorPointY",d,b);if(null==c&&null==d){var e=a.labelAlign.substr(0,1),a=a.labelAlign.substr(1,1);"l"===e?c=0:"c"===e?c=0.5:"r"===e&&(c=1);"b"===a?d=0:"m"===a?d=0.5:"t"===a&&(d=1);this.writeNode("AnchorPointX",c,b);this.writeNode("AnchorPointY",d,b)}return b},AnchorPointX:function(a){return this.createElementNSPlus("sld:AnchorPointX",{value:a})},AnchorPointY:function(a){return this.createElementNSPlus("sld:AnchorPointY",{value:a})},Displacement:function(a){var b=this.createElementNSPlus("sld:Displacement"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16616 null!=a.labelXOffset&&this.writeNode("DisplacementX",a.labelXOffset,b);null!=a.labelYOffset&&this.writeNode("DisplacementY",a.labelYOffset,b);return b},DisplacementX:function(a){return this.createElementNSPlus("sld:DisplacementX",{value:a})},DisplacementY:function(a){return this.createElementNSPlus("sld:DisplacementY",{value:a})},Font:function(a){var b=this.createElementNSPlus("sld:Font");a.fontFamily&&this.writeNode("CssParameter",{symbolizer:a,key:"fontFamily"},b);a.fontSize&&this.writeNode("CssParameter", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16617 {symbolizer:a,key:"fontSize"},b);a.fontWeight&&this.writeNode("CssParameter",{symbolizer:a,key:"fontWeight"},b);a.fontStyle&&this.writeNode("CssParameter",{symbolizer:a,key:"fontStyle"},b);return b},Label:function(a){return this.writers.sld._OGCExpression.call(this,"sld:Label",a)},Halo:function(a){var b=this.createElementNSPlus("sld:Halo");a.haloRadius&&this.writeNode("Radius",a.haloRadius,b);(a.haloColor||a.haloOpacity)&&this.writeNode("Fill",{fillColor:a.haloColor,fillOpacity:a.haloOpacity},b); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16618 return b},Radius:function(a){return this.createElementNSPlus("sld:Radius",{value:a})},RasterSymbolizer:function(a){var b=this.createElementNSPlus("sld:RasterSymbolizer");a.geometry&&this.writeNode("Geometry",a.geometry,b);a.opacity&&this.writeNode("Opacity",a.opacity,b);a.colorMap&&this.writeNode("ColorMap",a.colorMap,b);return b},Geometry:function(a){var b=this.createElementNSPlus("sld:Geometry");a.property&&this.writeNode("ogc:PropertyName",a,b);return b},ColorMap:function(a){for(var b=this.createElementNSPlus("sld:ColorMap"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16619 c=0,d=a.length;c<d;++c)this.writeNode("ColorMapEntry",a[c],b);return b},ColorMapEntry:function(a){var b=this.createElementNSPlus("sld:ColorMapEntry");b.setAttribute("color",a.color);void 0!==a.opacity&&b.setAttribute("opacity",parseFloat(a.opacity));void 0!==a.quantity&&b.setAttribute("quantity",parseFloat(a.quantity));void 0!==a.label&&b.setAttribute("label",a.label);return b},PolygonSymbolizer:function(a){var b=this.createElementNSPlus("sld:PolygonSymbolizer");!1!==a.fill&&this.writeNode("Fill", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16620 a,b);!1!==a.stroke&&this.writeNode("Stroke",a,b);return b},Fill:function(a){var b=this.createElementNSPlus("sld:Fill");a.fillColor&&this.writeNode("CssParameter",{symbolizer:a,key:"fillColor"},b);null!=a.fillOpacity&&this.writeNode("CssParameter",{symbolizer:a,key:"fillOpacity"},b);return b},PointSymbolizer:function(a){var b=this.createElementNSPlus("sld:PointSymbolizer");this.writeNode("Graphic",a,b);return b},Graphic:function(a){var b=this.createElementNSPlus("sld:Graphic");void 0!=a.externalGraphic? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16621 this.writeNode("ExternalGraphic",a,b):this.writeNode("Mark",a,b);void 0!=a.graphicOpacity&&this.writeNode("Opacity",a.graphicOpacity,b);void 0!=a.pointRadius?this.writeNode("Size",2*a.pointRadius,b):void 0!=a.graphicWidth&&this.writeNode("Size",a.graphicWidth,b);void 0!=a.rotation&&this.writeNode("Rotation",a.rotation,b);return b},ExternalGraphic:function(a){var b=this.createElementNSPlus("sld:ExternalGraphic");this.writeNode("OnlineResource",a.externalGraphic,b);this.writeNode("Format",a.graphicFormat|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16622 this.getGraphicFormat(a.externalGraphic),b);return b},Mark:function(a){var b=this.createElementNSPlus("sld:Mark");a.graphicName&&this.writeNode("WellKnownName",a.graphicName,b);!1!==a.fill&&this.writeNode("Fill",a,b);!1!==a.stroke&&this.writeNode("Stroke",a,b);return b},WellKnownName:function(a){return this.createElementNSPlus("sld:WellKnownName",{value:a})},Opacity:function(a){return this.createElementNSPlus("sld:Opacity",{value:a})},Size:function(a){return this.writers.sld._OGCExpression.call(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16623 "sld:Size",a)},Rotation:function(a){return this.createElementNSPlus("sld:Rotation",{value:a})},OnlineResource:function(a){return this.createElementNSPlus("sld:OnlineResource",{attributes:{"xlink:type":"simple","xlink:href":a}})},Format:function(a){return this.createElementNSPlus("sld:Format",{value:a})}}},OpenLayers.Format.Filter.v1_0_0.prototype.writers),CLASS_NAME:"OpenLayers.Format.SLD.v1"});OpenLayers.Layer.WMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"},isBaseLayer:!0,encodeBBOX:!1,noMagic:!1,yx:{},initialize:function(a,b,c,d){var e=[],c=OpenLayers.Util.upperCaseObject(c);1.3<=parseFloat(c.VERSION)&&!c.EXCEPTIONS&&(c.EXCEPTIONS="INIMAGE");e.push(a,b,c,d);OpenLayers.Layer.Grid.prototype.initialize.apply(this,e);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16624 if(!this.noMagic&&this.params.TRANSPARENT&&"true"==this.params.TRANSPARENT.toString().toLowerCase()){if(null==d||!d.isBaseLayer)this.isBaseLayer=!1;"image/jpeg"==this.params.FORMAT&&(this.params.FORMAT=OpenLayers.Util.alphaHack()?"image/gif":"image/png")}},clone:function(a){null==a&&(a=new OpenLayers.Layer.WMS(this.name,this.url,this.params,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},reverseAxisOrder:function(){var a=this.projection.getCode();return 1.3<=parseFloat(this.params.VERSION)&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16625 !(!this.yx[a]&&!OpenLayers.Projection.defaults[a].yx)},getURL:function(a){var a=this.adjustBounds(a),b=this.getImageSize(),c={},d=this.reverseAxisOrder();c.BBOX=this.encodeBBOX?a.toBBOX(null,d):a.toArray(d);c.WIDTH=b.w;c.HEIGHT=b.h;return this.getFullRequestString(c)},mergeNewParams:function(a){a=[OpenLayers.Util.upperCaseObject(a)];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,a)},getFullRequestString:function(a,b){var c=this.map.getProjectionObject(),c=this.projection&&this.projection.equals(c)? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16626 this.projection.getCode():c.getCode(),c="none"==c?null:c;1.3<=parseFloat(this.params.VERSION)?this.params.CRS=c:this.params.SRS=c;"boolean"==typeof this.params.TRANSPARENT&&(a.TRANSPARENT=this.params.TRANSPARENT?"TRUE":"FALSE");return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments)},CLASS_NAME:"OpenLayers.Layer.WMS"});OpenLayers.Format.WMC.v1_1_0=OpenLayers.Class(OpenLayers.Format.WMC.v1,{VERSION:"1.1.0",schemaLocation:"http://www.opengis.net/context http://schemas.opengis.net/context/1.1.0/context.xsd",initialize:function(a){OpenLayers.Format.WMC.v1.prototype.initialize.apply(this,[a])},read_sld_MinScaleDenominator:function(a,b){var c=parseFloat(this.getChildValue(b));0<c&&(a.maxScale=c)},read_sld_MaxScaleDenominator:function(a,b){a.minScale=parseFloat(this.getChildValue(b))},read_wmc_SRS:function(a,b){"srs"in |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16627 a||(a.srs={});a.srs[this.getChildValue(b)]=!0},write_wmc_Layer:function(a){var b=OpenLayers.Format.WMC.v1.prototype.write_wmc_Layer.apply(this,[a]);if(a.maxScale){var c=this.createElementNS(this.namespaces.sld,"sld:MinScaleDenominator");c.appendChild(this.createTextNode(a.maxScale.toPrecision(16)));b.appendChild(c)}a.minScale&&(c=this.createElementNS(this.namespaces.sld,"sld:MaxScaleDenominator"),c.appendChild(this.createTextNode(a.minScale.toPrecision(16))),b.appendChild(c));if(a.srs)for(var d in a.srs)b.appendChild(this.createElementDefaultNS("SRS", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16628 d));b.appendChild(this.write_wmc_FormatList(a));b.appendChild(this.write_wmc_StyleList(a));a.dimensions&&b.appendChild(this.write_wmc_DimensionList(a));b.appendChild(this.write_wmc_LayerExtension(a));return b},CLASS_NAME:"OpenLayers.Format.WMC.v1_1_0"});OpenLayers.Format.XLS=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.1.0",stringifyOutput:!0,CLASS_NAME:"OpenLayers.Format.XLS"});OpenLayers.Format.XLS.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{xls:"http://www.opengis.net/xls",gml:"http://www.opengis.net/gml",xsi:"http://www.w3.org/2001/XMLSchema-instance"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},xy:!0,defaultPrefix:"xls",schemaLocation:null,read:function(a,b){OpenLayers.Util.applyDefaults(b,this.options);var c={};this.readChildNodes(a,c);return c},readers:{xls:{XLS:function(a,b){b.version=a.getAttribute("version"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16629 this.readChildNodes(a,b)},Response:function(a,b){this.readChildNodes(a,b)},GeocodeResponse:function(a,b){b.responseLists=[];this.readChildNodes(a,b)},GeocodeResponseList:function(a,b){var c={features:[],numberOfGeocodedAddresses:parseInt(a.getAttribute("numberOfGeocodedAddresses"))};b.responseLists.push(c);this.readChildNodes(a,c)},GeocodedAddress:function(a,b){var c=new OpenLayers.Feature.Vector;b.features.push(c);this.readChildNodes(a,c);c.geometry=c.components[0]},GeocodeMatchCode:function(a,b){b.attributes.matchCode= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16630 {accuracy:parseFloat(a.getAttribute("accuracy")),matchType:a.getAttribute("matchType")}},Address:function(a,b){var c={countryCode:a.getAttribute("countryCode"),addressee:a.getAttribute("addressee"),street:[],place:[]};b.attributes.address=c;this.readChildNodes(a,c)},freeFormAddress:function(a,b){b.freeFormAddress=this.getChildValue(a)},StreetAddress:function(a,b){this.readChildNodes(a,b)},Building:function(a,b){b.building={number:a.getAttribute("number"),subdivision:a.getAttribute("subdivision"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16631 buildingName:a.getAttribute("buildingName")}},Street:function(a,b){b.street.push(this.getChildValue(a))},Place:function(a,b){b.place[a.getAttribute("type")]=this.getChildValue(a)},PostalCode:function(a,b){b.postalCode=this.getChildValue(a)}},gml:OpenLayers.Format.GML.v3.prototype.readers.gml},write:function(a){return this.writers.xls.XLS.apply(this,[a])},writers:{xls:{XLS:function(a){var b=this.createElementNSPlus("xls:XLS",{attributes:{version:this.VERSION,"xsi:schemaLocation":this.schemaLocation}}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16632 this.writeNode("RequestHeader",a.header,b);this.writeNode("Request",a,b);return b},RequestHeader:function(){return this.createElementNSPlus("xls:RequestHeader")},Request:function(a){var b=this.createElementNSPlus("xls:Request",{attributes:{methodName:"GeocodeRequest",requestID:a.requestID||"",version:this.VERSION}});this.writeNode("GeocodeRequest",a.addresses,b);return b},GeocodeRequest:function(a){for(var b=this.createElementNSPlus("xls:GeocodeRequest"),c=0,d=a.length;c<d;c++)this.writeNode("Address", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16633 a[c],b);return b},Address:function(a){var b=this.createElementNSPlus("xls:Address",{attributes:{countryCode:a.countryCode}});a.freeFormAddress?this.writeNode("freeFormAddress",a.freeFormAddress,b):(a.street&&this.writeNode("StreetAddress",a,b),a.municipality&&this.writeNode("Municipality",a.municipality,b),a.countrySubdivision&&this.writeNode("CountrySubdivision",a.countrySubdivision,b),a.postalCode&&this.writeNode("PostalCode",a.postalCode,b));return b},freeFormAddress:function(a){return this.createElementNSPlus("freeFormAddress", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16634 {value:a})},StreetAddress:function(a){var b=this.createElementNSPlus("xls:StreetAddress");a.building&&this.writeNode(b,"Building",a.building);a=a.street;OpenLayers.Util.isArray(a)||(a=[a]);for(var c=0,d=a.length;c<d;c++)this.writeNode("Street",a[c],b);return b},Building:function(a){return this.createElementNSPlus("xls:Building",{attributes:{number:a.number,subdivision:a.subdivision,buildingName:a.buildingName}})},Street:function(a){return this.createElementNSPlus("xls:Street",{value:a})},Municipality:function(a){return this.createElementNSPlus("xls:Place", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16635 {attributes:{type:"Municipality"},value:a})},CountrySubdivision:function(a){return this.createElementNSPlus("xls:Place",{attributes:{type:"CountrySubdivision"},value:a})},PostalCode:function(a){return this.createElementNSPlus("xls:PostalCode",{value:a})}}},CLASS_NAME:"OpenLayers.Format.XLS.v1"});OpenLayers.Format.XLS.v1_1_0=OpenLayers.Class(OpenLayers.Format.XLS.v1,{VERSION:"1.1",schemaLocation:"http://www.opengis.net/xls http://schemas.opengis.net/ols/1.1.0/LocationUtilityService.xsd",CLASS_NAME:"OpenLayers.Format.XLS.v1_1_0"});OpenLayers.Format.XLS.v1_1=OpenLayers.Format.XLS.v1_1_0;OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",MAX_PIXEL:15E3,translationParameters:null,symbolMetrics:null,initialize:function(a){this.supported()&&(OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments),this.translationParameters={x:0,y:0},this.symbolMetrics={})},supported:function(){return document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#SVG", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16636 "1.1")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"))},inValidRange:function(a,b,c){a+=c?0:this.translationParameters.x;b+=c?0:this.translationParameters.y;return a>=-this.MAX_PIXEL&&a<=this.MAX_PIXEL&&b>=-this.MAX_PIXEL&&b<=this.MAX_PIXEL},setExtent:function(a,b){var c=OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments),d=this.getResolution(),e=-a.left/d,d=a.top/d;if(b)return this.left=e,this.top=d,this.rendererRoot.setAttributeNS(null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16637 "viewBox","0 0 "+this.size.w+" "+this.size.h),this.translate(this.xOffset,0),!0;(e=this.translate(e-this.left+this.xOffset,d-this.top))||this.setExtent(a,!0);return c&&e},translate:function(a,b){if(this.inValidRange(a,b,!0)){var c="";if(a||b)c="translate("+a+","+b+")";this.root.setAttributeNS(null,"transform",c);this.translationParameters={x:a,y:b};return!0}return!1},setSize:function(a){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);this.rendererRoot.setAttributeNS(null,"width",this.size.w); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16638 this.rendererRoot.setAttributeNS(null,"height",this.size.h)},getNodeType:function(a,b){var c=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":c=b.externalGraphic?"image":this.isComplexSymbol(b.graphicName)?"svg":"circle";break;case "OpenLayers.Geometry.Rectangle":c="rect";break;case "OpenLayers.Geometry.LineString":c="polyline";break;case "OpenLayers.Geometry.LinearRing":c="polygon";break;case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":c="path"}return c},setStyle:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16639 b,c){var b=b||a._style,c=c||a._options,d=parseFloat(a.getAttributeNS(null,"r")),e=1,f;if("OpenLayers.Geometry.Point"==a._geometryClass&&d){a.style.visibility="";if(!1===b.graphic)a.style.visibility="hidden";else if(b.externalGraphic){f=this.getPosition(a);b.graphicTitle&&(a.setAttributeNS(null,"title",b.graphicTitle),d=a.getElementsByTagName("title"),0<d.length?d[0].firstChild.textContent=b.graphicTitle:(d=this.nodeFactory(null,"title"),d.textContent=b.graphicTitle,a.appendChild(d)));b.graphicWidth&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16640 b.graphicHeight&&a.setAttributeNS(null,"preserveAspectRatio","none");var d=b.graphicWidth||b.graphicHeight,g=b.graphicHeight||b.graphicWidth,d=d?d:2*b.pointRadius,g=g?g:2*b.pointRadius,h=void 0!=b.graphicYOffset?b.graphicYOffset:-(0.5*g),i=b.graphicOpacity||b.fillOpacity;a.setAttributeNS(null,"x",(f.x+(void 0!=b.graphicXOffset?b.graphicXOffset:-(0.5*d))).toFixed());a.setAttributeNS(null,"y",(f.y+h).toFixed());a.setAttributeNS(null,"width",d);a.setAttributeNS(null,"height",g);a.setAttributeNS(this.xlinkns, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16641 "href",b.externalGraphic);a.setAttributeNS(null,"style","opacity: "+i);a.onclick=OpenLayers.Renderer.SVG.preventDefault}else if(this.isComplexSymbol(b.graphicName)){var d=3*b.pointRadius,g=2*d,j=this.importSymbol(b.graphicName);f=this.getPosition(a);e=3*this.symbolMetrics[j.id][0]/g;h=a.parentNode;i=a.nextSibling;h&&h.removeChild(a);a.firstChild&&a.removeChild(a.firstChild);a.appendChild(j.firstChild.cloneNode(!0));a.setAttributeNS(null,"viewBox",j.getAttributeNS(null,"viewBox"));a.setAttributeNS(null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16642 "width",g);a.setAttributeNS(null,"height",g);a.setAttributeNS(null,"x",f.x-d);a.setAttributeNS(null,"y",f.y-d);i?h.insertBefore(a,i):h&&h.appendChild(a)}else a.setAttributeNS(null,"r",b.pointRadius);d=b.rotation;if((void 0!==d||void 0!==a._rotation)&&f)a._rotation=d,d|=0,"svg"!==a.nodeName?a.setAttributeNS(null,"transform","rotate("+d+" "+f.x+" "+f.y+")"):(f=this.symbolMetrics[j.id],a.firstChild.setAttributeNS(null,"transform","rotate("+d+" "+f[1]+" "+f[2]+")"))}c.isFilled?(a.setAttributeNS(null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16643 "fill",b.fillColor),a.setAttributeNS(null,"fill-opacity",b.fillOpacity)):a.setAttributeNS(null,"fill","none");c.isStroked?(a.setAttributeNS(null,"stroke",b.strokeColor),a.setAttributeNS(null,"stroke-opacity",b.strokeOpacity),a.setAttributeNS(null,"stroke-width",b.strokeWidth*e),a.setAttributeNS(null,"stroke-linecap",b.strokeLinecap||"round"),a.setAttributeNS(null,"stroke-linejoin","round"),b.strokeDashstyle&&a.setAttributeNS(null,"stroke-dasharray",this.dashStyle(b,e))):a.setAttributeNS(null,"stroke", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16644 "none");b.pointerEvents&&a.setAttributeNS(null,"pointer-events",b.pointerEvents);null!=b.cursor&&a.setAttributeNS(null,"cursor",b.cursor);return a},dashStyle:function(a,b){var c=a.strokeWidth*b,d=a.strokeDashstyle;switch(d){case "solid":return"none";case "dot":return[1,4*c].join();case "dash":return[4*c,4*c].join();case "dashdot":return[4*c,4*c,1,4*c].join();case "longdash":return[8*c,4*c].join();case "longdashdot":return[8*c,4*c,1,4*c].join();default:return OpenLayers.String.trim(d).replace(/\s+/g, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16645 ",")}},createNode:function(a,b){var c=document.createElementNS(this.xmlns,a);b&&c.setAttributeNS(null,"id",b);return c},nodeTypeCompare:function(a,b){return b==a.nodeName},createRenderRoot:function(){var a=this.nodeFactory(this.container.id+"_svgRoot","svg");a.style.display="block";return a},createRoot:function(a){return this.nodeFactory(this.container.id+a,"g")},createDefs:function(){var a=this.nodeFactory(this.container.id+"_defs","defs");this.rendererRoot.appendChild(a);return a},drawPoint:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16646 b){return this.drawCircle(a,b,1)},drawCircle:function(a,b,c){var d=this.getResolution(),e=(b.x-this.featureDx)/d+this.left,b=this.top-b.y/d;return this.inValidRange(e,b)?(a.setAttributeNS(null,"cx",e),a.setAttributeNS(null,"cy",b),a.setAttributeNS(null,"r",c),a):!1},drawLineString:function(a,b){var c=this.getComponentsString(b.components);return c.path?(a.setAttributeNS(null,"points",c.path),c.complete?a:null):!1},drawLinearRing:function(a,b){var c=this.getComponentsString(b.components);return c.path? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16647 (a.setAttributeNS(null,"points",c.path),c.complete?a:null):!1},drawPolygon:function(a,b){for(var c="",d=!0,e=!0,f,g,h=0,i=b.components.length;h<i;h++)c+=" M",f=this.getComponentsString(b.components[h].components," "),(g=f.path)?(c+=" "+g,e=f.complete&&e):d=!1;return d?(a.setAttributeNS(null,"d",c+" z"),a.setAttributeNS(null,"fill-rule","evenodd"),e?a:null):!1},drawRectangle:function(a,b){var c=this.getResolution(),d=(b.x-this.featureDx)/c+this.left,e=this.top-b.y/c;return this.inValidRange(d,e)?(a.setAttributeNS(null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16648 "x",d),a.setAttributeNS(null,"y",e),a.setAttributeNS(null,"width",b.width/c),a.setAttributeNS(null,"height",b.height/c),a):!1},drawText:function(a,b,c){var d=!!b.labelOutlineWidth;if(d){var e=OpenLayers.Util.extend({},b);e.fontColor=e.labelOutlineColor;e.fontStrokeColor=e.labelOutlineColor;e.fontStrokeWidth=b.labelOutlineWidth;delete e.labelOutlineWidth;this.drawText(a,e,c)}var f=this.getResolution(),e=(c.x-this.featureDx)/f+this.left,g=c.y/f-this.top,d=d?this.LABEL_OUTLINE_SUFFIX:this.LABEL_ID_SUFFIX, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16649 f=this.nodeFactory(a+d,"text");f.setAttributeNS(null,"x",e);f.setAttributeNS(null,"y",-g);b.fontColor&&f.setAttributeNS(null,"fill",b.fontColor);b.fontStrokeColor&&f.setAttributeNS(null,"stroke",b.fontStrokeColor);b.fontStrokeWidth&&f.setAttributeNS(null,"stroke-width",b.fontStrokeWidth);b.fontOpacity&&f.setAttributeNS(null,"opacity",b.fontOpacity);b.fontFamily&&f.setAttributeNS(null,"font-family",b.fontFamily);b.fontSize&&f.setAttributeNS(null,"font-size",b.fontSize);b.fontWeight&&f.setAttributeNS(null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16650 "font-weight",b.fontWeight);b.fontStyle&&f.setAttributeNS(null,"font-style",b.fontStyle);!0===b.labelSelect?(f.setAttributeNS(null,"pointer-events","visible"),f._featureId=a):f.setAttributeNS(null,"pointer-events","none");g=b.labelAlign||OpenLayers.Renderer.defaultSymbolizer.labelAlign;f.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[g[0]]||"middle");!0===OpenLayers.IS_GECKO&&f.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG.LABEL_ALIGN[g[1]]||"central");for(var h= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16651 b.label.split("\n"),i=h.length;f.childNodes.length>i;)f.removeChild(f.lastChild);for(var j=0;j<i;j++){var k=this.nodeFactory(a+d+"_tspan_"+j,"tspan");!0===b.labelSelect&&(k._featureId=a,k._geometry=c,k._geometryClass=c.CLASS_NAME);!1===OpenLayers.IS_GECKO&&k.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[g[1]]||"-35%");k.setAttribute("x",e);if(0==j){var l=OpenLayers.Renderer.SVG.LABEL_VFACTOR[g[1]];null==l&&(l=-0.5);k.setAttribute("dy",l*(i-1)+"em")}else k.setAttribute("dy", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16652 "1em");k.textContent=""===h[j]?" ":h[j];k.parentNode||f.appendChild(k)}f.parentNode||this.textRoot.appendChild(f)},getComponentsString:function(a,b){for(var c=[],d=!0,e=a.length,f=[],g,h=0;h<e;h++)g=a[h],c.push(g),(g=this.getShortString(g))?f.push(g):(0<h&&this.getShortString(a[h-1])&&f.push(this.clipLine(a[h],a[h-1])),h<e-1&&this.getShortString(a[h+1])&&f.push(this.clipLine(a[h],a[h+1])),d=!1);return{path:f.join(b||","),complete:d}},clipLine:function(a,b){if(b.equals(a))return"";var c=this.getResolution(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16653 d=this.MAX_PIXEL-this.translationParameters.x,e=this.MAX_PIXEL-this.translationParameters.y,f=(b.x-this.featureDx)/c+this.left,g=this.top-b.y/c,h=(a.x-this.featureDx)/c+this.left,c=this.top-a.y/c,i;if(h<-d||h>d)i=(c-g)/(h-f),h=0>h?-d:d,c=g+(h-f)*i;if(c<-e||c>e)i=(h-f)/(c-g),c=0>c?-e:e,h=f+(c-g)*i;return h+","+c},getShortString:function(a){var b=this.getResolution(),c=(a.x-this.featureDx)/b+this.left,a=this.top-a.y/b;return this.inValidRange(c,a)?c+","+a:!1},getPosition:function(a){return{x:parseFloat(a.getAttributeNS(null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16654 "cx")),y:parseFloat(a.getAttributeNS(null,"cy"))}},importSymbol:function(a){this.defs||(this.defs=this.createDefs());var b=this.container.id+"-"+a,c=document.getElementById(b);if(null!=c)return c;var d=OpenLayers.Renderer.symbol[a];if(!d)throw Error(a+" is not a valid symbol name");var a=this.nodeFactory(b,"symbol"),e=this.nodeFactory(null,"polygon");a.appendChild(e);for(var c=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0),f=[],g,h,i=0;i<d.length;i+=2)g=d[i],h=d[i+1],c.left=Math.min(c.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16655 g),c.bottom=Math.min(c.bottom,h),c.right=Math.max(c.right,g),c.top=Math.max(c.top,h),f.push(g,",",h);e.setAttributeNS(null,"points",f.join(" "));d=c.getWidth();e=c.getHeight();a.setAttributeNS(null,"viewBox",[c.left-d,c.bottom-e,3*d,3*e].join(" "));this.symbolMetrics[b]=[Math.max(d,e),c.getCenterLonLat().lon,c.getCenterLonLat().lat];this.defs.appendChild(a);return a},getFeatureIdFromEvent:function(a){var b=OpenLayers.Renderer.Elements.prototype.getFeatureIdFromEvent.apply(this,arguments);b||(b=a.target, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16656 b=b.parentNode&&b!=this.rendererRoot?b.parentNode._featureId:void 0);return b},CLASS_NAME:"OpenLayers.Renderer.SVG"});OpenLayers.Renderer.SVG.LABEL_ALIGN={l:"start",r:"end",b:"bottom",t:"hanging"};OpenLayers.Renderer.SVG.LABEL_VSHIFT={t:"-70%",b:"0"};OpenLayers.Renderer.SVG.LABEL_VFACTOR={t:0,b:-1};OpenLayers.Renderer.SVG.preventDefault=function(a){a.preventDefault&&a.preventDefault()};OpenLayers.Format.SLD.v1_0_0=OpenLayers.Class(OpenLayers.Format.SLD.v1,{VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd",CLASS_NAME:"OpenLayers.Format.SLD.v1_0_0"});OpenLayers.Format.OWSContext=OpenLayers.Class(OpenLayers.Format.Context,{defaultVersion:"0.3.1",getVersion:function(a,b){var c=OpenLayers.Format.XML.VersionedOGC.prototype.getVersion.apply(this,arguments);"0.3.0"===c&&(c=this.defaultVersion);return c},toContext:function(a){var b={};"OpenLayers.Map"==a.CLASS_NAME&&(b.bounds=a.getExtent(),b.maxExtent=a.maxExtent,b.projection=a.projection,b.size=a.getSize(),b.layers=a.layers);return b},CLASS_NAME:"OpenLayers.Format.OWSContext"});OpenLayers.Format.OWSContext.v0_3_1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{owc:"http://www.opengis.net/ows-context",gml:"http://www.opengis.net/gml",kml:"http://www.opengis.net/kml/2.2",ogc:"http://www.opengis.net/ogc",ows:"http://www.opengis.net/ows",sld:"http://www.opengis.net/sld",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},VERSION:"0.3.1",schemaLocation:"http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16657 defaultPrefix:"owc",extractAttributes:!0,xy:!0,regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},featureNS:"http://mapserver.gis.umn.edu/mapserver",featureType:"vector",geometryName:"geometry",nestingLayerLookup:null,initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);OpenLayers.Format.GML.v2.prototype.setGeometryTypes.call(this)},setNestingPath:function(a){if(a.layersContext)for(var b=0,c=a.layersContext.length;b<c;b++){var d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16658 a.layersContext[b],e=[],f=a.title||"";a.metadata&&a.metadata.nestingPath&&(e=a.metadata.nestingPath.slice());""!=f&&e.push(f);d.metadata.nestingPath=e;d.layersContext&&this.setNestingPath(d)}},decomposeNestingPath:function(a){var b=[];if(OpenLayers.Util.isArray(a)){for(a=a.slice();0<a.length;)b.push(a.slice()),a.pop();b.reverse()}return b},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16659 b);this.setNestingPath({layersContext:b.layersContext});a=[];this.processLayer(a,b);delete b.layersContext;b.layersContext=a;return b},processLayer:function(a,b){if(b.layersContext)for(var c=0,d=b.layersContext.length;c<d;c++){var e=b.layersContext[c];a.push(e);e.layersContext&&this.processLayer(a,e)}},write:function(a,b){this.nestingLayerLookup={};b=b||{};OpenLayers.Util.applyDefaults(b,a);var c=this.writeNode("OWSContext",b);this.nestingLayerLookup=null;this.setAttributeNS(c,this.namespaces.xsi, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16660 "xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this,[c])},readers:{kml:{Document:function(a,b){b.features=(new OpenLayers.Format.KML({kmlns:this.namespaces.kml,extractStyles:!0})).read(a)}},owc:{OWSContext:function(a,b){this.readChildNodes(a,b)},General:function(a,b){this.readChildNodes(a,b)},ResourceList:function(a,b){this.readChildNodes(a,b)},Layer:function(a,b){var c={metadata:{},visibility:"1"!=a.getAttribute("hidden"),queryable:"1"==a.getAttribute("queryable"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16661 opacity:null!=a.getAttribute("opacity")?parseFloat(a.getAttribute("opacity")):null,name:a.getAttribute("name"),categoryLayer:null==a.getAttribute("name"),formats:[],styles:[]};b.layersContext||(b.layersContext=[]);b.layersContext.push(c);this.readChildNodes(a,c)},InlineGeometry:function(a,b){b.features=[];var c=this.getElementsByTagNameNS(a,this.namespaces.gml,"featureMember"),d;1<=c.length&&(d=c[0]);d&&d.firstChild&&(c=d.firstChild.nextSibling?d.firstChild.nextSibling:d.firstChild,this.setNamespace("feature", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16662 c.namespaceURI),this.featureType=c.localName||c.nodeName.split(":").pop(),this.readChildNodes(a,b))},Server:function(a,b){if(!b.service&&!b.version||b.service!=OpenLayers.Format.Context.serviceTypes.WMS)b.service=a.getAttribute("service"),b.version=a.getAttribute("version"),this.readChildNodes(a,b)},Name:function(a,b){b.name=this.getChildValue(a);this.readChildNodes(a,b)},Title:function(a,b){b.title=this.getChildValue(a);this.readChildNodes(a,b)},StyleList:function(a,b){this.readChildNodes(a,b.styles)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16663 Style:function(a,b){var c={};b.push(c);this.readChildNodes(a,c)},LegendURL:function(a,b){var c={};b.legend=c;this.readChildNodes(a,c)},OnlineResource:function(a,b){b.url=this.getAttributeNS(a,this.namespaces.xlink,"href");this.readChildNodes(a,b)}},ows:OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers.ows,gml:OpenLayers.Format.GML.v2.prototype.readers.gml,sld:OpenLayers.Format.SLD.v1_0_0.prototype.readers.sld,feature:OpenLayers.Format.GML.v2.prototype.readers.feature},writers:{owc:{OWSContext:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16664 this.createElementNSPlus("OWSContext",{attributes:{version:this.VERSION,id:a.id||OpenLayers.Util.createUniqueID("OpenLayers_OWSContext_")}});this.writeNode("General",a,b);this.writeNode("ResourceList",a,b);return b},General:function(a){var b=this.createElementNSPlus("General");this.writeNode("ows:BoundingBox",a,b);this.writeNode("ows:Title",a.title||"OpenLayers OWSContext",b);return b},ResourceList:function(a){for(var b=this.createElementNSPlus("ResourceList"),c=0,d=a.layers.length;c<d;c++){var e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16665 a.layers[c],f=this.decomposeNestingPath(e.metadata.nestingPath);this.writeNode("_Layer",{layer:e,subPaths:f},b)}return b},Server:function(a){var b=this.createElementNSPlus("Server",{attributes:{version:a.version,service:a.service}});this.writeNode("OnlineResource",a,b);return b},OnlineResource:function(a){return this.createElementNSPlus("OnlineResource",{attributes:{"xlink:href":a.url}})},InlineGeometry:function(a){var b=this.createElementNSPlus("InlineGeometry");this.writeNode("gml:boundedBy",a.getDataExtent(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16666 b);for(var c=0,d=a.features.length;c<d;c++)this.writeNode("gml:featureMember",a.features[c],b);return b},StyleList:function(a){for(var b=this.createElementNSPlus("StyleList"),c=0,d=a.length;c<d;c++)this.writeNode("Style",a[c],b);return b},Style:function(a){var b=this.createElementNSPlus("Style");this.writeNode("Name",a,b);this.writeNode("Title",a,b);a.legend&&this.writeNode("LegendURL",a,b);return b},Name:function(a){return this.createElementNSPlus("Name",{value:a.name})},Title:function(a){return this.createElementNSPlus("Title", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16667 {value:a.title})},LegendURL:function(a){var b=this.createElementNSPlus("LegendURL");this.writeNode("OnlineResource",a.legend,b);return b},_WMS:function(a){var b=this.createElementNSPlus("Layer",{attributes:{name:a.params.LAYERS,queryable:a.queryable?"1":"0",hidden:a.visibility?"0":"1",opacity:a.hasOwnProperty("opacity")?a.opacity:null}});this.writeNode("ows:Title",a.name,b);this.writeNode("ows:OutputFormat",a.params.FORMAT,b);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.WMS, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16668 version:a.params.VERSION,url:a.url},b);a.metadata.styles&&0<a.metadata.styles.length&&this.writeNode("StyleList",a.metadata.styles,b);return b},_Layer:function(a){var b,c,d;b=a.layer;c=a.subPaths;d=null;0<c.length?(b=c[0].join("/"),c=b.lastIndexOf("/"),d=this.nestingLayerLookup[b],c=0<c?b.substring(c+1,b.length):b,d||(d=this.createElementNSPlus("Layer"),this.writeNode("ows:Title",c,d),this.nestingLayerLookup[b]=d),a.subPaths.shift(),this.writeNode("_Layer",a,d)):(b instanceof OpenLayers.Layer.WMS? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16669 d=this.writeNode("_WMS",b):b instanceof OpenLayers.Layer.Vector&&(b.protocol instanceof OpenLayers.Protocol.WFS.v1?d=this.writeNode("_WFS",b):b.protocol instanceof OpenLayers.Protocol.HTTP?b.protocol.format instanceof OpenLayers.Format.GML?(b.protocol.format.version="2.1.2",d=this.writeNode("_GML",b)):b.protocol.format instanceof OpenLayers.Format.KML&&(b.protocol.format.version="2.2",d=this.writeNode("_KML",b)):(this.setNamespace("feature",this.featureNS),d=this.writeNode("_InlineGeometry",b))), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16670 b.options.maxScale&&this.writeNode("sld:MinScaleDenominator",b.options.maxScale,d),b.options.minScale&&this.writeNode("sld:MaxScaleDenominator",b.options.minScale,d),this.nestingLayerLookup[b.name]=d);return d},_WFS:function(a){var b=this.createElementNSPlus("Layer",{attributes:{name:a.protocol.featurePrefix+":"+a.protocol.featureType,hidden:a.visibility?"0":"1"}});this.writeNode("ows:Title",a.name,b);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.WFS,version:a.protocol.version, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16671 url:a.protocol.url},b);return b},_InlineGeometry:function(a){var b=this.createElementNSPlus("Layer",{attributes:{name:this.featureType,hidden:a.visibility?"0":"1"}});this.writeNode("ows:Title",a.name,b);this.writeNode("InlineGeometry",a,b);return b},_GML:function(a){var b=this.createElementNSPlus("Layer");this.writeNode("ows:Title",a.name,b);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.GML,url:a.protocol.url,version:a.protocol.format.version},b);return b},_KML:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16672 this.createElementNSPlus("Layer");this.writeNode("ows:Title",a.name,b);this.writeNode("Server",{service:OpenLayers.Format.Context.serviceTypes.KML,version:a.protocol.format.version,url:a.protocol.url},b);return b}},gml:OpenLayers.Util.applyDefaults({boundedBy:function(a){var b=this.createElementNSPlus("gml:boundedBy");this.writeNode("gml:Box",a,b);return b}},OpenLayers.Format.GML.v2.prototype.writers.gml),ows:OpenLayers.Format.OWSCommon.v1_0_0.prototype.writers.ows,sld:OpenLayers.Format.SLD.v1_0_0.prototype.writers.sld, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16673 feature:OpenLayers.Format.GML.v2.prototype.writers.feature},CLASS_NAME:"OpenLayers.Format.OWSContext.v0_3_1"});OpenLayers.Control.ScaleLine=OpenLayers.Class(OpenLayers.Control,{maxWidth:100,topOutUnits:"km",topInUnits:"m",bottomOutUnits:"mi",bottomInUnits:"ft",eTop:null,eBottom:null,geodesic:!1,draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.eTop||(this.eTop=document.createElement("div"),this.eTop.className=this.displayClass+"Top",this.div.appendChild(this.eTop),this.eTop.style.visibility=""==this.topOutUnits||""==this.topInUnits?"hidden":"visible",this.eBottom=document.createElement("div"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16674 this.eBottom.className=this.displayClass+"Bottom",this.div.appendChild(this.eBottom),this.eBottom.style.visibility=""==this.bottomOutUnits||""==this.bottomInUnits?"hidden":"visible");this.map.events.register("moveend",this,this.update);this.update();return this.div},getBarLen:function(a){var b=parseInt(Math.log(a)/Math.log(10)),b=Math.pow(10,b),a=parseInt(a/b);return(5<a?5:2<a?2:1)*b},update:function(){var a=this.map.getResolution();if(a){var b=this.map.getUnits(),c=OpenLayers.INCHES_PER_UNIT,d=this.maxWidth* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16675 a*c[b],e=1;!0===this.geodesic&&(e=(this.map.getGeodesicPixelSize().w||1.0E-6)*this.maxWidth/(d/c.km),d*=e);var f,g;1E5<d?(f=this.topOutUnits,g=this.bottomOutUnits):(f=this.topInUnits,g=this.bottomInUnits);var h=d/c[f],i=d/c[g],d=this.getBarLen(h),j=this.getBarLen(i),h=d/c[b]*c[f],i=j/c[b]*c[g],b=h/a/e,a=i/a/e;"visible"==this.eBottom.style.visibility&&(this.eBottom.style.width=Math.round(a)+"px",this.eBottom.innerHTML=j+" "+g);"visible"==this.eTop.style.visibility&&(this.eTop.style.width=Math.round(b)+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16676 "px",this.eTop.innerHTML=d+" "+f)}},CLASS_NAME:"OpenLayers.Control.ScaleLine"});OpenLayers.Icon=OpenLayers.Class({url:null,size:null,offset:null,calculateOffset:null,imageDiv:null,px:null,initialize:function(a,b,c,d){this.url=a;this.size=b||{w:20,h:20};this.offset=c||{x:-(this.size.w/2),y:-(this.size.h/2)};this.calculateOffset=d;a=OpenLayers.Util.createUniqueID("OL_Icon_");this.imageDiv=OpenLayers.Util.createAlphaImageDiv(a)},destroy:function(){this.erase();OpenLayers.Event.stopObservingElement(this.imageDiv.firstChild);this.imageDiv.innerHTML="";this.imageDiv=null},clone:function(){return new OpenLayers.Icon(this.url, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16677 this.size,this.offset,this.calculateOffset)},setSize:function(a){null!=a&&(this.size=a);this.draw()},setUrl:function(a){null!=a&&(this.url=a);this.draw()},draw:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,this.size,this.url,"absolute");this.moveTo(a);return this.imageDiv},erase:function(){null!=this.imageDiv&&null!=this.imageDiv.parentNode&&OpenLayers.Element.remove(this.imageDiv)},setOpacity:function(a){OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,null,null,null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16678 null,null,null,a)},moveTo:function(a){null!=a&&(this.px=a);null!=this.imageDiv&&(null==this.px?this.display(!1):(this.calculateOffset&&(this.offset=this.calculateOffset(this.size)),OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv,null,{x:this.px.x+this.offset.x,y:this.px.y+this.offset.y})))},display:function(a){this.imageDiv.style.display=a?"":"none"},isDrawn:function(){return this.imageDiv&&this.imageDiv.parentNode&&11!=this.imageDiv.parentNode.nodeType},CLASS_NAME:"OpenLayers.Icon"});OpenLayers.Marker=OpenLayers.Class({icon:null,lonlat:null,events:null,map:null,initialize:function(a,b){this.lonlat=a;var c=b?b:OpenLayers.Marker.defaultIcon();null==this.icon?this.icon=c:(this.icon.url=c.url,this.icon.size=c.size,this.icon.offset=c.offset,this.icon.calculateOffset=c.calculateOffset);this.events=new OpenLayers.Events(this,this.icon.imageDiv)},destroy:function(){this.erase();this.map=null;this.events.destroy();this.events=null;null!=this.icon&&(this.icon.destroy(),this.icon=null)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16679 draw:function(a){return this.icon.draw(a)},erase:function(){null!=this.icon&&this.icon.erase()},moveTo:function(a){null!=a&&null!=this.icon&&this.icon.moveTo(a);this.lonlat=this.map.getLonLatFromLayerPx(a)},isDrawn:function(){return this.icon&&this.icon.isDrawn()},onScreen:function(){var a=!1;this.map&&(a=this.map.getExtent().containsLonLat(this.lonlat));return a},inflate:function(a){this.icon&&this.icon.setSize({w:this.icon.size.w*a,h:this.icon.size.h*a})},setOpacity:function(a){this.icon.setOpacity(a)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16680 setUrl:function(a){this.icon.setUrl(a)},display:function(a){this.icon.display(a)},CLASS_NAME:"OpenLayers.Marker"});OpenLayers.Marker.defaultIcon=function(){return new OpenLayers.Icon(OpenLayers.Util.getImageLocation("marker.png"),{w:21,h:25},{x:-10.5,y:-25})};OpenLayers.Layer.TileCache=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,format:"image/png",serverResolutions:null,initialize:function(a,b,c,d){this.layername=c;OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a,b,{},d]);this.extension=this.format.split("/")[1].toLowerCase();this.extension="jpg"==this.extension?"jpeg":this.extension},clone:function(a){null==a&&(a=new OpenLayers.Layer.TileCache(this.name,this.url,this.layername,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16681 [a])},getURL:function(a){function b(a,b){for(var a=""+a,c=[],d=0;d<b;++d)c.push("0");return c.join("").substring(0,b-a.length)+a}var c=this.getServerResolution(),d=this.maxExtent,e=this.tileSize,f=Math.round((a.left-d.left)/(c*e.w)),a=Math.round((a.bottom-d.bottom)/(c*e.h)),c=null!=this.serverResolutions?OpenLayers.Util.indexOf(this.serverResolutions,c):this.map.getZoom(),f=[this.layername,b(c,2),b(parseInt(f/1E6),3),b(parseInt(f/1E3)%1E3,3),b(parseInt(f)%1E3,3),b(parseInt(a/1E6),3),b(parseInt(a/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16682 1E3)%1E3,3),b(parseInt(a)%1E3,3)+"."+this.extension].join("/"),c=this.url;OpenLayers.Util.isArray(c)&&(c=this.selectUrl(f,c));c="/"==c.charAt(c.length-1)?c:c+"/";return c+f},CLASS_NAME:"OpenLayers.Layer.TileCache"});OpenLayers.Layer.KaMap=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,DEFAULT_PARAMS:{i:"jpeg",map:""},initialize:function(a,b,c,d){OpenLayers.Layer.Grid.prototype.initialize.apply(this,arguments);this.params=OpenLayers.Util.applyDefaults(this.params,this.DEFAULT_PARAMS)},getURL:function(a){var a=this.adjustBounds(a),b=this.map.getResolution(),c=Math.round(1E4*this.map.getScale())/1E4,d=Math.round(a.left/b);return this.getFullRequestString({t:-Math.round(a.top/b),l:d,s:c})},calculateGridLayout:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16683 b,c){var b=c*this.tileSize.w,c=c*this.tileSize.h,d=a.left,e=Math.floor(d/b)-this.buffer,d=-(d/b-e)*this.tileSize.w,e=e*b,a=a.top,f=Math.ceil(a/c)+this.buffer;return{tilelon:b,tilelat:c,tileoffsetlon:e,tileoffsetlat:f*c,tileoffsetx:d,tileoffsety:-(f-a/c+1)*this.tileSize.h}},clone:function(a){null==a&&(a=new OpenLayers.Layer.KaMap(this.name,this.url,this.params,this.getOptions()));a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a]);null!=this.tileSize&&(a.tileSize=this.tileSize.clone());a.grid= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16684 [];return a},getTileBounds:function(a){var b=this.getResolution(),c=b*this.tileSize.w,b=b*this.tileSize.h,d=this.getLonLatFromViewPortPx(a),a=c*Math.floor(d.lon/c),d=b*Math.floor(d.lat/b);return new OpenLayers.Bounds(a,d,a+c,d+b)},CLASS_NAME:"OpenLayers.Layer.KaMap"});OpenLayers.Control.TransformFeature=OpenLayers.Class(OpenLayers.Control,{geometryTypes:null,layer:null,preserveAspectRatio:!1,rotate:!0,feature:null,renderIntent:"temporary",rotationHandleSymbolizer:null,box:null,center:null,scale:1,ratio:1,rotation:0,handles:null,rotationHandles:null,dragControl:null,irregular:!1,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);this.layer=a;this.rotationHandleSymbolizer||(this.rotationHandleSymbolizer={stroke:!1,pointRadius:10,fillOpacity:0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16685 cursor:"pointer"});this.createBox();this.createControl()},activate:function(){var a=!1;OpenLayers.Control.prototype.activate.apply(this,arguments)&&(this.dragControl.activate(),this.layer.addFeatures([this.box]),this.rotate&&this.layer.addFeatures(this.rotationHandles),this.layer.addFeatures(this.handles),a=!0);return a},deactivate:function(){var a=!1;OpenLayers.Control.prototype.deactivate.apply(this,arguments)&&(this.layer.removeFeatures(this.handles),this.rotate&&this.layer.removeFeatures(this.rotationHandles), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16686 this.layer.removeFeatures([this.box]),this.dragControl.deactivate(),a=!0);return a},setMap:function(a){this.dragControl.setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},setFeature:function(a,b){var b=OpenLayers.Util.applyDefaults(b,{rotation:0,scale:1,ratio:1}),c=this.rotation,d=this.center;OpenLayers.Util.extend(this,b);if(!1!==this.events.triggerEvent("beforesetfeature",{feature:a})){this.feature=a;this.activate();this._setfeature=!0;var e=this.feature.geometry.getBounds();this.box.move(e.getCenterLonLat()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16687 this.box.geometry.rotate(-c,d);this._angle=0;this.rotation?(c=a.geometry.clone(),c.rotate(-this.rotation,this.center),c=new OpenLayers.Feature.Vector(c.getBounds().toGeometry()),c.geometry.rotate(this.rotation,this.center),this.box.geometry.rotate(this.rotation,this.center),this.box.move(c.geometry.getBounds().getCenterLonLat()),c=c.geometry.components[0].components[0].getBounds().getCenterLonLat()):c=new OpenLayers.LonLat(e.left,e.bottom);this.handles[0].move(c);delete this._setfeature;this.events.triggerEvent("setfeature", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16688 {feature:a})}},unsetFeature:function(){this.active?this.deactivate():(this.feature=null,this.rotation=0,this.ratio=this.scale=1)},createBox:function(){var a=this;this.center=new OpenLayers.Geometry.Point(0,0);this.box=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString([new OpenLayers.Geometry.Point(-1,-1),new OpenLayers.Geometry.Point(0,-1),new OpenLayers.Geometry.Point(1,-1),new OpenLayers.Geometry.Point(1,0),new OpenLayers.Geometry.Point(1,1),new OpenLayers.Geometry.Point(0,1),new OpenLayers.Geometry.Point(-1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16689 1),new OpenLayers.Geometry.Point(-1,0),new OpenLayers.Geometry.Point(-1,-1)]),null,"string"==typeof this.renderIntent?null:this.renderIntent);this.box.geometry.move=function(b,c){a._moving=!0;OpenLayers.Geometry.LineString.prototype.move.apply(this,arguments);a.center.move(b,c);delete a._moving};for(var b=function(a,b){OpenLayers.Geometry.Point.prototype.move.apply(this,arguments);this._rotationHandle&&this._rotationHandle.geometry.move(a,b);this._handle.geometry.move(a,b)},c=function(a,b,c){OpenLayers.Geometry.Point.prototype.resize.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16690 arguments);this._rotationHandle&&this._rotationHandle.geometry.resize(a,b,c);this._handle.geometry.resize(a,b,c)},d=function(a,b){OpenLayers.Geometry.Point.prototype.rotate.apply(this,arguments);this._rotationHandle&&this._rotationHandle.geometry.rotate(a,b);this._handle.geometry.rotate(a,b)},e=function(b,c){var d=this.x,e=this.y;OpenLayers.Geometry.Point.prototype.move.call(this,b,c);if(!a._moving){var f=a.dragControl.handlers.drag.evt,g=!(!a._setfeature&&a.preserveAspectRatio)&&!(f&&f.shiftKey), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16691 h=new OpenLayers.Geometry.Point(d,e),f=a.center;this.rotate(-a.rotation,f);h.rotate(-a.rotation,f);var i=this.x-f.x,j=this.y-f.y,k=i-(this.x-h.x),l=j-(this.y-h.y);a.irregular&&!a._setfeature&&(i-=(this.x-h.x)/2,j-=(this.y-h.y)/2);this.x=d;this.y=e;h=1;g?(j=1.0E-5>Math.abs(l)?1:j/l,h=(1.0E-5>Math.abs(k)?1:i/k)/j):(k=Math.sqrt(k*k+l*l),j=Math.sqrt(i*i+j*j)/k);a._moving=!0;a.box.geometry.rotate(-a.rotation,f);delete a._moving;a.box.geometry.resize(j,f,h);a.box.geometry.rotate(a.rotation,f);a.transformFeature({scale:j, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16692 ratio:h});a.irregular&&!a._setfeature&&(i=f.clone(),i.x+=1.0E-5>Math.abs(d-f.x)?0:this.x-d,i.y+=1.0E-5>Math.abs(e-f.y)?0:this.y-e,a.box.geometry.move(this.x-d,this.y-e),a.transformFeature({center:i}))}},f=function(b,c){var d=this.x,e=this.y;OpenLayers.Geometry.Point.prototype.move.call(this,b,c);if(!a._moving){var f=a.dragControl.handlers.drag.evt,f=f&&f.shiftKey?45:1,g=a.center,h=this.x-g.x,i=this.y-g.y;this.x=d;this.y=e;d=Math.atan2(i-c,h-b);d=Math.atan2(i,h)-d;d*=180/Math.PI;a._angle=(a._angle+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16693 d)%360;d=a.rotation%f;if(Math.abs(a._angle)>=f||0!==d)d=Math.round(a._angle/f)*f-d,a._angle=0,a.box.geometry.rotate(d,g),a.transformFeature({rotation:d})}},g=Array(8),h=Array(4),i,j,k,l="sw s se e ne n nw w".split(" "),m=0;8>m;++m)i=this.box.geometry.components[m],j=new OpenLayers.Feature.Vector(i.clone(),{role:l[m]+"-resize"},"string"==typeof this.renderIntent?null:this.renderIntent),0==m%2&&(k=new OpenLayers.Feature.Vector(i.clone(),{role:l[m]+"-rotate"},"string"==typeof this.rotationHandleSymbolizer? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16694 null:this.rotationHandleSymbolizer),k.geometry.move=f,i._rotationHandle=k,h[m/2]=k),i.move=b,i.resize=c,i.rotate=d,j.geometry.move=e,i._handle=j,g[m]=j;this.rotationHandles=h;this.handles=g},createControl:function(){var a=this;this.dragControl=new OpenLayers.Control.DragFeature(this.layer,{documentDrag:!0,moveFeature:function(b){this.feature===a.feature&&(this.feature=a.box);OpenLayers.Control.DragFeature.prototype.moveFeature.apply(this,arguments)},onDrag:function(b){b===a.box&&a.transformFeature({center:a.center})}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16695 onStart:function(b){var c=!a.geometryTypes||-1!==OpenLayers.Util.indexOf(a.geometryTypes,b.geometry.CLASS_NAME),d=OpenLayers.Util.indexOf(a.handles,b),d=d+OpenLayers.Util.indexOf(a.rotationHandles,b);b!==a.feature&&(b!==a.box&&-2==d&&c)&&a.setFeature(b)},onComplete:function(){a.events.triggerEvent("transformcomplete",{feature:a.feature})}})},drawHandles:function(){for(var a=this.layer,b=0;8>b;++b)this.rotate&&0===b%2&&a.drawFeature(this.rotationHandles[b/2],this.rotationHandleSymbolizer),a.drawFeature(this.handles[b], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16696 this.renderIntent)},transformFeature:function(a){if(!this._setfeature){this.scale*=a.scale||1;this.ratio*=a.ratio||1;var b=this.rotation;this.rotation=(this.rotation+(a.rotation||0))%360;if(!1!==this.events.triggerEvent("beforetransform",a)){var c=this.feature,d=c.geometry,e=this.center;d.rotate(-b,e);a.scale||a.ratio?d.resize(a.scale,e,a.ratio):a.center&&c.move(a.center.getBounds().getCenterLonLat());d.rotate(this.rotation,e);this.layer.drawFeature(c);c.toState(OpenLayers.State.UPDATE);this.events.triggerEvent("transform", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16697 a)}}this.layer.drawFeature(this.box,this.renderIntent);this.drawHandles()},destroy:function(){for(var a,b=0;8>b;++b)a=this.box.geometry.components[b],a._handle.destroy(),a._handle=null,a._rotationHandle&&a._rotationHandle.destroy(),a._rotationHandle=null;this.rotationHandles=this.rotationHandleSymbolizer=this.handles=this.feature=this.center=null;this.box.destroy();this.layer=this.box=null;this.dragControl.destroy();this.dragControl=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16698 CLASS_NAME:"OpenLayers.Control.TransformFeature"});OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:"olHandlerBoxZoomBox",boxOffsets:null,initialize:function(a,b,c){OpenLayers.Handler.prototype.initialize.apply(this,arguments);this.dragHandler=new OpenLayers.Handler.Drag(this,{down:this.startBox,move:this.moveBox,out:this.removeBox,up:this.endBox},{keyMask:this.keyMask})},destroy:function(){OpenLayers.Handler.prototype.destroy.apply(this,arguments);this.dragHandler&&(this.dragHandler.destroy(),this.dragHandler= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16699 null)},setMap:function(a){OpenLayers.Handler.prototype.setMap.apply(this,arguments);this.dragHandler&&this.dragHandler.setMap(a)},startBox:function(){this.callback("start",[]);this.zoomBox=OpenLayers.Util.createDiv("zoomBox",{x:-9999,y:-9999});this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE.Popup-1;this.map.viewPortDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.viewPortDiv,"olDrawBox")},moveBox:function(a){var b=this.dragHandler.start.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16700 c=this.dragHandler.start.y,d=Math.abs(b-a.x),e=Math.abs(c-a.y),f=this.getBoxOffsets();this.zoomBox.style.width=d+f.width+1+"px";this.zoomBox.style.height=e+f.height+1+"px";this.zoomBox.style.left=(a.x<b?b-d-f.left:b-f.left)+"px";this.zoomBox.style.top=(a.y<c?c-e-f.top:c-f.top)+"px"},endBox:function(a){var b;if(5<Math.abs(this.dragHandler.start.x-a.x)||5<Math.abs(this.dragHandler.start.y-a.y)){var c=this.dragHandler.start;b=Math.min(c.y,a.y);var d=Math.max(c.y,a.y),e=Math.min(c.x,a.x),a=Math.max(c.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16701 a.x);b=new OpenLayers.Bounds(e,d,a,b)}else b=this.dragHandler.start.clone();this.removeBox();this.callback("done",[b])},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.boxOffsets=this.zoomBox=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDrawBox")},activate:function(){return OpenLayers.Handler.prototype.activate.apply(this,arguments)?(this.dragHandler.activate(),!0):!1},deactivate:function(){return OpenLayers.Handler.prototype.deactivate.apply(this,arguments)? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16702 (this.dragHandler.deactivate()&&this.zoomBox&&this.removeBox(),!0):!1},getBoxOffsets:function(){if(!this.boxOffsets){var a=document.createElement("div");a.style.position="absolute";a.style.border="1px solid black";a.style.width="3px";document.body.appendChild(a);var b=3==a.clientWidth;document.body.removeChild(a);var a=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width")),c=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width")),d=parseInt(OpenLayers.Element.getStyle(this.zoomBox, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16703 "border-top-width")),e=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"));this.boxOffsets={left:a,right:c,top:d,bottom:e,width:!1===b?a+c:0,height:!1===b?d+e:0}}return this.boxOffsets},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Control.ZoomBox=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,out:!1,keyMask:null,alwaysZoom:!1,draw:function(){this.handler=new OpenLayers.Handler.Box(this,{done:this.zoomBox},{keyMask:this.keyMask})},zoomBox:function(a){if(a instanceof OpenLayers.Bounds){var b;if(this.out){b=Math.abs(a.right-a.left);var c=Math.abs(a.top-a.bottom);b=Math.min(this.map.size.h/c,this.map.size.w/b);var c=this.map.getExtent(),d=this.map.getLonLatFromPixel(a.getCenterPixel()),a=d.lon- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16704 c.getWidth()/2*b,e=d.lon+c.getWidth()/2*b,f=d.lat-c.getHeight()/2*b;b=d.lat+c.getHeight()/2*b;b=new OpenLayers.Bounds(a,f,e,b)}else b=this.map.getLonLatFromPixel({x:a.left,y:a.bottom}),c=this.map.getLonLatFromPixel({x:a.right,y:a.top}),b=new OpenLayers.Bounds(b.lon,b.lat,c.lon,c.lat);c=this.map.getZoom();this.map.zoomToExtent(b);c==this.map.getZoom()&&!0==this.alwaysZoom&&this.map.zoomTo(c+(this.out?-1:1))}else this.out?this.map.setCenter(this.map.getLonLatFromPixel(a),this.map.getZoom()-1):this.map.setCenter(this.map.getLonLatFromPixel(a), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16705 this.map.getZoom()+1)},CLASS_NAME:"OpenLayers.Control.ZoomBox"});OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:!1,interval:1,documentDrag:!1,kinetic:null,enableKinetic:!1,kineticInterval:10,draw:function(){if(this.enableKinetic){var a={interval:this.kineticInterval};"object"===typeof this.enableKinetic&&(a=OpenLayers.Util.extend(a,this.enableKinetic));this.kinetic=new OpenLayers.Kinetic(a)}this.handler=new OpenLayers.Handler.Drag(this,{move:this.panMap,done:this.panMapDone,down:this.panMapStart},{interval:this.interval, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16706 documentDrag:this.documentDrag})},panMapStart:function(){this.kinetic&&this.kinetic.begin()},panMap:function(a){this.kinetic&&this.kinetic.update(a);this.panned=!0;this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:!0,animate:!1})},panMapDone:function(a){if(this.panned){var b=null;this.kinetic&&(b=this.kinetic.end(a));this.map.pan(this.handler.last.x-a.x,this.handler.last.y-a.y,{dragging:!!b,animate:!1});if(b){var c=this;this.kinetic.move(b,function(a,b,f){c.map.pan(a,b,{dragging:!f, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16707 animate:!1})})}this.panned=!1}},CLASS_NAME:"OpenLayers.Control.DragPan"});OpenLayers.Handler.Click=OpenLayers.Class(OpenLayers.Handler,{delay:300,single:!0,"double":!1,pixelTolerance:0,dblclickTolerance:13,stopSingle:!1,stopDouble:!1,timerId:null,touch:!1,down:null,last:null,first:null,rightclickTimerId:null,touchstart:function(a){this.touch||(this.unregisterMouseListeners(),this.touch=!0);this.down=this.getEventInfo(a);this.last=this.getEventInfo(a);return!0},touchmove:function(a){this.last=this.getEventInfo(a);return!0},touchend:function(a){this.down&&(a.xy=this.last.xy, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16708 a.lastTouches=this.last.touches,this.handleSingle(a),this.down=null);return!0},unregisterMouseListeners:function(){this.map.events.un({mousedown:this.mousedown,mouseup:this.mouseup,click:this.click,dblclick:this.dblclick,scope:this})},mousedown:function(a){this.down=this.getEventInfo(a);this.last=this.getEventInfo(a);return!0},mouseup:function(a){var b=!0;this.checkModifiers(a)&&(this.control.handleRightClicks&&OpenLayers.Event.isRightClick(a))&&(b=this.rightclick(a));return b},rightclick:function(a){if(this.passesTolerance(a)){if(null!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16709 this.rightclickTimerId)return this.clearTimer(),this.callback("dblrightclick",[a]),!this.stopDouble;a=this["double"]?OpenLayers.Util.extend({},a):this.callback("rightclick",[a]);a=OpenLayers.Function.bind(this.delayedRightCall,this,a);this.rightclickTimerId=window.setTimeout(a,this.delay)}return!this.stopSingle},delayedRightCall:function(a){this.rightclickTimerId=null;a&&this.callback("rightclick",[a])},click:function(a){this.last||(this.last=this.getEventInfo(a));this.handleSingle(a);return!this.stopSingle}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16710 dblclick:function(a){this.handleDouble(a);return!this.stopDouble},handleDouble:function(a){this.passesDblclickTolerance(a)&&(this["double"]&&this.callback("dblclick",[a]),this.clearTimer())},handleSingle:function(a){this.passesTolerance(a)&&(null!=this.timerId?(this.last.touches&&1===this.last.touches.length&&(this["double"]&&OpenLayers.Event.stop(a),this.handleDouble(a)),(!this.last.touches||2!==this.last.touches.length)&&this.clearTimer()):(this.first=this.getEventInfo(a),this.queuePotentialClick(this.single? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16711 OpenLayers.Util.extend({},a):null)))},queuePotentialClick:function(a){this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,a),this.delay)},passesTolerance:function(a){var b=!0;if(null!=this.pixelTolerance&&this.down&&this.down.xy&&(b=this.pixelTolerance>=this.down.xy.distanceTo(a.xy))&&this.touch&&this.down.touches.length===this.last.touches.length)for(var a=0,c=this.down.touches.length;a<c;++a)if(this.getTouchDistance(this.down.touches[a],this.last.touches[a])>this.pixelTolerance){b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16712 !1;break}return b},getTouchDistance:function(a,b){return Math.sqrt(Math.pow(a.clientX-b.clientX,2)+Math.pow(a.clientY-b.clientY,2))},passesDblclickTolerance:function(){var a=!0;this.down&&this.first&&(a=this.down.xy.distanceTo(this.first.xy)<=this.dblclickTolerance);return a},clearTimer:function(){null!=this.timerId&&(window.clearTimeout(this.timerId),this.timerId=null);null!=this.rightclickTimerId&&(window.clearTimeout(this.rightclickTimerId),this.rightclickTimerId=null)},delayedCall:function(a){this.timerId= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16713 null;a&&this.callback("click",[a])},getEventInfo:function(a){var b;if(a.touches){var c=a.touches.length;b=Array(c);for(var d,e=0;e<c;e++)d=a.touches[e],b[e]={clientX:d.clientX,clientY:d.clientY}}return{xy:a.xy,touches:b}},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.clearTimer(),this.last=this.first=this.down=null,this.touch=!1,a=!0);return a},CLASS_NAME:"OpenLayers.Handler.Click"});OpenLayers.Control.Navigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,pinchZoom:null,pinchZoomOptions:null,documentDrag:!1,zoomBox:null,zoomBoxEnabled:!0,zoomWheelEnabled:!0,mouseWheelOptions:null,handleRightClicks:!1,zoomBoxKeyMask:OpenLayers.Handler.MOD_SHIFT,autoActivate:!0,initialize:function(a){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();this.dragPan&&this.dragPan.destroy();this.dragPan=null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16714 this.zoomBox&&this.zoomBox.destroy();this.zoomBox=null;this.pinchZoom&&this.pinchZoom.destroy();this.pinchZoom=null;OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){this.dragPan.activate();this.zoomWheelEnabled&&this.handlers.wheel.activate();this.handlers.click.activate();this.zoomBoxEnabled&&this.zoomBox.activate();this.pinchZoom&&this.pinchZoom.activate();return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){this.pinchZoom&&this.pinchZoom.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16715 this.zoomBox.deactivate();this.dragPan.deactivate();this.handlers.click.deactivate();this.handlers.wheel.deactivate();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},draw:function(){this.handleRightClicks&&(this.map.viewPortDiv.oncontextmenu=OpenLayers.Function.False);this.handlers.click=new OpenLayers.Handler.Click(this,{click:this.defaultClick,dblclick:this.defaultDblClick,dblrightclick:this.defaultDblRightClick},{"double":!0,stopDouble:!0});this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16716 documentDrag:this.documentDrag},this.dragPanOptions));this.zoomBox=new OpenLayers.Control.ZoomBox({map:this.map,keyMask:this.zoomBoxKeyMask});this.dragPan.draw();this.zoomBox.draw();this.handlers.wheel=new OpenLayers.Handler.MouseWheel(this,{up:this.wheelUp,down:this.wheelDown},this.mouseWheelOptions);OpenLayers.Control.PinchZoom&&(this.pinchZoom=new OpenLayers.Control.PinchZoom(OpenLayers.Util.extend({map:this.map},this.pinchZoomOptions)))},defaultClick:function(a){a.lastTouches&&2==a.lastTouches.length&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16717 this.map.zoomOut()},defaultDblClick:function(a){this.map.setCenter(this.map.getLonLatFromViewPortPx(a.xy),this.map.zoom+1)},defaultDblRightClick:function(a){this.map.setCenter(this.map.getLonLatFromViewPortPx(a.xy),this.map.zoom-1)},wheelChange:function(a,b){var c=this.map.getZoom(),d=this.map.getZoom()+Math.round(b),d=Math.max(d,0),d=Math.min(d,this.map.getNumZoomLevels());if(d!==c){var e=this.map.getSize(),c=e.w/2-a.xy.x,e=a.xy.y-e.h/2,f=this.map.baseLayer.getResolutionForZoom(d),g=this.map.getLonLatFromPixel(a.xy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16718 this.map.setCenter(new OpenLayers.LonLat(g.lon+c*f,g.lat+e*f),d)}},wheelUp:function(a,b){this.wheelChange(a,b||1)},wheelDown:function(a,b){this.wheelChange(a,b||-1)},disableZoomBox:function(){this.zoomBoxEnabled=!1;this.zoomBox.deactivate()},enableZoomBox:function(){this.zoomBoxEnabled=!0;this.active&&this.zoomBox.activate()},disableZoomWheel:function(){this.zoomWheelEnabled=!1;this.handlers.wheel.deactivate()},enableZoomWheel:function(){this.zoomWheelEnabled=!0;this.active&&this.handlers.wheel.activate()}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16719 CLASS_NAME:"OpenLayers.Control.Navigation"});OpenLayers.Control.DrawFeature=OpenLayers.Class(OpenLayers.Control,{layer:null,callbacks:null,multi:!1,featureAdded:function(){},handlerOptions:null,initialize:function(a,b,c){OpenLayers.Control.prototype.initialize.apply(this,[c]);this.callbacks=OpenLayers.Util.extend({done:this.drawFeature,modify:function(a,b){this.layer.events.triggerEvent("sketchmodified",{vertex:a,feature:b})},create:function(a,b){this.layer.events.triggerEvent("sketchstarted",{vertex:a,feature:b})}},this.callbacks);this.layer= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16720 a;this.handlerOptions=this.handlerOptions||{};this.handlerOptions.layerOptions=OpenLayers.Util.applyDefaults(this.handlerOptions.layerOptions,{renderers:a.renderers,rendererOptions:a.rendererOptions});"multi"in this.handlerOptions||(this.handlerOptions.multi=this.multi);if(a=this.layer.styleMap&&this.layer.styleMap.styles.temporary)this.handlerOptions.layerOptions=OpenLayers.Util.applyDefaults(this.handlerOptions.layerOptions,{styleMap:new OpenLayers.StyleMap({"default":a})});this.handler=new b(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16721 this.callbacks,this.handlerOptions)},drawFeature:function(a){a=new OpenLayers.Feature.Vector(a);!1!==this.layer.events.triggerEvent("sketchcomplete",{feature:a})&&(a.state=OpenLayers.State.INSERT,this.layer.addFeatures([a]),this.featureAdded(a),this.events.triggerEvent("featureadded",{feature:a}))},insertXY:function(a,b){this.handler&&this.handler.line&&this.handler.insertXY(a,b)},insertDeltaXY:function(a,b){this.handler&&this.handler.line&&this.handler.insertDeltaXY(a,b)},insertDirectionLength:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16722 b){this.handler&&this.handler.line&&this.handler.insertDirectionLength(a,b)},insertDeflectionLength:function(a,b){this.handler&&this.handler.line&&this.handler.insertDeflectionLength(a,b)},undo:function(){return this.handler.undo&&this.handler.undo()},redo:function(){return this.handler.redo&&this.handler.redo()},finishSketch:function(){this.handler.finishGeometry()},cancel:function(){this.handler.cancel()},CLASS_NAME:"OpenLayers.Control.DrawFeature"});OpenLayers.Handler.Polygon=OpenLayers.Class(OpenLayers.Handler.Path,{holeModifier:null,drawingHole:!1,polygon:null,createFeature:function(a){a=this.layer.getLonLatFromViewPortPx(a);a=new OpenLayers.Geometry.Point(a.lon,a.lat);this.point=new OpenLayers.Feature.Vector(a);this.line=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LinearRing([this.point.geometry]));this.polygon=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon([this.line.geometry]));this.callback("create",[this.point.geometry, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16723 this.getSketch()]);this.point.geometry.clearBounds();this.layer.addFeatures([this.polygon,this.point],{silent:!0})},addPoint:function(a){if(!this.drawingHole&&this.holeModifier&&this.evt&&this.evt[this.holeModifier])for(var b=this.point.geometry,c=this.control.layer.features,d,e=c.length-1;0<=e;--e)if(d=c[e].geometry,(d instanceof OpenLayers.Geometry.Polygon||d instanceof OpenLayers.Geometry.MultiPolygon)&&d.intersects(b)){b=c[e];this.control.layer.removeFeatures([b],{silent:!0});this.control.layer.events.registerPriority("sketchcomplete", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16724 this,this.finalizeInteriorRing);this.control.layer.events.registerPriority("sketchmodified",this,this.enforceTopology);b.geometry.addComponent(this.line.geometry);this.polygon=b;this.drawingHole=!0;break}OpenLayers.Handler.Path.prototype.addPoint.apply(this,arguments)},getCurrentPointIndex:function(){return this.line.geometry.components.length-2},enforceTopology:function(a){var a=a.vertex,b=this.line.geometry.components;this.polygon.geometry.intersects(a)||(b=b[b.length-3],a.x=b.x,a.y=b.y)},finishGeometry:function(){this.line.geometry.removeComponent(this.line.geometry.components[this.line.geometry.components.length- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16725 2]);this.removePoint();this.finalize()},finalizeInteriorRing:function(){var a=this.line.geometry,b=0!==a.getArea();if(b){for(var c=this.polygon.geometry.components,d=c.length-2;0<=d;--d)if(a.intersects(c[d])){b=!1;break}if(b){d=c.length-2;a:for(;0<d;--d)for(var e=c[d].components,f=0,g=e.length;f<g;++f)if(a.containsPoint(e[f])){b=!1;break a}}}b?this.polygon.state!==OpenLayers.State.INSERT&&(this.polygon.state=OpenLayers.State.UPDATE):this.polygon.geometry.removeComponent(a);this.restoreFeature();return!1}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16726 cancel:function(){this.drawingHole&&(this.polygon.geometry.removeComponent(this.line.geometry),this.restoreFeature(!0));return OpenLayers.Handler.Path.prototype.cancel.apply(this,arguments)},restoreFeature:function(a){this.control.layer.events.unregister("sketchcomplete",this,this.finalizeInteriorRing);this.control.layer.events.unregister("sketchmodified",this,this.enforceTopology);this.layer.removeFeatures([this.polygon],{silent:!0});this.control.layer.addFeatures([this.polygon],{silent:!0});this.drawingHole= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16727 !1;a||this.control.layer.events.triggerEvent("sketchcomplete",{feature:this.polygon})},destroyFeature:function(a){OpenLayers.Handler.Path.prototype.destroyFeature.call(this,a);this.polygon=null},drawFeature:function(){this.layer.drawFeature(this.polygon,this.style);this.layer.drawFeature(this.point,this.style)},getSketch:function(){return this.polygon},getGeometry:function(){var a=this.polygon&&this.polygon.geometry;a&&this.multi&&(a=new OpenLayers.Geometry.MultiPolygon([a]));return a},CLASS_NAME:"OpenLayers.Handler.Polygon"});OpenLayers.Control.EditingToolbar=OpenLayers.Class(OpenLayers.Control.Panel,{citeCompliant:!1,initialize:function(a,b){OpenLayers.Control.Panel.prototype.initialize.apply(this,[b]);this.addControls([new OpenLayers.Control.Navigation]);this.addControls([new OpenLayers.Control.DrawFeature(a,OpenLayers.Handler.Point,{displayClass:"olControlDrawFeaturePoint",handlerOptions:{citeCompliant:this.citeCompliant}}),new OpenLayers.Control.DrawFeature(a,OpenLayers.Handler.Path,{displayClass:"olControlDrawFeaturePath", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16728 handlerOptions:{citeCompliant:this.citeCompliant}}),new OpenLayers.Control.DrawFeature(a,OpenLayers.Handler.Polygon,{displayClass:"olControlDrawFeaturePolygon",handlerOptions:{citeCompliant:this.citeCompliant}})])},draw:function(){var a=OpenLayers.Control.Panel.prototype.draw.apply(this,arguments);null===this.defaultControl&&(this.defaultControl=this.controls[0]);return a},CLASS_NAME:"OpenLayers.Control.EditingToolbar"});OpenLayers.Strategy.BBOX=OpenLayers.Class(OpenLayers.Strategy,{bounds:null,resolution:null,ratio:2,resFactor:null,response:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);a&&(this.layer.events.on({moveend:this.update,refresh:this.update,visibilitychanged:this.update,scope:this}),this.update());return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.layer.events.un({moveend:this.update,refresh:this.update,visibilitychanged:this.update, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16729 scope:this});return a},update:function(a){var b=this.getMapBounds();if(null!==b&&(a&&a.force||this.layer.visibility&&this.layer.calculateInRange()&&this.invalidBounds(b)))this.calculateBounds(b),this.resolution=this.layer.map.getResolution(),this.triggerRead(a)},getMapBounds:function(){if(null===this.layer.map)return null;var a=this.layer.map.getExtent();a&&!this.layer.projection.equals(this.layer.map.getProjectionObject())&&(a=a.clone().transform(this.layer.map.getProjectionObject(),this.layer.projection)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16730 return a},invalidBounds:function(a){a||(a=this.getMapBounds());a=!this.bounds||!this.bounds.containsBounds(a);!a&&this.resFactor&&(a=this.resolution/this.layer.map.getResolution(),a=a>=this.resFactor||a<=1/this.resFactor);return a},calculateBounds:function(a){a||(a=this.getMapBounds());var b=a.getCenterLonLat(),c=a.getWidth()*this.ratio,a=a.getHeight()*this.ratio;this.bounds=new OpenLayers.Bounds(b.lon-c/2,b.lat-a/2,b.lon+c/2,b.lat+a/2)},triggerRead:function(a){this.response&&!(a&&!0===a.noAbort)&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16731 (this.layer.protocol.abort(this.response),this.layer.events.triggerEvent("loadend"));this.layer.events.triggerEvent("loadstart");this.response=this.layer.protocol.read(OpenLayers.Util.applyDefaults({filter:this.createFilter(),callback:this.merge,scope:this},a))},createFilter:function(){var a=new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,value:this.bounds,projection:this.layer.projection});this.layer.filter&&(a=new OpenLayers.Filter.Logical({type:OpenLayers.Filter.Logical.AND, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16732 filters:[this.layer.filter,a]}));return a},merge:function(a){this.layer.destroyFeatures();if((a=a.features)&&0<a.length){var b=this.layer.projection,c=this.layer.map.getProjectionObject();if(!c.equals(b))for(var d,e=0,f=a.length;e<f;++e)(d=a[e].geometry)&&d.transform(b,c);this.layer.addFeatures(a)}this.response=null;this.layer.events.triggerEvent("loadend")},CLASS_NAME:"OpenLayers.Strategy.BBOX"});OpenLayers.Layer.WorldWind=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{},isBaseLayer:!0,lzd:null,zoomLevels:null,initialize:function(a,b,c,d,e,f){this.lzd=c;this.zoomLevels=d;c=[];c.push(a,b,e,f);OpenLayers.Layer.Grid.prototype.initialize.apply(this,c);this.params=OpenLayers.Util.applyDefaults(this.params,this.DEFAULT_PARAMS)},getZoom:function(){var a=this.map.getZoom();this.map.getMaxExtent();return a-=Math.log(this.maxResolution/(this.lzd/512))/Math.log(2)},getURL:function(a){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16733 this.adjustBounds(a),b=this.getZoom(),c=this.map.getMaxExtent(),d=this.lzd/Math.pow(2,this.getZoom()),e=Math.floor((a.left-c.left)/d),a=Math.floor((a.bottom-c.bottom)/d);return this.map.getResolution()<=this.lzd/512&&this.getZoom()<=this.zoomLevels?this.getFullRequestString({L:b,X:e,Y:a}):OpenLayers.Util.getImageLocation("blank.gif")},CLASS_NAME:"OpenLayers.Layer.WorldWind"});OpenLayers.Protocol.CSW=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Protocol.CSW.DEFAULTS),b=OpenLayers.Protocol.CSW["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported CSW version: "+a.version;return new b(a)};OpenLayers.Protocol.CSW.DEFAULTS={version:"2.0.2"};OpenLayers.Format.WMTSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",yx:{"urn:ogc:def:crs:EPSG::4326":!0},createLayer:function(a,b){var c,d={layer:!0,matrixSet:!0},e;for(e in d)if(!(e in b))throw Error("Missing property '"+e+"' in layer configuration.");d=a.contents;e=d.tileMatrixSets[b.matrixSet];for(var f,g=0,h=d.layers.length;g<h;++g)if(d.layers[g].identifier===b.layer){f=d.layers[g];break}if(f&&e){for(var i,g=0,h=f.styles.length;g<h&&!(i=f.styles[g],i.isDefault);++g); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16734 c=new OpenLayers.Layer.WMTS(OpenLayers.Util.applyDefaults(b,{url:"REST"===b.requestEncoding&&f.resourceUrl?f.resourceUrl.tile.template:a.operationsMetadata.GetTile.dcp.http.get[0].url,name:f.title,style:i.identifier,matrixIds:e.matrixIds,tileFullExtent:e.bounds}))}return c},CLASS_NAME:"OpenLayers.Format.WMTSCapabilities"});OpenLayers.Layer.Google.v3={DEFAULTS:{sphericalMercator:!0,projection:"EPSG:900913"},animationEnabled:!0,loadMapObject:function(){this.type||(this.type=google.maps.MapTypeId.ROADMAP);var a,b=OpenLayers.Layer.Google.cache[this.map.id];b?(a=b.mapObject,++b.count):(b=this.map.viewPortDiv,a=document.createElement("div"),a.id=this.map.id+"_GMapContainer",a.style.position="absolute",a.style.width="100%",a.style.height="100%",b.appendChild(a),b=this.map.getCenter(),a=new google.maps.Map(a,{center:b?new google.maps.LatLng(b.lat, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16735 b.lon):new google.maps.LatLng(0,0),zoom:this.map.getZoom()||0,mapTypeId:this.type,disableDefaultUI:!0,keyboardShortcuts:!1,draggable:!1,disableDoubleClickZoom:!0,scrollwheel:!1,streetViewControl:!1}),b={mapObject:a,count:1},OpenLayers.Layer.Google.cache[this.map.id]=b,this.repositionListener=google.maps.event.addListenerOnce(a,"center_changed",OpenLayers.Function.bind(this.repositionMapElements,this)));this.mapObject=a;this.setGMapVisibility(this.visibility)},repositionMapElements:function(){google.maps.event.trigger(this.mapObject, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16736 "resize");var a=this.mapObject.getDiv().firstChild;if(!a||3>a.childNodes.length)return this.repositionTimer=window.setTimeout(OpenLayers.Function.bind(this.repositionMapElements,this),250),!1;for(var b=OpenLayers.Layer.Google.cache[this.map.id],c=this.map.viewPortDiv,d=a.children.length-1;0<=d;--d){if(1000001==a.children[d].style.zIndex){var e=a.children[d];c.appendChild(e);e.style.zIndex="1100";e.style.bottom="";e.className="olLayerGoogleCopyright olLayerGoogleV3";e.style.display="";b.termsOfUse= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16737 e}1E6==a.children[d].style.zIndex&&(e=a.children[d],c.appendChild(e),e.style.zIndex="1100",e.style.bottom="",e.className="olLayerGooglePoweredBy olLayerGoogleV3 gmnoprint",e.style.display="",b.poweredBy=e);10000002==a.children[d].style.zIndex&&c.appendChild(a.children[d])}this.setGMapVisibility(this.visibility)},onMapResize:function(){if(this.visibility)google.maps.event.trigger(this.mapObject,"resize");else{var a=OpenLayers.Layer.Google.cache[this.map.id];if(!a.resized){var b=this;google.maps.event.addListenerOnce(this.mapObject, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16738 "tilesloaded",function(){google.maps.event.trigger(b.mapObject,"resize");b.moveTo(b.map.getCenter(),b.map.getZoom());delete a.resized})}a.resized=!0}},setGMapVisibility:function(a){var b=OpenLayers.Layer.Google.cache[this.map.id];if(b){for(var c=this.type,d=this.map.layers,e,f=d.length-1;0<=f;--f)if(e=d[f],e instanceof OpenLayers.Layer.Google&&!0===e.visibility&&!0===e.inRange){c=e.type;a=!0;break}d=this.mapObject.getDiv();!0===a?(this.mapObject.setMapTypeId(c),d.style.left="",b.termsOfUse&&b.termsOfUse.style&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16739 (b.termsOfUse.style.left="",b.termsOfUse.style.display="",b.poweredBy.style.display=""),b.displayed=this.id):(delete b.displayed,d.style.left="-9999px",b.termsOfUse&&b.termsOfUse.style&&(b.termsOfUse.style.display="none",b.termsOfUse.style.left="-9999px",b.poweredBy.style.display="none"))}},getMapContainer:function(){return this.mapObject.getDiv()},getMapObjectBoundsFromOLBounds:function(a){var b=null;null!=a&&(b=this.sphericalMercator?this.inverseMercator(a.bottom,a.left):new OpenLayers.LonLat(a.bottom, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16740 a.left),a=this.sphericalMercator?this.inverseMercator(a.top,a.right):new OpenLayers.LonLat(a.top,a.right),b=new google.maps.LatLngBounds(new google.maps.LatLng(b.lat,b.lon),new google.maps.LatLng(a.lat,a.lon)));return b},getMapObjectLonLatFromMapObjectPixel:function(a){var b=this.map.getSize(),c=this.getLongitudeFromMapObjectLonLat(this.mapObject.center),d=this.getLatitudeFromMapObjectLonLat(this.mapObject.center),e=this.map.getResolution(),a=new OpenLayers.LonLat(c+(a.x-b.w/2)*e,d-(a.y-b.h/2)*e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16741 this.wrapDateLine&&(a=a.wrapDateLine(this.maxExtent));return this.getMapObjectLonLatFromLonLat(a.lon,a.lat)},getMapObjectPixelFromMapObjectLonLat:function(a){var b=this.getLongitudeFromMapObjectLonLat(a),a=this.getLatitudeFromMapObjectLonLat(a),c=this.map.getResolution(),d=this.map.getExtent();return this.getMapObjectPixelFromXY(1/c*(b-d.left),1/c*(d.top-a))},setMapObjectCenter:function(a,b){if(!1===this.animationEnabled&&b!=this.mapObject.zoom){var c=this.getMapContainer();google.maps.event.addListenerOnce(this.mapObject, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16742 "idle",function(){c.style.visibility=""});c.style.visibility="hidden"}this.mapObject.setOptions({center:a,zoom:b})},getMapObjectZoomFromMapObjectBounds:function(a){return this.mapObject.getBoundsZoomLevel(a)},getMapObjectLonLatFromLonLat:function(a,b){var c;this.sphericalMercator?(c=this.inverseMercator(a,b),c=new google.maps.LatLng(c.lat,c.lon)):c=new google.maps.LatLng(b,a);return c},getMapObjectPixelFromXY:function(a,b){return new google.maps.Point(a,b)},destroy:function(){this.repositionListener&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16743 google.maps.event.removeListener(this.repositionListener);this.repositionTimer&&window.clearTimeout(this.repositionTimer);OpenLayers.Layer.Google.prototype.destroy.apply(this,arguments)}};OpenLayers.Format.WPSDescribeProcess=OpenLayers.Class(OpenLayers.Format.XML,{VERSION:"1.0.0",namespaces:{wps:"http://www.opengis.net/wps/1.0.0",ows:"http://www.opengis.net/ows/1.1",xsi:"http://www.w3.org/2001/XMLSchema-instance"},schemaLocation:"http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd",defaultPrefix:"wps",regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16744 [a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b},readers:{wps:{ProcessDescriptions:function(a,b){b.processDescriptions={};this.readChildNodes(a,b.processDescriptions)},ProcessDescription:function(a,b){var c={processVersion:this.getAttributeNS(a,this.namespaces.wps,"processVersion"),statusSupported:"true"===a.getAttribute("statusSupported"),storeSupported:"true"===a.getAttribute("storeSupported")};this.readChildNodes(a,c);b[c.identifier]=c},DataInputs:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16745 b){b.dataInputs=[];this.readChildNodes(a,b.dataInputs)},ProcessOutputs:function(a,b){b.processOutputs=[];this.readChildNodes(a,b.processOutputs)},Output:function(a,b){var c={};this.readChildNodes(a,c);b.push(c)},ComplexOutput:function(a,b){b.complexOutput={};this.readChildNodes(a,b.complexOutput)},Input:function(a,b){var c={maxOccurs:parseInt(a.getAttribute("maxOccurs")),minOccurs:parseInt(a.getAttribute("minOccurs"))};this.readChildNodes(a,c);b.push(c)},BoundingBoxData:function(a,b){b.boundingBoxData= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16746 {};this.readChildNodes(a,b.boundingBoxData)},CRS:function(a,b){b.CRSs||(b.CRSs={});b.CRSs[this.getChildValue(a)]=!0},LiteralData:function(a,b){b.literalData={};this.readChildNodes(a,b.literalData)},ComplexData:function(a,b){b.complexData={};this.readChildNodes(a,b.complexData)},Default:function(a,b){b["default"]={};this.readChildNodes(a,b["default"])},Supported:function(a,b){b.supported={};this.readChildNodes(a,b.supported)},Format:function(a,b){var c={};this.readChildNodes(a,c);b.formats||(b.formats= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16747 {});b.formats[c.mimeType]=!0},MimeType:function(a,b){b.mimeType=this.getChildValue(a)}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WPSDescribeProcess"});OpenLayers.Format.CSWGetRecords.v2_0_2=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{csw:"http://www.opengis.net/cat/csw/2.0.2",dc:"http://purl.org/dc/elements/1.1/",dct:"http://purl.org/dc/terms/",gmd:"http://www.isotc211.org/2005/gmd",geonet:"http://www.fao.org/geonetwork",ogc:"http://www.opengis.net/ogc",ows:"http://www.opengis.net/ows",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"csw",version:"2.0.2",schemaLocation:"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16748 requestId:null,resultType:null,outputFormat:null,outputSchema:null,startPosition:null,maxRecords:null,DistributedSearch:null,ResponseHandler:null,Query:null,regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16749 readers:{csw:{GetRecordsResponse:function(a,b){b.records=[];this.readChildNodes(a,b);var c=this.getAttributeNS(a,"","version");""!=c&&(b.version=c)},RequestId:function(a,b){b.RequestId=this.getChildValue(a)},SearchStatus:function(a,b){b.SearchStatus={};var c=this.getAttributeNS(a,"","timestamp");""!=c&&(b.SearchStatus.timestamp=c)},SearchResults:function(a,b){this.readChildNodes(a,b);for(var c=a.attributes,d={},e=0,f=c.length;e<f;++e)d[c[e].name]="numberOfRecordsMatched"==c[e].name||"numberOfRecordsReturned"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16750 c[e].name||"nextRecord"==c[e].name?parseInt(c[e].nodeValue):c[e].nodeValue;b.SearchResults=d},SummaryRecord:function(a,b){var c={type:"SummaryRecord"};this.readChildNodes(a,c);b.records.push(c)},BriefRecord:function(a,b){var c={type:"BriefRecord"};this.readChildNodes(a,c);b.records.push(c)},DCMIRecord:function(a,b){var c={type:"DCMIRecord"};this.readChildNodes(a,c);b.records.push(c)},Record:function(a,b){var c={type:"Record"};this.readChildNodes(a,c);b.records.push(c)},"*":function(a,b){var c=a.localName|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16751 a.nodeName.split(":").pop();b[c]=this.getChildValue(a)}},geonet:{info:function(a,b){var c={};this.readChildNodes(a,c);b.gninfo=c}},dc:{"*":function(a,b){var c=a.localName||a.nodeName.split(":").pop();OpenLayers.Util.isArray(b[c])||(b[c]=[]);for(var d={},e=a.attributes,f=0,g=e.length;f<g;++f)d[e[f].name]=e[f].nodeValue;d.value=this.getChildValue(a);""!=d.value&&b[c].push(d)}},dct:{"*":function(a,b){var c=a.localName||a.nodeName.split(":").pop();OpenLayers.Util.isArray(b[c])||(b[c]=[]);b[c].push(this.getChildValue(a))}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16752 ows:OpenLayers.Util.applyDefaults({BoundingBox:function(a,b){b.bounds&&(b.BoundingBox=[{crs:b.projection,value:[b.bounds.left,b.bounds.bottom,b.bounds.right,b.bounds.top]}],delete b.projection,delete b.bounds);OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers.ows.BoundingBox.apply(this,arguments)}},OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers.ows)},write:function(a){a=this.writeNode("csw:GetRecords",a);a.setAttribute("xmlns:gmd",this.namespaces.gmd);return OpenLayers.Format.XML.prototype.write.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16753 [a])},writers:{csw:{GetRecords:function(a){a||(a={});var b=this.createElementNSPlus("csw:GetRecords",{attributes:{service:"CSW",version:this.version,requestId:a.requestId||this.requestId,resultType:a.resultType||this.resultType,outputFormat:a.outputFormat||this.outputFormat,outputSchema:a.outputSchema||this.outputSchema,startPosition:a.startPosition||this.startPosition,maxRecords:a.maxRecords||this.maxRecords}});if(a.DistributedSearch||this.DistributedSearch)this.writeNode("csw:DistributedSearch", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16754 a.DistributedSearch||this.DistributedSearch,b);var c=a.ResponseHandler||this.ResponseHandler;if(OpenLayers.Util.isArray(c)&&0<c.length)for(var d=0,e=c.length;d<e;d++)this.writeNode("csw:ResponseHandler",c[d],b);this.writeNode("Query",a.Query||this.Query,b);return b},DistributedSearch:function(a){return this.createElementNSPlus("csw:DistributedSearch",{attributes:{hopCount:a.hopCount}})},ResponseHandler:function(a){return this.createElementNSPlus("csw:ResponseHandler",{value:a.value})},Query:function(a){a|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16755 (a={});var b=this.createElementNSPlus("csw:Query",{attributes:{typeNames:a.typeNames||"csw:Record"}}),c=a.ElementName;if(OpenLayers.Util.isArray(c)&&0<c.length)for(var d=0,e=c.length;d<e;d++)this.writeNode("csw:ElementName",c[d],b);else this.writeNode("csw:ElementSetName",a.ElementSetName||{value:"summary"},b);a.Constraint&&this.writeNode("csw:Constraint",a.Constraint,b);a.SortBy&&this.writeNode("ogc:SortBy",a.SortBy,b);return b},ElementName:function(a){return this.createElementNSPlus("csw:ElementName", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16756 {value:a.value})},ElementSetName:function(a){return this.createElementNSPlus("csw:ElementSetName",{attributes:{typeNames:a.typeNames},value:a.value})},Constraint:function(a){var b=this.createElementNSPlus("csw:Constraint",{attributes:{version:a.version}});if(a.Filter){var c=new OpenLayers.Format.Filter({version:a.version});b.appendChild(c.write(a.Filter))}else a.CqlText&&(a=this.createElementNSPlus("CqlText",{value:a.CqlText.value}),b.appendChild(a));return b}},ogc:OpenLayers.Format.Filter.v1_1_0.prototype.writers.ogc}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16757 CLASS_NAME:"OpenLayers.Format.CSWGetRecords.v2_0_2"});OpenLayers.Marker.Box=OpenLayers.Class(OpenLayers.Marker,{bounds:null,div:null,initialize:function(a,b,c){this.bounds=a;this.div=OpenLayers.Util.createDiv();this.div.style.overflow="hidden";this.events=new OpenLayers.Events(this,this.div);this.setBorder(b,c)},destroy:function(){this.div=this.bounds=null;OpenLayers.Marker.prototype.destroy.apply(this,arguments)},setBorder:function(a,b){a||(a="red");b||(b=2);this.div.style.border=b+"px solid "+a},draw:function(a,b){OpenLayers.Util.modifyDOMElement(this.div, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16758 null,a,b);return this.div},onScreen:function(){var a=!1;this.map&&(a=this.map.getExtent().containsBounds(this.bounds,!0,!0));return a},display:function(a){this.div.style.display=a?"":"none"},CLASS_NAME:"OpenLayers.Marker.Box"});OpenLayers.Format.Text=OpenLayers.Class(OpenLayers.Format,{defaultStyle:null,extractStyles:!0,initialize:function(a){a=a||{};!1!==a.extractStyles&&(a.defaultStyle={externalGraphic:OpenLayers.Util.getImageLocation("marker.png"),graphicWidth:21,graphicHeight:25,graphicXOffset:-10.5,graphicYOffset:-12.5});OpenLayers.Format.prototype.initialize.apply(this,[a])},read:function(a){for(var a=a.split("\n"),b,c=[],d=0;d<a.length-1;d++){var e=a[d].replace(/^\s*/,"").replace(/\s*$/,"");if("#"!=e.charAt(0))if(b){for(var e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16759 e.split("\t"),f=new OpenLayers.Geometry.Point(0,0),g={},h=this.defaultStyle?OpenLayers.Util.applyDefaults({},this.defaultStyle):null,i=!1,j=0;j<e.length;j++)if(e[j])if("point"==b[j])i=e[j].split(","),f.y=parseFloat(i[0]),f.x=parseFloat(i[1]),i=!0;else if("lat"==b[j])f.y=parseFloat(e[j]),i=!0;else if("lon"==b[j])f.x=parseFloat(e[j]),i=!0;else if("title"==b[j])g.title=e[j];else if("image"==b[j]||"icon"==b[j]&&h)h.externalGraphic=e[j];else if("iconSize"==b[j]&&h){var k=e[j].split(",");h.graphicWidth= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16760 parseFloat(k[0]);h.graphicHeight=parseFloat(k[1])}else"iconOffset"==b[j]&&h?(k=e[j].split(","),h.graphicXOffset=parseFloat(k[0]),h.graphicYOffset=parseFloat(k[1])):"description"==b[j]?g.description=e[j]:"overflow"==b[j]?g.overflow=e[j]:g[b[j]]=e[j];i&&(this.internalProjection&&this.externalProjection&&f.transform(this.externalProjection,this.internalProjection),e=new OpenLayers.Feature.Vector(f,g,h),c.push(e))}else b=e.split("\t")}return c},CLASS_NAME:"OpenLayers.Format.Text"});OpenLayers.Layer.Text=OpenLayers.Class(OpenLayers.Layer.Markers,{location:null,features:null,formatOptions:null,selectedFeature:null,initialize:function(a,b){OpenLayers.Layer.Markers.prototype.initialize.apply(this,arguments);this.features=[]},destroy:function(){OpenLayers.Layer.Markers.prototype.destroy.apply(this,arguments);this.clearFeatures();this.features=null},loadText:function(){!this.loaded&&null!=this.location&&(this.events.triggerEvent("loadstart"),OpenLayers.Request.GET({url:this.location, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16761 success:this.parseData,failure:function(){this.events.triggerEvent("loadend")},scope:this}),this.loaded=!0)},moveTo:function(a,b,c){OpenLayers.Layer.Markers.prototype.moveTo.apply(this,arguments);this.visibility&&!this.loaded&&this.loadText()},parseData:function(a){var a=a.responseText,b={};OpenLayers.Util.extend(b,this.formatOptions);this.map&&!this.projection.equals(this.map.getProjectionObject())&&(b.externalProjection=this.projection,b.internalProjection=this.map.getProjectionObject());for(var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16762 (new OpenLayers.Format.Text(b)).read(a),b=0,c=a.length;b<c;b++){var d={},e=a[b],f,g,h;f=new OpenLayers.LonLat(e.geometry.x,e.geometry.y);e.style.graphicWidth&&e.style.graphicHeight&&(g=new OpenLayers.Size(e.style.graphicWidth,e.style.graphicHeight));void 0!==e.style.graphicXOffset&&void 0!==e.style.graphicYOffset&&(h=new OpenLayers.Pixel(e.style.graphicXOffset,e.style.graphicYOffset));null!=e.style.externalGraphic?d.icon=new OpenLayers.Icon(e.style.externalGraphic,g,h):(d.icon=OpenLayers.Marker.defaultIcon(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16763 null!=g&&d.icon.setSize(g));null!=e.attributes.title&&null!=e.attributes.description&&(d.popupContentHTML="<h2>"+e.attributes.title+"</h2><p>"+e.attributes.description+"</p>");d.overflow=e.attributes.overflow||"auto";d=new OpenLayers.Feature(this,f,d);this.features.push(d);f=d.createMarker();null!=e.attributes.title&&null!=e.attributes.description&&f.events.register("click",d,this.markerClick);this.addMarker(f)}this.events.triggerEvent("loadend")},markerClick:function(a){var b=this==this.layer.selectedFeature; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16764 this.layer.selectedFeature=!b?this:null;for(var c=0,d=this.layer.map.popups.length;c<d;c++)this.layer.map.removePopup(this.layer.map.popups[c]);b||this.layer.map.addPopup(this.createPopup());OpenLayers.Event.stop(a)},clearFeatures:function(){if(null!=this.features)for(;0<this.features.length;){var a=this.features[0];OpenLayers.Util.removeItem(this.features,a);a.destroy()}},CLASS_NAME:"OpenLayers.Layer.Text"});OpenLayers.Handler.RegularPolygon=OpenLayers.Class(OpenLayers.Handler.Drag,{sides:4,radius:null,snapAngle:null,snapToggle:"shiftKey",layerOptions:null,persist:!1,irregular:!1,citeCompliant:!1,angle:null,fixedRadius:!1,feature:null,layer:null,origin:null,initialize:function(a,b,c){if(!c||!c.layerOptions||!c.layerOptions.styleMap)this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style["default"],{});OpenLayers.Handler.Drag.prototype.initialize.apply(this,[a,b,c]);this.options=c?c:{}},setOptions:function(a){OpenLayers.Util.extend(this.options, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16765 a);OpenLayers.Util.extend(this,a)},activate:function(){var a=!1;OpenLayers.Handler.Drag.prototype.activate.apply(this,arguments)&&(a=OpenLayers.Util.extend({displayInLayerSwitcher:!1,calculateInRange:OpenLayers.Function.True,wrapDateLine:this.citeCompliant},this.layerOptions),this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,a),this.map.addLayer(this.layer),a=!0);return a},deactivate:function(){var a=!1;OpenLayers.Handler.Drag.prototype.deactivate.apply(this,arguments)&&(this.dragging&&this.cancel(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16766 null!=this.layer.map&&(this.layer.destroy(!1),this.feature&&this.feature.destroy()),this.feature=this.layer=null,a=!0);return a},down:function(a){this.fixedRadius=!!this.radius;a=this.layer.getLonLatFromViewPortPx(a.xy);this.origin=new OpenLayers.Geometry.Point(a.lon,a.lat);if(!this.fixedRadius||this.irregular)this.radius=this.map.getResolution();this.persist&&this.clear();this.feature=new OpenLayers.Feature.Vector;this.createGeometry();this.callback("create",[this.origin,this.feature]);this.layer.addFeatures([this.feature], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16767 {silent:!0});this.layer.drawFeature(this.feature,this.style)},move:function(a){var b=this.layer.getLonLatFromViewPortPx(a.xy),b=new OpenLayers.Geometry.Point(b.lon,b.lat);this.irregular?(a=Math.sqrt(2)*Math.abs(b.y-this.origin.y)/2,this.radius=Math.max(this.map.getResolution()/2,a)):this.fixedRadius?this.origin=b:(this.calculateAngle(b,a),this.radius=Math.max(this.map.getResolution()/2,b.distanceTo(this.origin)));this.modifyGeometry();this.irregular&&(a=b.x-this.origin.x,b=b.y-this.origin.y,this.feature.geometry.resize(1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16768 this.origin,0==b?a/(this.radius*Math.sqrt(2)):a/b),this.feature.geometry.move(a/2,b/2));this.layer.drawFeature(this.feature,this.style)},up:function(a){this.finalize();this.start==this.last&&this.callback("done",[a.xy])},out:function(){this.finalize()},createGeometry:function(){this.angle=Math.PI*(1/this.sides-0.5);this.snapAngle&&(this.angle+=this.snapAngle*(Math.PI/180));this.feature.geometry=OpenLayers.Geometry.Polygon.createRegularPolygon(this.origin,this.radius,this.sides,this.snapAngle)},modifyGeometry:function(){var a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16769 b,c=this.feature.geometry.components[0];c.components.length!=this.sides+1&&(this.createGeometry(),c=this.feature.geometry.components[0]);for(var d=0;d<this.sides;++d)b=c.components[d],a=this.angle+2*d*Math.PI/this.sides,b.x=this.origin.x+this.radius*Math.cos(a),b.y=this.origin.y+this.radius*Math.sin(a),b.clearBounds()},calculateAngle:function(a,b){var c=Math.atan2(a.y-this.origin.y,a.x-this.origin.x);if(this.snapAngle&&this.snapToggle&&!b[this.snapToggle]){var d=Math.PI/180*this.snapAngle;this.angle= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16770 Math.round(c/d)*d}else this.angle=c},cancel:function(){this.callback("cancel",null);this.finalize()},finalize:function(){this.origin=null;this.radius=this.options.radius},clear:function(){this.layer&&(this.layer.renderer.clear(),this.layer.destroyFeatures())},callback:function(a){this.callbacks[a]&&this.callbacks[a].apply(this.control,[this.feature.geometry.clone()]);!this.persist&&("done"==a||"cancel"==a)&&this.clear()},CLASS_NAME:"OpenLayers.Handler.RegularPolygon"});OpenLayers.Control.SLDSelect=OpenLayers.Class(OpenLayers.Control,{clearOnDeactivate:!1,layers:null,callbacks:null,selectionSymbolizer:{Polygon:{fillColor:"#FF0000",stroke:!1},Line:{strokeColor:"#FF0000",strokeWidth:2},Point:{graphicName:"square",fillColor:"#FF0000",pointRadius:5}},layerOptions:null,handlerOptions:null,sketchStyle:null,wfsCache:{},layerCache:{},initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);this.callbacks=OpenLayers.Util.extend({done:this.select,click:this.select}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16771 this.callbacks);this.handlerOptions=this.handlerOptions||{};this.layerOptions=OpenLayers.Util.applyDefaults(this.layerOptions,{displayInLayerSwitcher:!1,tileOptions:{maxGetUrlLength:2048}});this.sketchStyle&&(this.handlerOptions.layerOptions=OpenLayers.Util.applyDefaults(this.handlerOptions.layerOptions,{styleMap:new OpenLayers.StyleMap({"default":this.sketchStyle})}));this.handler=new a(this,this.callbacks,this.handlerOptions)},destroy:function(){for(var a in this.layerCache)delete this.layerCache[a]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16772 for(a in this.wfsCache)delete this.wfsCache[a];OpenLayers.Control.prototype.destroy.apply(this,arguments)},coupleLayerVisiblity:function(a){this.setVisibility(a.object.getVisibility())},createSelectionLayer:function(a){var b;if(this.layerCache[a.id])b=this.layerCache[a.id];else{b=new OpenLayers.Layer.WMS(a.name,a.url,a.params,OpenLayers.Util.applyDefaults(this.layerOptions,a.getOptions()));this.layerCache[a.id]=b;if(!1===this.layerOptions.displayInLayerSwitcher)a.events.on({visibilitychanged:this.coupleLayerVisiblity, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16773 scope:b});this.map.addLayer(b)}return b},createSLD:function(a,b,c){for(var d={version:"1.0.0",namedLayers:{}},e=(""+a.params.LAYERS).split(","),f=0,g=e.length;f<g;f++){var h=e[f];d.namedLayers[h]={name:h,userStyles:[]};var i=this.selectionSymbolizer,j=c[f];0<=j.type.indexOf("Polygon")?i={Polygon:this.selectionSymbolizer.Polygon}:0<=j.type.indexOf("LineString")?i={Line:this.selectionSymbolizer.Line}:0<=j.type.indexOf("Point")&&(i={Point:this.selectionSymbolizer.Point});d.namedLayers[h].userStyles.push({name:"default", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16774 rules:[new OpenLayers.Rule({symbolizer:i,filter:b[f],maxScaleDenominator:a.options.minScale})]})}return(new OpenLayers.Format.SLD({srsName:this.map.getProjection()})).write(d)},parseDescribeLayer:function(a){var b=new OpenLayers.Format.WMSDescribeLayer,c=a.responseXML;if(!c||!c.documentElement)c=a.responseText;for(var a=b.read(c),b=[],c=null,d=0,e=a.length;d<e;d++)"WFS"==a[d].owsType&&(b.push(a[d].typeName),c=a[d].owsURL);OpenLayers.Request.GET({url:c,params:{SERVICE:"WFS",TYPENAME:b.toString(),REQUEST:"DescribeFeatureType", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16775 VERSION:"1.0.0"},callback:function(a){var b=new OpenLayers.Format.WFSDescribeFeatureType,c=a.responseXML;if(!c||!c.documentElement)c=a.responseText;this.control.wfsCache[this.layer.id]=b.read(c);this.control._queue&&this.control.applySelection()},scope:this})},getGeometryAttributes:function(a){for(var b=[],a=this.wfsCache[a.id],c=0,d=a.featureTypes.length;c<d;c++)for(var e=a.featureTypes[c].properties,f=0,g=e.length;f<g;f++){var h=e[f],i=h.type;(0<=i.indexOf("LineString")||0<=i.indexOf("GeometryAssociationType")|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16776 0<=i.indexOf("GeometryPropertyType")||0<=i.indexOf("Point")||0<=i.indexOf("Polygon"))&&b.push(h)}return b},activate:function(){var a=OpenLayers.Control.prototype.activate.call(this);if(a)for(var b=0,c=this.layers.length;b<c;b++){var d=this.layers[b];d&&!this.wfsCache[d.id]&&OpenLayers.Request.GET({url:d.url,params:{SERVICE:"WMS",VERSION:d.params.VERSION,LAYERS:d.params.LAYERS,REQUEST:"DescribeLayer"},callback:this.parseDescribeLayer,scope:{layer:d,control:this}})}return a},deactivate:function(){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16777 OpenLayers.Control.prototype.deactivate.call(this);if(a)for(var b=0,c=this.layers.length;b<c;b++){var d=this.layers[b];if(d&&!0===this.clearOnDeactivate){var e=this.layerCache,f=e[d.id];f&&(d.events.un({visibilitychanged:this.coupleLayerVisiblity,scope:f}),f.destroy(),delete e[d.id])}}return a},setLayers:function(a){this.active?(this.deactivate(),this.layers=a,this.activate()):this.layers=a},createFilter:function(a,b){var c=null;this.handler instanceof OpenLayers.Handler.RegularPolygon?c=!0===this.handler.irregular? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16778 new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,property:a.name,value:b.getBounds()}):new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS,property:a.name,value:b}):this.handler instanceof OpenLayers.Handler.Polygon?c=new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS,property:a.name,value:b}):this.handler instanceof OpenLayers.Handler.Path?c=0<=a.type.indexOf("Point")?new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.DWITHIN, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16779 property:a.name,distance:0.01*this.map.getExtent().getWidth(),distanceUnits:this.map.getUnits(),value:b}):new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS,property:a.name,value:b}):this.handler instanceof OpenLayers.Handler.Click&&(c=0<=a.type.indexOf("Polygon")?new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS,property:a.name,value:b}):new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.DWITHIN,property:a.name,distance:0.01*this.map.getExtent().getWidth(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16780 distanceUnits:this.map.getUnits(),value:b}));return c},select:function(a){this._queue=function(){for(var b=0,c=this.layers.length;b<c;b++){for(var d=this.layers[b],e=this.getGeometryAttributes(d),f=[],g=0,h=e.length;g<h;g++){var i=e[g];if(null!==i){if(!(a instanceof OpenLayers.Geometry)){var j=this.map.getLonLatFromPixel(a.xy);a=new OpenLayers.Geometry.Point(j.lon,j.lat)}i=this.createFilter(i,a);null!==i&&f.push(i)}}g=this.createSelectionLayer(d);e=this.createSLD(d,f,e);this.events.triggerEvent("selected", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16781 {layer:d,filters:f});g.mergeNewParams({SLD_BODY:e});delete this._queue}};this.applySelection()},applySelection:function(){for(var a=!0,b=0,c=this.layers.length;b<c;b++)if(!this.wfsCache[this.layers[b].id]){a=!1;break}a&&this._queue.call(this)},CLASS_NAME:"OpenLayers.Control.SLDSelect"});OpenLayers.Control.Scale=OpenLayers.Class(OpenLayers.Control,{element:null,geodesic:!1,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);this.element=OpenLayers.Util.getElement(a)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.element||(this.element=document.createElement("div"),this.div.appendChild(this.element));this.map.events.register("moveend",this,this.updateScale);this.updateScale();return this.div},updateScale:function(){var a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16782 if(!0===this.geodesic){if(!this.map.getUnits())return;a=OpenLayers.INCHES_PER_UNIT;a=(this.map.getGeodesicPixelSize().w||1.0E-6)*a.km*OpenLayers.DOTS_PER_INCH}else a=this.map.getScale();a&&(a=9500<=a&&95E4>=a?Math.round(a/1E3)+"K":95E4<=a?Math.round(a/1E6)+"M":Math.round(a),this.element.innerHTML=OpenLayers.i18n("Scale = 1 : ${scaleDenom}",{scaleDenom:a}))},CLASS_NAME:"OpenLayers.Control.Scale"});OpenLayers.Control.Button=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_BUTTON,trigger:function(){},CLASS_NAME:"OpenLayers.Control.Button"});OpenLayers.Layer.MapGuide=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,useHttpTile:!1,singleTile:!1,useOverlay:!1,useAsyncOverlay:!0,TILE_PARAMS:{operation:"GETTILEIMAGE",version:"1.2.0"},SINGLE_TILE_PARAMS:{operation:"GETMAPIMAGE",format:"PNG",locale:"en",clip:"1",version:"1.0.0"},OVERLAY_PARAMS:{operation:"GETDYNAMICMAPOVERLAYIMAGE",format:"PNG",locale:"en",clip:"1",version:"2.0.0"},FOLDER_PARAMS:{tileColumnsPerFolder:30,tileRowsPerFolder:30,format:"png",querystring:null},defaultSize:new OpenLayers.Size(300, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16783 300),tileOriginCorner:"tl",initialize:function(a,b,c,d){OpenLayers.Layer.Grid.prototype.initialize.apply(this,arguments);if(null==d||null==d.isBaseLayer)this.isBaseLayer="true"!=this.transparent&&!0!=this.transparent;d&&null!=d.useOverlay&&(this.useOverlay=d.useOverlay);this.singleTile?this.useOverlay?(OpenLayers.Util.applyDefaults(this.params,this.OVERLAY_PARAMS),this.useAsyncOverlay||(this.params.version="1.0.0")):OpenLayers.Util.applyDefaults(this.params,this.SINGLE_TILE_PARAMS):(this.useHttpTile? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16784 OpenLayers.Util.applyDefaults(this.params,this.FOLDER_PARAMS):OpenLayers.Util.applyDefaults(this.params,this.TILE_PARAMS),this.setTileSize(this.defaultSize))},clone:function(a){null==a&&(a=new OpenLayers.Layer.MapGuide(this.name,this.url,this.params,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var b;b=a.getCenterLonLat();var c=this.map.getSize();this.singleTile?(a={setdisplaydpi:OpenLayers.DOTS_PER_INCH,setdisplayheight:c.h*this.ratio,setdisplaywidth:c.w* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16785 this.ratio,setviewcenterx:b.lon,setviewcentery:b.lat,setviewscale:this.map.getScale()},this.useOverlay&&!this.useAsyncOverlay&&(b={},b=OpenLayers.Util.extend(b,a),b.operation="GETVISIBLEMAPEXTENT",b.version="1.0.0",b.session=this.params.session,b.mapName=this.params.mapName,b.format="text/xml",b=this.getFullRequestString(b),OpenLayers.Request.GET({url:b,async:!1})),b=this.getFullRequestString(a)):(c=this.map.getResolution(),b=Math.floor((a.left-this.maxExtent.left)/c),b=Math.round(b/this.tileSize.w), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16786 a=Math.floor((this.maxExtent.top-a.top)/c),a=Math.round(a/this.tileSize.h),b=this.useHttpTile?this.getImageFilePath({tilecol:b,tilerow:a,scaleindex:this.resolutions.length-this.map.zoom-1}):this.getFullRequestString({tilecol:b,tilerow:a,scaleindex:this.resolutions.length-this.map.zoom-1}));return b},getFullRequestString:function(a,b){var c=null==b?this.url:b;"object"==typeof c&&(c=c[Math.floor(Math.random()*c.length)]);var d=c,e=OpenLayers.Util.extend({},this.params),e=OpenLayers.Util.extend(e,a), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16787 f=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(c)),g;for(g in e)g.toUpperCase()in f&&delete e[g];e=OpenLayers.Util.getParameterString(e);e=e.replace(/,/g,"+");""!=e&&(f=c.charAt(c.length-1),d="&"==f||"?"==f?d+e:-1==c.indexOf("?")?d+("?"+e):d+("&"+e));return d},getImageFilePath:function(a,b){var c=null==b?this.url:b;"object"==typeof c&&(c=c[Math.floor(Math.random()*c.length)]);var d="",e="";0>a.tilerow&&(d="-");d=0==a.tilerow?d+"0":d+Math.floor(Math.abs(a.tilerow/this.params.tileRowsPerFolder))* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16788 this.params.tileRowsPerFolder;0>a.tilecol&&(e="-");e=0==a.tilecol?e+"0":e+Math.floor(Math.abs(a.tilecol/this.params.tileColumnsPerFolder))*this.params.tileColumnsPerFolder;d="/S"+Math.floor(a.scaleindex)+"/"+this.params.basemaplayergroupname+"/R"+d+"/C"+e+"/"+a.tilerow%this.params.tileRowsPerFolder+"_"+a.tilecol%this.params.tileColumnsPerFolder+"."+this.params.format;this.params.querystring&&(d+="?"+this.params.querystring);return c+d},calculateGridLayout:function(a,b,c){var d=c*this.tileSize.w,c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16789 c*this.tileSize.h,e=a.left-b.lon,f=Math.floor(e/d)-this.buffer,a=b.lat-a.top+c,g=Math.floor(a/c)-this.buffer;return{tilelon:d,tilelat:c,tileoffsetlon:b.lon+f*d,tileoffsetlat:b.lat-c*g,tileoffsetx:-(e/d-f)*this.tileSize.w,tileoffsety:(g-a/c)*this.tileSize.h}},CLASS_NAME:"OpenLayers.Layer.MapGuide"});OpenLayers.Control.Measure=OpenLayers.Class(OpenLayers.Control,{handlerOptions:null,callbacks:null,displaySystem:"metric",geodesic:!1,displaySystemUnits:{geographic:["dd"],english:["mi","ft","in"],metric:["km","m"]},partialDelay:300,delayedTrigger:null,persist:!1,immediate:!1,initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);var c={done:this.measureComplete,point:this.measurePartial};this.immediate&&(c.modify=this.measureImmediate);this.callbacks=OpenLayers.Util.extend(c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16790 this.callbacks);this.handlerOptions=OpenLayers.Util.extend({persist:this.persist},this.handlerOptions);this.handler=new a(this,this.callbacks,this.handlerOptions)},deactivate:function(){this.cancelDelay();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},cancel:function(){this.cancelDelay();this.handler.cancel()},setImmediate:function(a){(this.immediate=a)?this.callbacks.modify=this.measureImmediate:delete this.callbacks.modify},updateHandler:function(a,b){var c=this.active;c&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16791 this.deactivate();this.handler=new a(this,this.callbacks,b);c&&this.activate()},measureComplete:function(a){this.cancelDelay();this.measure(a,"measure")},measurePartial:function(a,b){this.cancelDelay();b=b.clone();this.handler.freehandMode(this.handler.evt)?this.measure(b,"measurepartial"):this.delayedTrigger=window.setTimeout(OpenLayers.Function.bind(function(){this.delayedTrigger=null;this.measure(b,"measurepartial")},this),this.partialDelay)},measureImmediate:function(a,b,c){c&&!this.handler.freehandMode(this.handler.evt)&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16792 (this.cancelDelay(),this.measure(b.geometry,"measurepartial"))},cancelDelay:function(){null!==this.delayedTrigger&&(window.clearTimeout(this.delayedTrigger),this.delayedTrigger=null)},measure:function(a,b){var c,d;-1<a.CLASS_NAME.indexOf("LineString")?(c=this.getBestLength(a),d=1):(c=this.getBestArea(a),d=2);this.events.triggerEvent(b,{measure:c[0],units:c[1],order:d,geometry:a})},getBestArea:function(a){for(var b=this.displaySystemUnits[this.displaySystem],c,d,e=0,f=b.length;e<f&&!(c=b[e],d=this.getArea(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16793 c),1<d);++e);return[d,c]},getArea:function(a,b){var c,d;this.geodesic?(c=a.getGeodesicArea(this.map.getProjectionObject()),d="m"):(c=a.getArea(),d=this.map.getUnits());var e=OpenLayers.INCHES_PER_UNIT[b];e&&(c*=Math.pow(OpenLayers.INCHES_PER_UNIT[d]/e,2));return c},getBestLength:function(a){for(var b=this.displaySystemUnits[this.displaySystem],c,d,e=0,f=b.length;e<f&&!(c=b[e],d=this.getLength(a,c),1<d);++e);return[d,c]},getLength:function(a,b){var c,d;this.geodesic?(c=a.getGeodesicLength(this.map.getProjectionObject()), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16794 d="m"):(c=a.getLength(),d=this.map.getUnits());var e=OpenLayers.INCHES_PER_UNIT[b];e&&(c*=OpenLayers.INCHES_PER_UNIT[d]/e);return c},CLASS_NAME:"OpenLayers.Control.Measure"});OpenLayers.Format.WMC.v1_0_0=OpenLayers.Class(OpenLayers.Format.WMC.v1,{VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/context http://schemas.opengis.net/context/1.0.0/context.xsd",initialize:function(a){OpenLayers.Format.WMC.v1.prototype.initialize.apply(this,[a])},read_wmc_SRS:function(a,b){var c=this.getChildValue(b);"object"!=typeof a.projections&&(a.projections={});for(var c=c.split(/ +/),d=0,e=c.length;d<e;d++)a.projections[c[d]]=!0},write_wmc_Layer:function(a){var b=OpenLayers.Format.WMC.v1.prototype.write_wmc_Layer.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16795 [a]);if(a.srs){var c=[],d;for(d in a.srs)c.push(d);b.appendChild(this.createElementDefaultNS("SRS",c.join(" ")))}b.appendChild(this.write_wmc_FormatList(a));b.appendChild(this.write_wmc_StyleList(a));a.dimensions&&b.appendChild(this.write_wmc_DimensionList(a));b.appendChild(this.write_wmc_LayerExtension(a))},CLASS_NAME:"OpenLayers.Format.WMC.v1_0_0"});OpenLayers.Popup.Framed=OpenLayers.Class(OpenLayers.Popup.Anchored,{imageSrc:null,imageSize:null,isAlphaImage:!1,positionBlocks:null,blocks:null,fixedRelativePosition:!1,initialize:function(a,b,c,d,e,f,g){OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);this.fixedRelativePosition&&(this.updateRelativePosition(),this.calculateRelativePosition=function(){return this.relativePosition});this.contentDiv.style.position="absolute";this.contentDiv.style.zIndex=1;f&&(this.closeDiv.style.zIndex= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16796 1);this.groupDiv.style.position="absolute";this.groupDiv.style.top="0px";this.groupDiv.style.left="0px";this.groupDiv.style.height="100%";this.groupDiv.style.width="100%"},destroy:function(){this.isAlphaImage=this.imageSize=this.imageSrc=null;this.fixedRelativePosition=!1;this.positionBlocks=null;for(var a=0;a<this.blocks.length;a++){var b=this.blocks[a];b.image&&b.div.removeChild(b.image);b.image=null;b.div&&this.groupDiv.removeChild(b.div);b.div=null}this.blocks=null;OpenLayers.Popup.Anchored.prototype.destroy.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16797 arguments)},setBackgroundColor:function(){},setBorder:function(){},setOpacity:function(){},setSize:function(a){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.updateBlocks()},updateRelativePosition:function(){this.padding=this.positionBlocks[this.relativePosition].padding;if(this.closeDiv){var a=this.getContentDivPadding();this.closeDiv.style.right=a.right+this.padding.right+"px";this.closeDiv.style.top=a.top+this.padding.top+"px"}this.updateBlocks()},calculateNewPx:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16798 OpenLayers.Popup.Anchored.prototype.calculateNewPx.apply(this,arguments);return b=b.offset(this.positionBlocks[this.relativePosition].offset)},createBlocks:function(){this.blocks=[];var a=null,b;for(b in this.positionBlocks){a=b;break}a=this.positionBlocks[a];for(b=0;b<a.blocks.length;b++){var c={};this.blocks.push(c);c.div=OpenLayers.Util.createDiv(this.id+"_FrameDecorationDiv_"+b,null,null,null,"absolute",null,"hidden",null);c.image=(this.isAlphaImage?OpenLayers.Util.createAlphaImageDiv:OpenLayers.Util.createImage)(this.id+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16799 "_FrameDecorationImg_"+b,null,this.imageSize,this.imageSrc,"absolute",null,null,null);c.div.appendChild(c.image);this.groupDiv.appendChild(c.div)}},updateBlocks:function(){this.blocks||this.createBlocks();if(this.size&&this.relativePosition){for(var a=this.positionBlocks[this.relativePosition],b=0;b<a.blocks.length;b++){var c=a.blocks[b],d=this.blocks[b],e=c.anchor.left,f=c.anchor.bottom,g=c.anchor.right,h=c.anchor.top,i=isNaN(c.size.w)?this.size.w-(g+e):c.size.w,j=isNaN(c.size.h)?this.size.h-(f+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16800 h):c.size.h;d.div.style.width=(0>i?0:i)+"px";d.div.style.height=(0>j?0:j)+"px";d.div.style.left=null!=e?e+"px":"";d.div.style.bottom=null!=f?f+"px":"";d.div.style.right=null!=g?g+"px":"";d.div.style.top=null!=h?h+"px":"";d.image.style.left=c.position.x+"px";d.image.style.top=c.position.y+"px"}this.contentDiv.style.left=this.padding.left+"px";this.contentDiv.style.top=this.padding.top+"px"}},CLASS_NAME:"OpenLayers.Popup.Framed"});OpenLayers.Popup.FramedCloud=OpenLayers.Class(OpenLayers.Popup.Framed,{contentDisplayClass:"olFramedCloudPopupContent",autoSize:!0,panMapIfOutOfView:!0,imageSize:new OpenLayers.Size(1276,736),isAlphaImage:!1,fixedRelativePosition:!1,positionBlocks:{tl:{offset:new OpenLayers.Pixel(44,0),padding:new OpenLayers.Bounds(8,40,8,9),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16801 50,0,0),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,18),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-1238,-632)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(0,-688)}]},tr:{offset:new OpenLayers.Pixel(-45,0),padding:new OpenLayers.Bounds(8,40,8,9),blocks:[{size:new OpenLayers.Size("auto", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16802 "auto"),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,19),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-1238,-631)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16803 0,null,null),position:new OpenLayers.Pixel(-215,-687)}]},bl:{offset:new OpenLayers.Pixel(45,0),padding:new OpenLayers.Bounds(8,9,8,40),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-1238,0)},{size:new OpenLayers.Size("auto",21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16804 21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-1238,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(null,null,0,0),position:new OpenLayers.Pixel(-101,-674)}]},br:{offset:new OpenLayers.Pixel(-44,0),padding:new OpenLayers.Bounds(8,9,8,40),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,"auto"),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-1238, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16805 0)},{size:new OpenLayers.Size("auto",21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-1238,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(0,null,null,0),position:new OpenLayers.Pixel(-311,-674)}]}},minSize:new OpenLayers.Size(105,10),maxSize:new OpenLayers.Size(1200,660),initialize:function(a,b,c,d,e,f,g){this.imageSrc=OpenLayers.Util.getImageLocation("cloud-popup-relative.png"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16806 OpenLayers.Popup.Framed.prototype.initialize.apply(this,arguments);this.contentDiv.className=this.contentDisplayClass},CLASS_NAME:"OpenLayers.Popup.FramedCloud"});OpenLayers.Tile.Image.IFrame={useIFrame:null,draw:function(){if(OpenLayers.Tile.Image.prototype.shouldDraw.call(this)){var a=this.layer.getURL(this.bounds),b=this.useIFrame;this.useIFrame=null!==this.maxGetUrlLength&&!this.layer.async&&a.length>this.maxGetUrlLength;a=b&&!this.useIFrame;b=!b&&this.useIFrame;if(a||b)this.imgDiv&&this.imgDiv.parentNode===this.frame&&this.frame.removeChild(this.imgDiv),this.imgDiv=null,a?(this.blankImageUrl=this._blankImageUrl,this.frame.removeChild(this.frame.firstChild)): |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16807 (this._blankImageUrl=this.blankImageUrl,this.blankImageUrl="about:blank")}return OpenLayers.Tile.Image.prototype.draw.apply(this,arguments)},getImage:function(){if(!0===this.useIFrame){if(!this.frame.childNodes.length){var a=document.createElement("div"),b=a.style;b.position="absolute";b.width="100%";b.height="100%";b.zIndex=1;b.backgroundImage="url("+this._blankImageUrl+")";this.frame.appendChild(a)}a=this.id+"_iFrame";9>parseFloat(navigator.appVersion.split("MSIE")[1])?(b=document.createElement('<iframe name="'+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16808 a+'">'),b.style.backgroundColor="#FFFFFF",b.style.filter="chroma(color=#FFFFFF)"):(b=document.createElement("iframe"),b.style.backgroundColor="transparent",b.name=a);b.scrolling="no";b.marginWidth="0px";b.marginHeight="0px";b.frameBorder="0";b.style.position="absolute";b.style.width="100%";b.style.height="100%";1>this.layer.opacity&&OpenLayers.Util.modifyDOMElement(b,null,null,null,null,null,null,this.layer.opacity);this.frame.appendChild(b);return this.imgDiv=b}return OpenLayers.Tile.Image.prototype.getImage.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16809 arguments)},createRequestForm:function(){var a=document.createElement("form");a.method="POST";var b=this.layer.params._OLSALT,b=(b?b+"_":"")+this.bounds.toBBOX();a.action=OpenLayers.Util.urlAppend(this.layer.url,b);a.target=this.id+"_iFrame";this.layer.getImageSize();var b=OpenLayers.Util.getParameters(this.url),c,d;for(d in b)c=document.createElement("input"),c.type="hidden",c.name=d,c.value=b[d],a.appendChild(c);return a},setImgSrc:function(a){if(!0===this.useIFrame)if(a){var b=this.createRequestForm(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16810 this.frame.appendChild(b);b.submit();this.frame.removeChild(b)}else this.imgDiv.parentNode===this.frame&&(this.frame.removeChild(this.imgDiv),this.imgDiv=null);else OpenLayers.Tile.Image.prototype.setImgSrc.apply(this,arguments)},onImageLoad:function(){OpenLayers.Tile.Image.prototype.onImageLoad.apply(this,arguments);!0===this.useIFrame&&(this.imgDiv.style.opacity=1,this.frame.style.opacity=this.layer.opacity)},createBackBuffer:function(){var a;!1===this.useIFrame&&(a=OpenLayers.Tile.Image.prototype.createBackBuffer.call(this)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16811 return a}};OpenLayers.Format.SOSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",CLASS_NAME:"OpenLayers.Format.SOSCapabilities"});OpenLayers.Format.SOSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.SOSCapabilities,{namespaces:{ows:"http://www.opengis.net/ows/1.1",sos:"http://www.opengis.net/sos/1.0",gml:"http://www.opengis.net/gml",xlink:"http://www.w3.org/1999/xlink"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);this.options=a},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16812 [a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b},readers:{gml:OpenLayers.Util.applyDefaults({name:function(a,b){b.name=this.getChildValue(a)},TimePeriod:function(a,b){b.timePeriod={};this.readChildNodes(a,b.timePeriod)},beginPosition:function(a,b){b.beginPosition=this.getChildValue(a)},endPosition:function(a,b){b.endPosition=this.getChildValue(a)}},OpenLayers.Format.GML.v3.prototype.readers.gml),sos:{Capabilities:function(a,b){this.readChildNodes(a,b)},Contents:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16813 b){b.contents={};this.readChildNodes(a,b.contents)},ObservationOfferingList:function(a,b){b.offeringList={};this.readChildNodes(a,b.offeringList)},ObservationOffering:function(a,b){var c=this.getAttributeNS(a,this.namespaces.gml,"id");b[c]={procedures:[],observedProperties:[],featureOfInterestIds:[],responseFormats:[],resultModels:[],responseModes:[]};this.readChildNodes(a,b[c])},time:function(a,b){b.time={};this.readChildNodes(a,b.time)},procedure:function(a,b){b.procedures.push(this.getAttributeNS(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16814 this.namespaces.xlink,"href"))},observedProperty:function(a,b){b.observedProperties.push(this.getAttributeNS(a,this.namespaces.xlink,"href"))},featureOfInterest:function(a,b){b.featureOfInterestIds.push(this.getAttributeNS(a,this.namespaces.xlink,"href"))},responseFormat:function(a,b){b.responseFormats.push(this.getChildValue(a))},resultModel:function(a,b){b.resultModels.push(this.getChildValue(a))},responseMode:function(a,b){b.responseModes.push(this.getChildValue(a))}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16815 CLASS_NAME:"OpenLayers.Format.SOSCapabilities.v1_0_0"});OpenLayers.Handler.Pinch=OpenLayers.Class(OpenLayers.Handler,{started:!1,stopDown:!1,pinching:!1,last:null,start:null,touchstart:function(a){var b=!0;this.pinching=!1;OpenLayers.Event.isMultiTouch(a)?(this.started=!0,this.last=this.start={distance:this.getDistance(a.touches),delta:0,scale:1},this.callback("start",[a,this.start]),b=!this.stopDown):(this.started=!1,this.last=this.start=null);OpenLayers.Event.stop(a);return b},touchmove:function(a){if(this.started&&OpenLayers.Event.isMultiTouch(a)){this.pinching= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16816 !0;var b=this.getPinchData(a);this.callback("move",[a,b]);this.last=b;OpenLayers.Event.stop(a)}return!0},touchend:function(a){this.started&&(this.pinching=this.started=!1,this.callback("done",[a,this.start,this.last]),this.last=this.start=null);return!0},activate:function(){var a=!1;OpenLayers.Handler.prototype.activate.apply(this,arguments)&&(this.pinching=!1,a=!0);return a},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.pinching=this.started= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16817 !1,this.last=this.start=null,a=!0);return a},getDistance:function(a){var b=a[0],a=a[1];return Math.sqrt(Math.pow(b.clientX-a.clientX,2)+Math.pow(b.clientY-a.clientY,2))},getPinchData:function(a){a=this.getDistance(a.touches);return{distance:a,delta:this.last.distance-a,scale:a/this.start.distance}},CLASS_NAME:"OpenLayers.Handler.Pinch"});OpenLayers.Control.NavToolbar=OpenLayers.Class(OpenLayers.Control.Panel,{initialize:function(a){OpenLayers.Control.Panel.prototype.initialize.apply(this,[a]);this.addControls([new OpenLayers.Control.Navigation,new OpenLayers.Control.ZoomBox])},draw:function(){var a=OpenLayers.Control.Panel.prototype.draw.apply(this,arguments);null===this.defaultControl&&(this.defaultControl=this.controls[0]);return a},CLASS_NAME:"OpenLayers.Control.NavToolbar"});OpenLayers.Strategy.Refresh=OpenLayers.Class(OpenLayers.Strategy,{force:!1,interval:0,timer:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);a&&(!0===this.layer.visibility&&this.start(),this.layer.events.on({visibilitychanged:this.reset,scope:this}));return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&this.stop();return a},reset:function(){!0===this.layer.visibility?this.start():this.stop()},start:function(){this.interval&&("number"=== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16818 typeof this.interval&&0<this.interval)&&(this.timer=window.setInterval(OpenLayers.Function.bind(this.refresh,this),this.interval))},refresh:function(){this.layer&&(this.layer.refresh&&"function"==typeof this.layer.refresh)&&this.layer.refresh({force:this.force})},stop:function(){null!==this.timer&&(window.clearInterval(this.timer),this.timer=null)},CLASS_NAME:"OpenLayers.Strategy.Refresh"});OpenLayers.Layer.ArcGIS93Rest=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{format:"png"},isBaseLayer:!0,initialize:function(a,b,c,d){var e=[],c=OpenLayers.Util.upperCaseObject(c);e.push(a,b,c,d);OpenLayers.Layer.Grid.prototype.initialize.apply(this,e);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));if(this.params.TRANSPARENT&&"true"==this.params.TRANSPARENT.toString().toLowerCase()){if(null==d||!d.isBaseLayer)this.isBaseLayer=!1;"jpg"==this.params.FORMAT&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16819 (this.params.FORMAT=OpenLayers.Util.alphaHack()?"gif":"png")}},clone:function(a){null==a&&(a=new OpenLayers.Layer.ArcGIS93Rest(this.name,this.url,this.params,this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var a=this.adjustBounds(a),b=this.projection.getCode().split(":"),b=b[b.length-1],c=this.getImageSize(),a={BBOX:a.toBBOX(),SIZE:c.w+","+c.h,F:"image",BBOXSR:b,IMAGESR:b};if(this.layerDefs){var b=[],d;for(d in this.layerDefs)this.layerDefs.hasOwnProperty(d)&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16820 this.layerDefs[d]&&(b.push(d),b.push(":"),b.push(this.layerDefs[d]),b.push(";"));0<b.length&&(a.LAYERDEFS=b.join(""))}return this.getFullRequestString(a)},setLayerFilter:function(a,b){this.layerDefs||(this.layerDefs={});b?this.layerDefs[a]=b:delete this.layerDefs[a]},clearLayerFilter:function(a){a?delete this.layerDefs[a]:delete this.layerDefs},mergeNewParams:function(a){a=[OpenLayers.Util.upperCaseObject(a)];return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,a)},CLASS_NAME:"OpenLayers.Layer.ArcGIS93Rest"});OpenLayers.Format.WKT=OpenLayers.Class(OpenLayers.Format,{initialize:function(a){this.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/};OpenLayers.Format.prototype.initialize.apply(this,[a])},read:function(a){var b,c,a=a.replace(/[\n\r]/g," ");if(c=this.regExes.typeStr.exec(a))if(a=c[1].toLowerCase(),c=c[2],this.parse[a]&&(b=this.parse[a].apply(this,[c])),this.internalProjection&&this.externalProjection)if(b&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16821 "OpenLayers.Feature.Vector"==b.CLASS_NAME)b.geometry.transform(this.externalProjection,this.internalProjection);else if(b&&"geometrycollection"!=a&&"object"==typeof b){a=0;for(c=b.length;a<c;a++)b[a].geometry.transform(this.externalProjection,this.internalProjection)}return b},write:function(a){var b,c;a.constructor==Array?c=!0:(a=[a],c=!1);var d=[];c&&d.push("GEOMETRYCOLLECTION(");for(var e=0,f=a.length;e<f;++e)c&&0<e&&d.push(","),b=a[e].geometry,d.push(this.extractGeometry(b));c&&d.push(")");return d.join("")}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16822 extractGeometry:function(a){var b=a.CLASS_NAME.split(".")[2].toLowerCase();if(!this.extract[b])return null;this.internalProjection&&this.externalProjection&&(a=a.clone(),a.transform(this.internalProjection,this.externalProjection));return("collection"==b?"GEOMETRYCOLLECTION":b.toUpperCase())+"("+this.extract[b].apply(this,[a])+")"},extract:{point:function(a){return a.x+" "+a.y},multipoint:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.extract.point.apply(this,[a.components[c]])+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16823 ")");return b.join(",")},linestring:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.extract.point.apply(this,[a.components[c]]));return b.join(",")},multilinestring:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.extract.linestring.apply(this,[a.components[c]])+")");return b.join(",")},polygon:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.extract.linestring.apply(this,[a.components[c]])+")");return b.join(",")},multipolygon:function(a){for(var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16824 [],c=0,d=a.components.length;c<d;++c)b.push("("+this.extract.polygon.apply(this,[a.components[c]])+")");return b.join(",")},collection:function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.extractGeometry.apply(this,[a.components[c]]));return b.join(",")}},parse:{point:function(a){a=OpenLayers.String.trim(a).split(this.regExes.spaces);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(a[0],a[1]))},multipoint:function(a){for(var b=OpenLayers.String.trim(a).split(","), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16825 c=[],d=0,e=b.length;d<e;++d)a=b[d].replace(this.regExes.trimParens,"$1"),c.push(this.parse.point.apply(this,[a]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPoint(c))},linestring:function(a){for(var a=OpenLayers.String.trim(a).split(","),b=[],c=0,d=a.length;c<d;++c)b.push(this.parse.point.apply(this,[a[c]]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(b))},multilinestring:function(a){for(var b=OpenLayers.String.trim(a).split(this.regExes.parenComma), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16826 c=[],d=0,e=b.length;d<e;++d)a=b[d].replace(this.regExes.trimParens,"$1"),c.push(this.parse.linestring.apply(this,[a]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiLineString(c))},polygon:function(a){for(var b,a=OpenLayers.String.trim(a).split(this.regExes.parenComma),c=[],d=0,e=a.length;d<e;++d)b=a[d].replace(this.regExes.trimParens,"$1"),b=this.parse.linestring.apply(this,[b]).geometry,b=new OpenLayers.Geometry.LinearRing(b.components),c.push(b);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(c))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16827 multipolygon:function(a){for(var b=OpenLayers.String.trim(a).split(this.regExes.doubleParenComma),c=[],d=0,e=b.length;d<e;++d)a=b[d].replace(this.regExes.trimParens,"$1"),c.push(this.parse.polygon.apply(this,[a]).geometry);return new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(c))},geometrycollection:function(a){for(var a=a.replace(/,\s*([A-Za-z])/g,"|$1"),a=OpenLayers.String.trim(a).split("|"),b=[],c=0,d=a.length;c<d;++c)b.push(OpenLayers.Format.WKT.prototype.read.apply(this,[a[c]])); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16828 return b}},CLASS_NAME:"OpenLayers.Format.WKT"});OpenLayers.Handler.Hover=OpenLayers.Class(OpenLayers.Handler,{delay:500,pixelTolerance:null,stopMove:!1,px:null,timerId:null,mousemove:function(a){this.passesTolerance(a.xy)&&(this.clearTimer(),this.callback("move",[a]),this.px=a.xy,a=OpenLayers.Util.extend({},a),this.timerId=window.setTimeout(OpenLayers.Function.bind(this.delayedCall,this,a),this.delay));return!this.stopMove},mouseout:function(a){OpenLayers.Util.mouseLeft(a,this.map.viewPortDiv)&&(this.clearTimer(),this.callback("move",[a]));return!0}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16829 passesTolerance:function(a){var b=!0;this.pixelTolerance&&this.px&&Math.sqrt(Math.pow(this.px.x-a.x,2)+Math.pow(this.px.y-a.y,2))<this.pixelTolerance&&(b=!1);return b},clearTimer:function(){null!=this.timerId&&(window.clearTimeout(this.timerId),this.timerId=null)},delayedCall:function(a){this.callback("pause",[a])},deactivate:function(){var a=!1;OpenLayers.Handler.prototype.deactivate.apply(this,arguments)&&(this.clearTimer(),a=!0);return a},CLASS_NAME:"OpenLayers.Handler.Hover"});OpenLayers.Control.GetFeature=OpenLayers.Class(OpenLayers.Control,{protocol:null,multipleKey:null,toggleKey:null,modifiers:null,multiple:!1,click:!0,single:!0,clickout:!0,toggle:!1,clickTolerance:5,hover:!1,box:!1,maxFeatures:10,features:null,hoverFeature:null,handlerOptions:null,handlers:null,hoverResponse:null,filterType:OpenLayers.Filter.Spatial.BBOX,initialize:function(a){a.handlerOptions=a.handlerOptions||{};OpenLayers.Control.prototype.initialize.apply(this,[a]);this.features={};this.handlers= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16830 {};this.click&&(this.handlers.click=new OpenLayers.Handler.Click(this,{click:this.selectClick},this.handlerOptions.click||{}));this.box&&(this.handlers.box=new OpenLayers.Handler.Box(this,{done:this.selectBox},OpenLayers.Util.extend(this.handlerOptions.box,{boxDivClassName:"olHandlerBoxSelectFeature"})));this.hover&&(this.handlers.hover=new OpenLayers.Handler.Hover(this,{move:this.cancelHover,pause:this.selectHover},OpenLayers.Util.extend(this.handlerOptions.hover,{delay:250,pixelTolerance:2})))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16831 activate:function(){if(!this.active)for(var a in this.handlers)this.handlers[a].activate();return OpenLayers.Control.prototype.activate.apply(this,arguments)},deactivate:function(){if(this.active)for(var a in this.handlers)this.handlers[a].deactivate();return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},selectClick:function(a){var b=this.pixelToBounds(a.xy);this.setModifiers(a);this.request(b,{single:this.single})},selectBox:function(a){var b;if(a instanceof OpenLayers.Bounds)b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16832 this.map.getLonLatFromPixel({x:a.left,y:a.bottom}),a=this.map.getLonLatFromPixel({x:a.right,y:a.top}),b=new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat);else{if(this.click)return;b=this.pixelToBounds(a)}this.setModifiers(this.handlers.box.dragHandler.evt);this.request(b)},selectHover:function(a){this.request(this.pixelToBounds(a.xy),{single:!0,hover:!0})},cancelHover:function(){this.hoverResponse&&(this.protocol.abort(this.hoverResponse),this.hoverResponse=null,OpenLayers.Element.removeClass(this.map.viewPortDiv, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16833 "olCursorWait"))},request:function(a,b){var b=b||{},c=new OpenLayers.Filter.Spatial({type:this.filterType,value:a});OpenLayers.Element.addClass(this.map.viewPortDiv,"olCursorWait");c=this.protocol.read({maxFeatures:!0==b.single?this.maxFeatures:void 0,filter:c,callback:function(c){c.success()&&(c.features.length?!0==b.single?this.selectBestFeature(c.features,a.getCenterLonLat(),b):this.select(c.features):b.hover?this.hoverSelect():(this.events.triggerEvent("clickout"),this.clickout&&this.unselectAll())); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16834 OpenLayers.Element.removeClass(this.map.viewPortDiv,"olCursorWait")},scope:this});!0==b.hover&&(this.hoverResponse=c)},selectBestFeature:function(a,b,c){c=c||{};if(a.length){for(var b=new OpenLayers.Geometry.Point(b.lon,b.lat),d,e,f,g=Number.MAX_VALUE,h=0;h<a.length&&!(d=a[h],d.geometry&&(f=b.distanceTo(d.geometry,{edge:!1}),f<g&&(g=f,e=d,0==g)));++h);!0==c.hover?this.hoverSelect(e):this.select(e||a)}},setModifiers:function(a){this.modifiers={multiple:this.multiple||this.multipleKey&&a[this.multipleKey], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16835 toggle:this.toggle||this.toggleKey&&a[this.toggleKey]}},select:function(a){!this.modifiers.multiple&&!this.modifiers.toggle&&this.unselectAll();OpenLayers.Util.isArray(a)||(a=[a]);var b=this.events.triggerEvent("beforefeaturesselected",{features:a});if(!1!==b){for(var c=[],d,e=0,f=a.length;e<f;++e)d=a[e],this.features[d.fid||d.id]?this.modifiers.toggle&&this.unselect(this.features[d.fid||d.id]):(b=this.events.triggerEvent("beforefeatureselected",{feature:d}),!1!==b&&(this.features[d.fid||d.id]=d, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16836 c.push(d),this.events.triggerEvent("featureselected",{feature:d})));this.events.triggerEvent("featuresselected",{features:c})}},hoverSelect:function(a){var b=a?a.fid||a.id:null,c=this.hoverFeature?this.hoverFeature.fid||this.hoverFeature.id:null;c&&c!=b&&(this.events.triggerEvent("outfeature",{feature:this.hoverFeature}),this.hoverFeature=null);b&&b!=c&&(this.events.triggerEvent("hoverfeature",{feature:a}),this.hoverFeature=a)},unselect:function(a){delete this.features[a.fid||a.id];this.events.triggerEvent("featureunselected", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16837 {feature:a})},unselectAll:function(){for(var a in this.features)this.unselect(this.features[a])},setMap:function(a){for(var b in this.handlers)this.handlers[b].setMap(a);OpenLayers.Control.prototype.setMap.apply(this,arguments)},pixelToBounds:function(a){var b=a.add(-this.clickTolerance/2,this.clickTolerance/2),a=a.add(this.clickTolerance/2,-this.clickTolerance/2),b=this.map.getLonLatFromPixel(b),a=this.map.getLonLatFromPixel(a);return new OpenLayers.Bounds(b.lon,b.lat,a.lon,a.lat)},CLASS_NAME:"OpenLayers.Control.GetFeature"});OpenLayers.Format.QueryStringFilter=function(){function a(a){a=a.replace(/%/g,"\\%");a=a.replace(/\\\\\.(\*)?/g,function(a,b){return b?a:"\\\\_"});a=a.replace(/\\\\\.\*/g,"\\\\%");a=a.replace(/(\\)?\.(\*)?/g,function(a,b,c){return b||c?a:"_"});a=a.replace(/(\\)?\.\*/g,function(a,b){return b?a:"%"});a=a.replace(/\\\./g,".");return a=a.replace(/(\\)?\\\*/g,function(a,b){return b?a:"*"})}var b={};b[OpenLayers.Filter.Comparison.EQUAL_TO]="eq";b[OpenLayers.Filter.Comparison.NOT_EQUAL_TO]="ne";b[OpenLayers.Filter.Comparison.LESS_THAN]= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16838 "lt";b[OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO]="lte";b[OpenLayers.Filter.Comparison.GREATER_THAN]="gt";b[OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO]="gte";b[OpenLayers.Filter.Comparison.LIKE]="ilike";return OpenLayers.Class(OpenLayers.Format,{wildcarded:!1,srsInBBOX:!1,write:function(c,d){var d=d||{},e=c.CLASS_NAME,e=e.substring(e.lastIndexOf(".")+1);switch(e){case "Spatial":switch(c.type){case OpenLayers.Filter.Spatial.BBOX:d.bbox=c.value.toArray();this.srsInBBOX&&c.projection&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16839 d.bbox.push(c.projection.getCode());break;case OpenLayers.Filter.Spatial.DWITHIN:d.tolerance=c.distance;case OpenLayers.Filter.Spatial.WITHIN:d.lon=c.value.x;d.lat=c.value.y;break;default:OpenLayers.Console.warn("Unknown spatial filter type "+c.type)}break;case "Comparison":e=b[c.type];if(void 0!==e){var f=c.value;c.type==OpenLayers.Filter.Comparison.LIKE&&(f=a(f),this.wildcarded&&(f="%"+f+"%"));d[c.property+"__"+e]=f;d.queryable=d.queryable||[];d.queryable.push(c.property)}else OpenLayers.Console.warn("Unknown comparison filter type "+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16840 c.type);break;case "Logical":if(c.type===OpenLayers.Filter.Logical.AND){e=0;for(f=c.filters.length;e<f;e++)d=this.write(c.filters[e],d)}else OpenLayers.Console.warn("Unsupported logical filter type "+c.type);break;default:OpenLayers.Console.warn("Unknown filter type "+e)}return d},CLASS_NAME:"OpenLayers.Format.QueryStringFilter"})}();OpenLayers.Control.MousePosition=OpenLayers.Class(OpenLayers.Control,{autoActivate:!0,element:null,prefix:"",separator:", ",suffix:"",numDigits:5,granularity:10,emptyString:null,lastXy:null,displayProjection:null,destroy:function(){this.deactivate();OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.map.events.register("mousemove",this,this.redraw),this.map.events.register("mouseout",this,this.reset), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16841 this.redraw(),!0):!1},deactivate:function(){return OpenLayers.Control.prototype.deactivate.apply(this,arguments)?(this.map.events.unregister("mousemove",this,this.redraw),this.map.events.unregister("mouseout",this,this.reset),this.element.innerHTML="",!0):!1},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.element||(this.div.left="",this.div.top="",this.element=this.div);return this.div},redraw:function(a){var b;if(null==a)this.reset();else if(null==this.lastXy||Math.abs(a.xy.x- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16842 this.lastXy.x)>this.granularity||Math.abs(a.xy.y-this.lastXy.y)>this.granularity)this.lastXy=a.xy;else if(b=this.map.getLonLatFromPixel(a.xy))this.displayProjection&&b.transform(this.map.getProjectionObject(),this.displayProjection),this.lastXy=a.xy,a=this.formatOutput(b),a!=this.element.innerHTML&&(this.element.innerHTML=a)},reset:function(){null!=this.emptyString&&(this.element.innerHTML=this.emptyString)},formatOutput:function(a){var b=parseInt(this.numDigits);return this.prefix+a.lon.toFixed(b)+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16843 this.separator+a.lat.toFixed(b)+this.suffix},CLASS_NAME:"OpenLayers.Control.MousePosition"});OpenLayers.Control.Geolocate=OpenLayers.Class(OpenLayers.Control,{geolocation:navigator.geolocation,bind:!0,watch:!1,geolocationOptions:null,destroy:function(){this.deactivate();OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){return!this.geolocation?(this.events.triggerEvent("locationuncapable"),!1):OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.watch?this.watchId=this.geolocation.watchPosition(OpenLayers.Function.bind(this.geolocate,this),OpenLayers.Function.bind(this.failure, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16844 this),this.geolocationOptions):this.getCurrentLocation(),!0):!1},deactivate:function(){this.active&&null!==this.watchId&&this.geolocation.clearWatch(this.watchId);return OpenLayers.Control.prototype.deactivate.apply(this,arguments)},geolocate:function(a){var b=(new OpenLayers.LonLat(a.coords.longitude,a.coords.latitude)).transform(new OpenLayers.Projection("EPSG:4326"),this.map.getProjectionObject());this.bind&&this.map.setCenter(b);this.events.triggerEvent("locationupdated",{position:a,point:new OpenLayers.Geometry.Point(b.lon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16845 b.lat)})},getCurrentLocation:function(){if(!this.active||this.watch)return!1;this.geolocation.getCurrentPosition(OpenLayers.Function.bind(this.geolocate,this),OpenLayers.Function.bind(this.failure,this),this.geolocationOptions);return!0},failure:function(a){this.events.triggerEvent("locationfailed",{error:a})},CLASS_NAME:"OpenLayers.Control.Geolocate"});OpenLayers.Tile.UTFGrid=OpenLayers.Class(OpenLayers.Tile,{url:null,utfgridResolution:2,json:null,format:null,destroy:function(){this.clear();OpenLayers.Tile.prototype.destroy.apply(this,arguments)},draw:function(){var a=OpenLayers.Tile.prototype.draw.apply(this,arguments);if(a)if(this.isLoading?(this.abortLoading(),this.events.triggerEvent("reload")):(this.isLoading=!0,this.events.triggerEvent("loadstart")),this.url=this.layer.getURL(this.bounds),this.layer.useJSONP){var b=new OpenLayers.Protocol.Script({url:this.url, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16846 callback:function(a){this.isLoading=false;this.events.triggerEvent("loadend");this.json=a.data},scope:this});b.read();this.request=b}else this.request=OpenLayers.Request.GET({url:this.url,callback:function(a){this.isLoading=false;this.events.triggerEvent("loadend");a.status===200&&this.parseData(a.responseText)},scope:this});else this.unload();return a},abortLoading:function(){this.request&&(this.request.abort(),delete this.request);this.isLoading=!1},getFeatureInfo:function(a,b){var c=null;if(this.json){var d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16847 this.getFeatureId(a,b);null!==d&&(c={id:d,data:this.json.data[d]})}return c},getFeatureId:function(a,b){var c=null;if(this.json){var d=this.utfgridResolution,d=this.indexFromCharCode(this.json.grid[Math.floor(b/d)].charCodeAt(Math.floor(a/d))),e=this.json.keys;!isNaN(d)&&d in e&&(c=e[d])}return c},indexFromCharCode:function(a){93<=a&&a--;35<=a&&a--;return a-32},parseData:function(a){this.format||(this.format=new OpenLayers.Format.JSON);this.json=this.format.read(a)},clear:function(){this.json=null}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16848 CLASS_NAME:"OpenLayers.Tile.UTFGrid"});OpenLayers.Control.NavigationHistory=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOGGLE,previous:null,previousOptions:null,next:null,nextOptions:null,limit:50,autoActivate:!0,clearOnDeactivate:!1,registry:null,nextStack:null,previousStack:null,listeners:null,restoring:!1,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,[a]);this.registry=OpenLayers.Util.extend({moveend:this.getState},this.registry);a={trigger:OpenLayers.Function.bind(this.previousTrigger, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16849 this),displayClass:this.displayClass+" "+this.displayClass+"Previous"};OpenLayers.Util.extend(a,this.previousOptions);this.previous=new OpenLayers.Control.Button(a);a={trigger:OpenLayers.Function.bind(this.nextTrigger,this),displayClass:this.displayClass+" "+this.displayClass+"Next"};OpenLayers.Util.extend(a,this.nextOptions);this.next=new OpenLayers.Control.Button(a);this.clear()},onPreviousChange:function(a){a&&!this.previous.active?this.previous.activate():!a&&this.previous.active&&this.previous.deactivate()}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16850 onNextChange:function(a){a&&!this.next.active?this.next.activate():!a&&this.next.active&&this.next.deactivate()},destroy:function(){OpenLayers.Control.prototype.destroy.apply(this);this.previous.destroy();this.next.destroy();this.deactivate();for(var a in this)this[a]=null},setMap:function(a){this.map=a;this.next.setMap(a);this.previous.setMap(a)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.next.draw();this.previous.draw()},previousTrigger:function(){var a=this.previousStack.shift(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16851 b=this.previousStack.shift();void 0!=b?(this.nextStack.unshift(a),this.previousStack.unshift(b),this.restoring=!0,this.restore(b),this.restoring=!1,this.onNextChange(this.nextStack[0],this.nextStack.length),this.onPreviousChange(this.previousStack[1],this.previousStack.length-1)):this.previousStack.unshift(a);return b},nextTrigger:function(){var a=this.nextStack.shift();void 0!=a&&(this.previousStack.unshift(a),this.restoring=!0,this.restore(a),this.restoring=!1,this.onNextChange(this.nextStack[0], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16852 this.nextStack.length),this.onPreviousChange(this.previousStack[1],this.previousStack.length-1));return a},clear:function(){this.previousStack=[];this.previous.deactivate();this.nextStack=[];this.next.deactivate()},getState:function(){return{center:this.map.getCenter(),resolution:this.map.getResolution(),projection:this.map.getProjectionObject(),units:this.map.getProjectionObject().getUnits()||this.map.units||this.map.baseLayer.units}},restore:function(a){var b,c;if(this.map.getProjectionObject()== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16853 a.projection)c=this.map.getZoomForResolution(a.resolution),b=a.center;else{b=a.center.clone();b.transform(a.projection,this.map.getProjectionObject());c=a.units;var d=this.map.getProjectionObject().getUnits()||this.map.units||this.map.baseLayer.units;c=this.map.getZoomForResolution((c&&d?OpenLayers.INCHES_PER_UNIT[c]/OpenLayers.INCHES_PER_UNIT[d]:1)*a.resolution)}this.map.setCenter(b,c)},setListeners:function(){this.listeners={};for(var a in this.registry)this.listeners[a]=OpenLayers.Function.bind(function(){if(!this.restoring){this.previousStack.unshift(this.registry[a].apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16854 arguments));if(1<this.previousStack.length)this.onPreviousChange(this.previousStack[1],this.previousStack.length-1);this.previousStack.length>this.limit+1&&this.previousStack.pop();0<this.nextStack.length&&(this.nextStack=[],this.onNextChange(null,0))}return!0},this)},activate:function(){var a=!1;if(this.map&&OpenLayers.Control.prototype.activate.apply(this)){null==this.listeners&&this.setListeners();for(var b in this.listeners)this.map.events.register(b,this,this.listeners[b]);a=!0;0==this.previousStack.length&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16855 this.initStack()}return a},initStack:function(){this.map.getCenter()&&this.listeners.moveend()},deactivate:function(){var a=!1;if(this.map&&OpenLayers.Control.prototype.deactivate.apply(this)){for(var b in this.listeners)this.map.events.unregister(b,this,this.listeners[b]);this.clearOnDeactivate&&this.clear();a=!0}return a},CLASS_NAME:"OpenLayers.Control.NavigationHistory"});OpenLayers.Protocol.HTTP=OpenLayers.Class(OpenLayers.Protocol,{url:null,headers:null,params:null,callback:null,scope:null,readWithPOST:!1,updateWithPOST:!1,deleteWithPOST:!1,wildcarded:!1,srsInBBOX:!1,initialize:function(a){a=a||{};this.params={};this.headers={};OpenLayers.Protocol.prototype.initialize.apply(this,arguments);if(!this.filterToParams&&OpenLayers.Format.QueryStringFilter){var b=new OpenLayers.Format.QueryStringFilter({wildcarded:this.wildcarded,srsInBBOX:this.srsInBBOX});this.filterToParams= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16856 function(a,d){return b.write(a,d)}}},destroy:function(){this.headers=this.params=null;OpenLayers.Protocol.prototype.destroy.apply(this)},read:function(a){OpenLayers.Protocol.prototype.read.apply(this,arguments);a=a||{};a.params=OpenLayers.Util.applyDefaults(a.params,this.options.params);a=OpenLayers.Util.applyDefaults(a,this.options);a.filter&&this.filterToParams&&(a.params=this.filterToParams(a.filter,a.params));var b=void 0!==a.readWithPOST?a.readWithPOST:this.readWithPOST,c=new OpenLayers.Protocol.Response({requestType:"read"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16857 b?(b=a.headers||{},b["Content-Type"]="application/x-www-form-urlencoded",c.priv=OpenLayers.Request.POST({url:a.url,callback:this.createCallback(this.handleRead,c,a),data:OpenLayers.Util.getParameterString(a.params),headers:b})):c.priv=OpenLayers.Request.GET({url:a.url,callback:this.createCallback(this.handleRead,c,a),params:a.params,headers:a.headers});return c},handleRead:function(a,b){this.handleResponse(a,b)},create:function(a,b){var b=OpenLayers.Util.applyDefaults(b,this.options),c=new OpenLayers.Protocol.Response({reqFeatures:a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16858 requestType:"create"});c.priv=OpenLayers.Request.POST({url:b.url,callback:this.createCallback(this.handleCreate,c,b),headers:b.headers,data:this.format.write(a)});return c},handleCreate:function(a,b){this.handleResponse(a,b)},update:function(a,b){var b=b||{},c=b.url||a.url||this.options.url+"/"+a.fid,b=OpenLayers.Util.applyDefaults(b,this.options),d=new OpenLayers.Protocol.Response({reqFeatures:a,requestType:"update"});d.priv=OpenLayers.Request[this.updateWithPOST?"POST":"PUT"]({url:c,callback:this.createCallback(this.handleUpdate, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16859 d,b),headers:b.headers,data:this.format.write(a)});return d},handleUpdate:function(a,b){this.handleResponse(a,b)},"delete":function(a,b){var b=b||{},c=b.url||a.url||this.options.url+"/"+a.fid,b=OpenLayers.Util.applyDefaults(b,this.options),d=new OpenLayers.Protocol.Response({reqFeatures:a,requestType:"delete"}),e=this.deleteWithPOST?"POST":"DELETE",c={url:c,callback:this.createCallback(this.handleDelete,d,b),headers:b.headers};this.deleteWithPOST&&(c.data=this.format.write(a));d.priv=OpenLayers.Request[e](c); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16860 return d},handleDelete:function(a,b){this.handleResponse(a,b)},handleResponse:function(a,b){var c=a.priv;b.callback&&(200<=c.status&&300>c.status?("delete"!=a.requestType&&(a.features=this.parseFeatures(c)),a.code=OpenLayers.Protocol.Response.SUCCESS):a.code=OpenLayers.Protocol.Response.FAILURE,b.callback.call(b.scope,a))},parseFeatures:function(a){var b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;return!b||0>=b.length?null:this.format.read(b)},commit:function(a,b){function c(a){for(var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16861 a.features?a.features.length:0,c=Array(b),e=0;e<b;++e)c[e]=a.features[e].fid;o.insertIds=c;d.apply(this,[a])}function d(a){this.callUserCallback(a,b);n=n&&a.success();f++;f>=m&&b.callback&&(o.code=n?OpenLayers.Protocol.Response.SUCCESS:OpenLayers.Protocol.Response.FAILURE,b.callback.apply(b.scope,[o]))}var b=OpenLayers.Util.applyDefaults(b,this.options),e=[],f=0,g={};g[OpenLayers.State.INSERT]=[];g[OpenLayers.State.UPDATE]=[];g[OpenLayers.State.DELETE]=[];for(var h,i,j=[],k=0,l=a.length;k<l;++k)if(h= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16862 a[k],i=g[h.state])i.push(h),j.push(h);var m=(0<g[OpenLayers.State.INSERT].length?1:0)+g[OpenLayers.State.UPDATE].length+g[OpenLayers.State.DELETE].length,n=!0,o=new OpenLayers.Protocol.Response({reqFeatures:j});h=g[OpenLayers.State.INSERT];0<h.length&&e.push(this.create(h,OpenLayers.Util.applyDefaults({callback:c,scope:this},b.create)));h=g[OpenLayers.State.UPDATE];for(k=h.length-1;0<=k;--k)e.push(this.update(h[k],OpenLayers.Util.applyDefaults({callback:d,scope:this},b.update)));h=g[OpenLayers.State.DELETE]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16863 for(k=h.length-1;0<=k;--k)e.push(this["delete"](h[k],OpenLayers.Util.applyDefaults({callback:d,scope:this},b["delete"])));return e},abort:function(a){a&&a.priv.abort()},callUserCallback:function(a,b){var c=b[a.requestType];c&&c.callback&&c.callback.call(c.scope,a)},CLASS_NAME:"OpenLayers.Protocol.HTTP"});OpenLayers.Strategy.Cluster=OpenLayers.Class(OpenLayers.Strategy,{distance:20,threshold:null,features:null,clusters:null,clustering:!1,resolution:null,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);if(a)this.layer.events.on({beforefeaturesadded:this.cacheFeatures,moveend:this.cluster,scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&(this.clearCache(),this.layer.events.un({beforefeaturesadded:this.cacheFeatures,moveend:this.cluster, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16864 scope:this}));return a},cacheFeatures:function(a){var b=!0;this.clustering||(this.clearCache(),this.features=a.features,this.cluster(),b=!1);return b},clearCache:function(){this.features=null},cluster:function(a){if((!a||a.zoomChanged)&&this.features)if(a=this.layer.map.getResolution(),a!=this.resolution||!this.clustersExist()){this.resolution=a;for(var a=[],b,c,d,e=0;e<this.features.length;++e)if(b=this.features[e],b.geometry){c=!1;for(var f=a.length-1;0<=f;--f)if(d=a[f],this.shouldCluster(d,b)){this.addToCluster(d, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16865 b);c=!0;break}c||a.push(this.createCluster(this.features[e]))}this.layer.removeAllFeatures();if(0<a.length){if(1<this.threshold){b=a.slice();a=[];e=0;for(d=b.length;e<d;++e)c=b[e],c.attributes.count<this.threshold?Array.prototype.push.apply(a,c.cluster):a.push(c)}this.clustering=!0;this.layer.addFeatures(a);this.clustering=!1}this.clusters=a}},clustersExist:function(){var a=!1;if(this.clusters&&0<this.clusters.length&&this.clusters.length==this.layer.features.length)for(var a=!0,b=0;b<this.clusters.length;++b)if(this.clusters[b]!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16866 this.layer.features[b]){a=!1;break}return a},shouldCluster:function(a,b){var c=a.geometry.getBounds().getCenterLonLat(),d=b.geometry.getBounds().getCenterLonLat();return Math.sqrt(Math.pow(c.lon-d.lon,2)+Math.pow(c.lat-d.lat,2))/this.resolution<=this.distance},addToCluster:function(a,b){a.cluster.push(b);a.attributes.count+=1},createCluster:function(a){var b=a.geometry.getBounds().getCenterLonLat(),b=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(b.lon,b.lat),{count:1});b.cluster=[a]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16867 return b},CLASS_NAME:"OpenLayers.Strategy.Cluster"});OpenLayers.Strategy.Filter=OpenLayers.Class(OpenLayers.Strategy,{filter:null,cache:null,caching:!1,activate:function(){var a=OpenLayers.Strategy.prototype.activate.apply(this,arguments);a&&(this.cache=[],this.layer.events.on({beforefeaturesadded:this.handleAdd,beforefeaturesremoved:this.handleRemove,scope:this}));return a},deactivate:function(){this.cache=null;this.layer&&this.layer.events&&this.layer.events.un({beforefeaturesadded:this.handleAdd,beforefeaturesremoved:this.handleRemove,scope:this}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16868 return OpenLayers.Strategy.prototype.deactivate.apply(this,arguments)},handleAdd:function(a){if(!this.caching&&this.filter){var b=a.features;a.features=[];for(var c,d=0,e=b.length;d<e;++d)c=b[d],this.filter.evaluate(c)?a.features.push(c):this.cache.push(c)}},handleRemove:function(){this.caching||(this.cache=[])},setFilter:function(a){this.filter=a;a=this.cache;this.cache=[];this.handleAdd({features:this.layer.features});0<this.cache.length&&(this.caching=!0,this.layer.removeFeatures(this.cache.slice()), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16869 this.caching=!1);0<a.length&&(a={features:a},this.handleAdd(a),0<a.features.length&&(this.caching=!0,this.layer.addFeatures(a.features),this.caching=!1))},CLASS_NAME:"OpenLayers.Strategy.Filter"});OpenLayers.Protocol.SOS=function(a){var a=OpenLayers.Util.applyDefaults(a,OpenLayers.Protocol.SOS.DEFAULTS),b=OpenLayers.Protocol.SOS["v"+a.version.replace(/\./g,"_")];if(!b)throw"Unsupported SOS version: "+a.version;return new b(a)};OpenLayers.Protocol.SOS.DEFAULTS={version:"1.0.0"};OpenLayers.Format.WFSDescribeFeatureType=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{xsd:"http://www.w3.org/2001/XMLSchema"},readers:{xsd:{schema:function(a,b){var c=[],d={};this.readChildNodes(a,{complexTypes:c,customTypes:d});for(var e=a.attributes,f,g,h=0,i=e.length;h<i;++h)f=e[h],g=f.name,0==g.indexOf("xmlns")?this.setNamespace(g.split(":")[1]||"",f.value):b[g]=f.value;b.featureTypes=c;b.targetPrefix=this.namespaceAlias[b.targetNamespace];h=0;for(i=c.length;h<i;++h)e=c[h],f=d[e.typeName], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16870 d[e.typeName]&&(e.typeName=f.name)},complexType:function(a,b){var c={typeName:a.getAttribute("name")};this.readChildNodes(a,c);b.complexTypes.push(c)},complexContent:function(a,b){this.readChildNodes(a,b)},extension:function(a,b){this.readChildNodes(a,b)},sequence:function(a,b){var c={elements:[]};this.readChildNodes(a,c);b.properties=c.elements},element:function(a,b){if(b.elements){for(var c={},d=a.attributes,e,f=0,g=d.length;f<g;++f)e=d[f],c[e.name]=e.value;d=c.type;d||(d={},this.readChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16871 d),c.restriction=d,c.type=d.base);c.localType=(d.base||d).split(":").pop();b.elements.push(c)}b.complexTypes&&(d=a.getAttribute("type"),c=d.split(":").pop(),b.customTypes[c]={name:a.getAttribute("name"),type:d})},simpleType:function(a,b){this.readChildNodes(a,b)},restriction:function(a,b){b.base=a.getAttribute("base");this.readRestriction(a,b)}}},readRestriction:function(a,b){for(var c=a.childNodes,d,e,f=0,g=c.length;f<g;++f)d=c[f],1==d.nodeType&&(e=d.nodeName.split(":").pop(),d=d.getAttribute("value"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16872 b[e]?("string"==typeof b[e]&&(b[e]=[b[e]]),b[e].push(d)):b[e]=d)},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b},CLASS_NAME:"OpenLayers.Format.WFSDescribeFeatureType"});OpenLayers.Format.GeoRSS=OpenLayers.Class(OpenLayers.Format.XML,{rssns:"http://backend.userland.com/rss2",featureNS:"http://mapserver.gis.umn.edu/mapserver",georssns:"http://www.georss.org/georss",geons:"http://www.w3.org/2003/01/geo/wgs84_pos#",featureTitle:"Untitled",featureDescription:"No Description",gmlParser:null,xy:!1,createGeometryFromItem:function(a){var b=this.getElementsByTagNameNS(a,this.georssns,"point"),c=this.getElementsByTagNameNS(a,this.geons,"lat"),d=this.getElementsByTagNameNS(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16873 this.geons,"long"),e=this.getElementsByTagNameNS(a,this.georssns,"line"),f=this.getElementsByTagNameNS(a,this.georssns,"polygon"),g=this.getElementsByTagNameNS(a,this.georssns,"where"),a=this.getElementsByTagNameNS(a,this.georssns,"box");if(0<b.length||0<c.length&&0<d.length){0<b.length?(c=OpenLayers.String.trim(b[0].firstChild.nodeValue).split(/\s+/),2!=c.length&&(c=OpenLayers.String.trim(b[0].firstChild.nodeValue).split(/\s*,\s*/))):c=[parseFloat(c[0].firstChild.nodeValue),parseFloat(d[0].firstChild.nodeValue)]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16874 var h=new OpenLayers.Geometry.Point(c[1],c[0])}else if(0<e.length){c=OpenLayers.String.trim(this.getChildValue(e[0])).split(/\s+/);d=[];e=0;for(f=c.length;e<f;e+=2)b=new OpenLayers.Geometry.Point(c[e+1],c[e]),d.push(b);h=new OpenLayers.Geometry.LineString(d)}else if(0<f.length){c=OpenLayers.String.trim(this.getChildValue(f[0])).split(/\s+/);d=[];e=0;for(f=c.length;e<f;e+=2)b=new OpenLayers.Geometry.Point(c[e+1],c[e]),d.push(b);h=new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(d)])}else 0< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16875 g.length?(this.gmlParser||(this.gmlParser=new OpenLayers.Format.GML({xy:this.xy})),h=this.gmlParser.parseFeature(g[0]).geometry):0<a.length&&(c=OpenLayers.String.trim(a[0].firstChild.nodeValue).split(/\s+/),d=[],3<c.length&&(b=new OpenLayers.Geometry.Point(c[1],c[0]),d.push(b),b=new OpenLayers.Geometry.Point(c[1],c[2]),d.push(b),b=new OpenLayers.Geometry.Point(c[3],c[2]),d.push(b),b=new OpenLayers.Geometry.Point(c[3],c[0]),d.push(b),b=new OpenLayers.Geometry.Point(c[1],c[0]),d.push(b)),h=new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(d)])); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16876 h&&(this.internalProjection&&this.externalProjection)&&h.transform(this.externalProjection,this.internalProjection);return h},createFeatureFromItem:function(a){var b=this.createGeometryFromItem(a),c=this._getChildValue(a,"*","title",this.featureTitle),d=this._getChildValue(a,"*","description",this._getChildValue(a,"*","content",this._getChildValue(a,"*","summary",this.featureDescription))),e=this._getChildValue(a,"*","link");if(!e)try{e=this.getElementsByTagNameNS(a,"*","link")[0].getAttribute("href")}catch(f){e= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16877 null}a=this._getChildValue(a,"*","id",null);b=new OpenLayers.Feature.Vector(b,{title:c,description:d,link:e});b.fid=a;return b},_getChildValue:function(a,b,c,d){return(a=this.getElementsByTagNameNS(a,b,c))&&a[0]&&a[0].firstChild&&a[0].firstChild.nodeValue?this.getChildValue(a[0]):void 0==d?"":d},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=null,b=this.getElementsByTagNameNS(a,"*","item");0==b.length&&(b=this.getElementsByTagNameNS(a,"*","entry")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16878 for(var a=b.length,c=Array(a),d=0;d<a;d++)c[d]=this.createFeatureFromItem(b[d]);return c},write:function(a){var b;if(OpenLayers.Util.isArray(a)){b=this.createElementNS(this.rssns,"rss");for(var c=0,d=a.length;c<d;c++)b.appendChild(this.createFeatureXML(a[c]))}else b=this.createFeatureXML(a);return OpenLayers.Format.XML.prototype.write.apply(this,[b])},createFeatureXML:function(a){var b=this.buildGeometryNode(a.geometry),c=this.createElementNS(this.rssns,"item"),d=this.createElementNS(this.rssns,"title"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16879 d.appendChild(this.createTextNode(a.attributes.title?a.attributes.title:""));var e=this.createElementNS(this.rssns,"description");e.appendChild(this.createTextNode(a.attributes.description?a.attributes.description:""));c.appendChild(d);c.appendChild(e);a.attributes.link&&(d=this.createElementNS(this.rssns,"link"),d.appendChild(this.createTextNode(a.attributes.link)),c.appendChild(d));for(var f in a.attributes)"link"==f||("title"==f||"description"==f)||(d=this.createTextNode(a.attributes[f]),e=f,-1!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16880 f.search(":")&&(e=f.split(":")[1]),e=this.createElementNS(this.featureNS,"feature:"+e),e.appendChild(d),c.appendChild(e));c.appendChild(b);return c},buildGeometryNode:function(a){this.internalProjection&&this.externalProjection&&(a=a.clone(),a.transform(this.internalProjection,this.externalProjection));var b;if("OpenLayers.Geometry.Polygon"==a.CLASS_NAME)b=this.createElementNS(this.georssns,"georss:polygon"),b.appendChild(this.buildCoordinatesNode(a.components[0]));else if("OpenLayers.Geometry.LineString"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16881 a.CLASS_NAME)b=this.createElementNS(this.georssns,"georss:line"),b.appendChild(this.buildCoordinatesNode(a));else if("OpenLayers.Geometry.Point"==a.CLASS_NAME)b=this.createElementNS(this.georssns,"georss:point"),b.appendChild(this.buildCoordinatesNode(a));else throw"Couldn't parse "+a.CLASS_NAME;return b},buildCoordinatesNode:function(a){var b=null;a.components&&(b=a.components);if(b){for(var a=b.length,c=Array(a),d=0;d<a;d++)c[d]=b[d].y+" "+b[d].x;b=c.join(" ")}else b=a.y+" "+a.x;return this.createTextNode(b)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16882 CLASS_NAME:"OpenLayers.Format.GeoRSS"});OpenLayers.Format.WPSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.0.0",CLASS_NAME:"OpenLayers.Format.WPSCapabilities"});OpenLayers.Format.WPSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ows:"http://www.opengis.net/ows/1.1",wps:"http://www.opengis.net/wps/1.0.0",xlink:"http://www.w3.org/1999/xlink"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a])},read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16883 var b={};this.readNode(a,b);return b},readers:{wps:{Capabilities:function(a,b){this.readChildNodes(a,b)},ProcessOfferings:function(a,b){b.processOfferings={};this.readChildNodes(a,b.processOfferings)},Process:function(a,b){var c={processVersion:this.getAttributeNS(a,this.namespaces.wps,"processVersion")};this.readChildNodes(a,c);b[c.identifier]=c},Languages:function(a,b){b.languages=[];this.readChildNodes(a,b.languages)},Default:function(a,b){var c={isDefault:!0};this.readChildNodes(a,c);b.push(c)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16884 Supported:function(a,b){var c={};this.readChildNodes(a,c);b.push(c)}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WPSCapabilities.v1_0_0"});OpenLayers.Control.PinchZoom=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,containerCenter:null,pinchOrigin:null,currentCenter:null,autoActivate:!0,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Pinch(this,{start:this.pinchStart,move:this.pinchMove,done:this.pinchDone},this.handlerOptions)},activate:function(){var a=OpenLayers.Control.prototype.activate.apply(this,arguments);a&&(this.map.events.on({moveend:this.updateContainerCenter, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16885 scope:this}),this.updateContainerCenter());return a},deactivate:function(){var a=OpenLayers.Control.prototype.deactivate.apply(this,arguments);this.map&&this.map.events&&this.map.events.un({moveend:this.updateContainerCenter,scope:this});return a},updateContainerCenter:function(){var a=this.map.layerContainerDiv;this.containerCenter={x:parseInt(a.style.left,10)+50,y:parseInt(a.style.top,10)+50}},pinchStart:function(a){this.currentCenter=this.pinchOrigin=a.xy},pinchMove:function(a,b){var c=b.scale, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16886 d=this.containerCenter,e=this.pinchOrigin,f=a.xy,g=Math.round(f.x-e.x+(c-1)*(d.x-e.x)),d=Math.round(f.y-e.y+(c-1)*(d.y-e.y));this.applyTransform("translate("+g+"px, "+d+"px) scale("+c+")");this.currentCenter=f},applyTransform:function(a){var b=this.map.layerContainerDiv.style;b["-webkit-transform"]=a;b["-moz-transform"]=a},pinchDone:function(a,b,c){this.applyTransform("");a=this.map.getZoomForResolution(this.map.getResolution()/c.scale,!0);if(a!==this.map.getZoom()||!this.currentCenter.equals(this.pinchOrigin)){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16887 this.map.getResolutionForZoom(a),c=this.map.getLonLatFromPixel(this.pinchOrigin),d=this.currentCenter,e=this.map.getSize();c.lon+=b*(e.w/2-d.x);c.lat-=b*(e.h/2-d.y);this.map.div.clientWidth=this.map.div.clientWidth;this.map.setCenter(c,a)}},CLASS_NAME:"OpenLayers.Control.PinchZoom"});OpenLayers.Control.TouchNavigation=OpenLayers.Class(OpenLayers.Control,{dragPan:null,dragPanOptions:null,pinchZoom:null,pinchZoomOptions:null,clickHandlerOptions:null,documentDrag:!1,autoActivate:!0,initialize:function(a){this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate();this.dragPan&&this.dragPan.destroy();this.dragPan=null;this.pinchZoom&&(this.pinchZoom.destroy(),delete this.pinchZoom);OpenLayers.Control.prototype.destroy.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16888 arguments)},activate:function(){return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.dragPan.activate(),this.handlers.click.activate(),this.pinchZoom.activate(),!0):!1},deactivate:function(){return OpenLayers.Control.prototype.deactivate.apply(this,arguments)?(this.dragPan.deactivate(),this.handlers.click.deactivate(),this.pinchZoom.deactivate(),!0):!1},draw:function(){var a={click:this.defaultClick,dblclick:this.defaultDblClick},b=OpenLayers.Util.extend({"double":!0,stopDouble:!0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16889 pixelTolerance:2},this.clickHandlerOptions);this.handlers.click=new OpenLayers.Handler.Click(this,a,b);this.dragPan=new OpenLayers.Control.DragPan(OpenLayers.Util.extend({map:this.map,documentDrag:this.documentDrag},this.dragPanOptions));this.dragPan.draw();this.pinchZoom=new OpenLayers.Control.PinchZoom(OpenLayers.Util.extend({map:this.map},this.pinchZoomOptions))},defaultClick:function(a){a.lastTouches&&2==a.lastTouches.length&&this.map.zoomOut()},defaultDblClick:function(a){this.map.setCenter(this.map.getLonLatFromViewPortPx(a.xy), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16890 this.map.zoom+1)},CLASS_NAME:"OpenLayers.Control.TouchNavigation"});OpenLayers.Style2=OpenLayers.Class({id:null,name:null,title:null,description:null,layerName:null,isDefault:!1,rules:null,initialize:function(a){OpenLayers.Util.extend(this,a);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){for(var a=0,b=this.rules.length;a<b;a++)this.rules[a].destroy();delete this.rules},clone:function(){var a=OpenLayers.Util.extend({},this);if(this.rules){a.rules=[];for(var b=0,c=this.rules.length;b<c;++b)a.rules.push(this.rules[b].clone())}return new OpenLayers.Style2(a)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16891 CLASS_NAME:"OpenLayers.Style2"});OpenLayers.Format.WFS=OpenLayers.Class(OpenLayers.Format.GML,{layer:null,wfsns:"http://www.opengis.net/wfs",ogcns:"http://www.opengis.net/ogc",initialize:function(a,b){OpenLayers.Format.GML.prototype.initialize.apply(this,[a]);this.layer=b;this.layer.featureNS&&(this.featureNS=this.layer.featureNS);this.layer.options.geometry_column&&(this.geometryName=this.layer.options.geometry_column);this.layer.options.typename&&(this.featureName=this.layer.options.typename)},write:function(a){var b=this.createElementNS(this.wfsns, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16892 "wfs:Transaction");b.setAttribute("version","1.0.0");b.setAttribute("service","WFS");for(var c=0;c<a.length;c++)switch(a[c].state){case OpenLayers.State.INSERT:b.appendChild(this.insert(a[c]));break;case OpenLayers.State.UPDATE:b.appendChild(this.update(a[c]));break;case OpenLayers.State.DELETE:b.appendChild(this.remove(a[c]))}return OpenLayers.Format.XML.prototype.write.apply(this,[b])},createFeatureXML:function(a){var b=this.buildGeometryNode(a.geometry),c=this.createElementNS(this.featureNS,"feature:"+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16893 this.geometryName);c.appendChild(b);b=this.createElementNS(this.featureNS,"feature:"+this.featureName);b.appendChild(c);for(var d in a.attributes){var c=this.createTextNode(a.attributes[d]),e=d;-1!=d.search(":")&&(e=d.split(":")[1]);e=this.createElementNS(this.featureNS,"feature:"+e);e.appendChild(c);b.appendChild(e)}return b},insert:function(a){var b=this.createElementNS(this.wfsns,"wfs:Insert");b.appendChild(this.createFeatureXML(a));return b},update:function(a){a.fid||OpenLayers.Console.userError(OpenLayers.i18n("noFID")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16894 var b=this.createElementNS(this.wfsns,"wfs:Update");b.setAttribute("typeName",this.featurePrefix+":"+this.featureName);b.setAttribute("xmlns:"+this.featurePrefix,this.featureNS);var c=this.createElementNS(this.wfsns,"wfs:Property"),d=this.createElementNS(this.wfsns,"wfs:Name"),e=this.createTextNode(this.geometryName);d.appendChild(e);c.appendChild(d);d=this.createElementNS(this.wfsns,"wfs:Value");e=this.buildGeometryNode(a.geometry);a.layer&&e.setAttribute("srsName",a.layer.projection.getCode()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16895 d.appendChild(e);c.appendChild(d);b.appendChild(c);for(var f in a.attributes)c=this.createElementNS(this.wfsns,"wfs:Property"),d=this.createElementNS(this.wfsns,"wfs:Name"),d.appendChild(this.createTextNode(f)),c.appendChild(d),d=this.createElementNS(this.wfsns,"wfs:Value"),d.appendChild(this.createTextNode(a.attributes[f])),c.appendChild(d),b.appendChild(c);c=this.createElementNS(this.ogcns,"ogc:Filter");f=this.createElementNS(this.ogcns,"ogc:FeatureId");f.setAttribute("fid",a.fid);c.appendChild(f); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16896 b.appendChild(c);return b},remove:function(a){if(!a.fid)return OpenLayers.Console.userError(OpenLayers.i18n("noFID")),!1;var b=this.createElementNS(this.wfsns,"wfs:Delete");b.setAttribute("typeName",this.featurePrefix+":"+this.featureName);b.setAttribute("xmlns:"+this.featurePrefix,this.featureNS);var c=this.createElementNS(this.ogcns,"ogc:Filter"),d=this.createElementNS(this.ogcns,"ogc:FeatureId");d.setAttribute("fid",a.fid);c.appendChild(d);b.appendChild(c);return b},destroy:function(){this.layer= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16897 null},CLASS_NAME:"OpenLayers.Format.WFS"});OpenLayers.Format.SLD.v1_0_0_GeoServer=OpenLayers.Class(OpenLayers.Format.SLD.v1_0_0,{version:"1.0.0",profile:"GeoServer",readers:OpenLayers.Util.applyDefaults({sld:OpenLayers.Util.applyDefaults({Priority:function(a,b){var c=this.readers.ogc._expression.call(this,a);c&&(b.priority=c)},VendorOption:function(a,b){b.vendorOptions||(b.vendorOptions={});b.vendorOptions[a.getAttribute("name")]=this.getChildValue(a)}},OpenLayers.Format.SLD.v1_0_0.prototype.readers.sld)},OpenLayers.Format.SLD.v1_0_0.prototype.readers), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16898 writers:OpenLayers.Util.applyDefaults({sld:OpenLayers.Util.applyDefaults({Priority:function(a){return this.writers.sld._OGCExpression.call(this,"sld:Priority",a)},VendorOption:function(a){return this.createElementNSPlus("sld:VendorOption",{attributes:{name:a.name},value:a.value})},TextSymbolizer:function(a){var b=OpenLayers.Format.SLD.v1_0_0.prototype.writers.sld.TextSymbolizer.apply(this,arguments);!1!==a.graphic&&(a.externalGraphic||a.graphicName)&&this.writeNode("Graphic",a,b);"priority"in a&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16899 this.writeNode("Priority",a.priority,b);return this.addVendorOptions(b,a)},PointSymbolizer:function(a){return this.addVendorOptions(OpenLayers.Format.SLD.v1_0_0.prototype.writers.sld.PointSymbolizer.apply(this,arguments),a)},LineSymbolizer:function(a){return this.addVendorOptions(OpenLayers.Format.SLD.v1_0_0.prototype.writers.sld.LineSymbolizer.apply(this,arguments),a)},PolygonSymbolizer:function(a){return this.addVendorOptions(OpenLayers.Format.SLD.v1_0_0.prototype.writers.sld.PolygonSymbolizer.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16900 arguments),a)}},OpenLayers.Format.SLD.v1_0_0.prototype.writers.sld)},OpenLayers.Format.SLD.v1_0_0.prototype.writers),addVendorOptions:function(a,b){if(b.vendorOptions)for(var c in b.vendorOptions)this.writeNode("VendorOption",{name:c,value:b.vendorOptions[c]},a);return a},CLASS_NAME:"OpenLayers.Format.SLD.v1_0_0_GeoServer"});OpenLayers.Layer.Boxes=OpenLayers.Class(OpenLayers.Layer.Markers,{drawMarker:function(a){var b=this.map.getLayerPxFromLonLat({lon:a.bounds.left,lat:a.bounds.top}),c=this.map.getLayerPxFromLonLat({lon:a.bounds.right,lat:a.bounds.bottom});null==c||null==b?a.display(!1):(b=a.draw(b,{w:Math.max(1,c.x-b.x),h:Math.max(1,c.y-b.y)}),a.drawn||(this.div.appendChild(b),a.drawn=!0))},removeMarker:function(a){OpenLayers.Util.removeItem(this.markers,a);null!=a.div&&a.div.parentNode==this.div&&this.div.removeChild(a.div)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16901 CLASS_NAME:"OpenLayers.Layer.Boxes"});OpenLayers.Format.WFSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.WFSCapabilities.v1,{readers:{wfs:OpenLayers.Util.applyDefaults({Service:function(a,b){b.service={};this.readChildNodes(a,b.service)},Fees:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.fees=c)},AccessConstraints:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.accessConstraints=c)},OnlineResource:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.onlineResource= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16902 c)},Keywords:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.keywords=c.split(", "))},Capability:function(a,b){b.capability={};this.readChildNodes(a,b.capability)},Request:function(a,b){b.request={};this.readChildNodes(a,b.request)},GetFeature:function(a,b){b.getfeature={href:{},formats:[]};this.readChildNodes(a,b.getfeature)},ResultFormat:function(a,b){for(var c=a.childNodes,d,e=0;e<c.length;e++)d=c[e],1==d.nodeType&&b.formats.push(d.nodeName)},DCPType:function(a,b){this.readChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16903 b)},HTTP:function(a,b){this.readChildNodes(a,b.href)},Get:function(a,b){b.get=a.getAttribute("onlineResource")},Post:function(a,b){b.post=a.getAttribute("onlineResource")},SRS:function(a,b){var c=this.getChildValue(a);c&&(b.srs=c)}},OpenLayers.Format.WFSCapabilities.v1.prototype.readers.wfs)},CLASS_NAME:"OpenLayers.Format.WFSCapabilities.v1_0_0"});OpenLayers.Format.WMSCapabilities=OpenLayers.Class(OpenLayers.Format.XML.VersionedOGC,{defaultVersion:"1.1.1",profile:null,CLASS_NAME:"OpenLayers.Format.WMSCapabilities"});OpenLayers.Format.WMSCapabilities.v1=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{wms:"http://www.opengis.net/wms",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},defaultPrefix:"wms",read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=a;a&&9==a.nodeType&&(a=a.documentElement);var c={};this.readNode(a,c);void 0===c.service&&(a=new OpenLayers.Format.OGCExceptionReport,c.error=a.read(b));return c},readers:{wms:{Service:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16904 b){b.service={};this.readChildNodes(a,b.service)},Name:function(a,b){b.name=this.getChildValue(a)},Title:function(a,b){b.title=this.getChildValue(a)},Abstract:function(a,b){b["abstract"]=this.getChildValue(a)},BoundingBox:function(a){var b={};b.bbox=[parseFloat(a.getAttribute("minx")),parseFloat(a.getAttribute("miny")),parseFloat(a.getAttribute("maxx")),parseFloat(a.getAttribute("maxy"))];a={x:parseFloat(a.getAttribute("resx")),y:parseFloat(a.getAttribute("resy"))};if(!isNaN(a.x)||!isNaN(a.y))b.res= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16905 a;return b},OnlineResource:function(a,b){b.href=this.getAttributeNS(a,this.namespaces.xlink,"href")},ContactInformation:function(a,b){b.contactInformation={};this.readChildNodes(a,b.contactInformation)},ContactPersonPrimary:function(a,b){b.personPrimary={};this.readChildNodes(a,b.personPrimary)},ContactPerson:function(a,b){b.person=this.getChildValue(a)},ContactOrganization:function(a,b){b.organization=this.getChildValue(a)},ContactPosition:function(a,b){b.position=this.getChildValue(a)},ContactAddress:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16906 b){b.contactAddress={};this.readChildNodes(a,b.contactAddress)},AddressType:function(a,b){b.type=this.getChildValue(a)},Address:function(a,b){b.address=this.getChildValue(a)},City:function(a,b){b.city=this.getChildValue(a)},StateOrProvince:function(a,b){b.stateOrProvince=this.getChildValue(a)},PostCode:function(a,b){b.postcode=this.getChildValue(a)},Country:function(a,b){b.country=this.getChildValue(a)},ContactVoiceTelephone:function(a,b){b.phone=this.getChildValue(a)},ContactFacsimileTelephone:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16907 b){b.fax=this.getChildValue(a)},ContactElectronicMailAddress:function(a,b){b.email=this.getChildValue(a)},Fees:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.fees=c)},AccessConstraints:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.accessConstraints=c)},Capability:function(a,b){b.capability={nestedLayers:[],layers:[]};this.readChildNodes(a,b.capability)},Request:function(a,b){b.request={};this.readChildNodes(a,b.request)},GetCapabilities:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16908 b){b.getcapabilities={formats:[]};this.readChildNodes(a,b.getcapabilities)},Format:function(a,b){OpenLayers.Util.isArray(b.formats)?b.formats.push(this.getChildValue(a)):b.format=this.getChildValue(a)},DCPType:function(a,b){this.readChildNodes(a,b)},HTTP:function(a,b){this.readChildNodes(a,b)},Get:function(a,b){b.get={};this.readChildNodes(a,b.get);b.href||(b.href=b.get.href)},Post:function(a,b){b.post={};this.readChildNodes(a,b.post);b.href||(b.href=b.get.href)},GetMap:function(a,b){b.getmap={formats:[]}; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16909 this.readChildNodes(a,b.getmap)},GetFeatureInfo:function(a,b){b.getfeatureinfo={formats:[]};this.readChildNodes(a,b.getfeatureinfo)},Exception:function(a,b){b.exception={formats:[]};this.readChildNodes(a,b.exception)},Layer:function(a,b){var c,d;b.capability?(d=b.capability,c=b):d=b;var e=a.getAttributeNode("queryable"),f=e&&e.specified?a.getAttribute("queryable"):null,g=(e=a.getAttributeNode("cascaded"))&&e.specified?a.getAttribute("cascaded"):null,e=(e=a.getAttributeNode("opaque"))&&e.specified? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16910 a.getAttribute("opaque"):null,h=a.getAttribute("noSubsets"),i=a.getAttribute("fixedWidth"),j=a.getAttribute("fixedHeight"),k=c||{},l=OpenLayers.Util.extend;c={nestedLayers:[],styles:c?[].concat(c.styles):[],srs:c?l({},k.srs):{},metadataURLs:[],bbox:c?l({},k.bbox):{},llbbox:k.llbbox,dimensions:c?l({},k.dimensions):{},authorityURLs:c?l({},k.authorityURLs):{},identifiers:{},keywords:[],queryable:f&&""!==f?"1"===f||"true"===f:k.queryable||!1,cascaded:null!==g?parseInt(g):k.cascaded||0,opaque:e?"1"=== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16911 e||"true"===e:k.opaque||!1,noSubsets:null!==h?"1"===h||"true"===h:k.noSubsets||!1,fixedWidth:null!=i?parseInt(i):k.fixedWidth||0,fixedHeight:null!=j?parseInt(j):k.fixedHeight||0,minScale:k.minScale,maxScale:k.maxScale,attribution:k.attribution};b.nestedLayers.push(c);c.capability=d;this.readChildNodes(a,c);delete c.capability;if(c.name&&(f=c.name.split(":"),g=d.request,e=g.getfeatureinfo,0<f.length&&(c.prefix=f[0]),d.layers.push(c),void 0===c.formats&&(c.formats=g.getmap.formats),void 0===c.infoFormats&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16912 e))c.infoFormats=e.formats},Attribution:function(a,b){b.attribution={};this.readChildNodes(a,b.attribution)},LogoURL:function(a,b){b.logo={width:a.getAttribute("width"),height:a.getAttribute("height")};this.readChildNodes(a,b.logo)},Style:function(a,b){var c={};b.styles.push(c);this.readChildNodes(a,c)},LegendURL:function(a,b){var c={width:a.getAttribute("width"),height:a.getAttribute("height")};b.legend=c;this.readChildNodes(a,c)},MetadataURL:function(a,b){var c={type:a.getAttribute("type")};b.metadataURLs.push(c); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16913 this.readChildNodes(a,c)},DataURL:function(a,b){b.dataURL={};this.readChildNodes(a,b.dataURL)},FeatureListURL:function(a,b){b.featureListURL={};this.readChildNodes(a,b.featureListURL)},AuthorityURL:function(a,b){var c=a.getAttribute("name"),d={};this.readChildNodes(a,d);b.authorityURLs[c]=d.href},Identifier:function(a,b){var c=a.getAttribute("authority");b.identifiers[c]=this.getChildValue(a)},KeywordList:function(a,b){this.readChildNodes(a,b)},SRS:function(a,b){b.srs[this.getChildValue(a)]=!0}}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16914 CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1"});OpenLayers.Format.WMSCapabilities.v1_3=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1,{readers:{wms:OpenLayers.Util.applyDefaults({WMS_Capabilities:function(a,b){this.readChildNodes(a,b)},LayerLimit:function(a,b){b.layerLimit=parseInt(this.getChildValue(a))},MaxWidth:function(a,b){b.maxWidth=parseInt(this.getChildValue(a))},MaxHeight:function(a,b){b.maxHeight=parseInt(this.getChildValue(a))},BoundingBox:function(a,b){var c=OpenLayers.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16915 [a,b]);c.srs=a.getAttribute("CRS");b.bbox[c.srs]=c},CRS:function(a,b){this.readers.wms.SRS.apply(this,[a,b])},EX_GeographicBoundingBox:function(a,b){b.llbbox=[];this.readChildNodes(a,b.llbbox)},westBoundLongitude:function(a,b){b[0]=this.getChildValue(a)},eastBoundLongitude:function(a,b){b[2]=this.getChildValue(a)},southBoundLatitude:function(a,b){b[1]=this.getChildValue(a)},northBoundLatitude:function(a,b){b[3]=this.getChildValue(a)},MinScaleDenominator:function(a,b){b.maxScale=parseFloat(this.getChildValue(a)).toPrecision(16)}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16916 MaxScaleDenominator:function(a,b){b.minScale=parseFloat(this.getChildValue(a)).toPrecision(16)},Dimension:function(a,b){var c={name:a.getAttribute("name").toLowerCase(),units:a.getAttribute("units"),unitsymbol:a.getAttribute("unitSymbol"),nearestVal:"1"===a.getAttribute("nearestValue"),multipleVal:"1"===a.getAttribute("multipleValues"),"default":a.getAttribute("default")||"",current:"1"===a.getAttribute("current"),values:this.getChildValue(a).split(",")};b.dimensions[c.name]=c},Keyword:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16917 b){var c={value:this.getChildValue(a),vocabulary:a.getAttribute("vocabulary")};b.keywords&&b.keywords.push(c)}},OpenLayers.Format.WMSCapabilities.v1.prototype.readers.wms),sld:{UserDefinedSymbolization:function(a,b){this.readers.wms.UserDefinedSymbolization.apply(this,[a,b]);b.userSymbols.inlineFeature=1==parseInt(a.getAttribute("InlineFeature"));b.userSymbols.remoteWCS=1==parseInt(a.getAttribute("RemoteWCS"))},DescribeLayer:function(a,b){this.readers.wms.DescribeLayer.apply(this,[a,b])},GetLegendGraphic:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16918 b){this.readers.wms.GetLegendGraphic.apply(this,[a,b])}}},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_3"});OpenLayers.Layer.Zoomify=OpenLayers.Class(OpenLayers.Layer.Grid,{size:null,isBaseLayer:!0,standardTileSize:256,tileOriginCorner:"tl",numberOfTiers:0,tileCountUpToTier:null,tierSizeInTiles:null,tierImageSize:null,initialize:function(a,b,c,d){this.initializeZoomify(c);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a,b,c,{},d])},initializeZoomify:function(a){var a=a.clone(),b=new OpenLayers.Size(Math.ceil(a.w/this.standardTileSize),Math.ceil(a.h/this.standardTileSize));this.tierSizeInTiles=[b]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16919 for(this.tierImageSize=[a];a.w>this.standardTileSize||a.h>this.standardTileSize;)a=new OpenLayers.Size(Math.floor(a.w/2),Math.floor(a.h/2)),b=new OpenLayers.Size(Math.ceil(a.w/this.standardTileSize),Math.ceil(a.h/this.standardTileSize)),this.tierSizeInTiles.push(b),this.tierImageSize.push(a);this.tierSizeInTiles.reverse();this.tierImageSize.reverse();this.numberOfTiers=this.tierSizeInTiles.length;this.tileCountUpToTier=[0];for(a=1;a<this.numberOfTiers;a++)this.tileCountUpToTier.push(this.tierSizeInTiles[a- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16920 1].w*this.tierSizeInTiles[a-1].h+this.tileCountUpToTier[a-1])},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments);this.tileCountUpToTier.length=0;this.tierSizeInTiles.length=0;this.tierImageSize.length=0},clone:function(a){null==a&&(a=new OpenLayers.Layer.Zoomify(this.name,this.url,this.size,this.options));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var a=this.adjustBounds(a),b=this.map.getResolution(),c=Math.round((a.left-this.tileOrigin.lon)/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16921 (b*this.tileSize.w)),a=Math.round((this.tileOrigin.lat-a.top)/(b*this.tileSize.h)),b=this.map.getZoom(),c="TileGroup"+Math.floor((c+a*this.tierSizeInTiles[b].w+this.tileCountUpToTier[b])/256)+"/"+b+"-"+c+"-"+a+".jpg",a=this.url;OpenLayers.Util.isArray(a)&&(a=this.selectUrl(c,a));return a+c},getImageSize:function(){if(0<arguments.length){var a=this.adjustBounds(arguments[0]),b=this.map.getResolution(),c=Math.round((a.left-this.tileOrigin.lon)/(b*this.tileSize.w)),a=Math.round((this.tileOrigin.lat- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16922 a.top)/(b*this.tileSize.h)),b=this.map.getZoom(),d=this.standardTileSize,e=this.standardTileSize;c==this.tierSizeInTiles[b].w-1&&(d=this.tierImageSize[b].w%this.standardTileSize);a==this.tierSizeInTiles[b].h-1&&(e=this.tierImageSize[b].h%this.standardTileSize);return new OpenLayers.Size(d,e)}return this.tileSize},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);this.tileOrigin=new OpenLayers.LonLat(this.map.maxExtent.left,this.map.maxExtent.top)},calculateGridLayout:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16923 b,c){var d=c*this.tileSize.w,c=c*this.tileSize.h,e=a.left-b.lon,f=Math.floor(e/d)-this.buffer,a=b.lat-a.top+c,g=Math.floor(a/c)-this.buffer;return{tilelon:d,tilelat:c,tileoffsetlon:b.lon+f*d,tileoffsetlat:b.lat-c*g,tileoffsetx:-(e/d-f)*this.tileSize.w,tileoffsety:(g-a/c)*this.tileSize.h}},CLASS_NAME:"OpenLayers.Layer.Zoomify"});OpenLayers.Layer.MapServer=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{mode:"map",map_imagetype:"png"},initialize:function(a,b,c,d){OpenLayers.Layer.Grid.prototype.initialize.apply(this,arguments);this.params=OpenLayers.Util.applyDefaults(this.params,this.DEFAULT_PARAMS);if(null==d||null==d.isBaseLayer)this.isBaseLayer="true"!=this.params.transparent&&!0!=this.params.transparent},clone:function(a){null==a&&(a=new OpenLayers.Layer.MapServer(this.name,this.url,this.params,this.getOptions())); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16924 return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getURL:function(a){var a=this.adjustBounds(a),a=[a.left,a.bottom,a.right,a.top],b=this.getImageSize();return this.getFullRequestString({mapext:a,imgext:a,map_size:[b.w,b.h],imgx:b.w/2,imgy:b.h/2,imgxy:[b.w,b.h]})},getFullRequestString:function(a,b){var c=null==b?this.url:b,d=OpenLayers.Util.extend({},this.params),d=OpenLayers.Util.extend(d,a),e=OpenLayers.Util.getParameterString(d);OpenLayers.Util.isArray(c)&&(c=this.selectUrl(e,c)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16925 var e=OpenLayers.Util.upperCaseObject(OpenLayers.Util.getParameters(c)),f;for(f in d)f.toUpperCase()in e&&delete d[f];e=OpenLayers.Util.getParameterString(d);d=c;e=e.replace(/,/g,"+");""!=e&&(f=c.charAt(c.length-1),d="&"==f||"?"==f?d+e:-1==c.indexOf("?")?d+("?"+e):d+("&"+e));return d},CLASS_NAME:"OpenLayers.Layer.MapServer"});OpenLayers.Renderer.VML=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"urn:schemas-microsoft-com:vml",symbolCache:{},offset:null,initialize:function(a){if(this.supported()){if(!document.namespaces.olv){document.namespaces.add("olv",this.xmlns);for(var b=document.createStyleSheet(),c="shape rect oval fill stroke imagedata group textbox".split(" "),d=0,e=c.length;d<e;d++)b.addRule("olv\\:"+c[d],"behavior: url(#default#VML); position: absolute; display: inline-block;")}OpenLayers.Renderer.Elements.prototype.initialize.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16926 arguments)}},supported:function(){return!!document.namespaces},setExtent:function(a,b){var c=OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments),d=this.getResolution(),e=a.left/d|0,d=a.top/d-this.size.h|0;b||!this.offset?(this.offset={x:e,y:d},d=e=0):(e-=this.offset.x,d-=this.offset.y);this.root.coordorigin=e-this.xOffset+" "+d;for(var e=[this.root,this.vectorRoot,this.textRoot],f=0,g=e.length;f<g;++f)d=e[f],d.coordsize=this.size.w+" "+this.size.h;this.root.style.flip="y";return c}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16927 setSize:function(a){OpenLayers.Renderer.prototype.setSize.apply(this,arguments);for(var b=[this.rendererRoot,this.root,this.vectorRoot,this.textRoot],c=this.size.w+"px",d=this.size.h+"px",e,f=0,g=b.length;f<g;++f)e=b[f],e.style.width=c,e.style.height=d},getNodeType:function(a,b){var c=null;switch(a.CLASS_NAME){case "OpenLayers.Geometry.Point":c=b.externalGraphic?"olv:rect":this.isComplexSymbol(b.graphicName)?"olv:shape":"olv:oval";break;case "OpenLayers.Geometry.Rectangle":c="olv:rect";break;case "OpenLayers.Geometry.LineString":case "OpenLayers.Geometry.LinearRing":case "OpenLayers.Geometry.Polygon":case "OpenLayers.Geometry.Curve":c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16928 "olv:shape"}return c},setStyle:function(a,b,c,d){var b=b||a._style,c=c||a._options,e=b.fillColor;if("OpenLayers.Geometry.Point"===a._geometryClass)if(b.externalGraphic){c.isFilled=!0;b.graphicTitle&&(a.title=b.graphicTitle);var e=b.graphicWidth||b.graphicHeight,f=b.graphicHeight||b.graphicWidth,e=e?e:2*b.pointRadius,f=f?f:2*b.pointRadius,g=this.getResolution(),h=void 0!=b.graphicXOffset?b.graphicXOffset:-(0.5*e),i=void 0!=b.graphicYOffset?b.graphicYOffset:-(0.5*f);a.style.left=((d.x-this.featureDx)/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16929 g-this.offset.x+h|0)+"px";a.style.top=(d.y/g-this.offset.y-(i+f)|0)+"px";a.style.width=e+"px";a.style.height=f+"px";a.style.flip="y";e="none";c.isStroked=!1}else this.isComplexSymbol(b.graphicName)?(f=this.importSymbol(b.graphicName),a.path=f.path,a.coordorigin=f.left+","+f.bottom,f=f.size,a.coordsize=f+","+f,this.drawCircle(a,d,b.pointRadius),a.style.flip="y"):this.drawCircle(a,d,b.pointRadius);c.isFilled?a.fillcolor=e:a.filled="false";d=a.getElementsByTagName("fill");d=0==d.length?null:d[0];if(c.isFilled){d|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16930 (d=this.createNode("olv:fill",a.id+"_fill"));d.opacity=b.fillOpacity;if("OpenLayers.Geometry.Point"===a._geometryClass&&b.externalGraphic&&(b.graphicOpacity&&(d.opacity=b.graphicOpacity),d.src=b.externalGraphic,d.type="frame",!b.graphicWidth||!b.graphicHeight))d.aspect="atmost";d.parentNode!=a&&a.appendChild(d)}else d&&a.removeChild(d);e=b.rotation;if(void 0!==e||void 0!==a._rotation)a._rotation=e,b.externalGraphic?(this.graphicRotate(a,h,i,b),d.opacity=0):"OpenLayers.Geometry.Point"===a._geometryClass&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16931 (a.style.rotation=e||0);h=a.getElementsByTagName("stroke");h=0==h.length?null:h[0];if(c.isStroked){if(h||(h=this.createNode("olv:stroke",a.id+"_stroke"),a.appendChild(h)),h.on=!0,h.color=b.strokeColor,h.weight=b.strokeWidth+"px",h.opacity=b.strokeOpacity,h.endcap="butt"==b.strokeLinecap?"flat":b.strokeLinecap||"round",b.strokeDashstyle)h.dashstyle=this.dashStyle(b)}else a.stroked=!1,h&&(h.on=!1);"inherit"!=b.cursor&&null!=b.cursor&&(a.style.cursor=b.cursor);return a},graphicRotate:function(a,b,c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16932 d){var d=d||a._style,e=d.rotation||0,f,g;if(!d.graphicWidth||!d.graphicHeight){var h=new Image;h.onreadystatechange=OpenLayers.Function.bind(function(){if("complete"==h.readyState||"interactive"==h.readyState)f=h.width/h.height,g=Math.max(2*d.pointRadius,d.graphicWidth||0,d.graphicHeight||0),b*=f,d.graphicWidth=g*f,d.graphicHeight=g,this.graphicRotate(a,b,c,d)},this);h.src=d.externalGraphic}else{g=Math.max(d.graphicWidth,d.graphicHeight);f=d.graphicWidth/d.graphicHeight;var i=Math.round(d.graphicWidth|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16933 g*f),j=Math.round(d.graphicHeight||g);a.style.width=i+"px";a.style.height=j+"px";var k=document.getElementById(a.id+"_image");k||(k=this.createNode("olv:imagedata",a.id+"_image"),a.appendChild(k));k.style.width=i+"px";k.style.height=j+"px";k.src=d.externalGraphic;k.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='', sizingMethod='scale')";k=e*Math.PI/180;e=Math.sin(k);k=Math.cos(k);e="progid:DXImageTransform.Microsoft.Matrix(M11="+k+",M12="+-e+",M21="+e+",M22="+k+",SizingMethod='auto expand')\n"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16934 (k=d.graphicOpacity||d.fillOpacity)&&1!=k&&(e+="progid:DXImageTransform.Microsoft.BasicImage(opacity="+k+")\n");a.style.filter=e;e=new OpenLayers.Geometry.Point(-b,-c);i=(new OpenLayers.Bounds(0,0,i,j)).toGeometry();i.rotate(d.rotation,e);i=i.getBounds();a.style.left=Math.round(parseInt(a.style.left)+i.left)+"px";a.style.top=Math.round(parseInt(a.style.top)-i.bottom)+"px"}},postDraw:function(a){a.style.visibility="visible";var b=a._style.fillColor,c=a._style.strokeColor;"none"==b&&a.fillcolor!=b&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16935 (a.fillcolor=b);"none"==c&&a.strokecolor!=c&&(a.strokecolor=c)},setNodeDimension:function(a,b){var c=b.getBounds();if(c){var d=this.getResolution(),c=new OpenLayers.Bounds((c.left-this.featureDx)/d-this.offset.x|0,c.bottom/d-this.offset.y|0,(c.right-this.featureDx)/d-this.offset.x|0,c.top/d-this.offset.y|0);a.style.left=c.left+"px";a.style.top=c.top+"px";a.style.width=c.getWidth()+"px";a.style.height=c.getHeight()+"px";a.coordorigin=c.left+" "+c.top;a.coordsize=c.getWidth()+" "+c.getHeight()}},dashStyle:function(a){a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16936 a.strokeDashstyle;switch(a){case "solid":case "dot":case "dash":case "dashdot":case "longdash":case "longdashdot":return a;default:return a=a.split(/[ ,]/),2==a.length?1*a[0]>=2*a[1]?"longdash":1==a[0]||1==a[1]?"dot":"dash":4==a.length?1*a[0]>=2*a[1]?"longdashdot":"dashdot":"solid"}},createNode:function(a,b){var c=document.createElement(a);b&&(c.id=b);c.unselectable="on";c.onselectstart=OpenLayers.Function.False;return c},nodeTypeCompare:function(a,b){var c=b,d=c.indexOf(":");-1!=d&&(c=c.substr(d+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16937 1));var e=a.nodeName,d=e.indexOf(":");-1!=d&&(e=e.substr(d+1));return c==e},createRenderRoot:function(){return this.nodeFactory(this.container.id+"_vmlRoot","div")},createRoot:function(a){return this.nodeFactory(this.container.id+a,"olv:group")},drawPoint:function(a,b){return this.drawCircle(a,b,1)},drawCircle:function(a,b,c){if(!isNaN(b.x)&&!isNaN(b.y)){var d=this.getResolution();a.style.left=((b.x-this.featureDx)/d-this.offset.x|0)-c+"px";a.style.top=(b.y/d-this.offset.y|0)-c+"px";b=2*c;a.style.width= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16938 b+"px";a.style.height=b+"px";return a}return!1},drawLineString:function(a,b){return this.drawLine(a,b,!1)},drawLinearRing:function(a,b){return this.drawLine(a,b,!0)},drawLine:function(a,b,c){this.setNodeDimension(a,b);for(var d=this.getResolution(),e=b.components.length,f=Array(e),g,h,i=0;i<e;i++)g=b.components[i],h=(g.x-this.featureDx)/d-this.offset.x|0,g=g.y/d-this.offset.y|0,f[i]=" "+h+","+g+" l ";a.path="m"+f.join("")+(c?" x e":" e");return a},drawPolygon:function(a,b){this.setNodeDimension(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16939 b);var c=this.getResolution(),d=[],e,f,g,h,i,j,k,l,m,n;e=0;for(f=b.components.length;e<f;e++){d.push("m");g=b.components[e].components;h=0===e;j=i=null;k=0;for(l=g.length;k<l;k++)m=g[k],n=(m.x-this.featureDx)/c-this.offset.x|0,m=m.y/c-this.offset.y|0,n=" "+n+","+m,d.push(n),0==k&&d.push(" l"),h||(i?i!=n&&(j?j!=n&&(h=!0):j=n):i=n);d.push(h?" x ":" ")}d.push("e");a.path=d.join("");return a},drawRectangle:function(a,b){var c=this.getResolution();a.style.left=((b.x-this.featureDx)/c-this.offset.x|0)+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16940 "px";a.style.top=(b.y/c-this.offset.y|0)+"px";a.style.width=(b.width/c|0)+"px";a.style.height=(b.height/c|0)+"px";return a},drawText:function(a,b,c){var d=this.nodeFactory(a+this.LABEL_ID_SUFFIX,"olv:rect"),e=this.nodeFactory(a+this.LABEL_ID_SUFFIX+"_textbox","olv:textbox"),f=this.getResolution();d.style.left=((c.x-this.featureDx)/f-this.offset.x|0)+"px";d.style.top=(c.y/f-this.offset.y|0)+"px";d.style.flip="y";e.innerText=b.label;"inherit"!=b.cursor&&null!=b.cursor&&(e.style.cursor=b.cursor);b.fontColor&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16941 (e.style.color=b.fontColor);b.fontOpacity&&(e.style.filter="alpha(opacity="+100*b.fontOpacity+")");b.fontFamily&&(e.style.fontFamily=b.fontFamily);b.fontSize&&(e.style.fontSize=b.fontSize);b.fontWeight&&(e.style.fontWeight=b.fontWeight);b.fontStyle&&(e.style.fontStyle=b.fontStyle);!0===b.labelSelect&&(d._featureId=a,e._featureId=a,e._geometry=c,e._geometryClass=c.CLASS_NAME);e.style.whiteSpace="nowrap";e.inset="1px,0px,0px,0px";d.parentNode||(d.appendChild(e),this.textRoot.appendChild(d));b=b.labelAlign|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16942 "cm";1==b.length&&(b+="m");a=e.clientWidth*OpenLayers.Renderer.VML.LABEL_SHIFT[b.substr(0,1)];e=e.clientHeight*OpenLayers.Renderer.VML.LABEL_SHIFT[b.substr(1,1)];d.style.left=parseInt(d.style.left)-a-1+"px";d.style.top=parseInt(d.style.top)+e+"px"},moveRoot:function(a){var b=this.map.getLayer(a.container.id);b instanceof OpenLayers.Layer.Vector.RootContainer&&(b=this.map.getLayer(this.container.id));b&&b.renderer.clear();OpenLayers.Renderer.Elements.prototype.moveRoot.apply(this,arguments);b&&b.redraw()}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16943 importSymbol:function(a){var b=this.container.id+"-"+a,c=this.symbolCache[b];if(c)return c;c=OpenLayers.Renderer.symbol[a];if(!c)throw Error(a+" is not a valid symbol name");for(var a=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0),d=["m"],e=0;e<c.length;e+=2){var f=c[e],g=c[e+1];a.left=Math.min(a.left,f);a.bottom=Math.min(a.bottom,g);a.right=Math.max(a.right,f);a.top=Math.max(a.top,g);d.push(f);d.push(g);0==e&&d.push("l")}d.push("x e");c=d.join(" ");d=(a.getWidth()-a.getHeight())/2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16944 0<d?(a.bottom-=d,a.top+=d):(a.left+=d,a.right-=d);c={path:c,size:a.getWidth(),left:a.left,bottom:a.bottom};return this.symbolCache[b]=c},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={l:0,c:0.5,r:1,t:0,m:0.5,b:1};OpenLayers.Control.CacheRead=OpenLayers.Class(OpenLayers.Control,{fetchEvent:"tileloadstart",layers:null,autoActivate:!0,setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);var b,c=this.layers||a.layers;for(b=c.length-1;0<=b;--b)this.addLayer({layer:c[b]});if(!this.layers)a.events.on({addlayer:this.addLayer,removeLayer:this.removeLayer,scope:this})},addLayer:function(a){a.layer.events.register(this.fetchEvent,this,this.fetch)},removeLayer:function(a){a.layer.events.unregister(this.fetchEvent, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16945 this,this.fetch)},fetch:function(a){if(this.active&&window.localStorage&&a.tile instanceof OpenLayers.Tile.Image){var b=a.tile,c=b.url;!b.layer.crossOriginKeyword&&(OpenLayers.ProxyHost&&0===c.indexOf(OpenLayers.ProxyHost))&&(c=OpenLayers.Control.CacheWrite.urlMap[c]);if(c=window.localStorage.getItem("olCache_"+c))b.url=c,"tileerror"===a.type&&b.setImgSrc(c)}},destroy:function(){if(this.layers||this.map){var a,b=this.layers||this.map.layers;for(a=b.length-1;0<=a;--a)this.removeLayer({layer:b[a]})}this.map&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16946 this.map.events.un({addlayer:this.addLayer,removeLayer:this.removeLayer,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments)},CLASS_NAME:"OpenLayers.Control.CacheRead"});OpenLayers.Protocol.WFS.v1_0_0=OpenLayers.Class(OpenLayers.Protocol.WFS.v1,{version:"1.0.0",CLASS_NAME:"OpenLayers.Protocol.WFS.v1_0_0"});OpenLayers.Format.WMSGetFeatureInfo=OpenLayers.Class(OpenLayers.Format.XML,{layerIdentifier:"_layer",featureIdentifier:"_feature",regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},gmlFormat:null,read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));var b=a.documentElement;if(b)var c=this["read_"+b.nodeName],a=c?c.call(this,b):(new OpenLayers.Format.GML(this.options?this.options:{})).read(a);return a},read_msGMLOutput:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16947 [];if(a=this.getSiblingNodesByTagCriteria(a,this.layerIdentifier))for(var c=0,d=a.length;c<d;++c){var e=a[c],f=e.nodeName;e.prefix&&(f=f.split(":")[1]);f=f.replace(this.layerIdentifier,"");if(e=this.getSiblingNodesByTagCriteria(e,this.featureIdentifier))for(var g=0;g<e.length;g++){var h=e[g],i=this.parseGeometry(h),h=this.parseAttributes(h),h=new OpenLayers.Feature.Vector(i.geometry,h,null);h.bounds=i.bounds;h.type=f;b.push(h)}}return b},read_FeatureInfoResponse:function(a){for(var b=[],a=this.getElementsByTagNameNS(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16948 "*","FIELDS"),c=0,d=a.length;c<d;c++){var e=a[c],f={},g,h=e.attributes.length;if(0<h)for(g=0;g<h;g++){var i=e.attributes[g];f[i.nodeName]=i.nodeValue}else{e=e.childNodes;g=0;for(h=e.length;g<h;++g)i=e[g],3!=i.nodeType&&(f[i.getAttribute("name")]=i.getAttribute("value"))}b.push(new OpenLayers.Feature.Vector(null,f,null))}return b},getSiblingNodesByTagCriteria:function(a,b){var c=[],d,e,f,g;if(a&&a.hasChildNodes()){d=a.childNodes;f=d.length;for(var h=0;h<f;h++){for(g=d[h];g&&1!=g.nodeType;)g=g.nextSibling, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16949 h++;e=g?g.nodeName:"";0<e.length&&-1<e.indexOf(b)?c.push(g):(e=this.getSiblingNodesByTagCriteria(g,b),0<e.length&&(0==c.length?c=e:c.push(e)))}}return c},parseAttributes:function(a){var b={};if(1==a.nodeType)for(var a=a.childNodes,c=a.length,d=0;d<c;++d){var e=a[d];if(1==e.nodeType){var f=e.childNodes,e=e.prefix?e.nodeName.split(":")[1]:e.nodeName;if(0==f.length)b[e]=null;else if(1==f.length&&(f=f[0],3==f.nodeType||4==f.nodeType))f=f.nodeValue.replace(this.regExes.trimSpace,""),b[e]=f}}return b}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16950 parseGeometry:function(a){this.gmlFormat||(this.gmlFormat=new OpenLayers.Format.GML);var a=this.gmlFormat.parseFeature(a),b,c=null;a&&(b=a.geometry&&a.geometry.clone(),c=a.bounds&&a.bounds.clone(),a.destroy());return{geometry:b,bounds:c}},CLASS_NAME:"OpenLayers.Format.WMSGetFeatureInfo"});OpenLayers.Control.WMTSGetFeatureInfo=OpenLayers.Class(OpenLayers.Control,{hover:!1,requestEncoding:"KVP",drillDown:!1,maxFeatures:10,clickCallback:"click",layers:null,queryVisible:!0,infoFormat:"text/html",vendorParams:{},format:null,formatOptions:null,handlerOptions:null,handler:null,hoverRequest:null,pending:0,initialize:function(a){a=a||{};a.handlerOptions=a.handlerOptions||{};OpenLayers.Control.prototype.initialize.apply(this,[a]);this.format||(this.format=new OpenLayers.Format.WMSGetFeatureInfo(a.formatOptions)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16951 !0===this.drillDown&&(this.hover=!1);this.hover?this.handler=new OpenLayers.Handler.Hover(this,{move:this.cancelHover,pause:this.getInfoForHover},OpenLayers.Util.extend(this.handlerOptions.hover||{},{delay:250})):(a={},a[this.clickCallback]=this.getInfoForClick,this.handler=new OpenLayers.Handler.Click(this,a,this.handlerOptions.click||{}))},getInfoForClick:function(a){this.request(a.xy,{})},getInfoForHover:function(a){this.request(a.xy,{hover:!0})},cancelHover:function(){this.hoverRequest&&(--this.pending, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16952 0>=this.pending&&(OpenLayers.Element.removeClass(this.map.viewPortDiv,"olCursorWait"),this.pending=0),this.hoverRequest.abort(),this.hoverRequest=null)},findLayers:function(){for(var a=this.layers||this.map.layers,b=[],c,d=a.length-1;0<=d;--d)if(c=a[d],c instanceof OpenLayers.Layer.WMTS&&c.requestEncoding===this.requestEncoding&&(!this.queryVisible||c.getVisibility()))if(b.push(c),!this.drillDown||this.hover)break;return b},buildRequestOptions:function(a,b){var c=this.map.getLonLatFromPixel(b),d= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16953 a.getURL(new OpenLayers.Bounds(c.lon,c.lat,c.lon,c.lat)),d=OpenLayers.Util.getParameters(d),c=a.getTileInfo(c);OpenLayers.Util.extend(d,{service:"WMTS",version:a.version,request:"GetFeatureInfo",infoFormat:this.infoFormat,i:c.i,j:c.j});OpenLayers.Util.applyDefaults(d,this.vendorParams);return{url:OpenLayers.Util.isArray(a.url)?a.url[0]:a.url,params:OpenLayers.Util.upperCaseObject(d),callback:function(c){this.handleResponse(b,c,a)},scope:this}},request:function(a,b){var b=b||{},c=this.findLayers(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16954 if(0<c.length){for(var d,e,f=0,g=c.length;f<g;f++)e=c[f],d=this.events.triggerEvent("beforegetfeatureinfo",{xy:a,layer:e}),!1!==d&&(++this.pending,d=this.buildRequestOptions(e,a),d=OpenLayers.Request.GET(d),!0===b.hover&&(this.hoverRequest=d));0<this.pending&&OpenLayers.Element.addClass(this.map.viewPortDiv,"olCursorWait")}},handleResponse:function(a,b,c){--this.pending;0>=this.pending&&(OpenLayers.Element.removeClass(this.map.viewPortDiv,"olCursorWait"),this.pending=0);if(b.status&&(200>b.status|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16955 300<=b.status))this.events.triggerEvent("exception",{xy:a,request:b,layer:c});else{var d=b.responseXML;if(!d||!d.documentElement)d=b.responseText;var e,f;try{e=this.format.read(d)}catch(g){f=!0,this.events.triggerEvent("exception",{xy:a,request:b,error:g,layer:c})}f||this.events.triggerEvent("getfeatureinfo",{text:b.responseText,features:e,request:b,xy:a,layer:c})}},CLASS_NAME:"OpenLayers.Control.WMTSGetFeatureInfo"});OpenLayers.Strategy.Paging=OpenLayers.Class(OpenLayers.Strategy,{features:null,length:10,num:null,paging:!1,activate:function(){var a=OpenLayers.Strategy.prototype.activate.call(this);if(a)this.layer.events.on({beforefeaturesadded:this.cacheFeatures,scope:this});return a},deactivate:function(){var a=OpenLayers.Strategy.prototype.deactivate.call(this);a&&(this.clearCache(),this.layer.events.un({beforefeaturesadded:this.cacheFeatures,scope:this}));return a},cacheFeatures:function(a){this.paging||(this.clearCache(), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16956 this.features=a.features,this.pageNext(a))},clearCache:function(){if(this.features)for(var a=0;a<this.features.length;++a)this.features[a].destroy();this.num=this.features=null},pageCount:function(){return Math.ceil((this.features?this.features.length:0)/this.length)},pageNum:function(){return this.num},pageLength:function(a){a&&0<a&&(this.length=a);return this.length},pageNext:function(a){var b=!1;this.features&&(null===this.num&&(this.num=-1),b=this.page((this.num+1)*this.length,a));return b},pagePrevious:function(){var a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16957 !1;this.features&&(null===this.num&&(this.num=this.pageCount()),a=this.page((this.num-1)*this.length));return a},page:function(a,b){var c=!1;if(this.features&&0<=a&&a<this.features.length){var d=Math.floor(a/this.length);d!=this.num&&(this.paging=!0,c=this.features.slice(a,a+this.length),this.layer.removeFeatures(this.layer.features),this.num=d,b&&b.features?b.features=c:this.layer.addFeatures(c),this.paging=!1,c=!0)}return c},CLASS_NAME:"OpenLayers.Strategy.Paging"});OpenLayers.Protocol.CSW.v2_0_2=OpenLayers.Class(OpenLayers.Protocol,{formatOptions:null,initialize:function(a){OpenLayers.Protocol.prototype.initialize.apply(this,[a]);a.format||(this.format=new OpenLayers.Format.CSWGetRecords.v2_0_2(OpenLayers.Util.extend({},this.formatOptions)))},destroy:function(){this.options&&!this.options.format&&this.format.destroy();this.format=null;OpenLayers.Protocol.prototype.destroy.apply(this)},read:function(a){a=OpenLayers.Util.extend({},a);OpenLayers.Util.applyDefaults(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16958 this.options||{});var b=new OpenLayers.Protocol.Response({requestType:"read"}),c=this.format.write(a.params);b.priv=OpenLayers.Request.POST({url:a.url,callback:this.createCallback(this.handleRead,b,a),params:a.params,headers:a.headers,data:c});return b},handleRead:function(a,b){if(b.callback){var c=a.priv;200<=c.status&&300>c.status?(a.data=this.parseData(c),a.code=OpenLayers.Protocol.Response.SUCCESS):a.code=OpenLayers.Protocol.Response.FAILURE;b.callback.call(b.scope,a)}},parseData:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16959 a.responseXML;if(!b||!b.documentElement)b=a.responseText;return!b||0>=b.length?null:this.format.read(b)},CLASS_NAME:"OpenLayers.Protocol.CSW.v2_0_2"});OpenLayers.Format.WMSCapabilities.v1_1=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1,{readers:{wms:OpenLayers.Util.applyDefaults({WMT_MS_Capabilities:function(a,b){this.readChildNodes(a,b)},Keyword:function(a,b){b.keywords&&b.keywords.push(this.getChildValue(a))},DescribeLayer:function(a,b){b.describelayer={formats:[]};this.readChildNodes(a,b.describelayer)},GetLegendGraphic:function(a,b){b.getlegendgraphic={formats:[]};this.readChildNodes(a,b.getlegendgraphic)},GetStyles:function(a,b){b.getstyles= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16960 {formats:[]};this.readChildNodes(a,b.getstyles)},PutStyles:function(a,b){b.putstyles={formats:[]};this.readChildNodes(a,b.putstyles)},UserDefinedSymbolization:function(a,b){var c={supportSLD:1==parseInt(a.getAttribute("SupportSLD")),userLayer:1==parseInt(a.getAttribute("UserLayer")),userStyle:1==parseInt(a.getAttribute("UserStyle")),remoteWFS:1==parseInt(a.getAttribute("RemoteWFS"))};b.userSymbols=c},LatLonBoundingBox:function(a,b){b.llbbox=[parseFloat(a.getAttribute("minx")),parseFloat(a.getAttribute("miny")), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16961 parseFloat(a.getAttribute("maxx")),parseFloat(a.getAttribute("maxy"))]},BoundingBox:function(a,b){var c=OpenLayers.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this,[a,b]);c.srs=a.getAttribute("SRS");b.bbox[c.srs]=c},ScaleHint:function(a,b){var c=a.getAttribute("min"),d=a.getAttribute("max"),e=Math.pow(2,0.5),f=OpenLayers.INCHES_PER_UNIT.m;b.maxScale=parseFloat((c/e*f*OpenLayers.DOTS_PER_INCH).toPrecision(13));b.minScale=parseFloat((d/e*f*OpenLayers.DOTS_PER_INCH).toPrecision(13))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16962 Dimension:function(a,b){var c={name:a.getAttribute("name").toLowerCase(),units:a.getAttribute("units"),unitsymbol:a.getAttribute("unitSymbol")};b.dimensions[c.name]=c},Extent:function(a,b){var c=a.getAttribute("name").toLowerCase();if(c in b.dimensions){c=b.dimensions[c];c.nearestVal="1"===a.getAttribute("nearestValue");c.multipleVal="1"===a.getAttribute("multipleValues");c.current="1"===a.getAttribute("current");c["default"]=a.getAttribute("default")||"";var d=this.getChildValue(a);c.values=d.split(",")}}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16963 OpenLayers.Format.WMSCapabilities.v1.prototype.readers.wms)},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1"});OpenLayers.Control.Graticule=OpenLayers.Class(OpenLayers.Control,{autoActivate:!0,intervals:[45,30,20,10,5,2,1,0.5,0.2,0.1,0.05,0.01,0.005,0.002,0.001],displayInLayerSwitcher:!0,visible:!0,numPoints:50,targetSize:200,layerName:null,labelled:!0,labelFormat:"dm",lineSymbolizer:{strokeColor:"#333",strokeWidth:1,strokeOpacity:0.5},labelSymbolizer:{},gratLayer:null,initialize:function(a){a=a||{};a.layerName=a.layerName||OpenLayers.i18n("Graticule");OpenLayers.Control.prototype.initialize.apply(this,[a]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16964 this.labelSymbolizer.stroke=!1;this.labelSymbolizer.fill=!1;this.labelSymbolizer.label="${label}";this.labelSymbolizer.labelAlign="${labelAlign}";this.labelSymbolizer.labelXOffset="${xOffset}";this.labelSymbolizer.labelYOffset="${yOffset}"},destroy:function(){this.deactivate();OpenLayers.Control.prototype.destroy.apply(this,arguments);this.gratLayer&&(this.gratLayer.destroy(),this.gratLayer=null)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.gratLayer){var a=new OpenLayers.Style({}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16965 {rules:[new OpenLayers.Rule({symbolizer:{Point:this.labelSymbolizer,Line:this.lineSymbolizer}})]});this.gratLayer=new OpenLayers.Layer.Vector(this.layerName,{styleMap:new OpenLayers.StyleMap({"default":a}),visibility:this.visible,displayInLayerSwitcher:this.displayInLayerSwitcher})}return this.div},activate:function(){return OpenLayers.Control.prototype.activate.apply(this,arguments)?(this.map.addLayer(this.gratLayer),this.map.events.register("moveend",this,this.update),this.update(),!0):!1},deactivate:function(){return OpenLayers.Control.prototype.deactivate.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16966 arguments)?(this.map.events.unregister("moveend",this,this.update),this.map.removeLayer(this.gratLayer),!0):!1},update:function(){var a=this.map.getExtent();if(a){this.gratLayer.destroyFeatures();var b=new OpenLayers.Projection("EPSG:4326"),c=this.map.getProjectionObject(),d=this.map.getResolution();c.proj&&"longlat"==c.proj.projName&&(this.numPoints=1);var e=this.map.getCenter(),f=new OpenLayers.Pixel(e.lon,e.lat);OpenLayers.Projection.transform(f,c,b);for(var e=this.targetSize*d,e=e*e,g,d=0;d<this.intervals.length;++d){g= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16967 this.intervals[d];var h=g/2,i=f.offset({x:-h,y:-h}),h=f.offset({x:h,y:h});OpenLayers.Projection.transform(i,b,c);OpenLayers.Projection.transform(h,b,c);if((i.x-h.x)*(i.x-h.x)+(i.y-h.y)*(i.y-h.y)<=e)break}f.x=Math.floor(f.x/g)*g;f.y=Math.floor(f.y/g)*g;var d=0,e=[f.clone()],h=f.clone(),j;do h=h.offset({x:0,y:g}),j=OpenLayers.Projection.transform(h.clone(),b,c),e.unshift(h);while(a.containsPixel(j)&&1E3>++d);h=f.clone();do h=h.offset({x:0,y:-g}),j=OpenLayers.Projection.transform(h.clone(),b,c),e.push(h); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16968 while(a.containsPixel(j)&&1E3>++d);d=0;i=[f.clone()];h=f.clone();do h=h.offset({x:-g,y:0}),j=OpenLayers.Projection.transform(h.clone(),b,c),i.unshift(h);while(a.containsPixel(j)&&1E3>++d);h=f.clone();do h=h.offset({x:g,y:0}),j=OpenLayers.Projection.transform(h.clone(),b,c),i.push(h);while(a.containsPixel(j)&&1E3>++d);g=[];for(d=0;d<i.length;++d){j=i[d].x;for(var f=[],k=null,l=Math.min(e[0].y,90),h=Math.max(e[e.length-1].y,-90),m=(l-h)/this.numPoints,l=h,h=0;h<=this.numPoints;++h){var n=new OpenLayers.Geometry.Point(j, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16969 l);n.transform(b,c);f.push(n);l+=m;n.y>=a.bottom&&!k&&(k=n)}this.labelled&&(k=new OpenLayers.Geometry.Point(k.x,a.bottom),j={value:j,label:this.labelled?OpenLayers.Util.getFormattedLonLat(j,"lon",this.labelFormat):"",labelAlign:"cb",xOffset:0,yOffset:2},this.gratLayer.addFeatures(new OpenLayers.Feature.Vector(k,j)));f=new OpenLayers.Geometry.LineString(f);g.push(new OpenLayers.Feature.Vector(f))}for(h=0;h<e.length;++h)if(l=e[h].y,!(-90>l||90<l)){f=[];d=i[0].x;m=(i[i.length-1].x-d)/this.numPoints; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16970 j=d;k=null;for(d=0;d<=this.numPoints;++d)n=new OpenLayers.Geometry.Point(j,l),n.transform(b,c),f.push(n),j+=m,n.x<a.right&&(k=n);this.labelled&&(k=new OpenLayers.Geometry.Point(a.right,k.y),j={value:l,label:this.labelled?OpenLayers.Util.getFormattedLonLat(l,"lat",this.labelFormat):"",labelAlign:"rb",xOffset:-2,yOffset:2},this.gratLayer.addFeatures(new OpenLayers.Feature.Vector(k,j)));f=new OpenLayers.Geometry.LineString(f);g.push(new OpenLayers.Feature.Vector(f))}this.gratLayer.addFeatures(g)}},CLASS_NAME:"OpenLayers.Control.Graticule"});OpenLayers.Layer.UTFGrid=OpenLayers.Class(OpenLayers.Layer.XYZ,{isBaseLayer:!1,projection:new OpenLayers.Projection("EPSG:900913"),useJSONP:!1,tileClass:OpenLayers.Tile.UTFGrid,initialize:function(a){OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a.name,a.url,{},a]);this.tileOptions=OpenLayers.Util.extend({utfgridResolution:this.utfgridResolution},this.tileOptions)},clone:function(a){null==a&&(a=new OpenLayers.Layer.UTFGrid(this.getOptions()));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16971 [a])},getFeatureInfo:function(a){var b=null,a=this.getTileData(a);a.tile&&(b=a.tile.getFeatureInfo(a.i,a.j));return b},getFeatureId:function(a){var b=null,a=this.getTileData(a);a.tile&&(b=a.tile.getFeatureId(a.i,a.j));return b},CLASS_NAME:"OpenLayers.Layer.UTFGrid"});OpenLayers.Layer.ArcGISCache=OpenLayers.Class(OpenLayers.Layer.XYZ,{url:null,tileOrigin:null,tileSize:new OpenLayers.Size(256,256),useArcGISServer:!0,type:"png",useScales:!1,overrideDPI:!1,initialize:function(a,b,c){OpenLayers.Layer.XYZ.prototype.initialize.apply(this,arguments);this.resolutions&&(this.serverResolutions=this.resolutions,this.maxExtent=this.getMaxExtentForResolution(this.resolutions[0]));if(this.layerInfo){var d=this.layerInfo,e=new OpenLayers.Bounds(d.fullExtent.xmin,d.fullExtent.ymin, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16972 d.fullExtent.xmax,d.fullExtent.ymax);this.projection="EPSG:"+d.spatialReference.wkid;this.sphericalMercator=102100==d.spatialReference.wkid;this.units="esriFeet"==d.units?"ft":"m";if(d.tileInfo){this.tileSize=new OpenLayers.Size(d.tileInfo.width||d.tileInfo.cols,d.tileInfo.height||d.tileInfo.rows);this.tileOrigin=new OpenLayers.LonLat(d.tileInfo.origin.x,d.tileInfo.origin.y);var f=new OpenLayers.Geometry.Point(e.left,e.top),e=new OpenLayers.Geometry.Point(e.right,e.bottom);this.useScales?this.scales= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16973 []:this.resolutions=[];this.lods=[];for(var g in d.tileInfo.lods)if(d.tileInfo.lods.hasOwnProperty(g)){var h=d.tileInfo.lods[g];this.useScales?this.scales.push(h.scale):this.resolutions.push(h.resolution);var i=this.getContainingTileCoords(f,h.resolution);h.startTileCol=i.x;h.startTileRow=i.y;i=this.getContainingTileCoords(e,h.resolution);h.endTileCol=i.x;h.endTileRow=i.y;this.lods.push(h)}this.maxExtent=this.calculateMaxExtentWithLOD(this.lods[0]);this.serverResolutions=this.resolutions;this.overrideDPI&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16974 d.tileInfo.dpi&&(OpenLayers.DOTS_PER_INCH=d.tileInfo.dpi)}}},getContainingTileCoords:function(a,b){return new OpenLayers.Pixel(Math.max(Math.floor((a.x-this.tileOrigin.lon)/(this.tileSize.w*b)),0),Math.max(Math.floor((this.tileOrigin.lat-a.y)/(this.tileSize.h*b)),0))},calculateMaxExtentWithLOD:function(a){var b=this.tileOrigin.lon+a.startTileCol*this.tileSize.w*a.resolution,c=this.tileOrigin.lat-a.startTileRow*this.tileSize.h*a.resolution;return new OpenLayers.Bounds(b,c-(a.endTileRow-a.startTileRow+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16975 1)*this.tileSize.h*a.resolution,b+(a.endTileCol-a.startTileCol+1)*this.tileSize.w*a.resolution,c)},calculateMaxExtentWithExtent:function(a,b){var c=new OpenLayers.Geometry.Point(a.left,a.top),d=new OpenLayers.Geometry.Point(a.right,a.bottom),c=this.getContainingTileCoords(c,b),d=this.getContainingTileCoords(d,b);return this.calculateMaxExtentWithLOD({resolution:b,startTileCol:c.x,startTileRow:c.y,endTileCol:d.x,endTileRow:d.y})},getUpperLeftTileCoord:function(a){return this.getContainingTileCoords(new OpenLayers.Geometry.Point(this.maxExtent.left, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16976 this.maxExtent.top),a)},getLowerRightTileCoord:function(a){return this.getContainingTileCoords(new OpenLayers.Geometry.Point(this.maxExtent.right,this.maxExtent.bottom),a)},getMaxExtentForResolution:function(a){var b=this.getUpperLeftTileCoord(a),c=this.getLowerRightTileCoord(a),d=this.tileOrigin.lon+b.x*this.tileSize.w*a,e=this.tileOrigin.lat-b.y*this.tileSize.h*a;return new OpenLayers.Bounds(d,e-(c.y-b.y+1)*this.tileSize.h*a,d+(c.x-b.x+1)*this.tileSize.w*a,e)},clone:function(a){null==a&&(a=new OpenLayers.Layer.ArcGISCache(this.name, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16977 this.url,this.options));return OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},getMaxExtent:function(){return this.maxExtent=this.getMaxExtentForResolution(this.map.getResolution())},getTileOrigin:function(){var a=this.getMaxExtent();return new OpenLayers.LonLat(a.left,a.bottom)},getURL:function(a){var b=this.getResolution(),c=this.tileOrigin.lon+b*this.tileSize.w/2,d=this.tileOrigin.lat-b*this.tileSize.h/2,a=a.getCenterLonLat(),c=Math.round(Math.abs((a.lon-c)/(b*this.tileSize.w))),d=Math.round(Math.abs((d- |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16978 a.lat)/(b*this.tileSize.h))),a=this.map.getZoom();if(this.lods){if(b=this.lods[this.map.getZoom()],c<b.startTileCol||c>b.endTileCol||d<b.startTileRow||d>b.endTileRow)return null}else{var e=this.getUpperLeftTileCoord(b),b=this.getLowerRightTileCoord(b);if(c<e.x||c>=b.x||d<e.y||d>=b.y)return null}b=this.url;e=""+c+d+a;OpenLayers.Util.isArray(b)&&(b=this.selectUrl(e,b));this.useArcGISServer?b+="/tile/${z}/${y}/${x}":(c="C"+this.zeroPad(c,8,16),d="R"+this.zeroPad(d,8,16),a="L"+this.zeroPad(a,2,16),b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16979 b+"/${z}/${y}/${x}."+this.type);b=OpenLayers.String.format(b,{x:c,y:d,z:a});return OpenLayers.Util.urlAppend(b,OpenLayers.Util.getParameterString(this.params))},zeroPad:function(a,b,c){for(a=a.toString(c||10);a.length<b;)a="0"+a;return a},CLASS_NAME:"OpenLayers.Layer.ArcGISCache"});OpenLayers.Control.WMSGetFeatureInfo=OpenLayers.Class(OpenLayers.Control,{hover:!1,drillDown:!1,maxFeatures:10,clickCallback:"click",output:"features",layers:null,queryVisible:!1,url:null,layerUrls:null,infoFormat:"text/html",vendorParams:{},format:null,formatOptions:null,handlerOptions:null,handler:null,hoverRequest:null,initialize:function(a){a=a||{};a.handlerOptions=a.handlerOptions||{};OpenLayers.Control.prototype.initialize.apply(this,[a]);this.format||(this.format=new OpenLayers.Format.WMSGetFeatureInfo(a.formatOptions)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16980 !0===this.drillDown&&(this.hover=!1);this.hover?this.handler=new OpenLayers.Handler.Hover(this,{move:this.cancelHover,pause:this.getInfoForHover},OpenLayers.Util.extend(this.handlerOptions.hover||{},{delay:250})):(a={},a[this.clickCallback]=this.getInfoForClick,this.handler=new OpenLayers.Handler.Click(this,a,this.handlerOptions.click||{}))},getInfoForClick:function(a){this.events.triggerEvent("beforegetfeatureinfo",{xy:a.xy});OpenLayers.Element.addClass(this.map.viewPortDiv,"olCursorWait");this.request(a.xy, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16981 {})},getInfoForHover:function(a){this.events.triggerEvent("beforegetfeatureinfo",{xy:a.xy});this.request(a.xy,{hover:!0})},cancelHover:function(){this.hoverRequest&&(this.hoverRequest.abort(),this.hoverRequest=null)},findLayers:function(){for(var a=this.layers||this.map.layers,b=[],c,d,e=a.length-1;0<=e;--e)if(c=a[e],c instanceof OpenLayers.Layer.WMS&&(!this.queryVisible||c.getVisibility()))d=OpenLayers.Util.isArray(c.url)?c.url[0]:c.url,!1===this.drillDown&&!this.url&&(this.url=d),(!0===this.drillDown|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16982 this.urlMatches(d))&&b.push(c);return b},urlMatches:function(a){var b=OpenLayers.Util.isEquivalentUrl(this.url,a);if(!b&&this.layerUrls)for(var c=0,d=this.layerUrls.length;c<d;++c)if(OpenLayers.Util.isEquivalentUrl(this.layerUrls[c],a)){b=!0;break}return b},buildWMSOptions:function(a,b,c,d){for(var e=[],f=[],g=0,h=b.length;g<h;g++)null!=b[g].params.LAYERS&&(e=e.concat(b[g].params.LAYERS),f=f.concat(this.getStyleNames(b[g])));b=b[0];g=this.map.getProjection();(h=b.projection)&&h.equals(this.map.getProjectionObject())&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16983 (g=h.getCode());d=OpenLayers.Util.extend({service:"WMS",version:b.params.VERSION,request:"GetFeatureInfo",exceptions:b.params.EXCEPTIONS,bbox:this.map.getExtent().toBBOX(null,b.reverseAxisOrder()),feature_count:this.maxFeatures,height:this.map.getSize().h,width:this.map.getSize().w,format:d,info_format:b.params.INFO_FORMAT||this.infoFormat},1.3<=parseFloat(b.params.VERSION)?{crs:g,i:parseInt(c.x),j:parseInt(c.y)}:{srs:g,x:parseInt(c.x),y:parseInt(c.y)});0!=e.length&&(d=OpenLayers.Util.extend({layers:e, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16984 query_layers:e,styles:f},d));OpenLayers.Util.applyDefaults(d,this.vendorParams);return{url:a,params:OpenLayers.Util.upperCaseObject(d),callback:function(b){this.handleResponse(c,b,a)},scope:this}},getStyleNames:function(a){return a.params.STYLES?a.params.STYLES:OpenLayers.Util.isArray(a.params.LAYERS)?Array(a.params.LAYERS.length):a.params.LAYERS.replace(/[^,]/g,"")},request:function(a,b){var c=this.findLayers();if(0==c.length)this.events.triggerEvent("nogetfeatureinfo"),OpenLayers.Element.removeClass(this.map.viewPortDiv, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16985 "olCursorWait");else if(b=b||{},!1===this.drillDown){var c=this.buildWMSOptions(this.url,c,a,c[0].params.FORMAT),d=OpenLayers.Request.GET(c);!0===b.hover&&(this.hoverRequest=d)}else{this._numRequests=this._requestCount=0;this.features=[];for(var d={},e,f=0,g=c.length;f<g;f++){var h=c[f];e=OpenLayers.Util.isArray(h.url)?h.url[0]:h.url;e in d?d[e].push(h):(this._numRequests++,d[e]=[h])}for(e in d)c=d[e],c=this.buildWMSOptions(e,c,a,c[0].params.FORMAT),OpenLayers.Request.GET(c)}},triggerGetFeatureInfo:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16986 b,c){this.events.triggerEvent("getfeatureinfo",{text:a.responseText,features:c,request:a,xy:b});OpenLayers.Element.removeClass(this.map.viewPortDiv,"olCursorWait")},handleResponse:function(a,b,c){var d=b.responseXML;if(!d||!d.documentElement)d=b.responseText;d=this.format.read(d);!1===this.drillDown?this.triggerGetFeatureInfo(b,a,d):(this._requestCount++,this._features="object"===this.output?(this._features||[]).concat({url:c,features:d}):(this._features||[]).concat(d),this._requestCount===this._numRequests&& |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16987 (this.triggerGetFeatureInfo(b,a,this._features.concat()),delete this._features,delete this._requestCount,delete this._numRequests))},CLASS_NAME:"OpenLayers.Control.WMSGetFeatureInfo"});OpenLayers.Format.WMSCapabilities.v1_3_0=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_3,{version:"1.3.0",CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_3_0"});OpenLayers.Format.SOSGetFeatureOfInterest=OpenLayers.Class(OpenLayers.Format.XML,{VERSION:"1.0.0",namespaces:{sos:"http://www.opengis.net/sos/1.0",gml:"http://www.opengis.net/gml",sa:"http://www.opengis.net/sampling/1.0",xsi:"http://www.w3.org/2001/XMLSchema-instance"},schemaLocation:"http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosAll.xsd",defaultPrefix:"sos",regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},read:function(a){"string"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16988 typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={features:[]};this.readNode(a,b);for(var a=[],c=0,d=b.features.length;c<d;c++){var e=b.features[c];this.internalProjection&&(this.externalProjection&&e.components[0])&&e.components[0].transform(this.externalProjection,this.internalProjection);e=new OpenLayers.Feature.Vector(e.components[0],e.attributes);a.push(e)}return a},readers:{sa:{SamplingPoint:function(a,b){if(!b.attributes){var c= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16989 {attributes:{}};b.features.push(c);b=c}b.attributes.id=this.getAttributeNS(a,this.namespaces.gml,"id");this.readChildNodes(a,b)},position:function(a,b){this.readChildNodes(a,b)}},gml:OpenLayers.Util.applyDefaults({FeatureCollection:function(a,b){this.readChildNodes(a,b)},featureMember:function(a,b){var c={attributes:{}};b.features.push(c);this.readChildNodes(a,c)},name:function(a,b){b.attributes.name=this.getChildValue(a)},pos:function(a,b){this.externalProjection||(this.externalProjection=new OpenLayers.Projection(a.getAttribute("srsName"))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16990 OpenLayers.Format.GML.v3.prototype.readers.gml.pos.apply(this,[a,b])}},OpenLayers.Format.GML.v3.prototype.readers.gml)},writers:{sos:{GetFeatureOfInterest:function(a){for(var b=this.createElementNSPlus("GetFeatureOfInterest",{attributes:{version:this.VERSION,service:"SOS","xsi:schemaLocation":this.schemaLocation}}),c=0,d=a.fois.length;c<d;c++)this.writeNode("FeatureOfInterestId",{foi:a.fois[c]},b);return b},FeatureOfInterestId:function(a){return this.createElementNSPlus("FeatureOfInterestId",{value:a.foi})}}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16991 CLASS_NAME:"OpenLayers.Format.SOSGetFeatureOfInterest"});OpenLayers.Format.SOSGetObservation=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{ows:"http://www.opengis.net/ows",gml:"http://www.opengis.net/gml",sos:"http://www.opengis.net/sos/1.0",ogc:"http://www.opengis.net/ogc",om:"http://www.opengis.net/om/1.0",sa:"http://www.opengis.net/sampling/1.0",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance"},regExes:{trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g},VERSION:"1.0.0",schemaLocation:"http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosGetObservation.xsd", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16992 defaultPrefix:"sos",read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={measurements:[],observations:[]};this.readNode(a,b);return b},write:function(a){a=this.writeNode("sos:GetObservation",a);a.setAttribute("xmlns:om",this.namespaces.om);a.setAttribute("xmlns:ogc",this.namespaces.ogc);this.setAttributeNS(a,this.namespaces.xsi,"xsi:schemaLocation",this.schemaLocation);return OpenLayers.Format.XML.prototype.write.apply(this, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16993 [a])},readers:{om:{ObservationCollection:function(a,b){b.id=this.getAttributeNS(a,this.namespaces.gml,"id");this.readChildNodes(a,b)},member:function(a,b){this.readChildNodes(a,b)},Measurement:function(a,b){var c={};b.measurements.push(c);this.readChildNodes(a,c)},Observation:function(a,b){var c={};b.observations.push(c);this.readChildNodes(a,c)},samplingTime:function(a,b){var c={};b.samplingTime=c;this.readChildNodes(a,c)},observedProperty:function(a,b){b.observedProperty=this.getAttributeNS(a,this.namespaces.xlink, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16994 "href");this.readChildNodes(a,b)},procedure:function(a,b){b.procedure=this.getAttributeNS(a,this.namespaces.xlink,"href");this.readChildNodes(a,b)},featureOfInterest:function(a,b){var c={features:[]};b.fois=[];b.fois.push(c);this.readChildNodes(a,c);for(var d=[],e=0,f=c.features.length;e<f;e++){var g=c.features[e];d.push(new OpenLayers.Feature.Vector(g.components[0],g.attributes))}c.features=d},result:function(a,b){var c={};b.result=c;""!==this.getChildValue(a)?(c.value=this.getChildValue(a),c.uom= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16995 a.getAttribute("uom")):this.readChildNodes(a,c)}},sa:OpenLayers.Format.SOSGetFeatureOfInterest.prototype.readers.sa,gml:OpenLayers.Util.applyDefaults({TimeInstant:function(a,b){var c={};b.timeInstant=c;this.readChildNodes(a,c)},timePosition:function(a,b){b.timePosition=this.getChildValue(a)}},OpenLayers.Format.SOSGetFeatureOfInterest.prototype.readers.gml)},writers:{sos:{GetObservation:function(a){var b=this.createElementNSPlus("GetObservation",{attributes:{version:this.VERSION,service:"SOS"}});this.writeNode("offering", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16996 a,b);a.eventTime&&this.writeNode("eventTime",a,b);for(var c in a.procedures)this.writeNode("procedure",a.procedures[c],b);for(var d in a.observedProperties)this.writeNode("observedProperty",a.observedProperties[d],b);a.foi&&this.writeNode("featureOfInterest",a.foi,b);this.writeNode("responseFormat",a,b);a.resultModel&&this.writeNode("resultModel",a,b);a.responseMode&&this.writeNode("responseMode",a,b);return b},featureOfInterest:function(a){var b=this.createElementNSPlus("featureOfInterest");this.writeNode("ObjectID", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16997 a.objectId,b);return b},ObjectID:function(a){return this.createElementNSPlus("ObjectID",{value:a})},responseFormat:function(a){return this.createElementNSPlus("responseFormat",{value:a.responseFormat})},procedure:function(a){return this.createElementNSPlus("procedure",{value:a})},offering:function(a){return this.createElementNSPlus("offering",{value:a.offering})},observedProperty:function(a){return this.createElementNSPlus("observedProperty",{value:a})},eventTime:function(a){var b=this.createElementNSPlus("eventTime"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16998 "latest"===a.eventTime&&this.writeNode("ogc:TM_Equals",a,b);return b},resultModel:function(a){return this.createElementNSPlus("resultModel",{value:a.resultModel})},responseMode:function(a){return this.createElementNSPlus("responseMode",{value:a.responseMode})}},ogc:{TM_Equals:function(a){var b=this.createElementNSPlus("ogc:TM_Equals");this.writeNode("ogc:PropertyName",{property:"urn:ogc:data:time:iso8601"},b);"latest"===a.eventTime&&this.writeNode("gml:TimeInstant",{value:"latest"},b);return b},PropertyName:function(a){return this.createElementNSPlus("ogc:PropertyName", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16999 {value:a.property})}},gml:{TimeInstant:function(a){var b=this.createElementNSPlus("gml:TimeInstant");this.writeNode("gml:timePosition",a,b);return b},timePosition:function(a){return this.createElementNSPlus("gml:timePosition",{value:a.value})}}},CLASS_NAME:"OpenLayers.Format.SOSGetObservation"});OpenLayers.Control.UTFGrid=OpenLayers.Class(OpenLayers.Control,{autoActivate:!0,layers:null,defaultHandlerOptions:{delay:300,pixelTolerance:4,stopMove:!1,single:!0,"double":!1,stopSingle:!1,stopDouble:!1},handlerMode:"click",setHandler:function(a){this.handlerMode=a;this.resetHandler()},resetHandler:function(){this.handler&&(this.handler.deactivate(),this.handler.destroy(),this.handler=null);"hover"==this.handlerMode?this.handler=new OpenLayers.Handler.Hover(this,{pause:this.handleEvent,move:this.reset}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17000 this.handlerOptions):"click"==this.handlerMode?this.handler=new OpenLayers.Handler.Click(this,{click:this.handleEvent},this.handlerOptions):"move"==this.handlerMode&&(this.handler=new OpenLayers.Handler.Hover(this,{pause:this.handleEvent,move:this.handleEvent},this.handlerOptions));return this.handler?!0:!1},initialize:function(a){a=a||{};a.handlerOptions=a.handlerOptions||this.defaultHandlerOptions;OpenLayers.Control.prototype.initialize.apply(this,[a]);this.resetHandler()},handleEvent:function(a){if(null== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17001 a)this.reset();else{var b=this.map.getLonLatFromPixel(a.xy);if(b){var c=this.findLayers();if(0<c.length){for(var d={},e,f,g=0,h=c.length;g<h;g++)e=c[g],f=OpenLayers.Util.indexOf(this.map.layers,e),d[f]=e.getFeatureInfo(b);this.callback(d,b,a.xy)}}}},callback:function(){},reset:function(){this.callback(null)},findLayers:function(){for(var a=this.layers||this.map.layers,b=[],c,d=a.length-1;0<=d;--d)c=a[d],c instanceof OpenLayers.Layer.UTFGrid&&b.push(c);return b},CLASS_NAME:"OpenLayers.Control.UTFGrid"});OpenLayers.Format.CQL=function(){function a(a){function b(){var a=e.pop();switch(a.type){case "LOGICAL":var c=b(),g=b();return new OpenLayers.Filter.Logical({filters:[g,c],type:f[a.text.toUpperCase()]});case "NOT":return c=b(),new OpenLayers.Filter.Logical({filters:[c],type:OpenLayers.Filter.Logical.NOT});case "BETWEEN":return e.pop(),g=b(),a=b(),c=b(),new OpenLayers.Filter.Comparison({property:c,lowerBoundary:a,upperBoundary:g,type:OpenLayers.Filter.Comparison.BETWEEN});case "COMPARISON":return g= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17002 b(),c=b(),new OpenLayers.Filter.Comparison({property:c,value:g,type:d[a.text.toUpperCase()]});case "VALUE":return/^'.*'$/.test(a.text)?a.text.substr(1,a.text.length-2):Number(a.text);case "SPATIAL":switch(a.text.toUpperCase()){case "BBOX":var c=b(),a=b(),g=b(),h=b(),i=b();return new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.BBOX,property:i,value:OpenLayers.Bounds.fromArray([h,g,a,c])});case "INTERSECTS":return g=b(),c=b(),new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17003 property:c,value:g});case "WITHIN":return g=b(),c=b(),new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.WITHIN,property:c,value:g});case "CONTAINS":return g=b(),c=b(),new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.CONTAINS,property:c,value:g});case "DWITHIN":return a=b(),g=b(),c=b(),new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.DWITHIN,value:g,property:c,distance:Number(a)})}case "GEOMETRY":return OpenLayers.Geometry.fromWKT(a.text);default:return a.text}} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17004 for(var c=[],e=[];a.length;){var g=a.shift();switch(g.type){case "PROPERTY":case "GEOMETRY":case "VALUE":e.push(g);break;case "COMPARISON":case "BETWEEN":case "LOGICAL":for(var i=h[g.type];0<c.length&&h[c[c.length-1].type]<=i;)e.push(c.pop());c.push(g);break;case "SPATIAL":case "NOT":case "LPAREN":c.push(g);break;case "RPAREN":for(;0<c.length&&"LPAREN"!=c[c.length-1].type;)e.push(c.pop());c.pop();0<c.length&&"SPATIAL"==c[c.length-1].type&&e.push(c.pop());case "COMMA":case "END":break;default:throw Error("Unknown token type "+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17005 g.type);}}for(;0<c.length;)e.push(c.pop());a=b();if(0<e.length){a="Remaining tokens after building AST: \n";for(c=e.length-1;0<=c;c--)a+=e[c].type+": "+e[c].text+"\n";throw Error(a);}return a}var b={PROPERTY:/^[_a-zA-Z]\w*/,COMPARISON:/^(=|<>|<=|<|>=|>|LIKE)/i,COMMA:/^,/,LOGICAL:/^(AND|OR)/i,VALUE:/^('\w+'|\d+(\.\d*)?|\.\d+)/,LPAREN:/^\(/,RPAREN:/^\)/,SPATIAL:/^(BBOX|INTERSECTS|DWITHIN|WITHIN|CONTAINS)/i,NOT:/^NOT/i,BETWEEN:/^BETWEEN/i,GEOMETRY:function(a){var b=/^(POINT|LINESTRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)/.exec(a); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17006 if(b){var c=a.length,b=a.indexOf("(",b[0].length);if(-1<b)for(var d=1;b<c&&0<d;)switch(b++,a.charAt(b)){case "(":d++;break;case ")":d--}return[a.substr(0,b+1)]}},END:/^$/},c={LPAREN:["GEOMETRY","SPATIAL","PROPERTY","VALUE","LPAREN"],RPAREN:["NOT","LOGICAL","END","RPAREN"],PROPERTY:["COMPARISON","BETWEEN","COMMA"],BETWEEN:["VALUE"],COMPARISON:["VALUE"],COMMA:["GEOMETRY","VALUE","PROPERTY"],VALUE:["LOGICAL","COMMA","RPAREN","END"],SPATIAL:["LPAREN"],LOGICAL:["NOT","VALUE","SPATIAL","PROPERTY","LPAREN"], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17007 NOT:["PROPERTY","LPAREN"],GEOMETRY:["COMMA","RPAREN"]},d={"=":OpenLayers.Filter.Comparison.EQUAL_TO,"<>":OpenLayers.Filter.Comparison.NOT_EQUAL_TO,"<":OpenLayers.Filter.Comparison.LESS_THAN,"<=":OpenLayers.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,">":OpenLayers.Filter.Comparison.GREATER_THAN,">=":OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,LIKE:OpenLayers.Filter.Comparison.LIKE,BETWEEN:OpenLayers.Filter.Comparison.BETWEEN},e={},f={AND:OpenLayers.Filter.Logical.AND,OR:OpenLayers.Filter.Logical.OR}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17008 g={},h={RPAREN:3,LOGICAL:2,COMPARISON:1},i;for(i in d)d.hasOwnProperty(i)&&(e[d[i]]=i);for(i in f)f.hasOwnProperty(i)&&(g[f[i]]=i);return OpenLayers.Class(OpenLayers.Format,{read:function(d){var e=d,d=[],f,g=["NOT","GEOMETRY","SPATIAL","PROPERTY","LPAREN"];do{a:{f=g;for(var h=void 0,g=void 0,i=f.length,h=0;h<i;h++){var g=f[h],p=b[g]instanceof RegExp?b[g].exec(e):(0,b[g])(e);if(p){f=p[0];e=e.substr(f.length).replace(/^\s*/,"");f={type:g,text:f,remainder:e};break a}}d="ERROR: In parsing: ["+e+"], expected one of: "; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17009 for(h=0;h<i;h++)g=f[h],d+="\n "+g+": "+b[g];throw Error(d);}e=f.remainder;g=c[f.type];if("END"!=f.type&&!g)throw Error("No follows list for "+f.type);d.push(f)}while("END"!=f.type);d=a(d);this.keepData&&(this.data=d);return d},write:function(a){if(a instanceof OpenLayers.Geometry)return a.toString();switch(a.CLASS_NAME){case "OpenLayers.Filter.Spatial":switch(a.type){case OpenLayers.Filter.Spatial.BBOX:return"BBOX("+a.property+","+a.value.toBBOX()+")";case OpenLayers.Filter.Spatial.DWITHIN:return"DWITHIN("+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17010 a.property+", "+this.write(a.value)+", "+a.distance+")";case OpenLayers.Filter.Spatial.WITHIN:return"WITHIN("+a.property+", "+this.write(a.value)+")";case OpenLayers.Filter.Spatial.INTERSECTS:return"INTERSECTS("+a.property+", "+this.write(a.value)+")";case OpenLayers.Filter.Spatial.CONTAINS:return"CONTAINS("+a.property+", "+this.write(a.value)+")";default:throw Error("Unknown spatial filter type: "+a.type);}case "OpenLayers.Filter.Logical":if(a.type==OpenLayers.Filter.Logical.NOT)return"NOT ("+this.write(a.filters[0])+ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17011 ")";for(var b="(",c=!0,d=0;d<a.filters.length;d++)c?c=!1:b+=") "+g[a.type]+" (",b+=this.write(a.filters[d]);return b+")";case "OpenLayers.Filter.Comparison":return a.type==OpenLayers.Filter.Comparison.BETWEEN?a.property+" BETWEEN "+this.write(a.lowerBoundary)+" AND "+this.write(a.upperBoundary):a.property+" "+e[a.type]+" "+this.write(a.value);case void 0:if("string"===typeof a)return"'"+a+"'";if("number"===typeof a)return""+a;default:throw Error("Can't encode: "+a.CLASS_NAME+" "+a);}},CLASS_NAME:"OpenLayers.Format.CQL"})}();OpenLayers.Control.Split=OpenLayers.Class(OpenLayers.Control,{layer:null,source:null,sourceOptions:null,tolerance:null,edge:!0,deferDelete:!1,mutual:!0,targetFilter:null,sourceFilter:null,handler:null,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,[a]);this.options=a||{};this.options.source&&this.setSource(this.options.source)},setSource:function(a){this.active?(this.deactivate(),this.handler&&(this.handler.destroy(),delete this.handler),this.source=a,this.activate()):this.source= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17012 a},activate:function(){var a=OpenLayers.Control.prototype.activate.call(this);if(a)if(this.source){if(this.source.events)this.source.events.on({sketchcomplete:this.onSketchComplete,afterfeaturemodified:this.afterFeatureModified,scope:this})}else this.handler||(this.handler=new OpenLayers.Handler.Path(this,{done:function(a){this.onSketchComplete({feature:new OpenLayers.Feature.Vector(a)})}},{layerOptions:this.sourceOptions})),this.handler.activate();return a},deactivate:function(){var a=OpenLayers.Control.prototype.deactivate.call(this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17013 a&&this.source&&this.source.events&&this.layer.events.un({sketchcomplete:this.onSketchComplete,afterfeaturemodified:this.afterFeatureModified,scope:this});return a},onSketchComplete:function(a){this.feature=null;return!this.considerSplit(a.feature)},afterFeatureModified:function(a){a.modified&&"function"===typeof a.feature.geometry.split&&(this.feature=a.feature,this.considerSplit(a.feature))},removeByGeometry:function(a,b){for(var c=0,d=a.length;c<d;++c)if(a[c].geometry===b){a.splice(c,1);break}}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17014 isEligible:function(a){return a.geometry?a.state!==OpenLayers.State.DELETE&&"function"===typeof a.geometry.split&&this.feature!==a&&(!this.targetFilter||this.targetFilter.evaluate(a.attributes)):!1},considerSplit:function(a){var b=!1,c=!1;if(!this.sourceFilter||this.sourceFilter.evaluate(a.attributes)){for(var d=this.layer&&this.layer.features||[],e,f,g=[],h=[],i=this.layer===this.source&&this.mutual,j={edge:this.edge,tolerance:this.tolerance,mutual:i},k=[a.geometry],l,m,n,o=0,p=d.length;o<p;++o)if(l= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17015 d[o],this.isEligible(l)){m=[l.geometry];for(var q=0;q<k.length;++q){n=k[q];for(var r=0;r<m.length;++r)if(e=m[r],n.getBounds().intersectsBounds(e.getBounds())&&(e=n.split(e,j)))if(f=this.events.triggerEvent("beforesplit",{source:a,target:l}),!1!==f&&(i&&(f=e[0],1<f.length&&(f.unshift(q,1),Array.prototype.splice.apply(k,f),q+=f.length-3),e=e[1]),1<e.length))e.unshift(r,1),Array.prototype.splice.apply(m,e),r+=e.length-3}m&&1<m.length&&(this.geomsToFeatures(l,m),this.events.triggerEvent("split",{original:l, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17016 features:m}),Array.prototype.push.apply(g,m),h.push(l),c=!0)}k&&1<k.length&&(this.geomsToFeatures(a,k),this.events.triggerEvent("split",{original:a,features:k}),Array.prototype.push.apply(g,k),h.push(a),b=!0);if(b||c){if(this.deferDelete){d=[];o=0;for(p=h.length;o<p;++o)c=h[o],c.state===OpenLayers.State.INSERT?d.push(c):(c.state=OpenLayers.State.DELETE,this.layer.drawFeature(c));this.layer.destroyFeatures(d,{silent:!0});o=0;for(p=g.length;o<p;++o)g[o].state=OpenLayers.State.INSERT}else this.layer.destroyFeatures(h, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17017 {silent:!0});this.layer.addFeatures(g,{silent:!0});this.events.triggerEvent("aftersplit",{source:a,features:g})}}return b},geomsToFeatures:function(a,b){var c=a.clone();delete c.geometry;for(var d,e=0,f=b.length;e<f;++e)d=c.clone(),d.geometry=b[e],d.state=OpenLayers.State.INSERT,b[e]=d},destroy:function(){this.active&&this.deactivate();OpenLayers.Control.prototype.destroy.call(this)},CLASS_NAME:"OpenLayers.Control.Split"});OpenLayers.Layer.WMTS=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,version:"1.0.0",requestEncoding:"KVP",url:null,layer:null,matrixSet:null,style:null,format:"image/jpeg",tileOrigin:null,tileFullExtent:null,formatSuffix:null,matrixIds:null,dimensions:null,params:null,zoomOffset:0,serverResolutions:null,formatSuffixMap:{"image/png":"png","image/png8":"png","image/png24":"png","image/png32":"png",png:"png","image/jpeg":"jpg","image/jpg":"jpg",jpeg:"jpg",jpg:"jpg"},matrix:null,initialize:function(a){var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17018 {url:!0,layer:!0,style:!0,matrixSet:!0},c;for(c in b)if(!(c in a))throw Error("Missing property '"+c+"' in layer configuration.");a.params=OpenLayers.Util.upperCaseObject(a.params);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a.name,a.url,a.params,a]);this.formatSuffix||(this.formatSuffix=this.formatSuffixMap[this.format]||this.format.split("/").pop());if(this.matrixIds&&(a=this.matrixIds.length)&&"string"===typeof this.matrixIds[0]){b=this.matrixIds;this.matrixIds=Array(a);for(c=0;c<a;++c)this.matrixIds[c]= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17019 {identifier:b[c]}}},setMap:function(){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);this.updateMatrixProperties()},updateMatrixProperties:function(){if(this.matrix=this.getMatrix())if(this.matrix.topLeftCorner&&(this.tileOrigin=this.matrix.topLeftCorner),this.matrix.tileWidth&&this.matrix.tileHeight&&(this.tileSize=new OpenLayers.Size(this.matrix.tileWidth,this.matrix.tileHeight)),this.tileOrigin||(this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.top)),!this.tileFullExtent)this.tileFullExtent= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17020 this.maxExtent},moveTo:function(a,b,c){(b||!this.matrix)&&this.updateMatrixProperties();return OpenLayers.Layer.Grid.prototype.moveTo.apply(this,arguments)},clone:function(a){null==a&&(a=new OpenLayers.Layer.WMTS(this.options));return a=OpenLayers.Layer.Grid.prototype.clone.apply(this,[a])},getIdentifier:function(){return this.getServerZoom()},getMatrix:function(){var a;if(!this.matrixIds||0===this.matrixIds.length)a={identifier:this.getIdentifier()};else if("scaleDenominator"in this.matrixIds[0])for(var b= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17021 OpenLayers.METERS_PER_INCH*OpenLayers.INCHES_PER_UNIT[this.units]*this.getServerResolution()/2.8E-4,c=Number.POSITIVE_INFINITY,d,e=0,f=this.matrixIds.length;e<f;++e)d=Math.abs(1-this.matrixIds[e].scaleDenominator/b),d<c&&(c=d,a=this.matrixIds[e]);else a=this.matrixIds[this.getIdentifier()];return a},getTileInfo:function(a){var b=this.getServerResolution(),c=(a.lon-this.tileOrigin.lon)/(b*this.tileSize.w),a=(this.tileOrigin.lat-a.lat)/(b*this.tileSize.h),b=Math.floor(c),d=Math.floor(a);return{col:b, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17022 row:d,i:Math.floor((c-b)*this.tileSize.w),j:Math.floor((a-d)*this.tileSize.h)}},getURL:function(a){var a=this.adjustBounds(a),b="";if(!this.tileFullExtent||this.tileFullExtent.intersectsBounds(a)){var c=this.getTileInfo(a.getCenterLonLat()),a=this.dimensions;if("REST"===this.requestEncoding.toUpperCase())if(b=this.params,"string"===typeof this.url&&-1!==this.url.indexOf("{")){var d=this.url.replace(/\{/g,"${"),c={style:this.style,Style:this.style,TileMatrixSet:this.matrixSet,TileMatrix:this.matrix.identifier, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17023 TileRow:c.row,TileCol:c.col};if(a){var e,f;for(f=a.length-1;0<=f;--f)e=a[f],c[e]=b[e.toUpperCase()]}b=OpenLayers.String.format(d,c)}else{d=this.version+"/"+this.layer+"/"+this.style+"/";if(a)for(f=0;f<a.length;f++)b[a[f]]&&(d=d+b[a[f]]+"/");d=d+this.matrixSet+"/"+this.matrix.identifier+"/"+c.row+"/"+c.col+"."+this.formatSuffix;b=OpenLayers.Util.isArray(this.url)?this.selectUrl(d,this.url):this.url;b.match(/\/$/)||(b+="/");b+=d}else"KVP"===this.requestEncoding.toUpperCase()&&(b={SERVICE:"WMTS",REQUEST:"GetTile", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17024 VERSION:this.version,LAYER:this.layer,STYLE:this.style,TILEMATRIXSET:this.matrixSet,TILEMATRIX:this.matrix.identifier,TILEROW:c.row,TILECOL:c.col,FORMAT:this.format},b=OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,[b]))}return b},mergeNewParams:function(a){if("KVP"===this.requestEncoding.toUpperCase())return OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,[OpenLayers.Util.upperCaseObject(a)])},CLASS_NAME:"OpenLayers.Layer.WMTS"});OpenLayers.Protocol.SOS.v1_0_0=OpenLayers.Class(OpenLayers.Protocol,{fois:null,formatOptions:null,initialize:function(a){OpenLayers.Protocol.prototype.initialize.apply(this,[a]);a.format||(this.format=new OpenLayers.Format.SOSGetFeatureOfInterest(this.formatOptions))},destroy:function(){this.options&&!this.options.format&&this.format.destroy();this.format=null;OpenLayers.Protocol.prototype.destroy.apply(this)},read:function(a){a=OpenLayers.Util.extend({},a);OpenLayers.Util.applyDefaults(a,this.options|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17025 {});var b=new OpenLayers.Protocol.Response({requestType:"read"}),c=this.format,c=OpenLayers.Format.XML.prototype.write.apply(c,[c.writeNode("sos:GetFeatureOfInterest",{fois:this.fois})]);b.priv=OpenLayers.Request.POST({url:a.url,callback:this.createCallback(this.handleRead,b,a),data:c});return b},handleRead:function(a,b){if(b.callback){var c=a.priv;200<=c.status&&300>c.status?(a.features=this.parseFeatures(c),a.code=OpenLayers.Protocol.Response.SUCCESS):a.code=OpenLayers.Protocol.Response.FAILURE; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17026 b.callback.call(b.scope,a)}},parseFeatures:function(a){var b=a.responseXML;if(!b||!b.documentElement)b=a.responseText;return!b||0>=b.length?null:this.format.read(b)},CLASS_NAME:"OpenLayers.Protocol.SOS.v1_0_0"});OpenLayers.Layer.KaMapCache=OpenLayers.Class(OpenLayers.Layer.KaMap,{IMAGE_EXTENSIONS:{jpeg:"jpg",gif:"gif",png:"png",png8:"png",png24:"png",dithered:"png"},DEFAULT_FORMAT:"jpeg",initialize:function(a,b,c,d){OpenLayers.Layer.KaMap.prototype.initialize.apply(this,arguments);this.extension=this.IMAGE_EXTENSIONS[this.params.i.toLowerCase()||this.DEFAULT_FORMAT]},getURL:function(a){var a=this.adjustBounds(a),b=this.map.getResolution(),c=Math.round(1E4*this.map.getScale())/1E4,d=Math.round(a.left/b),a= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17027 -Math.round(a.top/b),b=Math.floor(d/this.tileSize.w/this.params.metaTileSize.w)*this.tileSize.w*this.params.metaTileSize.w,e=Math.floor(a/this.tileSize.h/this.params.metaTileSize.h)*this.tileSize.h*this.params.metaTileSize.h,c=["/",this.params.map,"/",c,"/",this.params.g.replace(/\s/g,"_"),"/def/t",e,"/l",b,"/t",a,"l",d,".",this.extension],d=this.url;OpenLayers.Util.isArray(d)&&(d=this.selectUrl(c.join(""),d));return d+c.join("")},CLASS_NAME:"OpenLayers.Layer.KaMapCache"});OpenLayers.Protocol.WFS.v1_1_0=OpenLayers.Class(OpenLayers.Protocol.WFS.v1,{version:"1.1.0",initialize:function(a){OpenLayers.Protocol.WFS.v1.prototype.initialize.apply(this,arguments);this.outputFormat&&!this.readFormat&&("gml2"==this.outputFormat.toLowerCase()?this.readFormat=new OpenLayers.Format.GML.v2({featureType:this.featureType,featureNS:this.featureNS,geometryName:this.geometryName}):"json"==this.outputFormat.toLowerCase()&&(this.readFormat=new OpenLayers.Format.GeoJSON))},CLASS_NAME:"OpenLayers.Protocol.WFS.v1_1_0"});OpenLayers.Format.WMSCapabilities.v1_1_1=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1,{version:"1.1.1",readers:{wms:OpenLayers.Util.applyDefaults({SRS:function(a,b){b.srs[this.getChildValue(a)]=!0}},OpenLayers.Format.WMSCapabilities.v1_1.prototype.readers.wms)},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1_1"});OpenLayers.Format.WMSCapabilities.v1_1_1_WMSC=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1_1,{version:"1.1.1",profile:"WMSC",readers:{wms:OpenLayers.Util.applyDefaults({VendorSpecificCapabilities:function(a,b){b.vendorSpecific={tileSets:[]};this.readChildNodes(a,b.vendorSpecific)},TileSet:function(a,b){var c={srs:{},bbox:{},resolutions:[]};this.readChildNodes(a,c);b.tileSets.push(c)},Resolutions:function(a,b){for(var c=this.getChildValue(a).split(" "),d=0,e=c.length;d<e;d++)""!=c[d]&&b.resolutions.push(parseFloat(c[d]))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17028 Width:function(a,b){b.width=parseInt(this.getChildValue(a))},Height:function(a,b){b.height=parseInt(this.getChildValue(a))},Layers:function(a,b){b.layers=this.getChildValue(a)},Styles:function(a,b){b.styles=this.getChildValue(a)}},OpenLayers.Format.WMSCapabilities.v1_1_1.prototype.readers.wms)},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1_1_WMSC"});OpenLayers.Format.WMSCapabilities.v1_1_0=OpenLayers.Class(OpenLayers.Format.WMSCapabilities.v1_1,{version:"1.1.0",readers:{wms:OpenLayers.Util.applyDefaults({SRS:function(a,b){for(var c=this.getChildValue(a).split(/ +/),d=0,e=c.length;d<e;d++)b.srs[c[d]]=!0}},OpenLayers.Format.WMSCapabilities.v1_1.prototype.readers.wms)},CLASS_NAME:"OpenLayers.Format.WMSCapabilities.v1_1_0"});OpenLayers.Control.LayerSwitcher=OpenLayers.Class(OpenLayers.Control,{roundedCorner:!1,roundedCornerColor:"darkblue",layerStates:null,layersDiv:null,baseLayersDiv:null,baseLayers:null,dataLbl:null,dataLayersDiv:null,dataLayers:null,minimizeDiv:null,maximizeDiv:null,ascending:!0,initialize:function(a){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.layerStates=[];this.roundedCorner&&OpenLayers.Console.warn("roundedCorner option is deprecated")},destroy:function(){this.clearLayersArray("base"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17029 this.clearLayersArray("data");this.map.events.un({buttonclick:this.onButtonClick,addlayer:this.redraw,changelayer:this.redraw,removelayer:this.redraw,changebaselayer:this.redraw,scope:this});this.events.unregister("buttonclick",this,this.onButtonClick);OpenLayers.Control.prototype.destroy.apply(this,arguments)},setMap:function(a){OpenLayers.Control.prototype.setMap.apply(this,arguments);this.map.events.on({addlayer:this.redraw,changelayer:this.redraw,removelayer:this.redraw,changebaselayer:this.redraw, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17030 scope:this});this.outsideViewport?(this.events.attachToElement(this.div),this.events.register("buttonclick",this,this.onButtonClick)):this.map.events.register("buttonclick",this,this.onButtonClick)},draw:function(){OpenLayers.Control.prototype.draw.apply(this);this.loadContents();this.outsideViewport||this.minimizeControl();this.redraw();return this.div},onButtonClick:function(a){a=a.buttonElement;a===this.minimizeDiv?this.minimizeControl():a===this.maximizeDiv?this.maximizeControl():a._layerSwitcher=== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17031 this.id&&(a["for"]&&(a=document.getElementById(a["for"])),a.disabled||("radio"==a.type?(a.checked=!0,this.map.setBaseLayer(this.map.getLayer(a._layer))):(a.checked=!a.checked,this.updateMap())))},clearLayersArray:function(a){this[a+"LayersDiv"].innerHTML="";this[a+"Layers"]=[]},checkRedraw:function(){var a=!1;if(!this.layerStates.length||this.map.layers.length!=this.layerStates.length)a=!0;else for(var b=0,c=this.layerStates.length;b<c;b++){var d=this.layerStates[b],e=this.map.layers[b];if(d.name!= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17032 e.name||d.inRange!=e.inRange||d.id!=e.id||d.visibility!=e.visibility){a=!0;break}}return a},redraw:function(){if(!this.checkRedraw())return this.div;this.clearLayersArray("base");this.clearLayersArray("data");var a=!1,b=!1,c=this.map.layers.length;this.layerStates=Array(c);for(var d=0;d<c;d++){var e=this.map.layers[d];this.layerStates[d]={name:e.name,visibility:e.visibility,inRange:e.inRange,id:e.id}}var f=this.map.layers.slice();this.ascending||f.reverse();d=0;for(c=f.length;d<c;d++){var e=f[d], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17033 g=e.isBaseLayer;if(e.displayInLayerSwitcher){g?b=!0:a=!0;var h=g?e==this.map.baseLayer:e.getVisibility(),i=document.createElement("input");i.id=this.id+"_input_"+e.name;i.name=g?this.id+"_baseLayers":e.name;i.type=g?"radio":"checkbox";i.value=e.name;i.checked=h;i.defaultChecked=h;i.className="olButton";i._layer=e.id;i._layerSwitcher=this.id;!g&&!e.inRange&&(i.disabled=!0);h=document.createElement("label");h["for"]=i.id;OpenLayers.Element.addClass(h,"labelSpan olButton");h._layer=e.id;h._layerSwitcher= |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17034 this.id;!g&&!e.inRange&&(h.style.color="gray");h.innerHTML=e.name;h.style.verticalAlign=g?"bottom":"baseline";var j=document.createElement("br");(g?this.baseLayers:this.dataLayers).push({layer:e,inputElem:i,labelSpan:h});e=g?this.baseLayersDiv:this.dataLayersDiv;e.appendChild(i);e.appendChild(h);e.appendChild(j)}}this.dataLbl.style.display=a?"":"none";this.baseLbl.style.display=b?"":"none";return this.div},updateMap:function(){for(var a=0,b=this.baseLayers.length;a<b;a++){var c=this.baseLayers[a]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17035 c.inputElem.checked&&this.map.setBaseLayer(c.layer,!1)}a=0;for(b=this.dataLayers.length;a<b;a++)c=this.dataLayers[a],c.layer.setVisibility(c.inputElem.checked)},maximizeControl:function(a){this.div.style.width="";this.div.style.height="";this.showControls(!1);null!=a&&OpenLayers.Event.stop(a)},minimizeControl:function(a){this.div.style.width="0px";this.div.style.height="0px";this.showControls(!0);null!=a&&OpenLayers.Event.stop(a)},showControls:function(a){this.maximizeDiv.style.display=a?"":"none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17036 this.minimizeDiv.style.display=a?"none":"";this.layersDiv.style.display=a?"none":""},loadContents:function(){this.layersDiv=document.createElement("div");this.layersDiv.id=this.id+"_layersDiv";OpenLayers.Element.addClass(this.layersDiv,"layersDiv");this.baseLbl=document.createElement("div");this.baseLbl.innerHTML=OpenLayers.i18n("Base Layer");OpenLayers.Element.addClass(this.baseLbl,"baseLbl");this.baseLayersDiv=document.createElement("div");OpenLayers.Element.addClass(this.baseLayersDiv,"baseLayersDiv"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17037 this.dataLbl=document.createElement("div");this.dataLbl.innerHTML=OpenLayers.i18n("Overlays");OpenLayers.Element.addClass(this.dataLbl,"dataLbl");this.dataLayersDiv=document.createElement("div");OpenLayers.Element.addClass(this.dataLayersDiv,"dataLayersDiv");this.ascending?(this.layersDiv.appendChild(this.baseLbl),this.layersDiv.appendChild(this.baseLayersDiv),this.layersDiv.appendChild(this.dataLbl),this.layersDiv.appendChild(this.dataLayersDiv)):(this.layersDiv.appendChild(this.dataLbl),this.layersDiv.appendChild(this.dataLayersDiv), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17038 this.layersDiv.appendChild(this.baseLbl),this.layersDiv.appendChild(this.baseLayersDiv));this.div.appendChild(this.layersDiv);this.roundedCorner&&(OpenLayers.Rico.Corner.round(this.div,{corners:"tl bl",bgColor:"transparent",color:this.roundedCornerColor,blend:!1}),OpenLayers.Rico.Corner.changeOpacity(this.layersDiv,0.75));var a=OpenLayers.Util.getImageLocation("layer-switcher-maximize.png");this.maximizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_MaximizeDiv",null,null,a,"absolute"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17039 OpenLayers.Element.addClass(this.maximizeDiv,"maximizeDiv olButton");this.maximizeDiv.style.display="none";this.div.appendChild(this.maximizeDiv);a=OpenLayers.Util.getImageLocation("layer-switcher-minimize.png");this.minimizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_MinimizeDiv",null,null,a,"absolute");OpenLayers.Element.addClass(this.minimizeDiv,"minimizeDiv olButton");this.minimizeDiv.style.display="none";this.div.appendChild(this.minimizeDiv)},CLASS_NAME:"OpenLayers.Control.LayerSwitcher"});OpenLayers.Format.Atom=OpenLayers.Class(OpenLayers.Format.XML,{namespaces:{atom:"http://www.w3.org/2005/Atom",georss:"http://www.georss.org/georss"},feedTitle:"untitled",defaultEntryTitle:"untitled",gmlParser:null,xy:!1,read:function(a){"string"==typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));return this.parseFeatures(a)},write:function(a){var b;if(OpenLayers.Util.isArray(a)){b=this.createElementNSPlus("atom:feed");b.appendChild(this.createElementNSPlus("atom:title",{value:this.feedTitle})); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17040 for(var c=0,d=a.length;c<d;c++)b.appendChild(this.buildEntryNode(a[c]))}else b=this.buildEntryNode(a);return OpenLayers.Format.XML.prototype.write.apply(this,[b])},buildContentNode:function(a){var b=this.createElementNSPlus("atom:content",{attributes:{type:a.type||null}});if(a.src)b.setAttribute("src",a.src);else if("text"==a.type||null==a.type)b.appendChild(this.createTextNode(a.value));else if("html"==a.type){if("string"!=typeof a.value)throw"HTML content must be in form of an escaped string";b.appendChild(this.createTextNode(a.value))}else"xhtml"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17041 a.type?b.appendChild(a.value):"xhtml"==a.type||a.type.match(/(\+|\/)xml$/)?b.appendChild(a.value):b.appendChild(this.createTextNode(a.value));return b},buildEntryNode:function(a){var b=a.attributes,c=b.atom||{},d=this.createElementNSPlus("atom:entry");if(c.authors)for(var e=OpenLayers.Util.isArray(c.authors)?c.authors:[c.authors],f=0,g=e.length;f<g;f++)d.appendChild(this.buildPersonConstructNode("author",e[f]));if(c.categories)for(var e=OpenLayers.Util.isArray(c.categories)?c.categories:[c.categories], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17042 h,f=0,g=e.length;f<g;f++)h=e[f],d.appendChild(this.createElementNSPlus("atom:category",{attributes:{term:h.term,scheme:h.scheme||null,label:h.label||null}}));c.content&&d.appendChild(this.buildContentNode(c.content));if(c.contributors){e=OpenLayers.Util.isArray(c.contributors)?c.contributors:[c.contributors];f=0;for(g=e.length;f<g;f++)d.appendChild(this.buildPersonConstructNode("contributor",e[f]))}a.fid&&d.appendChild(this.createElementNSPlus("atom:id",{value:a.fid}));if(c.links){e=OpenLayers.Util.isArray(c.links)? |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17043 c.links:[c.links];f=0;for(g=e.length;f<g;f++)h=e[f],d.appendChild(this.createElementNSPlus("atom:link",{attributes:{href:h.href,rel:h.rel||null,type:h.type||null,hreflang:h.hreflang||null,title:h.title||null,length:h.length||null}}))}c.published&&d.appendChild(this.createElementNSPlus("atom:published",{value:c.published}));c.rights&&d.appendChild(this.createElementNSPlus("atom:rights",{value:c.rights}));if(c.summary||b.description)d.appendChild(this.createElementNSPlus("atom:summary",{value:c.summary|| |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17044 b.description}));d.appendChild(this.createElementNSPlus("atom:title",{value:c.title||b.title||this.defaultEntryTitle}));c.updated&&d.appendChild(this.createElementNSPlus("atom:updated",{value:c.updated}));a.geometry&&(b=this.createElementNSPlus("georss:where"),b.appendChild(this.buildGeometryNode(a.geometry)),d.appendChild(b));return d},initGmlParser:function(){this.gmlParser=new OpenLayers.Format.GML.v3({xy:this.xy,featureNS:"http://example.com#feature",internalProjection:this.internalProjection, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17045 externalProjection:this.externalProjection})},buildGeometryNode:function(a){this.gmlParser||this.initGmlParser();return this.gmlParser.writeNode("feature:_geometry",a).firstChild},buildPersonConstructNode:function(a,b){var c=["uri","email"],d=this.createElementNSPlus("atom:"+a);d.appendChild(this.createElementNSPlus("atom:name",{value:b.name}));for(var e=0,f=c.length;e<f;e++)b[c[e]]&&d.appendChild(this.createElementNSPlus("atom:"+c[e],{value:b[c[e]]}));return d},getFirstChildValue:function(a,b,c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17046 d){return(a=this.getElementsByTagNameNS(a,b,c))&&0<a.length?this.getChildValue(a[0],d):d},parseFeature:function(a){var b={},c=null,d=null,e=null,f=this.namespaces.atom;this.parsePersonConstructs(a,"author",b);d=this.getElementsByTagNameNS(a,f,"category");0<d.length&&(b.categories=[]);for(var g=0,h=d.length;g<h;g++){c={};c.term=d[g].getAttribute("term");if(e=d[g].getAttribute("scheme"))c.scheme=e;if(e=d[g].getAttribute("label"))c.label=e;b.categories.push(c)}d=this.getElementsByTagNameNS(a,f,"content"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17047 if(0<d.length){c={};if(e=d[0].getAttribute("type"))c.type=e;(e=d[0].getAttribute("src"))?c.src=e:(c.value="text"==c.type||"html"==c.type||null==c.type?this.getFirstChildValue(a,f,"content",null):"xhtml"==c.type||c.type.match(/(\+|\/)xml$/)?this.getChildEl(d[0]):this.getFirstChildValue(a,f,"content",null),b.content=c)}this.parsePersonConstructs(a,"contributor",b);b.id=this.getFirstChildValue(a,f,"id",null);d=this.getElementsByTagNameNS(a,f,"link");0<d.length&&(b.links=Array(d.length));for(var i=["rel", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17048 "type","hreflang","title","length"],g=0,h=d.length;g<h;g++){c={};c.href=d[g].getAttribute("href");for(var j=0,k=i.length;j<k;j++)(e=d[g].getAttribute(i[j]))&&(c[i[j]]=e);b.links[g]=c}if(c=this.getFirstChildValue(a,f,"published",null))b.published=c;if(c=this.getFirstChildValue(a,f,"rights",null))b.rights=c;if(c=this.getFirstChildValue(a,f,"summary",null))b.summary=c;b.title=this.getFirstChildValue(a,f,"title",null);b.updated=this.getFirstChildValue(a,f,"updated",null);c={title:b.title,description:b.summary, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17049 atom:b};a=this.parseLocations(a)[0];a=new OpenLayers.Feature.Vector(a,c);a.fid=b.id;return a},parseFeatures:function(a){var b=[],c=this.getElementsByTagNameNS(a,this.namespaces.atom,"entry");0==c.length&&(c=[a]);for(var a=0,d=c.length;a<d;a++)b.push(this.parseFeature(c[a]));return b},parseLocations:function(a){var b=this.namespaces.georss,c={components:[]},d=this.getElementsByTagNameNS(a,b,"where");if(d&&0<d.length){this.gmlParser||this.initGmlParser();for(var e=0,f=d.length;e<f;e++)this.gmlParser.readChildNodes(d[e], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17050 c)}c=c.components;if((d=this.getElementsByTagNameNS(a,b,"point"))&&0<d.length){e=0;for(f=d.length;e<f;e++){var g=OpenLayers.String.trim(d[e].firstChild.nodeValue).split(/\s+/);2!=g.length&&(g=OpenLayers.String.trim(d[e].firstChild.nodeValue).split(/\s*,\s*/));c.push(new OpenLayers.Geometry.Point(g[1],g[0]))}}var h=this.getElementsByTagNameNS(a,b,"line");if(h&&0<h.length)for(var i,e=0,f=h.length;e<f;e++){d=OpenLayers.String.trim(h[e].firstChild.nodeValue).split(/\s+/);i=[];for(var j=0,k=d.length;j< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17051 k;j+=2)g=new OpenLayers.Geometry.Point(d[j+1],d[j]),i.push(g);c.push(new OpenLayers.Geometry.LineString(i))}if((a=this.getElementsByTagNameNS(a,b,"polygon"))&&0<a.length){e=0;for(f=a.length;e<f;e++){d=OpenLayers.String.trim(a[e].firstChild.nodeValue).split(/\s+/);i=[];j=0;for(k=d.length;j<k;j+=2)g=new OpenLayers.Geometry.Point(d[j+1],d[j]),i.push(g);c.push(new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing(c)]))}}if(this.internalProjection&&this.externalProjection){e=0;for(f=c.length;e< |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17052 f;e++)c[e]&&c[e].transform(this.externalProjection,this.internalProjection)}return c},parsePersonConstructs:function(a,b,c){for(var d=[],e=this.namespaces.atom,a=this.getElementsByTagNameNS(a,e,b),f=["uri","email"],g=0,h=a.length;g<h;g++){var i={};i.name=this.getFirstChildValue(a[g],e,"name",null);for(var j=0,k=f.length;j<k;j++){var l=this.getFirstChildValue(a[g],e,f[j],null);l&&(i[f[j]]=l)}d.push(i)}0<d.length&&(c[b+"s"]=d)},CLASS_NAME:"OpenLayers.Format.Atom"});OpenLayers.Control.KeyboardDefaults=OpenLayers.Class(OpenLayers.Control,{autoActivate:!0,slideFactor:75,observeElement:null,draw:function(){this.handler=new OpenLayers.Handler.Keyboard(this,{keydown:this.defaultKeyPress},{observeElement:this.observeElement||document})},defaultKeyPress:function(a){var b,c=!0;switch(a.keyCode){case OpenLayers.Event.KEY_LEFT:this.map.pan(-this.slideFactor,0);break;case OpenLayers.Event.KEY_RIGHT:this.map.pan(this.slideFactor,0);break;case OpenLayers.Event.KEY_UP:this.map.pan(0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17053 -this.slideFactor);break;case OpenLayers.Event.KEY_DOWN:this.map.pan(0,this.slideFactor);break;case 33:b=this.map.getSize();this.map.pan(0,-0.75*b.h);break;case 34:b=this.map.getSize();this.map.pan(0,0.75*b.h);break;case 35:b=this.map.getSize();this.map.pan(0.75*b.w,0);break;case 36:b=this.map.getSize();this.map.pan(-0.75*b.w,0);break;case 43:case 61:case 187:case 107:this.map.zoomIn();break;case 45:case 109:case 189:case 95:this.map.zoomOut();break;default:c=!1}c&&OpenLayers.Event.stop(a)},CLASS_NAME:"OpenLayers.Control.KeyboardDefaults"});OpenLayers.Format.WMTSCapabilities.v1_0_0=OpenLayers.Class(OpenLayers.Format.OWSCommon.v1_1_0,{version:"1.0.0",namespaces:{ows:"http://www.opengis.net/ows/1.1",wmts:"http://www.opengis.net/wmts/1.0",xlink:"http://www.w3.org/1999/xlink"},yx:null,defaultPrefix:"wmts",initialize:function(a){OpenLayers.Format.XML.prototype.initialize.apply(this,[a]);this.options=a;a=OpenLayers.Util.extend({},OpenLayers.Format.WMTSCapabilities.prototype.yx);this.yx=OpenLayers.Util.extend(a,this.yx)},read:function(a){"string"== |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17054 typeof a&&(a=OpenLayers.Format.XML.prototype.read.apply(this,[a]));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);b.version=this.version;return b},readers:{wmts:{Capabilities:function(a,b){this.readChildNodes(a,b)},Contents:function(a,b){b.contents={};b.contents.layers=[];b.contents.tileMatrixSets={};this.readChildNodes(a,b.contents)},Layer:function(a,b){var c={styles:[],formats:[],dimensions:[],tileMatrixSetLinks:[],layers:[]};this.readChildNodes(a,c);b.layers.push(c)},Style:function(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17055 b){var c={};c.isDefault="true"===a.getAttribute("isDefault");this.readChildNodes(a,c);b.styles.push(c)},Format:function(a,b){b.formats.push(this.getChildValue(a))},TileMatrixSetLink:function(a,b){var c={};this.readChildNodes(a,c);b.tileMatrixSetLinks.push(c)},TileMatrixSet:function(a,b){if(b.layers){var c={matrixIds:[]};this.readChildNodes(a,c);b.tileMatrixSets[c.identifier]=c}else b.tileMatrixSet=this.getChildValue(a)},TileMatrix:function(a,b){var c={supportedCRS:b.supportedCRS};this.readChildNodes(a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17056 c);b.matrixIds.push(c)},ScaleDenominator:function(a,b){b.scaleDenominator=parseFloat(this.getChildValue(a))},TopLeftCorner:function(a,b){var c=this.getChildValue(a).split(" "),d;b.supportedCRS&&(d=!!this.yx[b.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/,"urn:ogc:def:crs:$1::$2")]);b.topLeftCorner=d?new OpenLayers.LonLat(c[1],c[0]):new OpenLayers.LonLat(c[0],c[1])},TileWidth:function(a,b){b.tileWidth=parseInt(this.getChildValue(a))},TileHeight:function(a,b){b.tileHeight=parseInt(this.getChildValue(a))}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17057 MatrixWidth:function(a,b){b.matrixWidth=parseInt(this.getChildValue(a))},MatrixHeight:function(a,b){b.matrixHeight=parseInt(this.getChildValue(a))},ResourceURL:function(a,b){b.resourceUrl=b.resourceUrl||{};b.resourceUrl[a.getAttribute("resourceType")]={format:a.getAttribute("format"),template:a.getAttribute("template")}},WSDL:function(a,b){b.wsdl={};b.wsdl.href=a.getAttribute("xlink:href")},ServiceMetadataURL:function(a,b){b.serviceMetadataUrl={};b.serviceMetadataUrl.href=a.getAttribute("xlink:href")}, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17058 LegendURL:function(a,b){b.legend={};b.legend.href=a.getAttribute("xlink:href");b.legend.format=a.getAttribute("format")},Dimension:function(a,b){var c={values:[]};this.readChildNodes(a,c);b.dimensions.push(c)},Default:function(a,b){b["default"]=this.getChildValue(a)},Value:function(a,b){b.values.push(this.getChildValue(a))}},ows:OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers.ows},CLASS_NAME:"OpenLayers.Format.WMTSCapabilities.v1_0_0"}); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17059 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17060 * Tooltips.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17061 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17062 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17063 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17064 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17065 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17066 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17067 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17068 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17069 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17070 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17071 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17072 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17073 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17074 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17075 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17076 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17077 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17078 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17079 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17080 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17081 * Tooltips JSON |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17082 * GeoTemCo tooltips definition file |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17083 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17084 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17085 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17086 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17087 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17088 var Tooltips = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17089 "en" : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17090 "locationType" : "Location type", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17091 "selectLocationType" : "Select location type", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17092 "mapType" : "Background map", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17093 "selectMapType" : "Select background map", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17094 "selectOverlay" : "Select layer for spatial filtering", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17095 "overlays" : "Select layer", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17096 "mapSelectorTools" : "Map selector tools", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17097 "overlaySelector" : "Selection layer", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17098 "square" : "Square selection: Mouse down for the center and mouse move to set square bounds", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17099 "circle" : "Circle selection: Mouse down for the center and mouse move to set circle radius", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17100 "polygon" : "Polygon selection: Click to add vertex and double click to complete the polygon", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17101 "country" : "Country selection: Click inside the political borders of a country", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17102 "singleEntry" : "Only 1 entry available", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17103 "resultsLocation" : "with location information", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17104 "home" : "Reset map to initial view", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17105 "zoomIn" : "Zoom in", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17106 "zoomOut" : "Zoom out", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17107 "zoomSlider" : "Zoom slider", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17108 "dragSelection" : "Drag&Drop shape", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17109 "zoomSelection" : "Zoom into selection", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17110 "clearSelection" : "Clear selection", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17111 "contemporaryMap" : "Contemporary Map", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17112 "activateGeoLocation" : "Show my location", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17113 "deactivateGeoLocation" : "Hide my location", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17114 "mapOf" : "Map of", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17115 "close" : "Close", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17116 "genericBinning" : "delaunay", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17117 "squareBinning" : "square", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17118 "hexagonalBinning" : "hexagonal", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17119 "triangularBinning" : "triangular", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17120 "noBinning" : "none", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17121 "selectBinningType" : "Select aggregation type", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17122 "binningType" : "Aggregation type", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17123 "binningTooltip" : "Select the aggregation type for the data sources", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17124 "results" : "results", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17125 "result" : "result", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17126 "timeType" : "Time type", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17127 "timeUnit" : "Time unit:", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17128 "selectTimeType" : "Select time type", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17129 "timeAnimation" : "Animation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17130 "resultsTime" : "with time information", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17131 "animationDisabled" : "Animation control (disabled)", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17132 "animationPlay" : "Animate selected time range", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17133 "animationPause" : "Pause animation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17134 "leftHandle" : "Drag&Drop left border", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17135 "rightHandle" : "Drag&Drop right border", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17136 "dragTimeRange" : "Drag&Drop time range", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17137 "connectionsOn" : "Switch on time-dependent connections between map circles", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17138 "connectionsOff" : "Switch off time-dependent connections", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17139 "timeFeather" : "Adjust time range feather to smoothen map animations", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17140 "allResults" : "all", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17141 "pageInfo" : "Page PAGE_ID of PAGES_ID", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17142 "resultsInfo" : "RESULTS_FROM_ID-RESULTS_TO_ID of RESULTS_ID Results", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17143 "otherResults" : "others", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17144 "mapAggregation" : "Aggregation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17145 "aggregation" : "Circle aggregation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17146 "noAggregation" : "No circle aggregation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17147 "showBoxTitle" : "Boundingbox", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17148 "showBbox" : "Shows given Boundingbox extension", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17149 "hideBbox" : "Hides given Boundingbox extension", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17150 "spaceHelp" : "A point on the map corresponds to one or more objects from the result list. ", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17151 "timeHelp" : "On the timeline are the search results sorted by year. You can choose different time-based categories as basis for the representation.", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17152 "selectTablePageItemsHelp" : "Click to select all rows of this page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17153 "deselectTablePageItemsHelp" : "Click to deselect all rows of this page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17154 "selectAllTableItemsHelp" : "Click to select all rows of the table", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17155 "deselectAllTableItemsHelp" : "Click to deselect all rows of the table", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17156 "filter" : "Filter", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17157 "filterSelectedItemsHelp" : "Filter the selected items", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17158 "inverseFilterSelectedItemsHelp" : "Apply an inverse filter on the selected items removing them from the views", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17159 "undoFilterSelection" : "Undo the last filter / inverse filter", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17160 "cancelSelection" : "Discard the current selection (all items appear as deselected)", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17161 "showSelectedHelp" : "Show only elements within the selection", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17162 "showAllElementsHelp" : "Show all elements", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17163 "paginationFirsPageHelp" : "Show first page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17164 "paginationPreviousPageHelp" : "Show previous page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17165 "paginationNextPageHelp" : "Show next page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17166 "paginationLastPageHelp" : "Show last page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17167 "sortAZHelp" : "Sort table elements ascending according this column", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17168 "sortZAHelp" : "Sort table elements descending according this column", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17169 "paginationDropdownHelp" : "Select number of elements per page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17170 "selectTimeUnit" : "Select Time Unit", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17171 "valueScale" : "Value Scale", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17172 "linearPlot" : "Linear Value Scale", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17173 "logarithmicPlot" : "Logarithmic Value Scale", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17174 "playButton" : "Animate Selected Range", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17175 "pauseButton" : "Pause Animation" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17176 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17177 "de" : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17178 "locationType" : "Ortsfacette", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17179 "selectLocationType" : "Wähle Ortsfacette", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17180 "mapType" : "Kartentyp", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17181 "selectMapType" : "Wähle Kartentyp", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17182 "selectOverlay" : "Kartenauswahl für rämliches filtern", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17183 "overlays" : "Wähle layer", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17184 "mapSelectorTools" : "Bereichsauswahl", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17185 "overlaySelector" : "Selection layer", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17186 "square" : "Quadratauswahl: Maus ziehen und loslassen um Mittelpunkt und Seitenlänge des Quadrats zu bestimmen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17187 "circle" : "Kreisauswahl: Maus ziehen und loslassen um Mittelpunkt und Radius des Kreises zu bestimmen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17188 "polygon" : "Polygonauswahl: Mausklick zum Hinzufügen eines Eckpunktes, Doppelklick zum Fertigstellen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17189 "country" : "Landauswahl: Mausklick innerhalb politischer Grenze eines Landes", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17190 "singleEntry" : "Nur 1 Eintrag vorhanden", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17191 "resultsLocation" : "mit Geoinformation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17192 "home" : "Zurücksetzen zur initialen Sicht", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17193 "zoomIn" : "Vergrößern", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17194 "zoomOut" : "Verkleinern", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17195 "zoomSlider" : "Zoomregler", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17196 "dragSelection" : "Verschiebe Auswahl", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17197 "zoomSelection" : "Vergrößere Auswahl", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17198 "clearSelection" : "Entferne Auswahlbereich", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17199 "contemporaryMap" : "Aktuelle Weltkarte", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17200 "activateGeoLocation" : "Meinen Standort anzeigen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17201 "deactivateGeoLocation" : "Meinen Standort ausblenden", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17202 "mapOf" : "Karte von", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17203 "close" : "Schliessen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17204 "genericBinning" : "Generisch", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17205 "squareBinning" : "Quadrate", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17206 "hexagonalBinning" : "Hexagone", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17207 "triangularBinning" : "Dreiecke", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17208 "noBinning" : "Keine Bins", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17209 "selectBinningType" : "Wähle Binningart", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17210 "binningTooltip" : "W&aunl;hle die Binninart f�r die Datenquellen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17211 "binningType" : "Binningart", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17212 "results" : "Resultate", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17213 "result" : "Resultat", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17214 "timeType" : "Zeitfacette", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17215 "timeUnit" : "Zeiteinheit", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17216 "selectTimeType" : "Wähle Zeitfacette", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17217 "timeAnimation" : "Animation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17218 "resultsTime" : "mit Zeitinformation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17219 "animationDisabled" : "Animationswerkzeug (deaktiviert)", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17220 "animationPlay" : "Animiere ausgewählten Zeitbereich", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17221 "animationPause" : "Animation anhalten", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17222 "leftHandle" : "Verschiebe linke Grenze", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17223 "rightHandle" : "Verschiebe rechte Grenze", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17224 "dragTimeRange" : "Verschiebe Zeitbereich", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17225 "connectionsOn" : "Aktiviere zeitabhängige Verbindungen zwischen Kreisen auf der Karte", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17226 "connectionsOff" : "Deaktiviere zeitabhängige Verbindungen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17227 "timeFeather" : "Verändere Zeitbereichsübergänge zum Glätten der Animation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17228 "pageInfo" : "Seite PAGE_ID von PAGES_ID", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17229 "resultsInfo" : "RESULTS_FROM_ID-RESULTS_TO_ID von RESULTS_ID Ergebnissen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17230 "allResults" : "alle", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17231 "otherResults" : "sonstige", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17232 "mapAggregation" : "Aggregation", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17233 "aggregation" : "Kreise aggregiert", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17234 "noAggregation" : "Kreise nicht aggregiert", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17235 "showBbox" : "Geografische Ausdehnung anzeigen", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17236 "hideBbox" : "Geografische Ausdehnung ausblenden", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17237 "spaceHelp" : "Jeder Punkt auf der Karte entspricht einem oder mehreren Objekten der Ergebnisliste. Sie können verschiedene ortsbezogene Kategorien als Grundlage für die Darstellung wählen (Auswahlfeld <strong>Ortsfacette</strong>) und verschiedene Kartentypen. <br> Da es Objekte geben kann, die keine Ortsangabe in ihrer Beschreibung enthalten, ist die Menge der in der Karte dargestellten Objekte in der Regel kleiner als in der Ergebnisliste (Anzahl darstellbarer Objekte siehe rechts oben über der Karte). <br> Mit der Karte können Sie die Suchergebnisse weiter eingrenzen, indem Sie auf einen der Punkte klicken. Wählen Sie einen Ort aus und klicken Sie auf die kleine Lupe, um die Ergebnisliste so einzuschränken, dass nur noch die diesem Ort zugeordneten Objekte als Suchergebnis erscheinen. Mehr zur Karte im Benutzerhandbuch ...", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17238 "timeHelp" : "In der Zeitleiste sind die Suchergebnisse nach Jahren geordnet. Sie können verschiedene zeitbezogene Kategorien als Grundlage für die Darstellung wählen (Auswahlfeld <strong>Zeitfacette</strong>). <br> Da es Objekte geben kann, die keine Zeitangabe in ihrer Beschreibung enthalten, ist die Zahl der in der Zeitleiste dargestellten Objekte in der Regel kleiner als in der Ergebnisliste. Die Angabe über darstellbare Objekte finden Sie rechts über der Zeitleiste. <br>Mit der Zeitleiste können Sie die Suchergebnisse weiter eingrenzen. Wählen Sie ein Jahr oder einen Zeitraum durch Klicken und Ziehen und klicken Sie auf die kleine Lupe. Die Ergebnisliste zeigt nur noch die Objekte in diesem Zeitraum. Mehr zur Zeitleiste im Benutzerhandbuch ...", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17239 "selectTablePageItemsHelp" : "Click to select all rows of this page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17240 "deselectTablePageItemsHelp" : "Click to deselect all rows of this page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17241 "selectAllTableItemsHelp" : "Click to select all rows of the table", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17242 "deselectAllTableItemsHelp" : "Click to deselect all rows of the table", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17243 "filter" : "Filter", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17244 "filterSelectedItemsHelp" : "Filter the selected items", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17245 "inverseFilterSelectedItemsHelp" : "Apply an inverse filter on the selected items removing them from the views", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17246 "undoFilterSelection" : "Undo the last filter / inverse filter", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17247 "cancelSelection" : "Discard the current selection (all items appear as deselected)", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17248 "showSelectedHelp" : "Show only elements within the selection", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17249 "showAllElementsHelp" : "Show all elements", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17250 "paginationFirsPageHelp" : "Show first page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17251 "paginationPreviousPageHelp" : "Show previous page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17252 "paginationNextPageHelp" : "Show next page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17253 "paginationLastPageHelp" : "Show last page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17254 "sortAZHelp" : "Sort table elements ascending according this column", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17255 "sortZAHelp" : "Sort table elements descending according this column", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17256 "paginationDropdownHelp" : "Select number of elements per page", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17257 "selectTimeUnit" : "W�hle Zeitinervalle", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17258 "valueScale" : "Value Scale", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17259 "linearPlot" : "Linear Value Scale", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17260 "logarithmicPlot" : "Logarithmic Value Scale", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17261 "playButton" : "Animate Selected Range", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17262 "pauseButton" : "Pause Animation" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17263 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17264 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17265 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17266 * GeoTemConfig.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17267 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17268 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17269 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17270 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17271 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17272 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17273 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17274 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17275 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17276 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17277 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17278 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17279 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17280 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17281 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17282 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17283 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17284 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17285 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17286 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17287 * @class GeoTemConfig |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17288 * Global GeoTemCo Configuration File |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17289 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17290 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17291 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17292 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17293 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17294 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17295 var GeoTemConfig = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17296 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17297 incompleteData : true, // show/hide data with either temporal or spatial metadata |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17298 inverseFilter : true, // if inverse filtering is offered |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17299 mouseWheelZoom : true, // enable/disable zoom with mouse wheel on map & timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17300 language : 'en', // default language of GeoTemCo |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17301 allowFilter : true, // if filtering should be allowed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17302 //colors for several datasets; rgb1 will be used for selected objects, rgb0 for unselected |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17303 colors : [{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17304 r1 : 255, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17305 g1 : 101, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17306 b1 : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17307 r0 : 253, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17308 g0 : 229, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17309 b0 : 205 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17310 }, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17311 r1 : 144, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17312 g1 : 26, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17313 b1 : 255, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17314 r0 : 230, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17315 g0 : 225, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17316 b0 : 255 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17317 }, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17318 r1 : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17319 g1 : 217, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17320 b1 : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17321 r0 : 213, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17322 g0 : 255, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17323 b0 : 213 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17324 }, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17325 r1 : 240, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17326 g1 : 220, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17327 b1 : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17328 r0 : 247, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17329 g0 : 244, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17330 b0 : 197 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17331 }] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17332 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17333 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17334 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17335 GeoTemConfig.ie = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17336 GeoTemConfig.ie8 = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17337 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17338 if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17339 GeoTemConfig.ie = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17340 var ieversion = new Number(RegExp.$1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17341 if (ieversion == 8) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17342 GeoTemConfig.ie8 = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17343 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17344 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17345 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17346 GeoTemConfig.configure = function(urlPrefix) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17347 GeoTemConfig.urlPrefix = urlPrefix; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17348 GeoTemConfig.path = GeoTemConfig.urlPrefix + "images/"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17349 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17350 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17351 GeoTemConfig.applySettings = function(settings) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17352 $.extend(this, settings); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17353 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17354 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17355 GeoTemConfig.getColor = function(id){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17356 if( GeoTemConfig.colors.length <= id ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17357 GeoTemConfig.colors.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17358 r1 : Math.floor((Math.random()*255)+1), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17359 g1 : Math.floor((Math.random()*255)+1), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17360 b1 : Math.floor((Math.random()*255)+1), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17361 r0 : 230, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17362 g0 : 230, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17363 b0 : 230 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17364 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17365 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17366 return GeoTemConfig.colors[id]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17367 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17369 GeoTemConfig.getString = function(field) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17370 if ( typeof Tooltips[GeoTemConfig.language] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17371 GeoTemConfig.language = 'en'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17372 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17373 return Tooltips[GeoTemConfig.language][field]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17374 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17375 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17376 * returns the actual mouse position |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17377 * @param {Event} e the mouseevent |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17378 * @return the top and left position on the screen |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17379 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17380 GeoTemConfig.getMousePosition = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17381 if (!e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17382 e = window.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17383 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17384 var body = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ? window.document.documentElement : window.document.body; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17385 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17386 top : e.pageY ? e.pageY : e.clientY, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17387 left : e.pageX ? e.pageX : e.clientX |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17388 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17389 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17390 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17391 * returns the json object of the file from the given url |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17392 * @param {String} url the url of the file to load |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17393 * @return json object of given file |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17394 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17395 GeoTemConfig.getJson = function(url) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17396 var data; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17397 $.ajax({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17398 url : url, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17399 async : false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17400 dataType : 'json', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17401 success : function(json) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17402 data = json; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17403 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17404 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17405 return data; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17406 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17407 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17408 GeoTemConfig.mergeObjects = function(set1, set2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17409 var inside = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17410 var newSet = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17411 for (var i = 0; i < set1.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17412 inside.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17413 newSet.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17414 for (var j = 0; j < set1[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17415 inside[i][set1[i][j].index] = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17416 newSet[i].push(set1[i][j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17417 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17418 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17419 for (var i = 0; i < set2.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17420 for (var j = 0; j < set2[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17421 if (!inside[i][set2[i][j].index]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17422 newSet[i].push(set2[i][j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17423 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17424 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17425 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17426 return newSet; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17427 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17428 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17429 * returns the xml dom object of the file from the given url |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17430 * @param {String} url the url of the file to load |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17431 * @return xml dom object of given file |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17432 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17433 GeoTemConfig.getKml = function(url,asyncFunc) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17434 var data; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17435 var async = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17436 if( asyncFunc ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17437 async = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17438 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17439 $.ajax({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17440 url : url, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17441 async : async, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17442 dataType : 'xml', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17443 success : function(xml) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17444 if( asyncFunc ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17445 asyncFunc(xml); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17446 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17447 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17448 data = xml; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17449 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17450 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17451 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17452 if( !async ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17453 return data; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17454 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17455 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17456 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17457 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17458 * returns a Date and a SimileAjax.DateTime granularity value for a given XML time |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17459 * @param {String} xmlTime the XML time as String |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17460 * @return JSON object with a Date and a SimileAjax.DateTime granularity |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17461 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17462 GeoTemConfig.getTimeData = function(xmlTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17463 if (!xmlTime) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17464 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17465 var dateData; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17466 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17467 var bc = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17468 if (xmlTime.startsWith("-")) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17469 bc = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17470 xmlTime = xmlTime.substring(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17471 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17472 var timeSplit = xmlTime.split("T"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17473 var timeData = timeSplit[0].split("-"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17474 for (var i = 0; i < timeData.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17475 parseInt(timeData[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17476 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17477 if (bc) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17478 timeData[0] = "-" + timeData[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17479 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17480 if (timeSplit.length == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17481 dateData = timeData; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17482 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17483 var dayData; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17484 if (timeSplit[1].indexOf("Z") != -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17485 dayData = timeSplit[1].substring(0, timeSplit[1].indexOf("Z") - 1).split(":"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17486 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17487 dayData = timeSplit[1].substring(0, timeSplit[1].indexOf("+") - 1).split(":"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17488 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17489 for (var i = 0; i < timeData.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17490 parseInt(dayData[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17491 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17492 dateData = timeData.concat(dayData); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17493 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17494 } catch (exception) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17495 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17496 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17497 var date, granularity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17498 if (dateData.length == 6) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17499 granularity = SimileAjax.DateTime.SECOND; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17500 date = new Date(Date.UTC(dateData[0], dateData[1] - 1, dateData[2], dateData[3], dateData[4], dateData[5])); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17501 } else if (dateData.length == 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17502 granularity = SimileAjax.DateTime.DAY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17503 date = new Date(Date.UTC(dateData[0], dateData[1] - 1, dateData[2])); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17504 } else if (dateData.length == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17505 granularity = SimileAjax.DateTime.MONTH; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17506 date = new Date(Date.UTC(dateData[0], dateData[1] - 1, 1)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17507 } else if (dateData.length == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17508 granularity = SimileAjax.DateTime.YEAR; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17509 date = new Date(Date.UTC(dateData[0], 0, 1)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17510 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17511 if (timeData[0] && timeData[0] < 100) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17512 date.setFullYear(timeData[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17513 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17514 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17515 date : date, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17516 granularity : granularity |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17517 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17518 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17519 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17520 * converts a JSON array into an array of data objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17521 * @param {JSON} JSON a JSON array of data items |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17522 * @return an array of data objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17523 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17524 GeoTemConfig.loadJson = function(JSON) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17525 var mapTimeObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17526 var runningIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17527 for (var i in JSON ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17528 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17529 var item = JSON[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17530 var index = item.index || item.id || runningIndex++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17531 var name = item.name || ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17532 var description = item.description || ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17533 var tableContent = item.tableContent || []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17534 var locations = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17535 if (item.location instanceof Array) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17536 for (var j = 0; j < item.location.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17537 var place = item.location[j].place || "unknown"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17538 var lon = item.location[j].lon || ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17539 var lat = item.location[j].lat || ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17540 if ((lon == "" || lat == "" || isNaN(lon) || isNaN(lat) ) && !GeoTemConfig.incompleteData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17541 throw "e"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17542 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17543 locations.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17544 longitude : lon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17545 latitude : lat, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17546 place : place |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17547 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17548 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17549 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17550 var place = item.place || "unknown"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17551 var lon = item.lon || ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17552 var lat = item.lat || ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17553 if ((lon == "" || lat == "" || isNaN(lon) || isNaN(lat) ) && !GeoTemConfig.incompleteData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17554 throw "e"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17555 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17556 locations.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17557 longitude : lon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17558 latitude : lat, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17559 place : place |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17560 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17561 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17562 var dates = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17563 if (item.time instanceof Array) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17564 for (var j = 0; j < item.time.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17565 var time = GeoTemConfig.getTimeData(item.time[j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17566 if (time == null && !GeoTemConfig.incompleteData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17567 throw "e"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17568 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17569 dates.push(time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17570 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17571 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17572 var time = GeoTemConfig.getTimeData(item.time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17573 if (time == null && !GeoTemConfig.incompleteData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17574 throw "e"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17575 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17576 if (time != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17577 dates.push(time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17578 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17579 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17580 var weight = item.weight || 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17581 var mapTimeObject = new DataObject(name, description, locations, dates, weight, tableContent); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17582 mapTimeObject.setIndex(index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17583 mapTimeObjects.push(mapTimeObject); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17584 } catch(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17585 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17586 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17587 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17588 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17589 return mapTimeObjects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17590 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17591 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17592 * converts a KML dom into an array of data objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17593 * @param {XML dom} kml the XML dom for the KML file |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17594 * @return an array of data objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17595 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17596 GeoTemConfig.loadKml = function(kml) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17597 var mapObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17598 var elements = kml.getElementsByTagName("Placemark"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17599 if (elements.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17600 return []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17601 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17602 var index = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17603 for (var i = 0; i < elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17604 var placemark = elements[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17605 var name, description, place, granularity, lon, lat, tableContent = [], time = [], location = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17606 var weight = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17607 var timeData = false, mapData = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17608 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17609 name = placemark.getElementsByTagName("name")[0].childNodes[0].nodeValue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17610 tableContent["name"] = name; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17611 } catch(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17612 name = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17613 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17614 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17615 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17616 description = placemark.getElementsByTagName("description")[0].childNodes[0].nodeValue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17617 tableContent["description"] = description; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17618 } catch(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17619 description = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17620 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17621 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17622 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17623 place = placemark.getElementsByTagName("address")[0].childNodes[0].nodeValue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17624 tableContent["place"] = place; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17625 } catch(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17626 place = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17627 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17628 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17629 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17630 var coordinates = placemark.getElementsByTagName("Point")[0].getElementsByTagName("coordinates")[0].childNodes[0].nodeValue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17631 var lonlat = coordinates.split(","); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17632 lon = lonlat[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17633 lat = lonlat[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17634 if (lon == "" || lat == "" || isNaN(lon) || isNaN(lat)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17635 throw "e"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17636 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17637 location.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17638 longitude : lon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17639 latitude : lat, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17640 place : place |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17641 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17642 } catch(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17643 if (!GeoTemConfig.incompleteData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17644 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17645 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17646 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17647 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17648 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17649 var tuple = GeoTemConfig.getTimeData(placemark.getElementsByTagName("TimeStamp")[0].getElementsByTagName("when")[0].childNodes[0].nodeValue); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17650 if (tuple != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17651 time.push(tuple); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17652 timeData = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17653 } else if (!GeoTemConfig.incompleteData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17654 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17655 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17656 } catch(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17657 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17658 throw "e"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17659 var timeSpanTag = placemark.getElementsByTagName("TimeSpan")[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17660 var tuple1 = GeoTemConfig.getTimeData(timeSpanTag.getElementsByTagName("begin")[0].childNodes[0].nodeValue); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17661 timeStart = tuple1.d; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17662 granularity = tuple1.g; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17663 var tuple2 = GeoTemConfig.getTimeData(timeSpanTag.getElementsByTagName("end")[0].childNodes[0].nodeValue); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17664 timeEnd = tuple2.d; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17665 if (tuple2.g > granularity) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17666 granularity = tuple2.g; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17667 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17668 timeData = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17669 } catch(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17670 if (!GeoTemConfig.incompleteData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17671 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17672 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17673 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17674 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17675 var object = new DataObject(name, description, location, time, 1, tableContent); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17676 object.setIndex(index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17677 index++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17678 mapObjects.push(object); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17679 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17680 return mapObjects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17681 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17682 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17683 * MapControl.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17684 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17685 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17686 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17687 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17688 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17689 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17690 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17691 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17692 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17693 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17694 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17695 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17696 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17697 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17698 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17699 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17700 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17701 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17702 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17703 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17704 * @class MapControl |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17705 * Generic map control interface |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17706 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17707 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17708 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17709 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17710 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17711 function MapControl(map, button, label, onActivate, onDeactivate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17712 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17713 var control = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17714 this.button = button; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17715 this.enabled = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17716 this.activated = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17717 this.label = label; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17718 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17719 if (this.button != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17720 $(this.button).addClass(label + 'Deactivated'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17721 $(this.button).attr("title", GeoTemConfig.getString(GeoTemConfig.language, label)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17722 //vhz |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17723 $(this.button).click(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17724 control.checkStatus(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17725 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17726 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17727 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17728 this.checkStatus = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17729 if (control.enabled) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17730 if ( typeof map.activeControl != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17731 if (control.activated) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17732 control.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17733 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17734 map.activeControl.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17735 control.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17736 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17737 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17738 control.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17739 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17740 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17741 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17742 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17743 this.setButtonClass = function(removeClass, addClass) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17744 if (this.button != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17745 $(this.button).removeClass(label + removeClass); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17746 $(this.button).addClass(label + addClass); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17747 $(this.button).attr("title", GeoTemConfig.getString(GeoTemConfig.language, label)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17748 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17749 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17750 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17751 this.disable = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17752 this.enabled = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17753 this.setButtonClass('Deactivated', 'Disabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17754 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17755 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17756 this.enable = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17757 this.enabled = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17758 this.setButtonClass('Disabled', 'Deactivated'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17759 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17760 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17761 this.activate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17762 onActivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17763 this.activated = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17764 this.setButtonClass('Deactivated', 'Activated'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17765 map.activeControl = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17766 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17767 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17768 this.deactivate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17769 onDeactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17770 this.activated = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17771 this.setButtonClass('Activated', 'Deactivated'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17772 map.activeControl = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17773 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17774 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17775 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17776 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17777 * CircleObject.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17778 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17779 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17780 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17781 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17782 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17783 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17784 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17785 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17786 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17787 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17788 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17789 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17790 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17791 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17792 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17793 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17794 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17795 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17796 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17797 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17798 * @class CircleObject |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17799 * circle object aggregate for the map |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17800 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17801 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17802 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17803 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17804 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17805 * @param {float} x the x (longitude) value for the circle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17806 * @param {float} y the y (latitude) value for the circle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17807 * @param {DataObject[]} elements array of data objects belonging to the circle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17808 * @param {float} radius the resulting radius (in pixel) for the circle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17809 * @param {int} search dataset index |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17810 * @param {int} weight summed weight of all elements |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17811 * @param {JSON} fatherBin bin of the circle object if its part of a circle pack |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17812 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17813 CircleObject = function(originX, originY, shiftX, shiftY, elements, radius, search, weight, fatherBin) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17814 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17815 this.originX = originX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17816 this.originY = originY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17817 this.shiftX = shiftX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17818 this.shiftY = shiftY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17819 this.elements = elements; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17820 this.radius = radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17821 this.search = search; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17822 this.weight = weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17823 this.overlay = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17824 this.smoothness = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17825 this.fatherBin = fatherBin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17826 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17827 this.feature |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17828 this.olFeature |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17829 this.percentage = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17830 this.selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17831 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17832 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17833 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17834 CircleObject.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17835 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17836 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17837 * sets the OpenLayers point feature for this point object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17838 * @param {OpenLayers.Feature} pointFeature the point feature for this object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17839 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17840 setFeature : function(feature) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17841 this.feature = feature; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17842 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17843 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17844 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17845 * sets the OpenLayers point feature for this point object to manage its selection status |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17846 * @param {OpenLayers.Feature} olPointFeature the overlay point feature for this object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17847 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17848 setOlFeature : function(olFeature) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17849 this.olFeature = olFeature; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17850 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17851 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17852 reset : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17853 this.overlay = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17854 this.smoothness = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17855 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17856 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17857 setSelection : function(s) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17858 this.selected = s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17859 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17860 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17861 toggleSelection : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17862 this.selected = !this.selected; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17863 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17864 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17865 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17866 * FilterBar.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17867 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17868 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17869 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17870 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17871 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17872 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17873 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17874 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17875 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17876 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17877 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17878 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17879 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17880 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17881 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17882 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17883 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17884 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17885 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17886 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17887 * @class FilterBar |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17888 * Implementation for FilterBar Object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17889 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17890 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17891 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17892 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17893 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17894 * @param {Object} parent parent to call filter functions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17895 * @param {HTML object} parentDiv div to append filter buttons |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17896 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17897 function FilterBar(parent, parentDiv) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17898 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17899 var bar = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17900 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17901 this.filter = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17902 this.filter.setAttribute('class', 'smallButton filterDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17903 this.filter.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17904 parent.filtering(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17905 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17906 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17907 this.filterInverse = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17908 this.filterInverse.setAttribute('class', 'smallButton filterInverseDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17909 this.filterInverse.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17910 parent.inverseFiltering(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17911 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17912 if (!GeoTemConfig.inverseFilter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17913 this.filterInverse.style.display = 'none'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17914 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17915 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17916 this.cancelSelection = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17917 this.cancelSelection.setAttribute('class', 'smallButton filterCancelDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17918 this.cancelSelection.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17919 parent.deselection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17920 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17921 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17922 this.appendTo = function(parentDiv) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17923 parentDiv.appendChild(this.filter); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17924 parentDiv.appendChild(this.filterInverse); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17925 parentDiv.appendChild(this.cancelSelection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17926 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17927 if ( typeof parentDiv != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17928 this.appendTo(parentDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17929 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17930 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17931 this.reset = function(show) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17932 if (show) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17933 this.filter.setAttribute('class', 'smallButton filter'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17934 this.filterInverse.setAttribute('class', 'smallButton filterInverse'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17935 this.cancelSelection.setAttribute('class', 'smallButton filterCancel'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17936 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17937 this.filter.setAttribute('class', 'smallButton filterDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17938 this.filterInverse.setAttribute('class', 'smallButton filterInverseDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17939 this.cancelSelection.setAttribute('class', 'smallButton filterCancelDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17940 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17941 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17942 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17943 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17944 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17945 * Selection.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17946 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17947 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17948 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17949 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17950 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17951 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17952 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17953 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17954 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17955 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17956 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17957 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17958 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17959 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17960 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17961 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17962 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17963 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17964 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17965 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17966 * @class Selection |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17967 * Selection Class |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17968 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17969 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17970 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17971 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17972 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17973 * @param {Array} objects array of selected objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17974 * @param {Object} widget which belongs to selection |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17975 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17976 function Selection(objects, widget) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17977 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17978 this.objects = objects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17979 if ( typeof objects == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17980 this.objects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17981 for (var i = 0; i < GeoTemConfig.datasets; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17982 this.objects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17983 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17984 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17985 this.widget = widget; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17986 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17987 this.getObjects = function(widget) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17988 if (!this.equal(widget)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17989 return this.objects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17990 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17991 this.objects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17992 for (var i = 0; i < GeoTemConfig.datasets; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17993 this.objects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17994 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17995 return this.objects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17996 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17997 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17998 this.equal = function(widget) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17999 if (this.valid() && this.widget != widget) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18000 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18001 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18002 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18003 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18004 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18005 this.valid = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18006 if ( typeof this.widget != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18007 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18008 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18009 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18010 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18011 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18012 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18013 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18014 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18015 * PlacenameTags.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18016 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18017 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18018 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18019 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18020 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18021 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18022 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18023 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18024 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18025 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18026 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18027 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18028 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18029 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18030 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18031 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18032 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18033 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18034 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18035 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18036 * @class PlacenameTags |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18037 * place labels computation for circles |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18038 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18039 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18040 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18041 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18042 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18043 function PlacenameTags(circle, map) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18044 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18045 this.circle = circle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18046 this.map = map; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18047 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18048 this.placeLabels |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18049 this.selectedLabel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18050 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18051 this.allLabel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18052 this.othersLabel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18053 this.unknownLabel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18054 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18055 this.calculate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18056 this.calculateLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18057 this.calculatePlacenameTags(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18058 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18059 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18060 this.calculateLabels = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18061 var elements = this.circle.elements; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18062 var k = this.circle.search; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18063 var weight = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18064 var labels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18065 var levelOfDetail = this.map.getLevelOfDetail(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18066 for (var i = 0; i < elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18067 weight += elements[i].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18068 var found = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18069 var label = elements[i].getPlace(this.map.options.mapIndex, levelOfDetail); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18070 if (label == "") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18071 label = "unknown"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18072 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18073 for (var j = 0; j < labels.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18074 if (labels[j].place == label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18075 labels[j].elements.push(elements[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18076 labels[j].weight += elements[i].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18077 found = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18078 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18079 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18080 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18081 if (!found) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18082 labels.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18083 id : elements[i].name, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18084 place : label, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18085 elements : new Array(elements[i]), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18086 weight : elements[i].weight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18087 index : k |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18088 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18089 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18090 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18091 var sortBySize = function(label1, label2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18092 if (label1.weight > label2.weight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18093 return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18094 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18095 return 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18096 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18097 labels.sort(sortBySize); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18098 if (map.options.maxPlaceLabels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18099 var ml = map.options.maxPlaceLabels; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18100 if (ml == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18101 labels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18102 labels.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18103 place : "all", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18104 elements : elements, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18105 weight : weight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18106 index : k |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18107 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18108 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18109 if (ml == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18110 ml++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18111 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18112 if (ml > 2 && labels.length + 1 > ml) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18113 var c = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18114 var w = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18115 for (var i = ml - 2; i < labels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18116 c = c.concat(labels[i].elements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18117 w += labels[i].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18118 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18119 labels = labels.slice(0, ml - 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18120 labels.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18121 place : "others", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18122 elements : c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18123 weight : w, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18124 index : k |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18125 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18126 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18127 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18128 if (labels.length > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18129 labels.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18130 place : "all", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18131 elements : elements, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18132 weight : weight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18133 index : k |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18134 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18135 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18136 this.placeLabels = labels; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18137 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18138 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18139 this.calculatePlacenameTags = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18140 var cloud = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18141 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18142 var c = GeoTemConfig.getColor(this.circle.search); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18143 var color0 = 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18144 var color1 = 'rgb(' + c.r1 + ',' + c.g1 + ',' + c.b1 + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18145 var allStyles = "", hoverStyle = "", highlightStyle = "", selectedStyle = "", unselectedStyle = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18146 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18147 if (GeoTemConfig.ie) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18148 highlightStyle += map.options.ieHighlightLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18149 hoverStyle += map.options.ieHoveredLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18150 selectedStyle += map.options.ieSelectedLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18151 unselectedStyle += map.options.ieUnselectedLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18152 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18153 highlightStyle += map.options.highlightLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18154 hoverStyle += map.options.hoveredLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18155 selectedStyle += map.options.selectedLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18156 unselectedStyle += map.options.unselectedLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18157 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18158 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18159 var clickFunction = function(label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18160 label.div.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18161 cloud.changeLabelSelection(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18162 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18163 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18164 var maxLabelSize = this.count |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18165 for (var i = 0; i < this.placeLabels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18166 var l = this.placeLabels[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18167 l.selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18168 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18169 div.setAttribute('class', 'tagCloudItem'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18170 var fontSize = 1 + (l.weight - 1) / this.map.count * map.options.maxLabelIncrease; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18171 if (l.place == "all") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18172 fontSize = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18173 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18174 div.style.fontSize = fontSize + "em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18175 l.allStyle = allStyles + "font-size: " + fontSize + "em;"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18176 l.selectedStyle = selectedStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18177 l.unselectedStyle = unselectedStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18178 l.highlightStyle = highlightStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18179 l.hoverStyle = hoverStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18180 div.innerHTML = l.place + "<span style='font-size:" + (1 / fontSize) + "em'> (" + l.weight + ")</span>"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18181 l.div = div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18182 clickFunction(l); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18183 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18184 if (map.options.labelGrid) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18185 this.showPlacelabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18186 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18187 for (var i = 0; i < this.placeLabels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18188 this.placeLabels[i].div.setAttribute('style', this.placeLabels[i].allStyle + "" + this.placeLabels[i].highlightStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18189 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18190 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18191 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18192 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18193 this.selectLabel = function(label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18194 if ( typeof label == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18195 label = this.placeLabels[this.placeLabels.length - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18196 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18197 if (this.map.popup) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18198 this.map.popup.showLabelContent(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18199 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18200 this.selectedLabel = label; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18201 this.selectedLabel.div.setAttribute('style', this.selectedLabel.allStyle + "" + this.selectedLabel.selectedStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18202 this.map.mapLabelSelection(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18203 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18204 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18205 // changes selection between labels (click, hover) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18206 this.changeLabelSelection = function(label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18207 if (this.selectedLabel == label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18208 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18209 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18210 if ( typeof this.selectedLabel != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18211 this.selectedLabel.div.setAttribute('style', this.selectedLabel.allStyle + "" + this.selectedLabel.unselectedStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18212 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18213 this.selectLabel(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18214 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18215 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18216 this.showPlacelabels = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18217 this.leftDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18218 this.leftDiv.setAttribute('class', 'tagCloudDiv'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18219 this.map.gui.mapWindow.appendChild(this.leftDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18220 this.rightDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18221 this.rightDiv.setAttribute('class', 'tagCloudDiv'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18222 this.map.gui.mapWindow.appendChild(this.rightDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18223 for (var i = 0; i < this.placeLabels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18224 if (i % 2 == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18225 this.leftDiv.appendChild(this.placeLabels[i].div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18226 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18227 this.rightDiv.appendChild(this.placeLabels[i].div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18228 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18229 this.placeLabels[i].div.setAttribute('style', this.placeLabels[i].allStyle + "" + this.placeLabels[i].highlightStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18230 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18231 this.placeTagCloud(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18232 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18233 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18234 this.placeTagCloud = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18235 var lonlat = new OpenLayers.LonLat(this.circle.feature.geometry.x, this.circle.feature.geometry.y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18236 var pixel = map.openlayersMap.getPixelFromLonLat(lonlat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18237 var radius = this.circle.feature.style.pointRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18238 var lw = this.leftDiv.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18239 var rw = this.rightDiv.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18240 this.leftDiv.style.left = (pixel.x - radius - lw - 5) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18241 this.rightDiv.style.left = (pixel.x + radius + 5) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18242 var lh = this.leftDiv.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18243 var rh = this.rightDiv.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18244 var lt = pixel.y - lh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18245 var rt = pixel.y - rh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18246 this.leftDiv.style.top = lt + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18247 this.rightDiv.style.top = rt + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18248 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18249 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18250 this.remove = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18251 $(this.leftDiv).remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18252 $(this.rightDiv).remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18253 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18254 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18255 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18256 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18257 function PackPlacenameTags(circle, map) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18258 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18259 this.circle = circle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18260 this.map = map; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18261 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18262 this.placeLabels |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18263 this.selectedLabel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18264 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18265 this.allLabel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18266 this.othersLabel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18267 this.unknownLabel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18268 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18269 this.calculate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18270 this.calculateLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18271 this.calculatePlacenameTags(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18272 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18273 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18274 this.getLabelList = function(circle) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18275 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18276 var elements = circle.elements; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18277 var k = circle.search; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18278 var weight = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18279 var labels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18280 var levelOfDetail = this.map.getLevelOfDetail(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18281 for (var i = 0; i < elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18282 weight += elements[i].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18283 var found = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18284 var label = elements[i].getPlace(this.map.options.mapIndex, levelOfDetail); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18285 if (label == "") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18286 label = "unknown"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18287 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18288 for (var j = 0; j < labels.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18289 if (labels[j].place == label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18290 labels[j].elements.push(elements[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18291 labels[j].weight += elements[i].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18292 found = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18293 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18294 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18295 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18296 if (!found) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18297 labels.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18298 id : elements[i].name, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18299 place : label, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18300 elements : new Array(elements[i]), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18301 weight : elements[i].weight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18302 index : k |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18303 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18304 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18305 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18306 var sortBySize = function(label1, label2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18307 if (label1.weight > label2.weight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18308 return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18309 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18310 return 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18311 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18312 labels.sort(sortBySize); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18313 var droppedLabels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18314 if (map.options.maxPlaceLabels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18315 var ml = map.options.maxPlaceLabels; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18316 if (ml == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18317 labels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18318 labels.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18319 place : "all", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18320 elements : elements, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18321 weight : weight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18322 index : k |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18323 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18324 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18325 if (ml == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18326 ml++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18327 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18328 if (ml > 2 && labels.length + 1 > ml) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18329 var c = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18330 var w = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18331 for (var i = ml - 2; i < labels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18332 c = c.concat(labels[i].elements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18333 w += labels[i].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18334 droppedLabels.push(labels[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18335 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18336 labels = labels.slice(0, ml - 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18337 var ol = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18338 place : "others", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18339 elements : c, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18340 weight : w, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18341 index : k |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18342 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18343 labels.push(ol); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18344 this.othersLabels.push(ol); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18345 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18346 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18347 if (labels.length > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18348 labels.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18349 place : "all", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18350 elements : elements, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18351 weight : weight, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18352 index : k |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18353 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18354 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18355 this.placeLabels.push(labels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18356 this.droppedLabels.push(droppedLabels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18357 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18358 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18359 this.calculateLabels = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18360 var circles = this.circle.circles; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18361 this.placeLabels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18362 this.droppedLabels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18363 this.othersLabels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18364 for (var i = 0; i < circles.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18365 this.getLabelList(circles[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18366 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18367 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18369 this.calculatePlacenameTags = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18370 var cloud = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18371 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18372 var unselectedStyles = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18373 var selectedStyles = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18374 var hoverStyles = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18375 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18376 for (var k = 0; k < this.placeLabels.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18377 var c = GeoTemConfig.getColor(this.circle.circles[k].search); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18378 var color0 = 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18379 var color1 = 'rgb(' + c.r1 + ',' + c.g1 + ',' + c.b1 + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18380 var allStyles = "", hoverStyle = "", highlightStyle = "", selectedStyle = "", unselectedStyle = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18381 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18382 if (GeoTemConfig.ie) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18383 highlightStyle += map.options.ieHighlightLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18384 hoverStyle += map.options.ieHoveredLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18385 selectedStyle += map.options.ieSelectedLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18386 unselectedStyle += map.options.ieUnselectedLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18387 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18388 highlightStyle += map.options.highlightLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18389 hoverStyle += map.options.hoveredLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18390 selectedStyle += map.options.selectedLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18391 unselectedStyle += map.options.unselectedLabel.replace(/COLOR1/g, color1).replace(/COLOR0/g, color0) + ";"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18392 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18393 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18394 allStyles += 'margin-right:5px;'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18395 allStyles += 'margin-left:5px;'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18396 unselectedStyles.push(unselectedStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18397 selectedStyles.push(selectedStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18398 hoverStyles.push(hoverStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18399 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18400 var clickFunction = function(label, id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18401 label.div.onmouseover = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18402 if (!label.opposite) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18403 var oppositeLabel, oppositeLabelDiv; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18404 label.div.setAttribute('style', allStyles + "" + selectedStyles[id]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18405 var c = GeoTemConfig.getColor(id); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18406 var color0 = 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18407 if (id == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18408 for (var i = 0; i < cloud.droppedLabels[1].length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18409 if (cloud.droppedLabels[1][i].place == label.place) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18410 oppositeLabel = cloud.droppedLabels[1][i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18411 cloud.rightDiv.appendChild(oppositeLabel.div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18412 cloud.drawLine(cloud.ctxOl, label.div, oppositeLabel.div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18413 var olDiv = cloud.othersLabels[1].div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18414 olDiv.innerHTML = olDiv.innerHTML.replace(/\(\d*\)/g, '(' + (cloud.othersLabels[1].weight - oppositeLabel.weight) + ')'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18415 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18416 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18417 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18418 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18419 for (var i = 0; i < cloud.droppedLabels[0].length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18420 if (cloud.droppedLabels[0][i].place == label.place) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18421 oppositeLabel = cloud.droppedLabels[0][i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18422 cloud.leftDiv.appendChild(oppositeLabel.div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18423 cloud.drawLine(cloud.ctxOl, oppositeLabel.div, label.div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18424 var olDiv = cloud.othersLabels[0].div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18425 olDiv.innerHTML = olDiv.innerHTML.replace(/\(\d*\)/g, '(' + (cloud.othersLabels[0].weight - oppositeLabel.weight) + ')'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18426 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18427 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18428 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18429 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18430 if ( typeof oppositeLabel == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18431 oppositeLabel = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18432 div : cloud.naDiv |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18433 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18434 if (id == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18435 cloud.rightDiv.appendChild(cloud.naDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18436 cloud.drawLine(cloud.ctxOl, label.div, cloud.naDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18437 oppositeLabel.div.setAttribute('style', allStyles + "" + selectedStyles[1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18438 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18439 cloud.leftDiv.appendChild(cloud.naDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18440 cloud.drawLine(cloud.ctxOl, cloud.naDiv, label.div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18441 oppositeLabel.div.setAttribute('style', allStyles + "" + selectedStyles[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18442 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18443 cloud.map.mapLabelHighlight(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18444 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18445 cloud.map.mapLabelHighlight([label, oppositeLabel]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18446 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18447 label.div.onmouseout = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18448 label.div.setAttribute('style', allStyles + "" + unselectedStyles[id]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18449 var olDiv = cloud.othersLabels[0].div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18450 olDiv.innerHTML = olDiv.innerHTML.replace(/\(\d*\)/g, '(' + cloud.othersLabels[0].weight + ')'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18451 var olDiv2 = cloud.othersLabels[1].div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18452 olDiv2.innerHTML = olDiv2.innerHTML.replace(/\(\d*\)/g, '(' + cloud.othersLabels[1].weight + ')'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18453 $(oppositeLabel.div).remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18454 cloud.ctxOl.clearRect(0, 0, cloud.cvOl.width, cloud.cvOl.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18455 cloud.map.mapLabelHighlight(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18456 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18457 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18458 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18459 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18460 var maxLabelSize = this.count |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18461 for (var i = 0; i < this.placeLabels[k].length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18462 var l = this.placeLabels[k][i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18463 l.selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18464 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18465 div.setAttribute('class', 'tagCloudItem'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18466 var fontSize = 1 + (l.weight - 1) / this.map.count * map.options.maxLabelIncrease; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18467 if (l.place == "all") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18468 fontSize = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18469 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18470 div.style.fontSize = fontSize + "em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18471 l.allStyle = allStyles + "font-size: " + fontSize + "em;"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18472 l.selectedStyle = selectedStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18473 l.unselectedStyle = unselectedStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18474 l.hoverStyle = hoverStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18475 div.innerHTML = l.place + "<span style='font-size:" + (1 / fontSize) + "em'> (" + l.weight + ")</span>"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18476 l.div = div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18477 clickFunction(l, k); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18478 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18479 for (var i = 0; i < this.droppedLabels[k].length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18480 var l = this.droppedLabels[k][i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18481 l.selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18482 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18483 div.setAttribute('class', 'tagCloudItem'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18484 var fontSize = 1 + (l.weight - 1) / this.map.count * map.options.maxLabelIncrease; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18485 div.style.fontSize = fontSize + "em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18486 l.allStyle = allStyles + "font-size: " + fontSize + "em;"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18487 l.selectedStyle = selectedStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18488 l.unselectedStyle = unselectedStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18489 l.hoverStyle = hoverStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18490 div.innerHTML = l.place + "<span style='font-size:" + (1 / fontSize) + "em'> (" + l.weight + ")</span>"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18491 l.div = div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18492 div.setAttribute('style', allStyles + "" + selectedStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18493 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18494 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18495 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18496 this.naDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18497 this.naDiv.setAttribute('class', 'tagCloudItem'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18498 var fontSize = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18499 div.style.fontSize = fontSize + "em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18500 l.allStyle = allStyles + "font-size: " + fontSize + "em;"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18501 l.selectedStyle = selectedStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18502 l.unselectedStyle = unselectedStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18503 l.hoverStyle = hoverStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18504 this.naDiv.innerHTML = "Not available"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18505 l.div = this.naDiv; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18506 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18507 if (map.options.labelGrid) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18508 this.showPlacelabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18509 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18510 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18511 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18512 this.showPlacelabels = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18513 this.leftDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18514 this.leftDiv.setAttribute('class', 'tagCloudDiv'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18515 this.leftDiv.style.textAlign = 'right'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18516 this.map.gui.mapWindow.appendChild(this.leftDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18517 this.centerDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18518 this.centerDiv.setAttribute('class', 'tagCloudDiv'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18519 this.centerDiv.style.opacity = 0.7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18520 this.map.gui.mapWindow.appendChild(this.centerDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18521 this.centerDivOl = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18522 this.centerDivOl.setAttribute('class', 'tagCloudDiv'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18523 this.centerDivOl.style.opacity = 0.7; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18524 this.map.gui.mapWindow.appendChild(this.centerDivOl); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18525 this.rightDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18526 this.rightDiv.setAttribute('class', 'tagCloudDiv'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18527 this.rightDiv.style.textAlign = 'left'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18528 this.map.gui.mapWindow.appendChild(this.rightDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18529 for (var i = 0; i < this.placeLabels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18530 for (var j = 0; j < this.placeLabels[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18531 if (i == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18532 this.leftDiv.appendChild(this.placeLabels[i][j].div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18533 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18534 this.rightDiv.appendChild(this.placeLabels[i][j].div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18535 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18536 this.placeLabels[i][j].div.setAttribute('style', this.placeLabels[i][j].allStyle + "" + this.placeLabels[i][j].unselectedStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18537 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18538 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18539 this.placeTagCloud(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18540 this.setCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18541 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18542 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18543 this.placeTagCloud = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18544 var lonlat = new OpenLayers.LonLat(this.circle.feature.geometry.x, this.circle.feature.geometry.y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18545 var pixel = map.openlayersMap.getPixelFromLonLat(lonlat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18546 var radius = this.circle.feature.style.pointRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18547 var lw = this.leftDiv.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18548 var rw = this.rightDiv.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18549 this.leftDiv.style.left = (pixel.x - radius - lw - 5) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18550 this.rightDiv.style.left = (pixel.x + radius + 5) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18551 var lh = this.leftDiv.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18552 var rh = this.rightDiv.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18553 var lt = pixel.y - lh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18554 var rt = pixel.y - rh / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18555 this.leftDiv.style.top = lt + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18556 this.rightDiv.style.top = rt + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18557 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18558 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18559 this.setCanvas = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18560 var height = Math.max(this.leftDiv.offsetHeight, this.rightDiv.offsetHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18561 var top = Math.min(this.leftDiv.offsetTop, this.rightDiv.offsetTop); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18562 var left = this.leftDiv.offsetLeft + this.leftDiv.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18563 this.width = this.rightDiv.offsetLeft - left; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18564 this.centerDiv.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18565 this.centerDiv.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18566 this.centerDiv.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18567 this.centerDiv.style.width = this.width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18568 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18569 this.centerDivOl.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18570 this.centerDivOl.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18571 this.centerDivOl.style.height = height + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18572 this.centerDivOl.style.width = this.width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18573 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18574 var cv = document.createElement("canvas"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18575 this.centerDiv.appendChild(cv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18576 if (!cv.getContext && G_vmlCanvasManager) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18577 cv = G_vmlCanvasManager.initElement(cv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18578 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18579 cv.width = this.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18580 cv.height = height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18581 ctx = cv.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18582 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18583 this.cvOl = document.createElement("canvas"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18584 this.centerDivOl.appendChild(this.cvOl); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18585 if (!this.cvOl.getContext && G_vmlCanvasManager) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18586 this.cvOl = G_vmlCanvasManager.initElement(this.cvOl); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18587 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18588 this.cvOl.width = this.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18589 this.cvOl.height = height + 50; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18590 this.ctxOl = this.cvOl.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18591 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18592 for (var i = 0; i < this.placeLabels[0].length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18593 this.placeLabels[0][i].opposite = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18594 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18595 for (var i = 0; i < this.placeLabels[1].length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18596 this.placeLabels[1][i].opposite = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18597 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18598 for (var i = 0; i < this.placeLabels[0].length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18599 for (var j = 0; j < this.placeLabels[1].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18600 if (this.placeLabels[0][i].place == this.placeLabels[1][j].place) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18601 this.drawLine(ctx, this.placeLabels[0][i].div, this.placeLabels[1][j].div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18602 this.placeLabels[0][i].opposite = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18603 this.placeLabels[1][j].opposite = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18604 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18605 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18606 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18607 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18608 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18609 this.drawLine = function(ctx, label1, label2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18610 var x1 = 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18611 var x2 = this.width - 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18612 var y1 = label1.offsetTop + label1.offsetHeight / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18613 var y2 = label2.offsetTop + label2.offsetHeight / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18614 if (this.leftDiv.offsetTop > this.rightDiv.offsetTop) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18615 y1 += this.leftDiv.offsetTop - this.rightDiv.offsetTop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18616 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18617 y2 += this.rightDiv.offsetTop - this.leftDiv.offsetTop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18618 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18619 ctx.lineCap = 'round'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18620 ctx.lineWidth = 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18621 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18622 ctx.moveTo(x1, y1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18623 ctx.lineTo(x2, y2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18624 ctx.strokeStyle = '#555'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18625 ctx.stroke(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18626 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18627 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18628 this.remove = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18629 $(this.leftDiv).remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18630 $(this.rightDiv).remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18631 $(this.centerDiv).remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18632 $(this.centerDivOl).remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18633 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18634 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18635 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18636 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18637 * MapConfig.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18638 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18639 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18640 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18641 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18642 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18643 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18644 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18645 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18646 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18647 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18648 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18649 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18650 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18651 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18652 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18653 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18654 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18655 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18656 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18657 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18658 * @class MapConfig |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18659 * Map Configuration File |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18660 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18661 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18662 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18663 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18664 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18665 function MapConfig(options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18666 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18667 this.options = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18668 mapWidth : false, // false or desired width css definition for the map |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18669 mapHeight : '580px', // false or desired height css definition for the map |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18670 mapTitle : 'GeoTemCo Map View', // title will be shown in map header |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18671 mapIndex : 0, // index = position in location array; for multiple locations the 2nd map refers to index 1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18672 alternativeMap : false, // alternative map definition for a web mapping service or 'false' for no alternative map |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18673 /* an example: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18674 { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18675 name: 'someMapName', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18676 url: '/geoserver/wms', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18677 layer: 'namespace:layerName' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18678 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18679 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18680 googleMaps : false, // enable/disable Google maps (actually, no Google Maps API key is required) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18681 bingMaps : false, // enable/disable Bing maps (you need to set the Bing Maps API key below) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18682 bingApiKey : 'none', // bing maps api key, see informations at http://bingmapsportal.com/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18683 osmMaps : true, // enable/disable OSM maps |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18684 baseLayer : 'Open Street Map', // initial layer to show (e.g. 'Google Streets') |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18685 resetMap : true, // show/hide map reset button |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18686 countrySelect : true, // show/hide map country selection control button |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18687 polygonSelect : true, // show/hide map polygon selection control button |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18688 circleSelect : true, // show/hide map circle selection control button |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18689 squareSelect : true, // show/hide map square selection control button |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18690 multiSelection : true, // true, if multiple polygons or multiple circles should be selectable |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18691 popups : true, // enabled popups will show popup windows for circles on the map |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18692 olNavigation : false, // show/hide OpenLayers navigation panel |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18693 olLayerSwitcher : false, // show/hide OpenLayers layer switcher |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18694 olMapOverview : false, // show/hide OpenLayers map overview |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18695 olKeyboardDefaults : true, // (de)activate Openlayers keyboard defaults |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18696 olScaleLine : false, // (de)activate Openlayers keyboard defaults |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18697 geoLocation : true, // show/hide GeoLocation feature |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18698 boundaries : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18699 minLon : -29, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18700 minLat : 35, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18701 maxLon : 44, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18702 maxLat : 67 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18703 }, // initial map boundaries or 'false' for no boundaries |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18704 mapCanvasFrom : '#9db9d8', // map widget background gradient color top |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18705 mapCanvasTo : '#5783b5', // map widget background gradient color bottom |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18706 labelGrid : true, // show label grid on hover |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18707 maxPlaceLabels : 6, // Integer value for fixed number of place labels: 0 --> unlimited, 1 --> 1 label (won't be shown in popup, 2 --> is not possible because of others & all labels --> 3 labels, [3,...,N] --> [3,...,N] place labels) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18708 selectDefault : true, // true, if strongest label should be selected as default |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18709 maxLabelIncrease : 2, // maximum increase (in em) for the font size of a label |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18710 labelHover : false, // true, to update on label hover |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18711 ieHighlightLabel : "color: COLOR1; background-color: COLOR0; filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=80)';-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=80)';", // css code for a highlighted place label in IE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18712 highlightLabel : "color: COLOR0; text-shadow: 0 0 0.4em black, 0 0 0.4em black, 0 0 0.4em black, 0 0 0.4em COLOR0;", // css code for a highlighted place label |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18713 ieSelectedLabel : "color: COLOR1; font-weight: bold;", // css code for a selected place label in IE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18714 selectedLabel : "color: COLOR1; font-weight: bold;", // css code for a selected place label |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18715 ieUnselectedLabel : "color: COLOR1; font-weight: normal;", // css code for an unselected place label in IE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18716 unselectedLabel : "color: COLOR1; font-weight: normal;", // css code for an unselected place label |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18717 ieHoveredLabel : "color: COLOR1; font-weight: bold;", // css code for a hovered place label in IE |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18718 hoveredLabel : "color: COLOR1; font-weight: bold;", // css code for a hovered place label |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18719 circleGap : 0, // gap between the circles on the map (>=0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18720 minimumRadius : 4, // minimum radius of a circle with mimimal weight (>0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18721 circleOutline : true, // true if circles should have a default outline |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18722 circleTransparency : true, // transparency of the circles |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18723 minTransparency : 0.4, // maximum transparency of a circle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18724 maxTransparency : 0.8, // minimum transparency of a circle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18725 binning : 'generic', // binning algorithm for the map, possible values are: 'generic', 'square', 'hexagonal', 'triangular' or false for 'no binning' |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18726 noBinningRadii : 'dynamic', // for 'no binning': 'static' for only minimum radii, 'dynamic' for increasing radii for increasing weights |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18727 circlePackings : true, // if circles of multiple result sets should be displayed in circle packs, if a binning is performed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18728 binCount : 10, // number of bins for x and y dimension for lowest zoom level |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18729 showDescriptions : true, // true to show descriptions of data items (must be provided by kml/json), false if not |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18730 mapSelection : true, // show/hide select map dropdown |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18731 binningSelection : false, // show/hide binning algorithms dropdown |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18732 mapSelectionTools : true, // show/hide map selector tools |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18733 dataInformation : true, // show/hide data information |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18734 overlayVisibility : false, // initial visibility of additional overlays |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18735 proxyHost : '' //required for selectCountry feature, if the requested GeoServer and GeoTemCo are NOT on the same server |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18736 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18737 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18738 if ( typeof options != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18739 $.extend(this.options, options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18740 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18741 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18742 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18743 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18744 * MapGui.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18745 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18746 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18747 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18748 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18749 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18750 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18751 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18752 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18753 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18754 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18755 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18756 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18757 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18758 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18759 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18760 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18761 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18762 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18763 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18764 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18765 * @class MapGui |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18766 * Map GUI Implementation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18767 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18768 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18769 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18770 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18771 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18772 * @param {MapWidget} parent map widget object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18773 * @param {HTML object} div parent div to append the map gui |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18774 * @param {JSON} options map configuration |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18775 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18776 function MapGui(map, div, options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18777 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18778 this.map = map; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18779 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18780 this.container = div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18781 if (options.mapWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18782 this.container.style.width = options.mapWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18783 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18784 if (options.mapHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18785 this.container.style.height = options.mapHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18786 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18787 this.container.style.position = 'relative'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18788 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18789 this.mapWindow = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18790 this.mapWindow.id = "mapWindow"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18791 this.container.appendChild(this.mapWindow); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18792 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18793 this.mapContainer = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18794 this.mapContainer.id = "mapContainer"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18795 this.mapContainer.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18796 this.mapContainer.style.zIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18797 this.mapWindow.appendChild(this.mapContainer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18798 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18799 var toolbarTable = document.createElement("table"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18800 toolbarTable.setAttribute('class', 'absoluteToolbar ddbToolbar'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18801 this.container.appendChild(toolbarTable); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18802 this.mapToolbar = toolbarTable; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18803 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18804 var titles = document.createElement("tr"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18805 toolbarTable.appendChild(titles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18806 var tools = document.createElement("tr"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18807 toolbarTable.appendChild(tools); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18808 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18809 if (options.mapSelection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18810 this.mapTypeTitle = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18811 titles.appendChild(this.mapTypeTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18812 this.mapTypeTitle.innerHTML = GeoTemConfig.getString('mapType'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18813 this.mapTypeSelector = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18814 tools.appendChild(this.mapTypeSelector); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18815 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18816 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18817 if (options.mapSelectionTools) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18818 this.mapSelectorTitle = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18819 titles.appendChild(this.mapSelectorTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18820 this.mapSelectorTitle.innerHTML = GeoTemConfig.getString('mapSelectorTools'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18821 var mapSelectorTools = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18822 var selectorTools = this.map.initSelectorTools(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18823 for (var i in selectorTools ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18824 mapSelectorTools.appendChild(selectorTools[i].button); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18825 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18826 tools.appendChild(mapSelectorTools); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18827 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18828 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18829 if (options.binningSelection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18830 this.binningTitle = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18831 titles.appendChild(this.binningTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18832 this.binningTitle.innerHTML = GeoTemConfig.getString('binningType'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18833 this.binningSelector = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18834 tools.appendChild(this.binningSelector); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18835 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18836 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18837 if (GeoTemConfig.allowFilter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18838 this.filterTitle = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18839 titles.appendChild(this.filterTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18840 this.filterTitle.innerHTML = GeoTemConfig.getString('filter'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18841 this.filterOptions = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18842 tools.appendChild(this.filterOptions); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18843 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18844 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18845 if (options.dataInformation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18846 this.infoTitle = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18847 this.infoTitle.innerHTML = options.mapTitle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18848 titles.appendChild(this.infoTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18849 var mapSum = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18850 this.mapElements = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18851 this.mapElements.setAttribute('class', 'ddbElementsCount'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18852 mapSum.appendChild(this.mapElements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18853 tools.appendChild(mapSum); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18854 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18855 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18856 var gui = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18857 if (navigator.geolocation && options.geoLocation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18858 this.geoActive = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18859 this.geoLocation = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18860 this.geoLocation.setAttribute('class', 'geoLocationOff'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18861 this.geoLocation.title = GeoTemConfig.getString('activateGeoLocation'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18862 this.container.appendChild(this.geoLocation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18863 this.geoLocation.style.left = "20px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18864 this.geoLocation.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18865 var changeStyle = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18866 if (gui.geoActive) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18867 gui.geoLocation.setAttribute('class', 'geoLocationOn'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18868 gui.geoLocation.title = GeoTemConfig.getString(GeoTemConfig.language, 'deactivateGeoLocation'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18869 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18870 gui.geoLocation.setAttribute('class', 'geoLocationOff'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18871 gui.geoLocation.title = GeoTemConfig.getString(GeoTemConfig.language, 'activateGeoLocation'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18872 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18873 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18874 if (!gui.geoActive) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18875 if ( typeof gui.longitude == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18876 navigator.geolocation.getCurrentPosition(function(position) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18877 gui.longitude = position.coords.longitude; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18878 gui.latitude = position.coords.latitude; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18879 gui.map.setMarker(gui.longitude, gui.latitude); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18880 gui.geoActive = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18881 changeStyle(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18882 }, function(msg) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18883 console.log( typeof msg == 'string' ? msg : "error"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18884 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18885 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18886 gui.map.setMarker(gui.longitude, gui.latitude); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18887 gui.geoActive = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18888 changeStyle(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18889 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18890 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18891 gui.map.removeMarker(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18892 gui.geoActive = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18893 changeStyle(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18894 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18895 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18896 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18897 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18898 if (!options.olNavigation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18899 this.map.zoomSlider = new MapZoomSlider(this.map, "vertical"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18900 this.container.appendChild(this.map.zoomSlider.div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18901 this.map.zoomSlider.div.style.left = "20px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18902 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18903 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18904 if (options.resetMap) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18905 this.homeButton = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18906 this.homeButton.setAttribute('class', 'mapHome'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18907 this.homeButton.title = GeoTemConfig.getString('home'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18908 this.container.appendChild(this.homeButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18909 this.homeButton.style.left = "20px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18910 this.homeButton.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18911 gui.map.drawObjectLayer(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18912 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18913 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18914 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18915 // var tooltip = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18916 // tooltip.setAttribute('class','ddbTooltip'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18917 // toolbarTable.appendChild(tooltip); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18918 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18919 // var tooltip = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18920 // tooltip.setAttribute('class','ddbTooltip'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18921 // toolbarTable.appendChild(tooltip); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18922 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18923 // tooltip.onmouseover = function(){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18924 // /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18925 // Publisher.Publish('TooltipContent', { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18926 // content: GeoTemConfig.getString(GeoTemConfig.language,'timeHelp'), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18927 // target: $(tooltip) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18928 // }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18929 // */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18930 // } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18931 // tooltip.onmouseout = function(){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18932 // // Publisher.Publish('TooltipContent'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18933 // } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18934 // //vhz tooltip on click should open a help file if defined in GeoTemConfig |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18935 // if(GeoTemConfig.helpURL) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18936 // tooltip.onclick = function () { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18937 // |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18938 // } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18939 // } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18940 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18941 // } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18942 // tooltip.onmouseout = function(){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18943 // Publisher.Publish('TooltipContent'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18944 // } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18945 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18946 this.resize = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18947 var w = this.container.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18948 var h = this.container.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18949 // this.mapWindow.style.width = w + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18950 this.mapWindow.style.height = h + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18951 // this.mapContainer.style.width = w + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18952 this.mapContainer.style.height = h + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18953 var top = toolbarTable.offsetHeight + 20; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18954 if (options.olLayerSwitcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18955 var switcherDiv = $('.olControlLayerSwitcher')[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18956 $(switcherDiv).css('top', top + "px"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18957 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18958 if ( typeof this.geoLocation != "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18959 this.geoLocation.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18960 top += this.geoLocation.offsetHeight + 4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18961 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18962 if (options.olNavigation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18963 var panZoomBar = $('.olControlPanZoom')[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18964 $(panZoomBar).css('top', top + 'px'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18965 $(panZoomBar).css('left', '12px'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18966 var zoomOut = document.getElementById('OpenLayers.Control.PanZoom_23_zoomout'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18967 top += $(zoomOut).height() + $(zoomOut).position().top + 4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18968 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18969 this.map.zoomSlider.div.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18970 top += this.map.zoomSlider.div.offsetHeight + 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18971 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18972 if (options.resetMap) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18973 this.homeButton.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18974 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18975 this.headerHeight = toolbarTable.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18976 this.headerWidth = toolbarTable.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18977 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18978 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18979 this.updateSpaceQuantity = function(count) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18980 if (!options.dataInformation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18981 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18982 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18983 this.mapCount = count; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18984 if (count != 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18985 this.mapElements.innerHTML = this.beautifyCount(count) + " " + GeoTemConfig.getString('results'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18986 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18987 this.mapElements.innerHTML = this.beautifyCount(count) + " " + GeoTemConfig.getString('result'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18988 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18989 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18990 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18991 this.setMapsDropdown = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18992 if (!options.mapSelection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18993 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18994 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18995 $(this.mapTypeSelector).empty(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18996 var maps = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18997 var gui = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18998 var addMap = function(name, index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18999 var setMap = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19000 gui.map.setMap(index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19001 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19002 maps.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19003 name : name, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19004 onclick : setMap |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19005 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19006 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19007 for (var i = 0; i < this.map.baseLayers.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19008 addMap(this.map.baseLayers[i].name, i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19009 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19010 this.mapTypeDropdown = new Dropdown(this.mapTypeSelector, maps, GeoTemConfig.getString('selectMapType')); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19011 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19012 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19013 this.setMap = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19014 if (options.mapSelection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19015 this.mapTypeDropdown.setEntry(this.map.baselayerIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19016 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19017 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19018 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19019 this.setBinningDropdown = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19020 if (!options.binningSelection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19021 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19022 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19023 $(this.binningSelector).empty(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19024 var binnings = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19025 var gui = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19026 var index = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19027 var entry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19028 var addBinning = function(name, id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19029 if (options.binning == id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19030 entry = index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19031 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19032 index++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19033 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19034 var setBinning = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19035 options.binning = id; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19036 gui.map.initWidget(gui.map.datasets, false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19037 gui.map.riseLayer(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19038 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19039 binnings.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19040 name : name, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19041 onclick : setBinning |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19042 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19043 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19044 addBinning(GeoTemConfig.getString('genericBinning'), 'generic'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19045 addBinning(GeoTemConfig.getString('squareBinning'), 'square'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19046 addBinning(GeoTemConfig.getString('hexagonalBinning'), 'hexagonal'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19047 addBinning(GeoTemConfig.getString('triangularBinning'), 'triangular'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19048 addBinning(GeoTemConfig.getString('noBinning'), false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19049 var binningDropdown = new Dropdown(this.binningSelector, binnings, GeoTemConfig.getString('binningTooltip')); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19050 binningDropdown.setEntry(entry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19051 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19052 this.setBinningDropdown(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19053 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19054 this.beautifyCount = function(count) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19055 var c = count + ''; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19056 var p = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19057 var l = c.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19058 while (l - p > 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19059 p += 3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19060 c = c.substring(0, l - p) + "." + c.substring(l - p); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19061 p++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19062 l++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19063 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19064 return c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19065 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19066 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19067 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19068 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19069 * MapWidget.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19070 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19071 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19072 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19073 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19074 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19075 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19076 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19077 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19078 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19079 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19080 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19081 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19082 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19083 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19084 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19085 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19086 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19087 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19088 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19089 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19090 * @class MapWidget |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19091 * MapWidget Implementation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19092 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19093 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19094 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19095 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19096 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19097 * @param {MapWrapper} core wrapper for interaction to other widgets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19098 * @param {HTML object} div parent div to append the map widget div |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19099 * @param {JSON} options user specified configuration that overwrites options in MapConfig.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19100 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19101 function MapWidget(core, div, options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19102 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19103 this.core = core; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19104 this.core.setWidget(this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19105 this.openlayersMap |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19106 this.baseLayers |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19107 this.objectLayer |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19108 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19109 this.drawPolygon |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19110 this.drawCircle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19111 this.selectCountry |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19112 this.dragArea |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19113 this.selectFeature |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19114 this.navigation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19115 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19116 this.div = div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19117 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19118 this.options = (new MapConfig(options)).options; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19119 this.formerCP = this.options.circlePackings; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19120 this.gui = new MapGui(this, this.div, this.options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19121 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19122 this.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19123 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19124 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19125 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19126 MapWidget.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19127 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19128 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19129 * initializes the map for the Spatio Temporal Interface. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19130 * it includes setting up all layers of the map and defines all map specific interaction possibilities |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19131 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19132 initialize : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19133 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19134 var map = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19135 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19136 //OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url="; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19137 if (map.options.proxyHost) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19138 OpenLayers.ProxyHost = map.options.proxyHost; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19139 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19140 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19141 this.polygons = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19142 this.connections = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19143 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19144 this.wmsOverlays = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19145 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19146 this.layerZIndex = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19147 this.zIndices = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19148 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19149 var activateDrag = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19150 map.dragArea.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19151 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19152 var deactivateDrag = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19153 map.dragArea.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19154 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19155 this.dragControl = new MapControl(this, null, 'drag', activateDrag, deactivateDrag); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19156 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19157 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19158 this.editPolygon = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19159 this.editPolygon.title = GeoTemConfig.getString('editPolygon'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19160 this.editPolygon.setAttribute('class','editMapPolygon'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19161 this.toolbar.appendChild(this.editPolygon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19162 this.drag.onclick = function(evt){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19163 if( map.activeControl == "drag" ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19164 map.deactivate("drag"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19165 if( GeoTemConfig.navigate ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19166 map.activate("navigate"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19167 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19168 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19169 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19170 map.deactivate(map.activControl); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19171 map.activate("drag"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19172 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19173 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19174 map.addEditingMode(new OpenLayers.Control.EditingMode.PointArraySnapping()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19175 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19176 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19177 var linkForOsm = 'http://www.openstreetmap.org/'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19178 var linkForLicense = 'http://creativecommons.org/licenses/by-sa/2.0/'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19179 this.osmLink = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19180 this.osmLink.setAttribute('class', 'osmLink'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19181 this.osmLink.innerHTML = '(c) <a href=' + linkForOsm + '>OpenStreetMap contributors</a>, <a href=' + linkForLicense + '>CC-BY-SA</a>'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19182 this.gui.mapWindow.appendChild(this.osmLink); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19183 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19184 this.filterBar = new FilterBar(this, this.gui.filterOptions); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19185 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19186 this.objectLayer = new OpenLayers.Layer.Vector("Data Objects", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19187 projection : "EPSG:4326", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19188 'displayInLayerSwitcher' : false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19189 rendererOptions : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19190 zIndexing : true |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19191 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19192 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19193 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19194 this.markerLayer = new OpenLayers.Layer.Markers("Markers"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19195 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19196 this.navigation = new OpenLayers.Control.Navigation({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19197 zoomWheelEnabled : GeoTemConfig.mouseWheelZoom |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19198 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19199 this.navigation.defaultDblClick = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19200 var newCenter = this.map.getLonLatFromViewPortPx(evt.xy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19201 this.map.setCenter(newCenter, this.map.zoom + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19202 map.drawObjectLayer(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19203 if (map.zoomSlider) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19204 map.zoomSlider.setValue(map.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19205 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19206 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19207 this.navigation.wheelUp = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19208 this.wheelChange(evt, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19209 map.drawObjectLayer(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19210 if (map.zoomSlider) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19211 map.zoomSlider.setValue(map.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19212 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19213 map.core.triggerHighlight([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19214 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19215 this.navigation.wheelDown = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19216 this.wheelChange(evt, -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19217 map.drawObjectLayer(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19218 if (map.zoomSlider) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19219 map.zoomSlider.setValue(map.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19220 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19221 map.core.triggerHighlight([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19222 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19223 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19224 this.resolutions = [78271.516953125, 39135.7584765625, 19567.87923828125, 9783.939619140625, 4891.9698095703125, 2445.9849047851562, 1222.9924523925781, 611.4962261962891, 305.74811309814453, 152.87405654907226, 76.43702827453613, 38.218514137268066, 19.109257068634033, 9.554628534317017, 4.777314267158508, 2.388657133579254, 1.194328566789627, 0.5971642833948135, 0.29858214169740677]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19225 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19226 var options = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19227 controls : [this.navigation], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19228 projection : new OpenLayers.Projection("EPSG:900913"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19229 displayProjection : new OpenLayers.Projection("EPSG:4326"), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19230 resolutions : this.resolutions, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19231 units : 'meters', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19232 maxExtent : new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19233 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19234 this.openlayersMap = new OpenLayers.Map("mapContainer", options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19235 if (map.options.navigate) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19236 this.activeControl = "navigate"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19237 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19238 this.mds = new MapDataSource(this.openlayersMap, this.options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19239 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19240 if (map.options.olNavigation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19241 var zoomPanel = new OpenLayers.Control.PanZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19242 zoomPanel.onButtonClick = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19243 var btn = evt.buttonElement; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19244 switch (btn.action) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19245 case "panup": |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19246 this.map.pan(0, -this.getSlideFactor("h")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19247 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19248 case "pandown": |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19249 this.map.pan(0, this.getSlideFactor("h")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19250 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19251 case "panleft": |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19252 this.map.pan(-this.getSlideFactor("w"), 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19253 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19254 case "panright": |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19255 this.map.pan(this.getSlideFactor("w"), 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19256 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19257 case "zoomin": |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19258 map.zoom(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19259 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19260 case "zoomout": |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19261 map.zoom(-1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19262 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19263 case "zoomworld": |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19264 if (this.map) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19265 map.zoom(this.map.zoom * -1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19266 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19267 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19268 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19269 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19270 this.openlayersMap.addControl(zoomPanel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19271 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19272 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19273 if (map.options.popups) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19274 var panMap = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19275 if (map.selectedGlyph) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19276 var lonlat = new OpenLayers.LonLat(map.selectedGlyph.lon, map.selectedGlyph.lat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19277 var pixel = map.openlayersMap.getPixelFromLonLat(lonlat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19278 if (map.popup) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19279 map.popup.shift(pixel.x, pixel.y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19280 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19281 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19282 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19283 this.openlayersMap.events.register("move", this.openlayersMap, panMap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19284 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19285 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19286 if (map.options.olMapOverview) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19287 this.openlayersMap.addControl(new OpenLayers.Control.OverviewMap()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19288 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19289 if (map.options.olKeyboardDefaults) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19290 var keyboardControl = new OpenLayers.Control.KeyboardDefaults(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19291 keyboardControl.defaultKeyPress = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19292 switch(evt.keyCode) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19293 case OpenLayers.Event.KEY_LEFT: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19294 this.map.pan(-this.slideFactor, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19295 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19296 case OpenLayers.Event.KEY_RIGHT: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19297 this.map.pan(this.slideFactor, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19298 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19299 case OpenLayers.Event.KEY_UP: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19300 this.map.pan(0, -this.slideFactor); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19301 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19302 case OpenLayers.Event.KEY_DOWN: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19303 this.map.pan(0, this.slideFactor); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19304 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19305 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19306 case 33: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19307 // Page Up. Same in all browsers. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19308 var size = this.map.getSize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19309 this.map.pan(0, -0.75 * size.h); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19310 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19311 case 34: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19312 // Page Down. Same in all browsers. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19313 var size = this.map.getSize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19314 this.map.pan(0, 0.75 * size.h); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19315 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19316 case 35: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19317 // End. Same in all browsers. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19318 var size = this.map.getSize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19319 this.map.pan(0.75 * size.w, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19320 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19321 case 36: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19322 // Home. Same in all browsers. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19323 var size = this.map.getSize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19324 this.map.pan(-0.75 * size.w, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19325 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19326 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19327 case 43: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19328 // +/= (ASCII), keypad + (ASCII, Opera) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19329 case 61: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19330 // +/= (Mozilla, Opera, some ASCII) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19331 case 187: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19332 // +/= (IE) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19333 case 107: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19334 // keypad + (IE, Mozilla) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19335 map.zoom(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19336 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19337 case 45: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19338 // -/_ (ASCII, Opera), keypad - (ASCII, Opera) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19339 case 109: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19340 // -/_ (Mozilla), keypad - (Mozilla, IE) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19341 case 189: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19342 // -/_ (IE) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19343 case 95: |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19344 // -/_ (some ASCII) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19345 map.zoom(-1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19346 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19347 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19348 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19349 this.openlayersMap.addControl(keyboardControl); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19350 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19351 if (map.options.olLayerSwitcher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19352 this.openlayersMap.addControl(new OpenLayers.Control.LayerSwitcher()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19353 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19354 if (map.options.olScaleLine) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19355 this.openlayersMap.addControl(new OpenLayers.Control.ScaleLine()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19356 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19357 this.gui.resize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19358 this.openlayersMap.updateSize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19359 this.setBaseLayers(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19360 this.gui.setMapsDropdown(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19361 this.gui.setMap(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19362 this.openlayersMap.addLayers([this.objectLayer, this.markerLayer]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19363 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19364 if (map.options.boundaries) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19365 var boundaries = map.options.boundaries; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19366 var bounds = new OpenLayers.Bounds(boundaries.minLon, boundaries.minLat, boundaries.maxLon, boundaries.maxLat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19367 var projectionBounds = bounds.transform(this.openlayersMap.displayProjection, this.openlayersMap.projection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19368 this.openlayersMap.zoomToExtent(projectionBounds); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19369 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19370 this.openlayersMap.zoomToMaxExtent(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19371 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19372 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19373 // manages selection of elements if a polygon was drawn |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19374 this.drawnPolygonHandler = function(polygon) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19375 if (map.mds.getAllObjects() == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19376 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19377 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19378 var polygonFeature; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19379 if ( polygon instanceof OpenLayers.Geometry.Polygon) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19380 polygonFeature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon([polygon])); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19381 } else if ( polygon instanceof OpenLayers.Geometry.MultiPolygon) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19382 polygonFeature = new OpenLayers.Feature.Vector(polygon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19383 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19384 map.polygons.push(polygonFeature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19385 var style = $.extend(true, {}, OpenLayers.Feature.Vector.style['default']); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19386 style.graphicZIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19387 polygonFeature.style = style; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19388 map.objectLayer.addFeatures([polygonFeature]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19389 try { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19390 map.activeControl.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19391 } catch(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19392 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19393 var circles = map.mds.getObjectsByZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19394 for (var i = 0; i < circles.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19395 for (var j = 0; j < circles[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19396 var c = circles[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19397 if (map.inPolygon(c)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19398 if ( typeof c.fatherBin != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19399 for (var k = 0; k < c.fatherBin.circles.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19400 if (c.fatherBin.circles[k]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19401 c.fatherBin.circles[k].setSelection(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19402 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19403 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19404 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19405 c.setSelection(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19406 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19407 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19408 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19409 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19410 map.mapSelection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19411 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19412 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19413 this.polygonDeselection = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19414 var circles = map.mds.getObjectsByZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19415 for (var i = 0; i < circles.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19416 for (var j = 0; j < circles[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19417 var c = circles[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19418 if (map.inPolygon(c)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19419 c.setSelection(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19420 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19421 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19422 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19423 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19424 this.snapper = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19425 if (map.polygons.length == 0 || !map.options.multiSelection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19426 map.deselection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19427 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19428 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19429 if (map.options.polygonSelect) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19430 this.drawPolygon = new OpenLayers.Control.DrawFeature(map.objectLayer, OpenLayers.Handler.Polygon, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19431 displayClass : "olControlDrawFeaturePolygon", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19432 callbacks : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19433 "done" : map.drawnPolygonHandler, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19434 "create" : map.snapper |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19435 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19436 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19437 this.openlayersMap.addControl(this.drawPolygon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19438 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19439 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19440 if (map.options.circleSelect) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19441 this.drawCircle = new OpenLayers.Control.DrawFeature(map.objectLayer, OpenLayers.Handler.RegularPolygon, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19442 displayClass : "olControlDrawFeaturePolygon", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19443 handlerOptions : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19444 sides : 40 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19445 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19446 callbacks : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19447 "done" : map.drawnPolygonHandler, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19448 "create" : map.snapper |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19449 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19450 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19451 this.openlayersMap.addControl(this.drawCircle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19452 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19453 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19454 if (map.options.squareSelect) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19455 this.drawSquare = new OpenLayers.Control.DrawFeature(map.objectLayer, OpenLayers.Handler.RegularPolygon, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19456 displayClass : "olControlDrawFeaturePolygon", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19457 handlerOptions : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19458 sides : 4 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19459 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19460 callbacks : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19461 "done" : map.drawnPolygonHandler, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19462 "create" : map.snapper |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19463 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19464 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19465 this.openlayersMap.addControl(this.drawSquare); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19466 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19467 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19468 if (map.options.polygonSelect || map.options.circleSelect || map.options.squareSelect) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19469 this.dragArea = new OpenLayers.Control.DragFeature(map.objectLayer, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19470 onStart : function(feature) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19471 feature.style.graphicZIndex = 10000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19472 map.polygonDeselection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19473 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19474 onComplete : function(feature) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19475 feature.style.graphicZIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19476 map.drawnPolygonHandler(feature.geometry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19477 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19478 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19479 this.openlayersMap.addControl(this.dragArea); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19480 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19481 this.modifyArea = new OpenLayers.Control.ModifyFeature(map.objectLayer, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19482 onStart : function(feature) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19483 feature.style.graphicZIndex = 10000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19484 map.polygonDeselection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19485 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19486 onComplete : function(feature) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19487 feature.style.graphicZIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19488 map.drawnPolygonHandler(feature.geometry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19489 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19490 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19491 this.openlayersMap.addControl(this.modifyArea); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19492 this.modifyArea.mode = OpenLayers.Control.ModifyFeature.RESHAPE; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19493 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19494 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19495 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19496 // calculates the tag cloud |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19497 // manages hover selection of point objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19498 var hoverSelect = function(event) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19499 var object = event.feature; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19500 if (object.geometry instanceof OpenLayers.Geometry.Point) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19501 if ( typeof map.placenameTags != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19502 map.placenameTags.remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19503 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19504 var circle = event.feature.parent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19505 if ( circle instanceof CircleObject) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19506 circle.placenameTags = new PlacenameTags(circle, map); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19507 map.placenameTags = circle.placenameTags; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19508 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19509 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19510 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19511 event.feature.style.fillOpacity = 0.2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19512 event.feature.style.strokeOpacity = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19513 map.objectLayer.drawFeature(event.feature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19514 circle.placenameTags = new PackPlacenameTags(circle,map); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19515 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19516 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19517 circle.placenameTags.calculate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19518 map.mapCircleHighlight(object.parent, false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19519 if ( typeof map.featureInfo != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19520 map.featureInfo.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19521 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19522 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19523 map.dragControl.checkStatus(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19524 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19525 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19526 var hoverUnselect = function(event) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19527 var object = event.feature; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19528 if (object.geometry instanceof OpenLayers.Geometry.Point) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19529 var circle = event.feature.parent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19530 if (!( circle instanceof CircleObject )) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19531 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19532 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19533 event.feature.style.fillOpacity = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19534 event.feature.style.strokeOpacity = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19535 map.objectLayer.drawFeature(event.feature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19536 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19537 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19538 circle.placenameTags.remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19539 map.mapCircleHighlight(object.parent, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19540 if ( typeof map.featureInfo != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19541 map.featureInfo.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19542 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19543 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19544 map.dragControl.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19545 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19546 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19547 var highlightCtrl = new OpenLayers.Control.SelectFeature(this.objectLayer, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19548 hover : true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19549 highlightOnly : true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19550 renderIntent : "temporary", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19551 eventListeners : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19552 featurehighlighted : hoverSelect, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19553 featureunhighlighted : hoverUnselect |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19554 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19555 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19556 this.openlayersMap.addControl(highlightCtrl); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19557 highlightCtrl.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19558 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19559 this.selectFeature = new OpenLayers.Control.SelectFeature(this.objectLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19560 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19561 document.onkeydown = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19562 if (e.ctrlKey) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19563 map.ctrlKey = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19564 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19565 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19566 document.onkeyup = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19567 map.ctrlKey = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19568 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19569 // manages click selection of point objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19570 var onFeatureSelect = function(event, evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19571 if (!(event.feature.geometry instanceof OpenLayers.Geometry.Point)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19572 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19573 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19574 var circle = event.feature.parent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19575 if (map.options.multiSelection && map.ctrlKey) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19576 if (map.popup) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19577 map.popup.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19578 map.selectedGlyph = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19579 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19580 circle.toggleSelection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19581 map.mapSelection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19582 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19583 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19584 map.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19585 circle.setSelection(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19586 map.objectLayer.drawFeature(circle.feature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19587 if (map.options.popups) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19588 if (map.popup) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19589 map.popup.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19590 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19591 var lonlat = event.feature.geometry.getBounds().getCenterLonLat(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19592 var pixel = map.openlayersMap.getPixelFromLonLat(lonlat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19593 map.selectedGlyph = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19594 lon : lonlat.lon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19595 lat : lonlat.lat |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19596 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19597 map.popup = new PlacenamePopup(map); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19598 map.popup.createPopup(pixel.x, pixel.y, circle.placenameTags.placeLabels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19599 if (map.options.selectDefault) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19600 circle.placenameTags.selectLabel(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19601 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19602 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19603 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19604 this.objectLayer.events.on({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19605 "featureselected" : onFeatureSelect |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19606 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19607 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19608 this.openlayersMap.addControl(this.selectFeature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19609 this.selectFeature.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19610 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19611 if (this.zoomSlider) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19612 this.zoomSlider.setMaxAndLevels(1000, this.openlayersMap.getNumZoomLevels()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19613 this.zoomSlider.setValue(this.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19614 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19615 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19616 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19617 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19618 shift : function(shiftX, shiftY) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19619 this.openlayersMap.pan(shiftX, shiftY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19620 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19621 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19622 addBaseLayers : function(layers) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19623 if ( layers instanceof Array) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19624 for (var i in layers ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19625 var layer = new OpenLayers.Layer.WMS(layers[i].name, layers[i].url, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19626 projection : "EPSG:4326", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19627 layers : layers[i].layer, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19628 transparent : "true", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19629 format : "image/png" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19630 }, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19631 isBaseLayer : true |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19632 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19633 this.baseLayers.push(layer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19634 this.openlayersMap.addLayers([layer]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19635 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19636 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19637 this.gui.setMapsDropdown(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19638 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19639 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19640 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19641 * set online available maps for Google, Bing and OSM |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19642 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19643 setBaseLayers : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19644 this.baseLayers = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19645 if (this.options.googleMaps) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19646 // see http://openlayers.org/blog/2010/07/10/google-maps-v3-for-openlayers/ for information |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19647 var gphy = new OpenLayers.Layer.Google("Google Physical", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19648 type : google.maps.MapTypeId.TERRAIN, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19649 minZoomLevel : 1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19650 maxZoomLevel : 19 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19651 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19652 var gmap = new OpenLayers.Layer.Google("Google Streets", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19653 minZoomLevel : 1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19654 maxZoomLevel : 19 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19655 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19656 var ghyb = new OpenLayers.Layer.Google("Google Hybrid", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19657 type : google.maps.MapTypeId.HYBRID, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19658 minZoomLevel : 1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19659 maxZoomLevel : 19 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19660 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19661 var gsat = new OpenLayers.Layer.Google("Google Satellite", { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19662 type : google.maps.MapTypeId.SATELLITE, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19663 minZoomLevel : 1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19664 maxZoomLevel : 19 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19665 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19666 this.baseLayers.push(gphy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19667 this.baseLayers.push(gmap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19668 this.baseLayers.push(ghyb); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19669 this.baseLayers.push(gsat); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19670 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19671 if (this.options.bingMaps) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19672 // see http://openlayers.org/blog/2010/12/18/bing-tiles-for-openlayers/ for information |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19673 var apiKey = this.options.bingApiKey; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19674 var road = new OpenLayers.Layer.Bing({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19675 name : "Road", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19676 key : apiKey, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19677 type : "Road" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19678 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19679 var hybrid = new OpenLayers.Layer.Bing({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19680 name : "Hybrid", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19681 key : apiKey, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19682 type : "AerialWithLabels" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19683 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19684 var aerial = new OpenLayers.Layer.Bing({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19685 name : "Aerial", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19686 key : apiKey, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19687 type : "Aerial" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19688 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19689 this.baseLayers.push(road); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19690 this.baseLayers.push(hybrid); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19691 this.baseLayers.push(aerial); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19692 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19693 if (this.options.osmMaps) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19694 this.baseLayers.push(new OpenLayers.Layer.OSM('Open Street Map', '', { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19695 sphericalMercator : true, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19696 zoomOffset : 1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19697 resolutions : this.resolutions |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19698 })); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19699 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19700 for (var i = 0; i < this.baseLayers.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19701 this.openlayersMap.addLayers([this.baseLayers[i]]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19702 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19703 if (this.options.alternativeMap) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19704 this.addBaseLayers([this.options.alternativeMap]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19705 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19706 for (var i = 0; i < this.baseLayers.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19707 if (this.baseLayers[i].name == this.options.baseLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19708 this.setMap(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19709 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19710 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19711 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19712 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19713 getBaseLayerName : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19714 return this.openlayersMap.baseLayer.name; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19715 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19716 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19717 setOverlays : function(layers) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19718 var map = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19719 for (var i in this.wmsOverlays ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19720 this.openlayersMap.removeLayer(this.wmsOverlays[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19721 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19722 this.wmsOverlays = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19723 var featureInfoLayers = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19724 if ( layers instanceof Array) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19725 for (var i in layers ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19726 var layer = new OpenLayers.Layer.WMS(layers[i].name, layers[i].url, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19727 projection : "EPSG:4326", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19728 layers : layers[i].layer, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19729 transparent : "true", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19730 format : "image/png" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19731 }, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19732 isBaseLayer : false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19733 visibility : map.options.overlayVisibility |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19734 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19735 this.wmsOverlays.push(layer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19736 if (layers[i].featureInfo) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19737 featureInfoLayers.push(layer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19738 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19739 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19740 this.openlayersMap.addLayers(this.wmsOverlays); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19741 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19742 if (this.wmsOverlays.length > 0 && map.options.overlayVisibility) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19743 var map = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19744 if ( typeof this.featureInfo != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19745 this.featureInfo.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19746 this.openlayersMap.removeControl(this.featureInfo); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19747 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19748 this.featureInfo = new OpenLayers.Control.WMSGetFeatureInfo({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19749 url : '/geoserver/wms', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19750 layers : featureInfoLayers, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19751 eventListeners : { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19752 getfeatureinfo : function(event) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19753 if (event.text == '') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19754 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19755 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19756 var lonlat = map.openlayersMap.getLonLatFromPixel(new OpenLayers.Pixel(event.xy.x, event.xy.y)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19757 map.selectedGlyph = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19758 lon : lonlat.lon, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19759 lat : lonlat.lat |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19760 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19761 if ( typeof map.popup != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19762 map.popup.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19763 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19764 map.popup = new MapPopup(map); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19765 map.popup.initialize(event.xy.x, event.xy.y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19766 map.popup.setContent(event.text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19767 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19768 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19769 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19770 this.openlayersMap.addControl(this.featureInfo); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19771 this.featureInfo.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19772 this.activateCountrySelector(this.wmsOverlays[this.wmsOverlays.length - 1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19773 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19774 this.deactivateCountrySelector(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19775 if (this.openlayersMap.baseLayer instanceof OpenLayers.Layer.WMS) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19776 this.activateCountrySelector(this.openlayersMap.baseLayer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19777 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19778 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19779 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19780 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19781 addBaseLayer : function(layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19782 this.baseLayers.push(layer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19783 this.openlayersMap.addLayers([layer]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19784 for (var i in this.baseLayers ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19785 if (this.baseLayers[i].name == this.options.baseLayer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19786 this.setMap(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19787 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19788 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19789 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19790 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19791 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19792 * draws the object layer. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19793 * @param {boolean} zoom if there was a zoom; if not, the new boundary of the map is calculated |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19794 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19795 drawObjectLayer : function(zoom) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19796 if ( typeof this.placenameTags != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19797 this.placenameTags.remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19798 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19799 var points = this.mds.getAllObjects(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19800 if (points == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19801 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19802 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19803 this.objectLayer.removeAllFeatures(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19804 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19805 if (zoom) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19806 var minLat, maxLat, minLon, maxLon; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19807 var pointsHighestZoom = points[points.length - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19808 for (var i = 0; i < pointsHighestZoom.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19809 for (var j = 0; j < pointsHighestZoom[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19810 var point = pointsHighestZoom[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19811 if (minLon == null || point.originX < minLon) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19812 minLon = point.originX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19813 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19814 if (maxLon == null || point.originX > maxLon) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19815 maxLon = point.originX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19816 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19817 if (minLat == null || point.originY < minLat) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19818 minLat = point.originY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19819 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19820 if (maxLat == null || point.originY > maxLat) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19821 maxLat = point.originY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19822 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19823 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19824 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19825 if (minLon == maxLon && minLat == maxLat) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19826 this.openlayersMap.setCenter(new OpenLayers.LonLat(minLon, minLat)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19827 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19828 var gapX = 0.1 * (maxLon - minLon ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19829 var gapY1 = 0.1 * (maxLat - minLat ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19830 var gapY2 = (this.gui.headerHeight / this.gui.mapWindow.offsetHeight + 0.1 ) * (maxLat - minLat ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19831 this.openlayersMap.zoomToExtent(new OpenLayers.Bounds(minLon - gapX, minLat - gapY1, maxLon + gapX, maxLat + gapY2)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19832 this.openlayersMap.zoomTo(Math.floor(this.openlayersMap.getZoom())); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19833 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19834 if (this.zoomSlider) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19835 this.zoomSlider.setValue(this.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19836 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19837 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19838 var displayPoints = this.mds.getObjectsByZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19839 var resolution = this.openlayersMap.getResolution(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19840 for (var i = 0; i < displayPoints.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19841 for (var j = 0; j < displayPoints[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19842 var p = displayPoints[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19843 var x = p.originX + resolution * p.shiftX; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19844 var y = p.originY + resolution * p.shiftY; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19845 p.feature.geometry.x = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19846 p.feature.geometry.y = y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19847 p.olFeature.geometry.x = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19848 p.olFeature.geometry.y = y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19849 p.feature.style.graphicZIndex = this.zIndices[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19850 p.olFeature.style.graphicZIndex = this.zIndices[i] + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19851 this.objectLayer.addFeatures([p.feature]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19852 this.objectLayer.addFeatures([p.olFeature]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19853 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19854 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19855 var zoomLevel = this.openlayersMap.getZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19856 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19857 for (var i = 0; i < this.bins[zoomLevel].length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19858 var p = this.bins[zoomLevel][i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19859 p.feature.style.graphicZIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19860 this.objectLayer.addFeatures([p.feature]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19861 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19862 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19863 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19864 var dist = function(p1, p2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19865 return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19866 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19867 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19868 this.highlightChanged(this.selection.getObjects(this.core)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19869 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19870 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19871 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19872 riseLayer : function(id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19873 this.lastId = id; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19874 if ( typeof id == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19875 id = this.lastId || 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19876 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19877 this.zIndices[id] = this.layerZIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19878 this.layerZIndex += 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19879 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19880 this.drawObjectLayer(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19881 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19882 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19883 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19884 * initializes the object layer. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19885 * all point representations for all zoom levels are calculated and initialized |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19886 * @param {MapObject[][]} mapObjects an array of map objects from different (1-4) sets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19887 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19888 initWidget : function(datasets, zoom) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19889 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19890 this.clearMap(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19891 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19892 this.datasets = datasets; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19893 var mapObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19894 for (var i = 0; i < datasets.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19895 mapObjects.push(datasets[i].objects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19896 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19897 if (mapObjects.length > 4) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19898 this.options.circlePackings = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19899 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19900 this.options.circlePackings = this.formerCP; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19901 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19902 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19903 if ( typeof mapObjects == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19904 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19905 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19906 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19907 this.count = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19908 this.objectCount = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19909 for (var i = 0; i < mapObjects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19910 var c = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19911 for (var j = 0; j < mapObjects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19912 if (mapObjects[i][j].isGeospatial) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19913 c += mapObjects[i][j].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19914 this.objectCount++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19915 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19916 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19917 this.count += c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19918 this.zIndices.push(this.layerZIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19919 this.layerZIndex += 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19920 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19921 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19922 this.mds.initialize(mapObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19923 var points = this.mds.getAllObjects(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19924 if (points == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19925 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19926 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19927 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19928 var getArea = function(radius) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19929 return Math.PI * radius * radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19930 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19931 for (var i = 0; i < points.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19932 var area = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19933 var maxRadius = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19934 for (var j = 0; j < points[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19935 for (var k = 0; k < points[i][j].length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19936 if (points[i][j][k].radius > maxRadius) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19937 maxRadius = points[i][j][k].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19938 area = getArea(maxRadius); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19939 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19940 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19941 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19942 var minArea = getArea(this.options.minimumRadius); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19943 var areaDiff = area - minArea; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19944 for (var j = 0; j < points[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19945 for (var k = 0; k < points[i][j].length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19946 var point = points[i][j][k]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19947 var c = GeoTemConfig.getColor(point.search); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19948 var transparency = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19949 if (this.options.circleTransparency) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19950 var min = this.options.minTransparency; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19951 var max = this.options.maxTransparency; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19952 transparency = min + Math.abs(min - max) * (1 - (getArea(point.radius) - minArea) / areaDiff); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19953 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19954 var col = this.options.circleOutline; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19955 //transparency = 0.8; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19956 var style = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19957 fillColor : 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19958 fillOpacity : transparency, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19959 strokeWidth : 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19960 strokeColor : 'rgb(' + c.r1 + ',' + c.g1 + ',' + c.b1 + ')', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19961 stroke : col, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19962 pointRadius : point.radius, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19963 cursor : "pointer" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19964 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19965 var pointGeometry = new OpenLayers.Geometry.Point(point.originX, point.originY, null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19966 var feature = new OpenLayers.Feature.Vector(pointGeometry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19967 feature.style = style; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19968 feature.parent = point; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19969 point.setFeature(feature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19970 var olStyle = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19971 fillColor : 'rgb(' + c.r1 + ',' + c.g1 + ',' + c.b1 + ')', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19972 fillOpacity : transparency, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19973 stroke : false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19974 pointRadius : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19975 cursor : "pointer" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19976 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19977 var olPointGeometry = new OpenLayers.Geometry.Point(point.originX, point.originY, null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19978 var olFeature = new OpenLayers.Feature.Vector(olPointGeometry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19979 olFeature.style = olStyle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19980 olFeature.parent = point; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19981 point.setOlFeature(olFeature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19982 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19983 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19984 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19985 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19986 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19987 this.bins = this.mds.getAllBins(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19988 for (var i = 0; i < this.bins.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19989 for (var j = 0; j < this.bins[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19990 var bin = this.bins[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19991 var style = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19992 fillColor : 'rgb(140,140,140)', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19993 fillOpacity : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19994 strokeWidth : 2, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19995 strokeOpacity : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19996 strokeColor : 'rgb(140,140,140)', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19997 // stroke: false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19998 pointRadius : bin.radius, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19999 cursor : "pointer" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20000 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20001 var pointGeometry = new OpenLayers.Geometry.Point(bin.x, bin.y, null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20002 var feature = new OpenLayers.Feature.Vector(pointGeometry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20003 feature.style = style; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20004 feature.parent = bin; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20005 bin.feature = feature; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20006 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20007 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20008 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20009 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20010 if ( typeof zoom == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20011 this.drawObjectLayer(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20012 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20013 this.drawObjectLayer(zoom); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20014 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20015 this.gui.updateSpaceQuantity(this.count); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20016 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20017 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20018 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20019 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20020 * resets the map by destroying all additional elements except the point objects, which are replaced |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20021 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20022 reset : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20023 if ( typeof this.placenameTags != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20024 this.placenameTags.remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20025 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20026 this.objectLayer.removeFeatures(this.polygons); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20027 this.polygons = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20028 this.objectLayer.removeFeatures(this.connections); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20029 this.connections = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20030 this.selectFeature.unselectAll(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20031 this.selectedGlyph = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20032 if (this.dragControl.activated) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20033 this.dragControl.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20034 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20035 if (this.popup) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20036 this.popup.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20037 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20038 this.filterBar.reset(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20039 var points = this.mds.getObjectsByZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20040 if (points == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20041 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20042 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20043 for (var i = 0; i < points.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20044 for (var j = 0; j < points[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20045 points[i][j].setSelection(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20046 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20047 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20048 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20049 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20050 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20051 * resets the map by destroying all elements |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20052 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20053 clearMap : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20054 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20055 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20056 this.zIndices = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20057 this.layerZIndex = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20058 this.objectLayer.destroyFeatures(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20059 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20060 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20061 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20062 * updates the proportional selection status of a point object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20063 * @param {PointObject} point the point to update |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20064 * @param {OpenLayers.Geometry.Polygon} polygon the actual displayed map polygon |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20065 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20066 updatePoint : function(point, polygon) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20067 var olRadius = this.mds.binning.getRadius(point.overlay); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20068 if (olRadius != point.olFeature.style.pointRadius) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20069 point.olFeature.style.pointRadius = olRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20070 if (polygon.containsPoint(point.feature.geometry)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20071 this.objectLayer.drawFeature(point.olFeature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20072 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20073 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20074 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20075 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20076 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20077 * updates the the object layer of the map after selections had been executed in timeplot or table or zoom level has changed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20078 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20079 highlightChanged : function(mapObjects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20080 this.mds.clearOverlay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20081 if (this.selection.valid()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20082 this.mds.setOverlay(GeoTemConfig.mergeObjects(mapObjects, this.selection.getObjects())); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20083 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20084 this.mds.setOverlay(mapObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20085 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20086 var points = this.mds.getObjectsByZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20087 var polygon = this.openlayersMap.getExtent().toGeometry(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20088 for (var i in points ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20089 for (var j in points[i] ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20090 this.updatePoint(points[i][j], polygon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20091 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20092 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20093 this.displayConnections(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20094 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20095 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20096 selectionChanged : function(selection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20097 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20098 this.selection = selection; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20099 this.highlightChanged(selection.objects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20100 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20101 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20102 inPolygon : function(point) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20103 for (var i = 0; i < this.polygons.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20104 var polygon = this.polygons[i].geometry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20105 for (var j = 0; j < polygon.components.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20106 if (polygon.components[j].containsPoint(point.feature.geometry)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20107 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20108 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20109 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20110 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20111 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20112 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20113 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20114 mapSelection : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20115 var selectedObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20116 for (var i = 0; i < this.mds.size(); i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20117 selectedObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20118 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20119 var circles = this.mds.getObjectsByZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20120 for (var i = 0; i < circles.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20121 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20122 for (var j = 0; j < circles[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20123 var c = circles[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20124 if (c.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20125 selectedObjects[i] = selectedObjects[i].concat(c.elements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20126 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20127 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20128 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20129 this.selection = new Selection(selectedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20130 this.highlightChanged(selectedObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20131 this.core.triggerSelection(this.selection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20132 this.filterBar.reset(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20133 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20134 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20135 deselection : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20136 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20137 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20138 this.highlightChanged([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20139 this.core.triggerSelection(this.selection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20140 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20141 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20142 filtering : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20143 for (var i = 0; i < this.datasets.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20144 this.datasets[i].objects = this.selection.objects[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20145 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20146 this.core.triggerRefining(this.datasets); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20147 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20148 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20149 inverseFiltering : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20150 var selectedObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20151 for (var i = 0; i < this.mds.size(); i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20152 selectedObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20153 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20154 var circles = this.mds.getObjectsByZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20155 for (var i = 0; i < circles.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20156 for (var j = 0; j < circles[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20157 var c = circles[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20158 if (!c.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20159 selectedObjects[i] = selectedObjects[i].concat(c.elements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20160 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20161 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20162 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20163 this.selection = new Selection(selectedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20164 this.filtering(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20165 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20166 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20167 mapCircleHighlight : function(circle, undo) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20168 if (this.polygons.length > 0 && this.inPolygon(circle)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20169 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20170 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20171 var mapObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20172 for (var i = 0; i < this.mds.size(); i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20173 mapObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20174 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20175 if (!undo && !circle.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20176 mapObjects[circle.search] = circle.elements; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20177 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20178 this.objectLayer.drawFeature(circle.feature); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20179 this.core.triggerHighlight(mapObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20180 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20181 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20182 mapLabelSelection : function(label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20183 var selectedObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20184 for (var i = 0; i < this.mds.size(); i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20185 selectedObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20186 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20187 selectedObjects[label.index] = label.elements; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20188 this.selection = new Selection(selectedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20189 this.highlightChanged(selectedObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20190 this.core.triggerSelection(this.selection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20191 this.filterBar.reset(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20192 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20193 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20194 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20195 * displays connections between data objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20196 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20197 displayConnections : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20198 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20199 if ( typeof this.connection != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20200 this.objectLayer.removeFeatures(this.connections); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20201 this.connections = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20202 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20203 if (this.options.connections) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20204 var points = this.mds.getObjectsByZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20205 for (var i in points ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20206 for (var j in points[i] ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20207 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20208 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20209 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20210 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20211 var slices = this.core.timeplot.getSlices(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20212 for (var i = 0; i < slices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20213 for (var j = 0; j < slices[i].stacks.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20214 var e = slices[i].stacks[j].elements; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20215 if (e.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20216 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20217 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20218 var points = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20219 for (var k = 0; k < e.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20220 var point = this.mds.getCircle(j, e[k].index).feature.geometry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20221 if (arrayIndex(points, point) == -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20222 points.push(point); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20223 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20224 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20225 var matrix = new AdjMatrix(points.length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20226 for (var k = 0; k < points.length - 1; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20227 for (var l = k + 1; l < points.length; l++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20228 matrix.setEdge(k, l, dist(points[k], points[l])); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20229 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20230 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20231 var tree = Prim(matrix); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20232 var lines = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20233 for (var z = 0; z < tree.length; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20234 lines.push(new OpenLayers.Geometry.LineString(new Array(points[tree[z].v1], points[tree[z].v2]))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20235 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20236 this.connections[j].push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20237 first : this.mds.getCircle(j, e[0].index).feature.geometry, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20238 last : this.mds.getCircle(j, e[e.length - 1].index).feature.geometry, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20239 lines : lines, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20240 time : slices[i].date |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20241 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20242 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20243 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20244 var ltm = this.core.timeplot.leftFlagTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20245 var rtm = this.core.timeplot.rightFlagTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20246 if (ltm == undefined || ltm == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20247 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20248 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20249 ltm = ltm.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20250 rtm = rtm.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20251 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20252 // this.connectionLayer.destroyFeatures(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20253 if (thisConnections) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20254 for (var i = 0; i < this.connections.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20255 var c = GeoTemConfig.colors[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20256 var style = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20257 strokeColor : 'rgb(' + c.r1 + ',' + c.g1 + ',' + c.b1 + ')', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20258 strokeOpacity : 0.5, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20259 strokeWidth : 3 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20260 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20261 var pointsToConnect = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20262 var last = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20263 for (var j = 0; j < this.connections[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20264 var c = this.connections[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20265 var ct = c.time.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20266 if (ct >= ltm && ct <= rtm) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20267 if (last != undefined) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20268 var line = new OpenLayers.Geometry.LineString(new Array(last, c.first)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20269 this.connectionLayer.addFeatures([new OpenLayers.Feature.Vector(line, null, style)]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20270 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20271 for (var k = 0; k < c.lines.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20272 this.connectionLayer.addFeatures([new OpenLayers.Feature.Vector(c.lines[k], null, style)]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20273 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20274 last = c.last; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20275 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20276 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20277 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20278 // this.connectionLayer.redraw(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20279 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20280 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20281 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20282 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20283 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20284 * performs a zoom on the map |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20285 * @param {int} delta the change of zoom levels |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20286 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20287 zoom : function(delta) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20288 var zoom = this.openlayersMap.getZoom() + delta; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20289 if (this.openlayersMap.baseLayer instanceof OpenLayers.Layer.WMS) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20290 this.openlayersMap.zoomTo(zoom); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20291 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20292 this.openlayersMap.zoomTo(Math.round(zoom)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20293 if (this.zoomSlider) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20294 this.zoomSlider.setValue(this.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20295 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20296 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20297 this.drawObjectLayer(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20298 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20299 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20300 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20301 deactivateCountrySelector : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20302 this.openlayersMap.removeControl(this.selectCountry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20303 this.selectCountry = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20304 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20305 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20306 activateCountrySelector : function(layer) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20307 var map = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20308 if (this.options.countrySelect && this.options.mapSelectionTools) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20309 this.selectCountry = new OpenLayers.Control.GetFeature({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20310 protocol : OpenLayers.Protocol.WFS.fromWMSLayer(layer), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20311 click : true |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20312 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20313 this.selectCountry.events.register("featureselected", this, function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20314 map.snapper(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20315 map.drawnPolygonHandler(e.feature.geometry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20316 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20317 this.openlayersMap.addControl(this.selectCountry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20318 this.countrySelectionControl.enable(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20319 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20320 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20321 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20322 setMap : function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20323 this.baselayerIndex = index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20324 if (this.selectCountry) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20325 // if( this.wmsOverlays.length == 0 ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20326 this.deactivateCountrySelector(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20327 // } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20328 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20329 if (this.baseLayers[index] instanceof OpenLayers.Layer.WMS) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20330 // if( this.wmsOverlays.length == 0 ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20331 this.activateCountrySelector(this.baseLayers[index]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20332 // } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20333 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20334 if (this.countrySelectionControl) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20335 this.countrySelectionControl.disable(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20336 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20337 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20338 this.openlayersMap.zoomTo(Math.floor(this.openlayersMap.getZoom())); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20339 this.openlayersMap.setBaseLayer(this.baseLayers[index]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20340 if (this.baseLayers[index].name == 'Open Street Map') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20341 this.osmLink.style.visibility = 'visible'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20342 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20343 this.osmLink.style.visibility = 'hidden'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20344 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20345 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20346 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20347 //vhz added title to buttons |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20348 initSelectorTools : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20349 var map = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20350 this.mapControls = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20351 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20352 if (this.options.squareSelect) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20353 var button = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20354 $(button).addClass('mapControl'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20355 var activate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20356 map.drawSquare.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20357 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20358 var deactivate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20359 map.drawSquare.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20360 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20361 this.mapControls.push(new MapControl(this, button, 'square', activate, deactivate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20362 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20363 if (this.options.circleSelect) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20364 var button = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20365 $(button).addClass('mapControl'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20366 var activate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20367 map.drawCircle.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20368 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20369 var deactivate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20370 map.drawCircle.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20371 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20372 this.mapControls.push(new MapControl(this, button, 'circle', activate, deactivate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20373 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20374 if (this.options.polygonSelect) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20375 var button = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20376 $(button).addClass('mapControl'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20377 var activate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20378 map.drawPolygon.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20379 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20380 var deactivate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20381 map.drawPolygon.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20382 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20383 this.mapControls.push(new MapControl(this, button, 'polygon', activate, deactivate)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20384 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20385 if (this.options.countrySelect) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20386 var button = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20387 $(button).addClass('mapControl'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20388 var activate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20389 map.selectCountry.activate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20390 map.dragControl.disable(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20391 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20392 var deactivate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20393 map.selectCountry.deactivate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20394 map.dragControl.enable(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20395 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20396 this.countrySelectionControl = new MapControl(this, button, 'country', activate, deactivate); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20397 this.mapControls.push(this.countrySelectionControl); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20398 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20399 if( !(this.openlayersMap.baseLayer instanceof OpenLayers.Layer.WMS) ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20400 this.countrySelectionControl.disable(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20401 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20402 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20403 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20404 return this.mapControls; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20405 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20406 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20407 getZoom : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20408 return this.openlayersMap.getZoom(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20409 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20410 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20411 setMarker : function(lon, lat) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20412 var p = new OpenLayers.Geometry.Point(lon, lat, null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20413 p.transform(this.openlayersMap.displayProjection, this.openlayersMap.projection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20414 this.openlayersMap.setCenter(new OpenLayers.LonLat(p.x, p.y)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20415 var size = new OpenLayers.Size(22, 33); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20416 var offset = new OpenLayers.Pixel(-(size.w / 2), -size.h); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20417 var icon = new OpenLayers.Icon(GeoTemConfig.path + 'marker.png', size, offset); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20418 var marker = new OpenLayers.Marker(new OpenLayers.LonLat(p.x, p.y), icon); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20419 marker.setOpacity(0.9); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20420 this.markerLayer.setZIndex(parseInt(this.objectLayer.getZIndex()) + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20421 this.markerLayer.addMarker(marker); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20422 // find nearest neighbor |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20423 var nearestNeighbor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20424 var points = this.mds.getAllObjects(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20425 if (points == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20426 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20427 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20428 var dist = function(p1, p2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20429 return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20430 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20431 var zoomLevels = this.openlayersMap.getNumZoomLevels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20432 var pointSet = points[zoomLevels - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20433 var closestDistance = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20434 var closestPoint; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20435 for (var i = 0; i < pointSet.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20436 for (var j = 0; j < pointSet[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20437 var point = pointSet[i][j].feature.geometry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20438 var d = dist(point, p); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20439 if (!closestDistance || d < closestDistance) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20440 closestDistance = d; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20441 closestPoint = point; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20442 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20443 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20444 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20445 // find minimal zoom level |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20446 var gap = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20447 var x_s = this.gui.mapWindow.offsetWidth / 2 - gap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20448 var y_s = this.gui.mapWindow.offsetHeight / 2 - gap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20449 var xDist = Math.abs(p.x - closestPoint.x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20450 var yDist = Math.abs(p.y - closestPoint.y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20451 for (var i = 0; i < zoomLevels; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20452 var resolution = this.openlayersMap.getResolutionForZoom(zoomLevels - i - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20453 if (xDist / resolution < x_s && yDist / resolution < y_s) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20454 this.openlayersMap.zoomTo(zoomLevels - i - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20455 if (this.zoomSlider) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20456 this.zoomSlider.setValue(this.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20457 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20458 this.drawObjectLayer(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20459 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20460 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20461 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20462 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20463 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20464 removeMarker : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20465 this.markerLayer.removeMarker(this.markerLayer.markers[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20466 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20467 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20468 getLevelOfDetail : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20469 var zoom = Math.floor(this.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20470 if (zoom <= 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20471 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20472 } else if (zoom <= 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20473 return 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20474 } else if (zoom <= 8) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20475 return 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20476 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20477 return 3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20478 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20479 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20480 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20481 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20482 * TimeConfig.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20483 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20484 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20485 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20486 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20487 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20488 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20489 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20490 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20491 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20492 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20493 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20494 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20495 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20496 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20497 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20498 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20499 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20500 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20501 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20502 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20503 * @class TimeConfig |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20504 * Time Configuration File |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20505 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20506 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20507 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20508 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20509 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20510 function TimeConfig(options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20511 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20512 this.options = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20513 timeTitle : 'GeoTemCo Time View', // title will be shown in timeplot header |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20514 timeIndex : 0, // index = position in date array; for multiple dates the 2nd timeplot refers to index 1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20515 timeWidth : false, // false or desired width css definition for the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20516 timeHeight : '100px', // false or desired height css definition for the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20517 defaultMinDate : new Date(2012, 0, 1), // required, when empty timelines are possible |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20518 defaultMaxDate : new Date(), // required, when empty timelines are possible |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20519 timeCanvasFrom : '#EEE', // time widget background gradient color top |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20520 timeCanvasTo : '#EEE', // time widget background gradient color bottom |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20521 rangeBoxColor : "white", // fill color for time range box |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20522 rangeBorder : "1px solid #de7708", // border of frames |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20523 dataInformation : true, // show/hide data information |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20524 rangeAnimation : true, // show/hide animation buttons |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20525 scaleSelection : true, // show/hide scale selection buttons |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20526 linearScale : true, // true for linear value scaling, false for logarithmic |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20527 unitSelection : true, // show/hide time unit selection dropdown |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20528 timeUnit : -1 // minimum temporal unit (SimileAjax.DateTime or -1 if none) of the data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20529 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20530 if ( typeof options != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20531 $.extend(this.options, options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20532 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20533 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20534 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20535 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20536 * TimeGui.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20537 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20538 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20539 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20540 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20541 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20542 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20543 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20544 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20545 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20546 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20547 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20548 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20549 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20550 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20551 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20552 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20553 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20554 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20555 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20556 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20557 * @class TimeGui |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20558 * Time GUI Implementation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20559 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20560 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20561 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20562 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20563 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20564 * @param {TimeWidget} parent time widget object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20565 * @param {HTML object} div parent div to append the time gui |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20566 * @param {JSON} options time configuration |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20567 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20568 function TimeGui(plot, div, options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20569 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20570 var gui = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20571 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20572 this.plot = plot; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20573 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20574 this.container = div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20575 if (options.timeWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20576 this.container.style.width = options.timeWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20577 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20578 if (options.timeHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20579 this.container.style.height = options.timeHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20580 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20581 this.container.style.position = 'relative'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20582 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20583 var w = this.container.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20584 var h = this.container.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20585 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20586 var toolbarTable = document.createElement("table"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20587 toolbarTable.setAttribute('class', 'ddbToolbar'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20588 this.container.appendChild(toolbarTable); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20589 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20590 this.plotWindow = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20591 this.plotWindow.id = "plotWindow"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20592 // this.plotWindow.style.width = w + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20593 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20594 this.plotWindow.style.height = (h + 12) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20595 this.container.style.height = (h + 12) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20596 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20597 this.plotWindow.onmousedown = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20598 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20599 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20600 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20601 this.plotContainer = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20602 this.plotContainer.id = "plotContainer"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20603 // this.plotContainer.style.width = w + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20604 this.plotContainer.style.height = h + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20605 this.plotContainer.style.position = "absolute"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20606 this.plotContainer.style.zIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20607 this.plotContainer.style.top = "12px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20608 this.plotWindow.appendChild(this.plotContainer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20609 this.container.appendChild(this.plotWindow); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20610 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20611 this.timeplotDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20612 this.timeplotDiv.style.left = "16px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20613 this.timeplotDiv.style.width = (w - 32) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20614 this.timeplotDiv.style.height = h + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20615 this.plotContainer.appendChild(this.timeplotDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20616 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20617 var cv = document.createElement("canvas"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20618 cv.setAttribute('class', 'plotCanvas'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20619 this.plotWindow.appendChild(cv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20620 if (!cv.getContext && G_vmlCanvasManager) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20621 cv = G_vmlCanvasManager.initElement(cv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20622 var ctx = cv.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20623 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20624 var setCanvas = function(){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20625 cv.width = gui.plotWindow.clientWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20626 cv.height = gui.plotWindow.clientHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20627 var gradient = ctx.createLinearGradient(0, 0, 0, gui.plotWindow.clientHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20628 gradient.addColorStop(0, options.timeCanvasFrom); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20629 gradient.addColorStop(1, options.timeCanvasTo); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20630 ctx.fillStyle = gradient; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20631 ctx.fillRect(0, 0, gui.plotWindow.clientWidth, gui.plotWindow.clientHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20632 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20633 setCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20634 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20635 this.resize = function(){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20636 gui.timeplotDiv.style.width = (gui.container.offsetWidth - 32) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20637 ctx.clearRect(0,0,gui.plotWindow.clientWidth, gui.plotWindow.clientHeight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20638 if( typeof plot.datasets != "undefined" ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20639 plot.redrawPlot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20640 plot.resetOpacityPlots(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20641 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20642 setCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20643 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20644 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20645 var titles = document.createElement("tr"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20646 toolbarTable.appendChild(titles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20647 var tools = document.createElement("tr"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20648 toolbarTable.appendChild(tools); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20649 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20650 this.timeUnitTitle = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20651 this.timeUnitTitle.innerHTML = GeoTemConfig.getString('timeUnit'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20652 this.timeUnitSelector = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20653 if (options.unitSelection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20654 tools.appendChild(this.timeUnitSelector); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20655 titles.appendChild(this.timeUnitTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20656 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20657 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20658 this.timeAnimation = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20659 this.timeAnimation.innerHTML = GeoTemConfig.getString('timeAnimation'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20660 var timeAnimationTools = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20661 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20662 var status; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20663 this.updateAnimationButtons = function(s) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20664 status = s; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20665 if (status == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20666 gui.playButton.setAttribute('class', 'smallButton playDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20667 gui.pauseButton.setAttribute('class', 'smallButton pauseDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20668 } else if (status == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20669 gui.playButton.setAttribute('class', 'smallButton playEnabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20670 gui.pauseButton.setAttribute('class', 'smallButton pauseDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20671 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20672 gui.playButton.setAttribute('class', 'smallButton playDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20673 gui.pauseButton.setAttribute('class', 'smallButton pauseEnabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20674 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20675 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20676 this.playButton = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20677 this.playButton.title = GeoTemConfig.getString('playButton'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20678 timeAnimationTools.appendChild(this.playButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20679 this.playButton.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20680 if (status == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20681 plot.play(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20682 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20683 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20684 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20685 this.pauseButton = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20686 this.pauseButton.title = GeoTemConfig.getString('pauseButton'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20687 timeAnimationTools.appendChild(this.pauseButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20688 this.pauseButton.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20689 if (status == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20690 plot.stop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20691 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20692 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20693 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20694 this.valueScale = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20695 this.valueScale.innerHTML = GeoTemConfig.getString('valueScale'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20696 var valueScaleTools = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20697 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20698 var linearPlot; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20699 var setValueScale = function(linScale) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20700 if (linearPlot != linScale) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20701 linearPlot = linScale; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20702 if (linearPlot) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20703 gui.linButton.setAttribute('class', 'smallButton linearPlotActivated'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20704 gui.logButton.setAttribute('class', 'smallButton logarithmicPlotDeactivated'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20705 plot.drawLinearPlot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20706 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20707 gui.linButton.setAttribute('class', 'smallButton linearPlotDeactivated'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20708 gui.logButton.setAttribute('class', 'smallButton logarithmicPlotActivated'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20709 plot.drawLogarithmicPlot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20710 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20711 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20712 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20713 this.linButton = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20714 this.linButton.title = GeoTemConfig.getString('linearPlot'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20715 valueScaleTools.appendChild(this.linButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20716 this.linButton.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20717 setValueScale(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20718 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20719 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20720 this.logButton = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20721 this.logButton.title = GeoTemConfig.getString('logarithmicPlot'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20722 valueScaleTools.appendChild(this.logButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20723 this.logButton.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20724 setValueScale(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20725 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20726 if (options.rangeAnimation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20727 titles.appendChild(this.timeAnimation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20728 tools.appendChild(timeAnimationTools); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20729 this.updateAnimationButtons(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20730 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20731 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20732 if (options.scaleSelection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20733 titles.appendChild(this.valueScale); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20734 tools.appendChild(valueScaleTools); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20735 setValueScale(options.linearScale); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20736 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20737 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20738 if (GeoTemConfig.allowFilter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20739 this.filterTitle = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20740 titles.appendChild(this.filterTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20741 this.filterTitle.innerHTML = GeoTemConfig.getString('filter'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20742 this.filterOptions = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20743 tools.appendChild(this.filterOptions); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20744 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20745 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20746 if (options.dataInformation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20747 this.infoTitle = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20748 this.infoTitle.innerHTML = options.timeTitle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20749 titles.appendChild(this.infoTitle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20750 var timeSum = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20751 this.timeElements = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20752 this.timeElements.setAttribute('class', 'ddbElementsCount'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20753 timeSum.appendChild(this.timeElements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20754 tools.appendChild(timeSum); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20755 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20756 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20757 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20758 var tooltip = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20759 tooltip.setAttribute('class','ddbTooltip'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20760 toolbarTable.appendChild(tooltip); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20761 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20762 tooltip.onmouseover = function(){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20763 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20764 getPublisher().Publish('TooltipContent', { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20765 content: GeoTemConfig.getString(GeoTemConfig.language,'timeHelp'), |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20766 target: $(tooltip) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20767 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20768 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20769 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20770 tooltip.onmouseout = function(){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20771 //getPublisher().Publish('TooltipContent'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20772 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20773 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20774 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20775 this.setHeight = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20776 this.container.style.height = (this.plotWindow.offsetHeight + toolbarTable.offsetHeight) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20777 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20778 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20779 this.updateTimeQuantity = function(count) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20780 if (options.dataInformation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20781 this.plotCount = count; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20782 if (count != 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20783 this.timeElements.innerHTML = this.beautifyCount(count) + " " + GeoTemConfig.getString('results'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20784 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20785 this.timeElements.innerHTML = this.beautifyCount(count) + " " + GeoTemConfig.getString('result'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20786 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20787 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20788 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20789 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20790 this.setTimeUnitDropdown = function(units) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20791 $(this.timeUnitSelector).empty(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20792 var gui = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20793 var timeUnits = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20794 var addUnit = function(unit, index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20795 var setUnit = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20796 gui.plot.setTimeUnit(unit.unit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20797 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20798 timeUnits.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20799 name : unit.label, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20800 onclick : setUnit |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20801 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20802 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20803 for (var i = 0; i < units.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20804 addUnit(units[i], i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20805 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20806 this.timeUnitDropdown = new Dropdown(this.timeUnitSelector, timeUnits, GeoTemConfig.getString('selectTimeUnit')); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20807 this.timeUnitDropdown.setEntry(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20808 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20809 this.setTimeUnitDropdown([{ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20810 name : 'none', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20811 id : -1 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20812 }]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20813 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20814 this.beautifyCount = function(count) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20815 var c = count + ''; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20816 var p = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20817 var l = c.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20818 while (l - p > 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20819 p += 3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20820 c = c.substring(0, l - p) + "." + c.substring(l - p); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20821 p++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20822 l++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20823 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20824 return c; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20825 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20826 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20827 this.hideTimeUnitSelection = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20828 this.timeUnitTitle.style.display = 'none'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20829 this.timeUnitSelector.style.display = 'none'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20830 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20831 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20832 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20833 * TimeWidget.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20834 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20835 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20836 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20837 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20838 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20839 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20840 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20841 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20842 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20843 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20844 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20845 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20846 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20847 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20848 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20849 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20850 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20851 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20852 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20853 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20854 * @class TimeWidget |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20855 * TableWidget Implementation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20856 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20857 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20858 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20859 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20860 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20861 * @param {TimeWrapper} core wrapper for interaction to other widgets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20862 * @param {HTML object} div parent div to append the time widget div |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20863 * @param {JSON} options user specified configuration that overwrites options in TimeConfig.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20864 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20865 function TimeWidget(core, div, options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20866 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20867 this.core = core; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20868 this.core.setWidget(this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20869 this.timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20870 this.dataSources |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20871 this.eventSources |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20872 this.tds |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20873 this.timeGeometry |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20874 this.valueGeometry |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20875 this.canvas |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20876 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20877 this.leftFlagPole |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20878 this.rightFlagPole |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20879 this.rangeBox |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20880 this.leftHandle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20881 this.rightHandle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20882 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20883 this.leftFlagPos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20884 this.leftFlagTime = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20885 this.rightFlagPos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20886 this.rightFlagTime = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20887 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20888 this.mouseDownTime |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20889 this.mouseUpTime |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20890 this.mouseTempTime |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20891 this.mouseDownPos |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20892 this.mouseUpPos |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20893 this.mouseTempPos |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20894 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20895 this.status |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20896 this.slider |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20897 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20898 this.options = (new TimeConfig(options)).options; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20899 this.gui = new TimeGui(this, div, this.options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20900 this.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20901 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20902 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20903 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20904 TimeWidget.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20905 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20906 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20907 * clears the timeplot canvas and the timeGeometry properties |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20908 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20909 clearTimeplot : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20910 this.timeplot._clearCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20911 this.timeGeometry._earliestDate = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20912 this.timeGeometry._latestDate = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20913 this.valueGeometry._minValue = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20914 this.valueGeometry._maxValue = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20915 this.highlightedSlice = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20916 this.timeGeometry._clearLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20917 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20918 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20919 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20920 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20921 * initializes the timeplot elements with arrays of time objects |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20922 * @param {TimeObject[][]} timeObjects an array of time objects from different (1-4) sets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20923 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20924 initWidget : function(datasets) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20925 this.datasets = datasets; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20926 var timeObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20927 for (var i = 0; i < datasets.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20928 timeObjects.push(datasets[i].objects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20929 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20930 this.clearTimeplot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20931 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20932 for (var i = 0; i < this.timeplot._plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20933 this.timeplot._plots[i].dispose(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20934 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20935 this.dataSources = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20936 this.plotInfos = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20937 this.eventSources = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20938 var granularity = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20939 this.count = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20940 for (var i = 0; i < timeObjects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20941 var eventSource = new Timeplot.DefaultEventSource(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20942 var dataSource = new Timeplot.ColumnSource(eventSource, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20943 this.dataSources.push(dataSource); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20944 this.eventSources.push(eventSource); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20945 var c = GeoTemConfig.getColor(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20946 var plotInfo = Timeplot.createPlotInfo({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20947 id : "plot" + i, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20948 dataSource : dataSource, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20949 timeGeometry : this.timeGeometry, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20950 valueGeometry : this.valueGeometry, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20951 fillGradient : false, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20952 lineColor : 'rgba(' + c.r1 + ',' + c.g1 + ',' + c.b1 + ', 1)', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20953 fillColor : 'rgba(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ', 0.3)', |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20954 showValues : true |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20955 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20956 this.plotInfos.push(plotInfo); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20957 for (var j = 0; j < timeObjects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20958 var o = timeObjects[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20959 if (o.isTemporal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20960 var g = o.dates[this.options.timeIndex].granularity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20961 if (g == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20962 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20963 } else if (g > granularity) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20964 granularity = g; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20965 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20966 this.count += o.weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20967 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20968 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20969 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20970 this.timeGeometry._granularity = granularity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20971 this.timeGeometry._clearLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20972 this.timeplot.resetPlots(this.plotInfos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20973 if (this.plotInfos.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20974 this.initLabels(this.timeplot.regularGrid()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20975 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20976 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20977 this.timeGeometry.extendedDataSource = this.tds; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20978 this.tds.initialize(this.dataSources, this.eventSources, timeObjects, granularity, this.options.timeUnit, this.gui.timeplotDiv.offsetWidth); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20979 this.gui.setTimeUnitDropdown(this.tds.availableUnits); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20980 this.gui.timeUnitDropdown.setEntry(this.tds.getUnitIndex()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20981 var plots = this.timeplot._plots; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20982 for (var i = 0; i < plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20983 plots[i].pins = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20984 plots[i].style = this.style; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20985 for (var j = 0; j < this.tds.getSliceNumber(); j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20986 plots[i].pins.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20987 height : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20988 count : 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20989 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20990 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20991 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20992 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20993 var levels = Math.round( (this.tds.timeSlices.length-3)/2 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20994 if( GeoTemConfig.timeZoom ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20995 this.zoomSlider.setMaxAndLevels(levels,levels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20996 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20997 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20998 this.timeplot.repaint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20999 this.timeplot._resizeCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21000 // set maximum number of slider steps |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21001 var slices = this.tds.timeSlices.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21002 var numSlices = Math.floor(slices / this.canvas.width * this.canvas.height + 0.5); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21003 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21004 this.initLabels([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21005 this.initOverview(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21006 this.gui.updateTimeQuantity(this.count); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21007 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21008 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21009 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21010 setTimeUnit : function(unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21011 this.clearTimeplot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21012 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21013 this.tds.setTimeUnit(unit); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21014 var plots = this.timeplot._plots; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21015 for (var i = 0; i < plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21016 plots[i].pins = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21017 plots[i].style = this.style; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21018 for (var j = 0; j < this.tds.getSliceNumber(); j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21019 plots[i].pins.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21020 height : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21021 count : 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21022 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21023 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21024 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21025 this.initLabels([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21026 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21027 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21028 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21029 * initializes the timeplot for the Spatio Temporal Interface. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21030 * all elements (including their events) that are needed for user interaction are instantiated here, the slider element as well |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21031 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21032 initialize : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21033 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21034 this.status = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21035 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21036 this.paused = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21037 this.dataSources = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21038 this.plotInfos = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21039 this.eventSources = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21040 this.timeGeometry = new Timeplot.DefaultTimeGeometry({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21041 gridColor : "#000000", |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21042 axisLabelsPlacement : "top" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21043 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21044 this.style = 'graph'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21045 this.timeGeometry._hideLabels = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21046 this.timeGeometry._granularity = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21047 this.valueGeometry = new Timeplot.LogarithmicValueGeometry({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21048 min : 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21049 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21050 this.valueGeometry.actLinear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21051 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21052 var plot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21053 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21054 this.timeplot = Timeplot.create(this.gui.timeplotDiv, this.plotInfos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21055 this.tds = new TimeDataSource(this.options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21056 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21057 this.canvas = this.timeplot.getCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21058 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21059 this.leftFlagPole = this.timeplot.putDiv("leftflagpole", "timeplot-dayflag-pole"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21060 this.rightFlagPole = this.timeplot.putDiv("rightflagpole", "timeplot-dayflag-pole"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21061 SimileAjax.Graphics.setOpacity(this.leftFlagPole, 50); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21062 SimileAjax.Graphics.setOpacity(this.rightFlagPole, 50); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21063 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21064 this.rangeBox = this.timeplot.putDiv("rangebox", "range-box"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21065 this.rangeBox.style.backgroundColor = plot.options.rangeBoxColor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21066 this.rangeBox.style.border = plot.options.rangeBorder; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21067 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21068 this.leftHandle = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21069 this.rightHandle = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21070 this.gui.plotWindow.appendChild(this.leftHandle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21071 this.gui.plotWindow.appendChild(this.rightHandle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21072 this.leftHandle.title = GeoTemConfig.getString('leftHandle'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21073 this.rightHandle.title = GeoTemConfig.getString('rightHandle'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21074 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21075 this.leftHandle.style.backgroundImage = "url(" + GeoTemConfig.path + "leftHandle.png" + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21076 this.leftHandle.setAttribute('class', 'plotHandle plotHandleIcon'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21077 this.rightHandle.style.backgroundImage = "url(" + GeoTemConfig.path + "rightHandle.png" + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21078 this.rightHandle.setAttribute('class', 'plotHandle plotHandleIcon'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21079 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21080 this.poles = this.timeplot.putDiv("poles", "pole"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21081 this.timeplot.placeDiv(this.poles, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21082 left : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21083 bottom : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21084 width : this.canvas.width, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21085 height : this.canvas.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21086 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21087 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21088 this.poles.appendChild(document.createElement("canvas")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21089 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21090 this.filterBar = new FilterBar(this, this.gui.filterOptions); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21091 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21092 var plot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21093 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21094 this.dragButton = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21095 this.dragButton.title = GeoTemConfig.getString('dragTimeRange'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21096 this.cancelButton = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21097 this.cancelButton.title = GeoTemConfig.getString('clearSelection'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21098 this.cancelButton.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21099 plot.deselection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21100 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21101 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21102 this.toolbar = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21103 this.toolbar.setAttribute('class', 'plotToolbar'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21104 this.toolbar.style.borderTop = plot.options.rangeBorder; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21105 this.toolbar.style.textAlign = "center"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21106 this.gui.plotWindow.appendChild(this.toolbar); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21107 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21108 this.toolbarAbsoluteDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21109 this.toolbarAbsoluteDiv.setAttribute('class', 'absoluteToolbar'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21110 this.toolbar.appendChild(this.toolbarAbsoluteDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21111 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21112 this.dragButton.setAttribute('class', 'dragTimeRangeAlt'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21113 this.dragButton.style.backgroundImage = "url(" + GeoTemConfig.path + "drag.png" + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21114 // this.zoomButton.setAttribute('class','zoomRangeAlt'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21115 this.cancelButton.setAttribute('class', 'cancelRangeAlt'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21116 this.toolbarAbsoluteDiv.appendChild(this.dragButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21117 this.toolbarAbsoluteDiv.style.width = this.dragButton.offsetWidth + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21118 // this.gui.plotWindow.appendChild(this.zoomButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21119 this.gui.plotWindow.appendChild(this.cancelButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21120 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21121 this.overview = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21122 this.overview.setAttribute('class', 'timeOverview'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21123 this.gui.plotWindow.appendChild(this.overview); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21124 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21125 var mousedown = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21126 this.shift = function(shift) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21127 if (!mousedown) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21128 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21129 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21130 if (plot.tds.setShift(shift)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21131 plot.redrawPlot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21132 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21133 setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21134 plot.shift(shift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21135 }, 200); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21136 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21137 var shiftPressed = function(shift) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21138 mousedown = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21139 document.onmouseup = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21140 mousedown = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21141 document.onmouseup = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21142 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21143 plot.shift(shift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21144 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21145 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21146 this.shiftLeft = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21147 this.shiftLeft.setAttribute('class', 'shiftLeft'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21148 this.gui.plotWindow.appendChild(this.shiftLeft); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21149 this.shiftLeft.onmousedown = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21150 shiftPressed(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21151 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21152 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21153 this.shiftRight = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21154 this.shiftRight.setAttribute('class', 'shiftRight'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21155 this.gui.plotWindow.appendChild(this.shiftRight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21156 this.shiftRight.onmousedown = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21157 shiftPressed(-1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21158 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21159 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21160 this.plotLabels = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21161 this.plotLabels.setAttribute('class', 'plotLabels'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21162 this.gui.plotWindow.appendChild(this.plotLabels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21163 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21164 this.initLabels(this.timeplot.regularGrid()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21165 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21166 //Finds the time corresponding to the position x on the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21167 var getCorrelatedTime = function(x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21168 if (x >= plot.canvas.width) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21169 x = plot.canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21170 if (isNaN(x) || x < 0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21171 x = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21172 var t = plot.timeGeometry.fromScreen(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21173 if (t == 0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21174 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21175 return plot.dataSources[0].getClosestValidTime(t); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21176 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21177 //Finds the position corresponding to the time t on the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21178 var getCorrelatedPosition = function(t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21179 var x = plot.timeGeometry.toScreen(t); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21180 if (x >= plot.canvas.width) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21181 x = plot.canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21182 if (isNaN(x) || x < 0) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21183 x = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21184 return x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21185 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21186 //Maps the 2 positions in the right order to left and right bound of the chosen timeRange |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21187 var mapPositions = function(pos1, pos2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21188 if (pos1 > pos2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21189 plot.leftFlagPos = pos2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21190 plot.rightFlagPos = pos1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21191 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21192 plot.leftFlagPos = pos1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21193 plot.rightFlagPos = pos2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21194 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21195 plot.leftFlagTime = plot.dataSources[0].getClosestValidTime(plot.timeGeometry.fromScreen(plot.leftFlagPos)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21196 plot.rightFlagTime = plot.dataSources[0].getClosestValidTime(plot.timeGeometry.fromScreen(plot.rightFlagPos)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21197 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21198 //Sets the divs corresponding to the actual chosen timeRange |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21199 var setRangeDivs = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21200 plot.leftFlagPole.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21201 plot.rightFlagPole.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21202 plot.rangeBox.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21203 plot.timeplot.placeDiv(plot.leftFlagPole, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21204 left : plot.leftFlagPos, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21205 bottom : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21206 height : plot.canvas.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21207 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21208 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21209 plot.timeplot.placeDiv(plot.rightFlagPole, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21210 left : plot.rightFlagPos, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21211 bottom : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21212 height : plot.canvas.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21213 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21214 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21215 var boxWidth = plot.rightFlagPos - plot.leftFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21216 if (plot.popup) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21217 plot.popupClickDiv.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21218 plot.timeplot.placeDiv(plot.popupClickDiv, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21219 left : plot.leftFlagPos, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21220 width : boxWidth + 1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21221 height : plot.canvas.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21222 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21223 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21224 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21225 plot.timeplot.placeDiv(plot.rangeBox, { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21226 left : plot.leftFlagPos, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21227 width : boxWidth + 1, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21228 height : plot.canvas.height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21229 display : "block" |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21230 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21231 var plots = plot.timeplot._plots; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21232 for ( i = 0; i < plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21233 plots[i].fullOpacityPlot(plot.leftFlagTime, plot.rightFlagTime, plot.leftFlagPos, plot.rightFlagPos, GeoTemConfig.getColor(i)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21234 plots[i].opacityPlot.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21235 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21236 var unit = plot.tds.unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21237 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21238 var top = plot.gui.plotContainer.offsetTop; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21239 var left = plot.gui.plotContainer.offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21240 var leftPos = plot.leftFlagPole.offsetLeft + plot.timeplot.getElement().offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21241 var rightPos = plot.rightFlagPole.offsetLeft + plot.timeplot.getElement().offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21242 var rW = rightPos - leftPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21243 var pW = plot.canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21244 var pL = plot.timeplot.getElement().offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21245 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21246 var handleTop = top + Math.floor(plot.gui.timeplotDiv.offsetHeight / 2 - plot.leftHandle.offsetHeight / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21247 plot.leftHandle.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21248 plot.rightHandle.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21249 plot.leftHandle.style.left = (leftPos - plot.leftHandle.offsetWidth / 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21250 plot.rightHandle.style.left = (rightPos - plot.rightHandle.offsetWidth + 1 + plot.rightHandle.offsetWidth / 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21251 plot.leftHandle.style.top = handleTop + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21252 plot.rightHandle.style.top = handleTop + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21253 if (rightPos == leftPos) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21254 plot.rightHandle.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21255 plot.leftHandle.style.backgroundImage = "url(" + GeoTemConfig.path + "mergedHandle.png" + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21256 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21257 plot.leftHandle.style.backgroundImage = "url(" + GeoTemConfig.path + "leftHandle.png" + ")"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21258 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21259 plot.cancelButton.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21260 plot.cancelButton.style.top = top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21261 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21262 if (rW > plot.cancelButton.offsetWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21263 plot.cancelButton.style.left = (left + rightPos - plot.cancelButton.offsetWidth) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21264 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21265 plot.cancelButton.style.left = (left + rightPos) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21266 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21267 var tW = plot.toolbarAbsoluteDiv.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21268 if (rW >= tW) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21269 plot.toolbar.style.left = leftPos + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21270 plot.toolbar.style.width = (rW + 1) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21271 plot.toolbarAbsoluteDiv.style.left = ((rW - tW) / 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21272 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21273 plot.toolbar.style.left = (pL + plot.leftFlagPos * (pW - tW) / (pW - rW)) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21274 plot.toolbar.style.width = (tW + 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21275 plot.toolbarAbsoluteDiv.style.left = "0px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21276 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21277 plot.toolbar.style.top = (top + plot.timeplot.getElement().offsetHeight) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21278 plot.toolbar.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21279 plot.toolbarAbsoluteDiv.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21280 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21281 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21282 var getAbsoluteLeft = function(div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21283 var left = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21284 while (div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21285 left += div.offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21286 div = div.offsetParent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21287 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21288 return left; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21289 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21290 var timeplotLeft = getAbsoluteLeft(plot.timeplot.getElement()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21291 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21292 var checkPolesForStyle = function(x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21293 if (plot.style == 'bars' && plot.leftFlagTime == plot.rightFlagTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21294 var index = plot.tds.getSliceIndex(plot.leftFlagTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21295 var time1 = plot.leftFlagTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21296 var pos1 = plot.leftFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21297 var time2, pos2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21298 if (index == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21299 time2 = plot.tds.getSliceTime(index + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21300 } else if (index == plot.tds.getSliceNumber() - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21301 time2 = plot.tds.getSliceTime(index - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21302 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21303 if (x < plot.leftFlagPos) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21304 time2 = plot.tds.getSliceTime(index - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21305 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21306 time2 = plot.tds.getSliceTime(index + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21307 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21308 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21309 pos2 = plot.timeGeometry.toScreen(time2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21310 mapPositions(pos1, pos2, time1, time2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21311 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21312 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21313 var startX, startY, multiplier; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21314 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21315 // mousemove function that causes moving selection of objects and toolbar divs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21316 var moveToolbar = function(start, actual) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21317 var pixelShift = actual - start; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21318 if (plot.status == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21319 var newTime = getCorrelatedTime(startX + pixelShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21320 if (newTime == plot.mouseTempTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21321 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21322 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21323 plot.mouseTempTime = newTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21324 plot.mouseTempPos = plot.timeGeometry.toScreen(plot.mouseTempTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21325 mapPositions(plot.mouseDownPos, plot.mouseTempPos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21326 } else if (plot.status == 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21327 pixelShift *= multiplier; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21328 var plotPos = actual - timeplotLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21329 if (plotPos <= plot.canvas.width / 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21330 var newTime = getCorrelatedTime(startX + pixelShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21331 if (newTime == plot.leftFlagTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21332 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21333 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21334 plot.leftFlagTime = newTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21335 var diff = plot.leftFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21336 plot.leftFlagPos = plot.timeGeometry.toScreen(plot.leftFlagTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21337 diff -= plot.leftFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21338 plot.rightFlagTime = getCorrelatedTime(plot.rightFlagPos - diff); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21339 plot.rightFlagPos = plot.timeGeometry.toScreen(plot.rightFlagTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21340 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21341 var newTime = getCorrelatedTime(startY + pixelShift); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21342 if (newTime == plot.rightFlagTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21343 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21344 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21345 plot.rightFlagTime = newTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21346 var diff = plot.rightFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21347 plot.rightFlagPos = plot.timeGeometry.toScreen(plot.rightFlagTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21348 diff -= plot.rightFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21349 plot.leftFlagTime = getCorrelatedTime(plot.leftFlagPos - diff); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21350 plot.leftFlagPos = plot.timeGeometry.toScreen(plot.leftFlagTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21351 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21352 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21353 checkPolesForStyle(actual - timeplotLeft); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21354 setRangeDivs(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21355 plot.timeSelection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21356 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21357 // fakes user interaction mouse move |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21358 var playIt = function(start, actual, reset) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21359 if (!plot.paused) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21360 var pixel = plot.canvas.width / (plot.tds.timeSlices.length - 1 ) / 5; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21361 var wait = 20 * pixel; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21362 if (reset) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21363 actual = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21364 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21365 moveToolbar(start, actual); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21366 if (plot.rightFlagPos >= plot.canvas.width) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21367 reset = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21368 wait = 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21369 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21370 reset = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21371 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21372 setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21373 playIt(start, actual + pixel, reset) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21374 }, wait); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21375 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21376 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21377 var setMultiplier = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21378 var rangeWidth = plot.rightFlagPos - plot.leftFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21379 var toolbarWidth = plot.toolbarAbsoluteDiv.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21380 var plotWidth = plot.canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21381 if (rangeWidth < toolbarWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21382 multiplier = (plotWidth - rangeWidth) / (plotWidth - toolbarWidth); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21383 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21384 multiplier = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21385 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21386 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21387 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21388 * starts the animation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21389 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21390 this.play = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21391 if (this.leftFlagPos == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21392 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21393 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21394 plot.paused = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21395 plot.gui.updateAnimationButtons(2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21396 plot.status = 3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21397 setMultiplier(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21398 startX = plot.leftFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21399 startY = plot.rightFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21400 var position = Math.round(plot.leftFlagPos); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21401 playIt(position, position + 1, false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21402 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21403 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21404 * stops the animation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21405 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21406 this.stop = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21407 plot.paused = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21408 plot.status = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21409 plot.gui.updateAnimationButtons(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21410 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21411 // triggers the mousemove function to move the range and toolbar |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21412 var toolbarEvent = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21413 var left = GeoTemConfig.getMousePosition(evt).left; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21414 document.onmousemove = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21415 moveToolbar(left, GeoTemConfig.getMousePosition(evt).left); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21416 if (plot.popup) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21417 plot.popup.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21418 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21419 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21420 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21421 var initializeLeft = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21422 plot.mouseDownTime = plot.rightFlagTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21423 plot.mouseTempTime = plot.leftFlagTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21424 plot.mouseDownPos = plot.timeGeometry.toScreen(plot.mouseDownTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21425 startX = plot.leftFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21426 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21427 var initializeRight = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21428 plot.mouseDownTime = plot.leftFlagTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21429 plot.mouseTempTime = plot.rightFlagTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21430 plot.mouseDownPos = plot.timeGeometry.toScreen(plot.mouseDownTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21431 startX = plot.rightFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21432 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21433 var initializeDrag = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21434 startX = plot.leftFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21435 startY = plot.rightFlagPos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21436 setMultiplier(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21437 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21438 var checkBorders = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21439 if (plot.style == 'bars' && plot.mouseUpTime == plot.mouseDownTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21440 var index = plot.tds.getSliceIndex(plot.mouseUpTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21441 if (index == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21442 plot.mouseUpTime = plot.tds.getSliceTime(index + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21443 } else if (index == plot.tds.getSliceNumber() - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21444 plot.mouseUpTime = plot.tds.getSliceTime(index - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21445 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21446 if (plot.x < plot.leftFlagPos) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21447 plot.mouseUpTime = plot.tds.getSliceTime(index - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21448 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21449 plot.mouseUpTime = plot.tds.getSliceTime(index + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21450 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21451 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21452 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21453 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21454 // handles mousedown on left handle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21455 this.leftHandle.onmousedown = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21456 if (plot.status != 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21457 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21458 initializeLeft(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21459 plot.status = 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21460 toolbarEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21461 document.onmouseup = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21462 document.onmousemove = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21463 document.onmouseup = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21464 plot.stop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21465 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21466 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21467 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21468 // handles mousedown on right handle |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21469 this.rightHandle.onmousedown = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21470 if (plot.status != 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21471 initializeRight(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21472 plot.status = 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21473 toolbarEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21474 document.onmouseup = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21475 document.onmousemove = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21476 document.onmouseup = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21477 plot.stop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21478 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21479 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21480 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21481 // handles mousedown on drag button |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21482 this.dragButton.onmousedown = function(evt) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21483 if (plot.status != 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21484 plot.status = 3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21485 initializeDrag(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21486 toolbarEvent(evt); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21487 document.onmouseup = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21488 document.onmousemove = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21489 document.onmouseup = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21490 plot.stop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21491 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21492 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21493 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21494 // handles mousedown-Event on timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21495 var mouseDownHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21496 if (plot.dataSources.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21497 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21498 plot.x = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt, plot.canvas).x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21499 if (plot.status == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21500 var time = getCorrelatedTime(plot.x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21501 if (plot.leftFlagPos != null && plot.popup && time >= plot.leftFlagTime && time <= plot.rightFlagTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21502 var x = plot.leftFlagPos + (plot.rightFlagPos - plot.leftFlagPos) / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21503 var elements = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21504 for (var i = 0; i < plot.dataSources.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21505 elements.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21506 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21507 for (var i = 0; i < plot.selectedObjects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21508 if (plot.selectedObjects[i].value == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21509 for (var j = 0; j < plot.selectedObjects[i].objects.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21510 elements[j] = elements[j].concat(plot.selectedObjects[i].objects[j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21511 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21512 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21513 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21514 var labels = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21515 for (var i = 0; i < elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21516 if (elements[i].length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21517 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21518 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21519 var c = GeoTemConfig.getColor(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21520 var color = 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21521 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21522 div.setAttribute('class', 'tagCloudItem'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21523 div.style.color = color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21524 var label = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21525 div : div, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21526 elements : elements[i] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21527 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21528 var weight = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21529 for (j in elements[i] ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21530 weight += elements[i][j].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21531 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21532 var fs = 2 * weight / 1000; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21533 if (fs > 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21534 fs = 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21535 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21536 div.style.fontSize = (1 + fs) + "em"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21537 div.style.textShadow = "0 0 0.4em black, 0 0 0.4em black, 0 0 0.4em black, 0 0 0.4em " + c.hex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21538 if (weight == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21539 div.innerHTML = weight + " object"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21540 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21541 div.innerHTML = weight + " objects"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21542 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21543 var appendMouseFunctions = function(label, div, color) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21544 div.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21545 plot.popup.showLabelContent(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21546 div.style.textShadow = "0 0 0.4em black, 0 0 0.4em black, 0 0 0.4em black, 0 0 0.4em " + color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21547 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21548 div.onmouseover = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21549 div.style.textShadow = "0 -1px " + color + ", 1px 0 " + color + ", 0 1px " + color + ", -1px 0 " + color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21550 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21551 div.onmouseout = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21552 div.style.textShadow = "0 0 0.4em black, 0 0 0.4em black, 0 0 0.4em black, 0 0 0.4em " + color; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21553 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21554 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21555 appendMouseFunctions(label, div, c.hex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21556 labels.push(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21557 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21558 if (labels.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21559 plot.popup.createPopup(x + 20, 0, labels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21560 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21561 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21562 plot.deselection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21563 plot.status = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21564 plot.mouseDownTime = time; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21565 plot.mouseTempTime = plot.mouseDownTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21566 plot.mouseDownPos = plot.timeGeometry.toScreen(plot.mouseDownTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21567 mapPositions(plot.mouseDownPos, plot.mouseDownPos, plot.mouseDownTime, plot.mouseDownTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21568 // handles mouseup-Event on timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21569 document.onmouseup = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21570 if (plot.status == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21571 plot.mouseUpTime = plot.mouseTempTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21572 plot.mouseUpPos = plot.timeGeometry.toScreen(plot.mouseUpTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21573 mapPositions(plot.mouseDownPos, plot.mouseUpPos, plot.mouseDownTime, plot.mouseUpTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21574 checkPolesForStyle(plot.x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21575 setRangeDivs(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21576 plot.timeSelection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21577 plot.gui.updateAnimationButtons(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21578 document.onmouseup = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21579 plot.status = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21580 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21581 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21582 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21583 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21584 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21585 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21586 // handles mousemove-Event on timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21587 var mouseMoveHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21588 if (plot.dataSources.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21589 plot.x = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt, plot.canvas).x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21590 if (plot.status == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21591 plot.mouseTempTime = getCorrelatedTime(plot.x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21592 plot.mouseTempPos = plot.timeGeometry.toScreen(plot.mouseTempTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21593 mapPositions(plot.mouseDownPos, plot.mouseTempPos, plot.mouseDownTime, plot.mouseTempTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21594 checkPolesForStyle(plot.x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21595 setRangeDivs(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21596 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21597 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21598 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21599 // handles mouseout-Event on timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21600 var mouseOutHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21601 if (plot.dataSources.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21602 var x = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt, plot.canvas).x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21603 var y = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt, plot.canvas).y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21604 if (x > plot.canvas.width - 2 || isNaN(x) || x < 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21605 plot.timeHighlight(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21606 plot.highlightedSlice = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21607 } else if (y > plot.canvas.height - 2 || isNaN(y) || y < 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21608 plot.timeHighlight(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21609 plot.highlightedSlice = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21610 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21611 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21612 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21613 // handles mouse(h)over-Event on timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21614 var mouseHoverHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21615 if (plot.dataSources.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21616 var x = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt, plot.canvas).x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21617 var time = getCorrelatedTime(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21618 if (time == undefined) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21619 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21620 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21621 var highlightSlice; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21622 var slices = plot.tds.timeSlices; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21623 var index = plot.tds.getSliceIndex(time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21624 if (plot.style == 'graph') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21625 highlightSlice = slices[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21626 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21627 if (plot.style == 'bars') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21628 var pos = plot.timeGeometry.toScreen(time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21629 if (x < pos && index > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21630 highlightSlice = slices[index - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21631 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21632 highlightSlice = slices[index]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21633 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21634 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21635 if (plot.highlightedSlice == undefined || plot.highlightedSlice != highlightSlice) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21636 plot.highlightedSlice = highlightSlice; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21637 plot.timeHighlight(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21638 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21639 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21640 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21641 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21642 this.redrawPlot = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21643 plot.clearTimeplot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21644 plot.tds.reset(this.timeGeometry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21645 plot.timeplot._prepareCanvas(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21646 plot.timeplot.repaint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21647 if (plot.leftFlagPos != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21648 plot.leftFlagPos = getCorrelatedPosition(plot.leftFlagTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21649 plot.rightFlagPos = getCorrelatedPosition(plot.rightFlagTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21650 setRangeDivs(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21651 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21652 plot.displayOverlay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21653 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21654 plot.initLabels([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21655 plot.updateOverview(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21656 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21657 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21658 this.resetOpacityPlots = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21659 var plots = plot.timeplot._plots; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21660 for ( var i = 0; i < plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21661 plots[i]._opacityCanvas.width = this.canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21662 plots[i]._opacityCanvas.height = this.canvas.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21663 if( plot.leftFlagTime != null ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21664 plots[i].fullOpacityPlot(plot.leftFlagTime, plot.rightFlagTime, plot.leftFlagPos, plot.rightFlagPos, GeoTemConfig.getColor(i)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21665 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21666 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21667 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21668 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21669 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21670 * handles zoom of the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21671 * @param {int} delta the change of zoom |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21672 * @param {Date} time a time that corresponds to a slice, that was clicked |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21673 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21674 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21675 this.zoom = function(delta,time){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21676 if( this.eventSources.length == 0 ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21677 if( GeoTemConfig.timeZoom ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21678 this.zoomSlider.setValue(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21679 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21680 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21681 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21682 if( time == null ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21683 time = getCorrelatedTime(this.canvas.width/2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21684 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21685 if( this.tds.setZoom(delta,time,this.leftFlagTime,this.rightFlagTime) ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21686 this.redrawPlot(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21687 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21688 if( GeoTemConfig.timeZoom ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21689 this.zoomSlider.setValue(this.tds.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21690 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21691 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21692 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21693 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21694 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21695 // handles mousewheel event on the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21696 var mouseWheelHandler = function(elmt, evt, target) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21697 if (evt.preventDefault) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21698 evt.preventDefault(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21699 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21700 if (plot.dataSources.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21701 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21702 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21703 var delta = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21704 if (!evt) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21705 evt = window.event; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21706 if (evt.wheelDelta) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21707 delta = evt.wheelDelta / 120; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21708 if (window.opera) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21709 delta = -delta; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21710 } else if (evt.detail) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21711 delta = -evt.detail / 3; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21712 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21713 if (delta) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21714 var x = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt, plot.canvas).x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21715 var time = getCorrelatedTime(x); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21716 plot.zoom(delta, time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21717 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21718 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21719 var timeplotElement = this.timeplot.getElement(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21720 SimileAjax.DOM.registerEvent(timeplotElement, "mousedown", mouseDownHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21721 SimileAjax.DOM.registerEvent(timeplotElement, "mousemove", mouseMoveHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21722 SimileAjax.DOM.registerEvent(timeplotElement, "mousemove", mouseHoverHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21723 SimileAjax.DOM.registerEvent(timeplotElement, "mouseout", mouseOutHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21724 if (GeoTemConfig.mouseWheelZoom) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21725 //SimileAjax.DOM.registerEvent(timeplotElement, "mousewheel", mouseWheelHandler); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21726 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21727 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21728 this.gui.setHeight(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21729 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21730 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21731 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21732 resetOverlay : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21733 this.poles.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21734 var plots = this.timeplot._plots; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21735 for (var i = 0; i < plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21736 for (var j = 0; j < plots[i].pins.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21737 plots[i].pins[j] = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21738 height : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21739 count : 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21740 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21741 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21742 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21743 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21744 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21745 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21746 * resets the timeplot to non selection status |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21747 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21748 reset : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21749 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21750 this.leftFlagPole.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21751 this.rightFlagPole.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21752 this.rangeBox.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21753 this.leftHandle.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21754 this.rightHandle.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21755 this.toolbar.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21756 this.toolbarAbsoluteDiv.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21757 this.cancelButton.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21758 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21759 var plots = this.timeplot._plots; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21760 for (var i = 0; i < plots.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21761 plots[i].opacityPlot.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21762 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21763 this.resetOverlay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21764 this.filterBar.reset(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21765 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21766 var slices = this.tds.timeSlices; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21767 if (slices != undefined) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21768 for (var i = 0; i < slices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21769 slices[i].reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21770 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21771 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21772 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21773 this.status = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21774 this.stop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21775 this.gui.updateAnimationButtons(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21776 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21777 this.leftFlagPos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21778 this.leftFlagTime = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21779 this.rightFlagPos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21780 this.rightFlagTime = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21781 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21782 this.mouseDownTime = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21783 this.mouseUpTime = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21784 this.mouseTempTime = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21785 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21786 this.mouseDownPos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21787 this.mouseUpPos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21788 this.mouseTempPos = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21789 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21790 if (this.popup) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21791 this.popup.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21792 this.popupClickDiv.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21793 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21794 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21795 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21796 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21797 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21798 * sets a pole on the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21799 * @param {Date} time the time of the specific timeslice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21800 * @param {int[]} the number of selected elements per dataset |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21801 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21802 displayOverlay : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21803 this.poles.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21804 var cv = this.poles.getElementsByTagName("canvas")[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21805 cv.width = this.canvas.width; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21806 cv.height = this.canvas.height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21807 if (!cv.getContext && G_vmlCanvasManager) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21808 cv = G_vmlCanvasManager.initElement(cv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21809 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21810 var ctx = cv.getContext('2d'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21811 ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21812 var plots = this.timeplot._plots; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21813 var slices = this.tds.timeSlices; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21814 for (var i = 0; i < slices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21815 if (this.style == 'bars' && i + 1 == slices.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21816 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21817 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21818 if (slices[i].overlay() == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21819 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21820 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21821 var stacks = slices[i].stacks; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21822 var time = slices[i].date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21823 var pos; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21824 if (this.style == 'graph') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21825 pos = this.timeGeometry.toScreen(time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21826 } else if (this.style == 'bars') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21827 var x1 = this.timeGeometry.toScreen(time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21828 var x2 = this.timeGeometry.toScreen(slices[i + 1].date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21829 pos = (x1 + x2 ) / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21830 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21831 var heights = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21832 var h = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21833 for (var j = 0; j < stacks.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21834 var data = plots[j]._dataSource.getData(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21835 for (var k = 0; k < data.times.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21836 if (data.times[k].getTime() == time.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21837 var height = plots[j]._valueGeometry.toScreen(plots[j]._dataSource.getData().values[k]) * stacks[j].overlay / stacks[j].value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21838 heights.push(height); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21839 plots[j].pins[i] = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21840 height : height, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21841 count : stacks[j].overlay |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21842 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21843 if (height > h) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21844 h = height; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21845 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21846 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21847 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21848 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21849 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21850 ctx.fillStyle = "rgb(102,102,102)"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21851 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21852 ctx.rect(pos - 1, this.canvas.height - h, 2, h); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21853 ctx.fill(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21854 for (var j = 0; j < heights.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21855 if (heights[j] > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21856 var color = GeoTemConfig.getColor(j); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21857 ctx.fillStyle = "rgba(" + color.r1 + "," + color.g1 + "," + color.b1 + ",0.6)"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21858 ctx.beginPath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21859 ctx.arc(pos, this.canvas.height - heights[j], 2.5, 0, Math.PI * 2, true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21860 ctx.closePath(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21861 ctx.fill(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21862 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21863 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21864 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21865 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21866 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21867 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21868 * updates the timeplot by displaying place poles, after a selection had been executed in another widget |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21869 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21870 highlightChanged : function(timeObjects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21871 this.resetOverlay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21872 if (this.selection.valid()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21873 if (!this.selection.equal(this)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21874 this.tds.setOverlay(GeoTemConfig.mergeObjects(timeObjects, this.selection.getObjects(this))); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21875 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21876 this.tds.setOverlay(timeObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21877 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21878 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21879 this.tds.setOverlay(timeObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21880 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21881 this.displayOverlay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21882 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21883 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21884 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21885 * updates the timeplot by displaying place poles, after a selection had been executed in another widget |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21886 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21887 selectionChanged : function(selection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21888 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21889 this.selection = selection; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21890 this.tds.setOverlay(selection.objects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21891 this.displayOverlay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21892 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21893 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21894 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21895 * returns the approximate left position of a slice inside the overview representation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21896 * @param {Date} time time of the slice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21897 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21898 getOverviewLeft : function(time) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21899 var w = this.overview.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21900 var s = this.tds.earliest().getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21901 var e = this.tds.latest().getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21902 var t = time.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21903 return Math.round(w * (t - s) / (e - s)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21904 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21905 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21906 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21907 * visualizes the overview div (shows viewable part of zoomed timeplot) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21908 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21909 initOverview : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21910 var labels = this.timeGeometry._grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21911 if (labels.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21912 var plot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21913 setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21914 plot.initOverview(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21915 }, 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21916 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21917 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21918 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21919 this.overview.style.width = this.canvas.width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21920 var left = this.gui.timeplotDiv.offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21921 this.overview.innerHTML = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21922 this.overview.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21923 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21924 this.overviewRange = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21925 this.overviewRange.setAttribute('class', 'overviewRange'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21926 this.overview.appendChild(this.overviewRange); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21927 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21928 for (var i = 0; i < labels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21929 var label = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21930 label.setAttribute('class', 'overviewLabel'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21931 label.innerHTML = labels[i].label; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21932 label.style.left = Math.floor(labels[i].x) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21933 this.overview.appendChild(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21934 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21935 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21936 this.updateOverview(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21937 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21938 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21939 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21940 * visualizes the labels of the timeplot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21941 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21942 initLabels : function(labels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21943 if (labels.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21944 labels = this.timeGeometry._grid; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21945 if (labels.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21946 var plot = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21947 setTimeout(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21948 plot.initLabels([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21949 }, 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21950 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21951 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21952 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21953 this.plotLabels.style.width = this.canvas.width + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21954 var left = this.gui.timeplotDiv.offsetLeft; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21955 this.plotLabels.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21956 this.plotLabels.innerHTML = ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21957 for (var i = 0; i < labels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21958 var label = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21959 label.setAttribute('class', 'plotLabel'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21960 label.innerHTML = labels[i].label; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21961 label.style.left = Math.floor(labels[i].x) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21962 this.plotLabels.appendChild(label); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21963 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21964 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21965 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21966 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21967 * updates the overview div |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21968 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21969 updateOverview : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21970 if (this.tds.getZoom() > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21971 this.plotLabels.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21972 this.timeGeometry._hideLabels = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21973 this.overview.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21974 this.shiftLeft.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21975 this.shiftRight.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21976 var left = this.getOverviewLeft(this.tds.timeSlices[this.tds.leftSlice].date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21977 var right = this.getOverviewLeft(this.tds.timeSlices[this.tds.rightSlice].date); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21978 this.overviewRange.style.left = left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21979 this.overviewRange.style.width = (right - left) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21980 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21981 this.timeGeometry._hideLabels = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21982 this.plotLabels.style.visibility = "visible"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21983 this.overview.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21984 this.shiftLeft.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21985 this.shiftRight.style.visibility = "hidden"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21986 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21987 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21988 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21989 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21990 * returns the time slices which are created by the extended data source |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21991 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21992 getSlices : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21993 return this.tds.timeSlices; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21994 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21995 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21996 timeSelection : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21997 var slices = this.tds.timeSlices; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21998 var ls, rs; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21999 for (var i = 0; i < slices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22000 if (slices[i].date.getTime() == this.leftFlagTime.getTime()) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22001 ls = i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22002 if (slices[i].date.getTime() == this.rightFlagTime.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22003 if (this.style == 'graph') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22004 rs = i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22005 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22006 if (this.style == 'bars') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22007 rs = i - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22008 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22009 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22010 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22011 var selectedObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22012 for (var i = 0; i < GeoTemConfig.datasets; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22013 selectedObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22014 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22015 for (var i = 0; i < slices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22016 if (i >= ls && i <= rs) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22017 for (var j in slices[i].stacks ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22018 selectedObjects[j] = selectedObjects[j].concat(slices[i].stacks[j].elements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22019 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22020 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22021 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22022 this.selection = new Selection(selectedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22023 this.core.triggerSelection(this.selection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22024 this.filterBar.reset(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22025 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22026 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22027 deselection : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22028 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22029 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22030 this.core.triggerSelection(this.selection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22031 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22032 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22033 filtering : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22034 for (var i = 0; i < this.datasets.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22035 this.datasets[i].objects = this.selection.objects[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22036 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22037 this.core.triggerRefining(this.datasets); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22038 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22039 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22040 inverseFiltering : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22041 var slices = this.tds.timeSlices; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22042 var ls, rs; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22043 for (var i = 0; i < slices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22044 if (slices[i].date.getTime() == this.leftFlagTime.getTime()) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22045 ls = i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22046 if (slices[i].date.getTime() == this.rightFlagTime.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22047 if (this.style == 'graph') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22048 rs = i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22049 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22050 if (this.style == 'bars') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22051 rs = i - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22052 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22053 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22054 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22055 var selectedObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22056 for (var i = 0; i < GeoTemConfig.datasets; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22057 selectedObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22058 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22059 for (var i = 0; i < slices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22060 if (i >= ls && i <= rs) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22061 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22062 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22063 for (var j in slices[i].stacks ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22064 selectedObjects[j] = selectedObjects[j].concat(slices[i].stacks[j].elements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22065 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22066 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22067 this.selection = new Selection(selectedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22068 this.filtering(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22069 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22070 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22071 timeHighlight : function(undo) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22072 if (this.status == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22073 var s = this.highlightedSlice; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22074 var timeObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22075 for (var i = 0; i < this.tds.size(); i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22076 timeObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22077 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22078 var add = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22079 if (this.leftFlagTime != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22080 if (this.style == 'graph' && s.date >= this.leftFlagTime && s.date <= this.rightFlagTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22081 add = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22082 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22083 if (this.style == 'bars' && s.date >= this.leftFlagTime && s.date < this.rightFlagTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22084 add = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22085 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22086 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22087 if (!undo && add) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22088 for (var i in s.stacks ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22089 timeObjects[i] = timeObjects[i].concat(s.stacks[i].elements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22090 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22091 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22092 this.core.triggerHighlight(timeObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22093 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22094 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22095 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22096 timeRefining : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22097 this.core.triggerRefining(this.selection.objects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22098 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22099 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22100 setStyle : function(style) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22101 this.style = style; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22102 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22103 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22104 drawLinearPlot : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22105 if ( typeof this.valueGeometry != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22106 this.valueGeometry.actLinear(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22107 this.timeplot.repaint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22108 this.resetOpacityPlots(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22109 this.displayOverlay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22110 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22111 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22112 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22113 drawLogarithmicPlot : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22114 if ( typeof this.valueGeometry != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22115 this.valueGeometry.actLogarithmic(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22116 this.timeplot.repaint(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22117 this.resetOpacityPlots(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22118 this.displayOverlay(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22119 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22120 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22121 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22122 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22123 * TableConfig.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22124 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22125 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22126 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22127 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22128 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22129 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22130 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22131 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22132 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22133 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22134 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22135 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22136 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22137 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22138 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22139 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22140 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22141 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22142 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22143 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22144 * @class TableConfig |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22145 * Table Configuration File |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22146 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22147 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22148 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22149 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22150 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22151 function TableConfig(options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22152 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22153 this.options = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22154 tableWidth : false, // false or desired width css definition for the table |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22155 tableHeight : false, // false or desired height css definition for the table |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22156 validResultsPerPage : [10, 20, 50, 100], // valid number of elements per page |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22157 initialResultsPerPage : 10, // initial number of elements per page |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22158 tableSorting : true, // true, if sorting of columns should be possible |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22159 tableContentOffset : 250, // maximum display number of characters in a table cell |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22160 tableSelectPage : true, // selection of complete table pages |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22161 tableSelectAll : false, // selection of complete tables |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22162 tableShowSelected : true, // show selected objects only option |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22163 unselectedCellColor : '#EEE' // color for an unselected row/tab |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22164 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22165 if ( typeof options != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22166 $.extend(this.options, options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22167 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22168 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22169 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22170 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22171 * TableGui.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22172 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22173 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22174 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22175 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22176 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22177 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22178 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22179 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22180 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22181 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22182 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22183 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22184 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22185 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22186 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22187 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22188 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22189 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22190 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22191 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22192 * @class TableGui |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22193 * Table GUI Implementation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22194 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22195 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22196 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22197 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22198 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22199 * @param {TableWidget} parent table widget object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22200 * @param {HTML object} div parent div to append the table gui |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22201 * @param {JSON} options table configuration |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22202 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22203 function TableGui(table, div, options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22204 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22205 this.tableContainer = div; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22206 if (options.tableWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22207 this.tableContainer.style.width = options.tableWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22208 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22209 if (options.tableHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22210 this.tableContainer.style.height = options.tableHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22211 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22212 this.tableContainer.style.position = 'relative'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22213 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22214 this.tabs = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22215 this.tabs.setAttribute('class', 'tableTabs'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22216 div.appendChild(this.tabs); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22217 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22218 this.input = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22219 this.input.setAttribute('class', 'tableInput'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22220 div.appendChild(this.input); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22221 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22222 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22223 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22224 * TableWidget.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22225 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22226 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22227 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22228 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22229 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22230 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22231 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22232 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22233 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22234 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22235 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22236 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22237 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22238 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22239 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22240 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22241 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22242 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22243 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22244 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22245 * @class TableWidget |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22246 * TableWidget Implementation |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22247 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22248 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22249 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22250 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22251 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22252 * @param {TableWrapper} core wrapper for interaction to other widgets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22253 * @param {HTML object} div parent div to append the table widget div |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22254 * @param {JSON} options user specified configuration that overwrites options in TableConfig.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22255 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22256 function TableWidget(core, div, options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22257 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22258 this.core = core; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22259 this.core.setWidget(this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22260 this.tables = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22261 this.tableTabs = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22262 this.tableElements = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22263 this.tableHash = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22264 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22265 this.options = (new TableConfig(options)).options; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22266 this.gui = new TableGui(this, div, this.options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22267 this.filterBar = new FilterBar(this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22268 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22269 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22270 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22271 TableWidget.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22272 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22273 initWidget : function(data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22274 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22275 $(this.gui.tabs).empty(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22276 $(this.gui.input).empty(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22277 this.activeTable = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22278 this.tables = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22279 this.tableTabs = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22280 this.tableElements = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22281 this.tableHash = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22282 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22283 this.filterBar.reset(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22284 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22285 var tableWidget = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22286 var addTab = function(name, index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22287 var tableTab = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22288 tableTab.setAttribute('class', 'tableTab'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22289 tableTab.style.backgroundColor = tableWidget.options.unselectedCellColor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22290 tableTab.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22291 tableWidget.selectTable(index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22292 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22293 tableTab.innerHTML = name; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22294 return tableTab; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22295 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22296 for (var i in data ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22297 this.tableHash.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22298 var tableTab = addTab(data[i].label, i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22299 this.gui.tabs.appendChild(tableTab); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22300 this.tableTabs.push(tableTab); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22301 var elements = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22302 for (var j in data[i].objects ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22303 elements.push(new TableElement(data[i].objects[j])); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22304 this.tableHash[i][data[i].objects[j].index] = elements[elements.length - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22305 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22306 var table = new Table(elements, this, i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22307 this.tables.push(table); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22308 this.tableElements.push(elements); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22309 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22310 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22311 if (data.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22312 this.selectTable(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22313 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22314 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22315 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22316 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22317 getHeight : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22318 if (this.options.tableHeight) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22319 return this.gui.tableContainer.offsetHeight - this.gui.tabs.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22320 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22321 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22322 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22323 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22324 selectTable : function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22325 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22326 if (this.activeTable != index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22327 if ( typeof this.activeTable != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22328 this.tables[this.activeTable].hide(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22329 this.tableTabs[this.activeTable].style.backgroundColor = this.options.unselectedCellColor; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22330 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22331 this.activeTable = index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22332 this.tables[this.activeTable].show(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22333 var c = GeoTemConfig.getColor(this.activeTable); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22334 this.tableTabs[this.activeTable].style.backgroundColor = 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22335 this.core.triggerRise(index); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22336 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22337 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22338 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22339 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22340 highlightChanged : function(objects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22341 if( this.tables.length > 0 ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22342 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22343 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22344 for (var i = 0; i < this.tableElements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22345 for (var j = 0; j < this.tableElements[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22346 this.tableElements[i][j].highlighted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22347 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22348 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22349 for (var i = 0; i < objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22350 for (var j = 0; j < objects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22351 this.tableHash[i][objects[i][j].index].highlighted = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22352 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22353 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22354 this.tables[this.activeTable].update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22355 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22356 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22357 selectionChanged : function(selection) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22358 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22359 if( this.tables.length == 0 ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22360 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22361 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22362 this.selection = selection; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22363 for (var i = 0; i < this.tableElements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22364 for (var j = 0; j < this.tableElements[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22365 this.tableElements[i][j].selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22366 this.tableElements[i][j].highlighted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22367 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22368 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22369 var objects = selection.getObjects(this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22370 for (var i = 0; i < objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22371 for (var j = 0; j < objects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22372 this.tableHash[i][objects[i][j].index].selected = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22373 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22374 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22375 this.tables[this.activeTable].reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22376 this.tables[this.activeTable].update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22377 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22378 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22379 triggerHighlight : function(item) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22380 var selectedObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22381 for (var i = 0; i < GeoTemConfig.datasets; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22382 selectedObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22383 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22384 if ( typeof item != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22385 selectedObjects[this.activeTable].push(item); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22386 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22387 this.core.triggerHighlight(selectedObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22388 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22389 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22390 tableSelection : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22391 var selectedObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22392 for (var i = 0; i < GeoTemConfig.datasets; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22393 selectedObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22394 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22395 var valid = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22396 for (var i = 0; i < this.tableElements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22397 for (var j = 0; j < this.tableElements[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22398 var e = this.tableElements[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22399 if (e.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22400 selectedObjects[i].push(e.object); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22401 valid = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22402 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22403 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22404 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22405 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22406 if (valid) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22407 this.selection = new Selection(selectedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22408 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22409 this.core.triggerSelection(this.selection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22410 this.filterBar.reset(true); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22411 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22412 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22413 deselection : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22414 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22415 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22416 this.core.triggerSelection(this.selection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22417 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22418 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22419 filtering : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22420 this.core.triggerRefining(this.selection.objects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22421 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22422 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22423 inverseFiltering : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22424 var selectedObjects = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22425 for (var i = 0; i < GeoTemConfig.datasets; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22426 selectedObjects.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22427 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22428 var valid = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22429 for (var i = 0; i < this.tableElements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22430 for (var j = 0; j < this.tableElements[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22431 var e = this.tableElements[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22432 if (!e.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22433 selectedObjects[i].push(e.object); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22434 valid = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22435 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22436 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22437 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22438 this.selection = new Selection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22439 if (valid) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22440 this.selection = new Selection(selectedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22441 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22442 this.filtering(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22443 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22444 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22445 triggerRefining : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22446 this.core.triggerRefining(this.selection.objects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22447 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22448 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22449 reset : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22450 this.filterBar.reset(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22451 if( this.tables.length > 0 ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22452 this.tables[this.activeTable].resetElements(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22453 this.tables[this.activeTable].reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22454 this.tables[this.activeTable].update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22455 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22456 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22457 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22458 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22459 * Table.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22460 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22461 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22462 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22463 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22464 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22465 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22466 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22467 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22468 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22469 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22470 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22471 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22472 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22473 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22474 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22475 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22476 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22477 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22478 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22479 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22480 * @class Table |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22481 * Implementation for a single table |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22482 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22483 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22484 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22485 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22486 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22487 * @param {Array} elements list of data items |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22488 * @param {HTML object} parent div to append the table |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22489 * @param {int} id dataset index |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22490 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22491 function Table(elements, parent, id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22492 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22493 this.elements = elements; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22494 this.showElementsLength = elements.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22495 this.parent = parent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22496 this.id = id; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22497 this.options = parent.options; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22498 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22499 this.validResultsPerPage = [10, 20, 50, 100]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22500 this.keyHeaderList = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22501 this.initialize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22502 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22503 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22504 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22505 Table.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22506 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22507 initToolbar : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22508 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22509 var table = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22510 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22511 this.toolbar = document.createElement("table"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22512 this.toolbar.setAttribute('class', 'ddbToolbar'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22513 this.toolbar.style.overflow = 'auto'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22514 this.tableDiv.appendChild(this.toolbar); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22515 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22516 var navigation = document.createElement("tr"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22517 this.toolbar.appendChild(navigation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22518 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22519 var selectors = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22520 navigation.appendChild(selectors); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22521 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22522 if (table.options.tableSelectPage) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22523 var selectPageItems = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22524 this.selectPage = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22525 this.selectPage.setAttribute('class', 'smallButton selectPage'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22526 this.selectPage.title = GeoTemConfig.getString('selectTablePageItemsHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22527 selectors.appendChild(this.selectPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22528 this.selectPage.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22529 selectPageItems = !selectPageItems; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22530 if (selectPageItems) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22531 var items = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22532 for (var i = table.first; i < table.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22533 table.elements[i].selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22534 items++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22535 if (items == table.resultsPerPage) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22536 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22537 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22538 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22539 table.selectPage.setAttribute('class', 'smallButton selectPage'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22540 table.selectPage.title = GeoTemConfig.getString('selectTablePageItemsHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22541 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22542 var items = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22543 for (var i = table.first; i < table.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22544 table.elements[i].selected = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22545 items++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22546 if (items == table.resultsPerPage) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22547 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22548 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22549 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22550 table.selectPage.setAttribute('class', 'smallButton deselectPage'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22551 table.selectPage.title = GeoTemConfig.getString('deselectTablePageItemsHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22552 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22553 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22554 table.parent.tableSelection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22555 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22556 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22557 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22558 if (table.options.tableSelectAll) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22559 var selectAllItems = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22560 this.selectAll = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22561 this.selectAll.setAttribute('class', 'smallButton selectAll'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22562 table.selectAll.title = GeoTemConfig.getString('selectAllTableItemsHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22563 selectors.appendChild(this.selectAll); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22564 this.selectAll.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22565 selectAllItems = !selectAllItems; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22566 if (selectAllItems) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22567 for (var i = 0; i < table.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22568 table.elements[i].selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22569 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22570 table.selectAll.setAttribute('class', 'smallButton selectAll'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22571 table.selectAll.title = GeoTemConfig.getString('selectAllTableItemsHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22572 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22573 for (var i = 0; i < table.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22574 table.elements[i].selected = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22575 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22576 table.selectAll.setAttribute('class', 'smallButton deselectAll'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22577 table.selectAll.title = GeoTemConfig.getString('deselectAllTableItemsHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22578 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22579 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22580 table.parent.tableSelection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22581 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22582 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22583 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22584 this.showSelectedItems = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22585 if (table.options.tableShowSelected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22586 this.showSelected = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22587 this.showSelected.setAttribute('class', 'smallButton showSelected'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22588 table.showSelected.title = GeoTemConfig.getString('showSelectedHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22589 selectors.appendChild(this.showSelected); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22590 this.showSelected.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22591 table.showSelectedItems = !table.showSelectedItems; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22592 if (table.showSelectedItems) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22593 table.showElementsLength = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22594 for (var i = 0; i < table.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22595 if (table.elements[i].selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22596 table.showElementsLength++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22597 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22598 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22599 table.showSelected.setAttribute('class', 'smallButton showAll'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22600 // table.selectAll.title = GeoTemConfig.getString('showAllElementsHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22601 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22602 table.showElementsLength = table.elements.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22603 table.showSelected.setAttribute('class', 'smallButton showSelected'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22604 // table.selectAll.title = GeoTemConfig.getString('showSelectedHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22605 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22606 table.updateIndices(table.resultsPerPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22607 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22608 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22609 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22610 this.selectors = selectors; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22611 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22612 // selectors.style.width = (this.filter.offsetWidth + this.selectAll.offsetWidth + this.selectPage.offsetWidth)+"px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22613 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22614 var results = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22615 navigation.appendChild(results); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22616 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22617 var pagination = document.createElement("td"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22618 navigation.appendChild(pagination); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22619 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22620 this.resultsInfo = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22621 this.resultsInfo.setAttribute('class', 'resultsInfo'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22622 results.appendChild(this.resultsInfo); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22623 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22624 this.firstPage = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22625 this.firstPage.setAttribute('class', 'paginationButton'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22626 this.firstPage.title = GeoTemConfig.getString('paginationFirsPageHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22627 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22628 pagination.appendChild(this.firstPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22629 this.firstPage.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22630 if (table.page != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22631 table.page = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22632 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22633 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22634 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22635 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22636 this.previousPage = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22637 this.previousPage.setAttribute('class', 'paginationButton'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22638 this.previousPage.title = GeoTemConfig.getString('paginationPreviousPageHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22639 pagination.appendChild(this.previousPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22640 this.previousPage.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22641 if (table.page > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22642 table.page--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22643 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22644 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22645 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22646 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22647 this.pageInfo = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22648 this.pageInfo.setAttribute('class', 'pageInfo'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22649 pagination.appendChild(this.pageInfo); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22650 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22651 this.nextPage = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22652 this.nextPage.setAttribute('class', 'paginationButton'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22653 this.nextPage.title = GeoTemConfig.getString('paginationNextPageHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22654 pagination.appendChild(this.nextPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22655 this.nextPage.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22656 if (table.page < table.pages - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22657 table.page++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22658 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22659 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22660 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22661 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22662 this.lastPage = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22663 this.lastPage.setAttribute('class', 'paginationButton'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22664 this.lastPage.title = GeoTemConfig.getString('paginationLastPageHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22665 pagination.appendChild(this.lastPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22666 this.lastPage.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22667 if (table.page != table.pages - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22668 table.page = table.pages - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22669 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22670 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22671 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22672 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22673 this.resultsDropdown = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22674 this.resultsDropdown.setAttribute('class', 'resultsDropdown'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22675 pagination.appendChild(this.resultsDropdown); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22676 var itemNumbers = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22677 var addItemNumber = function(count, index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22678 var setItemNumber = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22679 table.updateIndices(count); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22680 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22681 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22682 itemNumbers.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22683 name : count, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22684 onclick : setItemNumber |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22685 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22686 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22687 for (var i = 0; i < table.options.validResultsPerPage.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22688 addItemNumber(table.options.validResultsPerPage[i], i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22689 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22690 var dropdown = new Dropdown(this.resultsDropdown, itemNumbers, 'selectMapType'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22691 for (var i = 0; i < table.options.validResultsPerPage.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22692 if (table.options.initialResultsPerPage == table.options.validResultsPerPage[i]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22693 dropdown.setEntry(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22694 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22695 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22696 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22697 dropdown.div.title = GeoTemConfig.getString('paginationDropdownHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22698 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22699 this.input = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22700 this.input.style.overflow = 'auto'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22701 this.tableDiv.appendChild(this.input); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22702 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22703 this.elementList = document.createElement("table"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22704 this.elementList.setAttribute('class', 'resultList'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22705 this.input.appendChild(this.elementList); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22706 var height = this.parent.getHeight(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22707 if (height) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22708 this.input.style.height = (height - pagination.offsetHeight) + 'px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22709 this.input.style.overflowY = 'auto'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22710 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22711 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22712 this.elementListHeader = document.createElement("tr"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22713 this.elementList.appendChild(this.elementListHeader); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22714 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22715 if (GeoTemConfig.allowFilter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22716 var cell = document.createElement('th'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22717 this.elementListHeader.appendChild(cell); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22718 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22719 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22720 if ( typeof (this.elements[0]) == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22721 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22722 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22723 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22724 var ascButtons = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22725 var descButtons = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22726 var clearButtons = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22727 for (var i in ascButtons ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22728 ascButtons[i].setAttribute('class', 'sort sortAscDeactive'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22729 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22730 for (var i in descButtons ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22731 descButtons[i].setAttribute('class', 'sort sortDescDeactive'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22732 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22733 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22734 var addSortButton = function(key) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22735 table.keyHeaderList.push(key); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22736 var cell = document.createElement('th'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22737 table.elementListHeader.appendChild(cell); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22738 var sortAsc = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22739 var sortDesc = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22740 var span = document.createElement('div'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22741 span.setAttribute('class', 'headerLabel'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22742 span.innerHTML = key; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22743 cell.appendChild(sortDesc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22744 cell.appendChild(span); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22745 cell.appendChild(sortAsc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22746 sortAsc.setAttribute('class', 'sort sortAscDeactive'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22747 sortAsc.title = GeoTemConfig.getString('sortAZHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22748 sortDesc.setAttribute('class', 'sort sortDescDeactive'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22749 sortDesc.title = GeoTemConfig.getString('sortZAHelp'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22750 ascButtons.push(sortAsc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22751 descButtons.push(sortDesc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22752 sortAsc.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22753 clearButtons(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22754 sortAsc.setAttribute('class', 'sort sortAscActive'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22755 table.sortAscending(key); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22756 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22757 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22758 sortDesc.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22759 clearButtons(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22760 sortDesc.setAttribute('class', 'sort sortDescActive'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22761 table.sortDescending(key); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22762 table.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22763 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22764 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22765 for (var key in this.elements[0].object.tableContent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22766 addSortButton(key); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22767 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22768 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22769 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22770 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22771 sortAscending : function(key) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22772 var sortFunction = function(e1, e2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22773 if (e1.object.tableContent[key] < e2.object.tableContent[key]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22774 return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22775 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22776 return 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22777 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22778 this.elements.sort(sortFunction); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22779 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22780 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22781 sortDescending : function(key) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22782 var sortFunction = function(e1, e2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22783 if (e1.object.tableContent[key] > e2.object.tableContent[key]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22784 return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22785 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22786 return 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22787 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22788 this.elements.sort(sortFunction); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22789 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22790 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22791 setPagesText : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22792 var infoText = GeoTemConfig.getString('pageInfo'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22793 infoText = infoText.replace('PAGES_ID', this.pages); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22794 infoText = infoText.replace('PAGE_ID', this.page + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22795 this.pageInfo.innerHTML = infoText; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22796 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22797 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22798 setResultsText : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22799 if (this.elements.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22800 this.resultsInfo.innerHTML = '0 Results'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22801 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22802 var infoText = GeoTemConfig.getString('resultsInfo'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22803 var first = this.page * this.resultsPerPage + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22804 var last = (this.page + 1 == this.pages ) ? this.showElementsLength : first + this.resultsPerPage - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22805 infoText = infoText.replace('RESULTS_FROM_ID', first); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22806 infoText = infoText.replace('RESULTS_TO_ID', last); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22807 infoText = infoText.replace('RESULTS_ID', this.showElementsLength); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22808 this.resultsInfo.innerHTML = infoText; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22809 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22810 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22811 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22812 updateIndices : function(rpp) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22813 if ( typeof this.resultsPerPage == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22814 this.page = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22815 this.resultsPerPage = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22816 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22817 var index = this.page * this.resultsPerPage; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22818 this.resultsPerPage = rpp; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22819 if (this.showSelectedItems) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22820 index = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22821 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22822 this.pages = Math.floor(this.showElementsLength / this.resultsPerPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22823 if (this.showElementsLength % this.resultsPerPage != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22824 this.pages++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22825 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22826 this.page = Math.floor(index / this.resultsPerPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22827 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22828 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22829 update : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22830 var table = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22831 $(this.elementList).find("tr:gt(0)").remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22832 if (this.page == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22833 this.previousPage.setAttribute('class', 'paginationButton previousPageDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22834 this.firstPage.setAttribute('class', 'paginationButton firstPageDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22835 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22836 this.previousPage.setAttribute('class', 'paginationButton previousPageEnabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22837 this.firstPage.setAttribute('class', 'paginationButton firstPageEnabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22838 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22839 if (this.page == this.pages - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22840 this.nextPage.setAttribute('class', 'paginationButton nextPageDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22841 this.lastPage.setAttribute('class', 'paginationButton lastPageDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22842 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22843 this.nextPage.setAttribute('class', 'paginationButton nextPageEnabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22844 this.lastPage.setAttribute('class', 'paginationButton lastPageEnabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22845 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22846 this.setPagesText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22847 this.setResultsText(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22848 if (this.showSelectedItems) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22849 var start = this.page * this.resultsPerPage; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22850 var items = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22851 for (var i = 0; i < this.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22852 if (items == start) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22853 this.first = i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22854 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22855 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22856 if (this.elements[i].selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22857 items++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22858 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22859 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22860 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22861 this.first = this.page * this.resultsPerPage; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22862 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22863 //this.last = ( this.page + 1 == this.pages ) ? this.elements.length : this.first + this.resultsPerPage; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22864 var c = GeoTemConfig.getColor(this.id); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22865 var itemSet = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22866 var clearDivs = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22867 for (var i = 0; i < itemSet.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22868 if (!itemSet[i].e.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22869 itemSet[i].e.highlighted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22870 $(itemSet[i].div).css('background-color', table.options.unselectedCellColor); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22871 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22872 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22873 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22874 var setHighlight = function(item, div) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22875 var enter = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22876 clearDivs(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22877 if (!item.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22878 item.highlighted = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22879 $(div).css('background-color', 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22880 table.parent.triggerHighlight(item.object); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22881 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22882 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22883 var leave = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22884 clearDivs(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22885 if (!item.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22886 table.parent.triggerHighlight(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22887 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22888 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22889 $(div).hover(enter, leave); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22890 $(div).mousemove(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22891 if (!item.selected && !item.highlighted) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22892 item.highlighted = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22893 $(div).css('background-color', 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22894 table.parent.triggerHighlight(item.object); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22895 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22896 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22897 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22898 var setSelection = function(item, div, checkbox) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22899 var click = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22900 var checked = $(checkbox).is(':checked'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22901 if (checked) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22902 item.selected = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22903 item.highlighted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22904 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22905 item.selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22906 item.highlighted = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22907 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22908 //if( e.target == div ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22909 // $(checkbox).attr('checked', !checked); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22910 //} |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22911 table.parent.tableSelection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22912 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22913 //$(div).click(click); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22914 $(checkbox).click(click); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22915 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22916 this.checkboxes = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22917 var items = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22918 for (var i = this.first; i < this.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22919 var e = this.elements[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22920 //vhz because of an error |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22921 if ( typeof (e) == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22922 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22923 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22924 if (this.showSelectedItems && !e.selected) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22925 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22926 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22927 var itemRow = $("<tr/>").appendTo(this.elementList); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22928 if (GeoTemConfig.allowFilter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22929 var checkColumn = $("<td/>").appendTo(itemRow); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22930 var checkbox = $("<input type='checkbox'/>").appendTo(checkColumn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22931 $(checkbox).attr('checked', e.selected); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22932 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22933 var makeSubtext = function(cell, text) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22934 var subtext = text.substring(0, table.options.tableContentOffset); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22935 subtext = subtext.substring(0, subtext.lastIndexOf(' ')); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22936 subtext += ' ... '; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22937 var textDiv = $("<div style='display:inline-block;'/>").appendTo(cell); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22938 $(textDiv).html(subtext); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22939 var show = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22940 var fullDiv = $("<div style='display:inline-block;'><a href='javascript:void(0)'>\>\></a></div>").appendTo(cell); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22941 $(fullDiv).click(function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22942 show = !show; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22943 if (show) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22944 $(textDiv).html(text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22945 $(fullDiv).html('<a href="javascript:void(0)">\<\<</a>'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22946 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22947 $(textDiv).html(subtext); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22948 $(fullDiv).html('<a href="javascript:void(0)">\>\></a>'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22949 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22950 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22951 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22952 for (var k = 0; k < table.keyHeaderList.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22953 var key = table.keyHeaderList[k]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22954 //vhz |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22955 var text = e.object.tableContent[key]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22956 var cell = $("<td/>").appendTo(itemRow); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22957 if (table.options.tableContentOffset && text.length < table.options.tableContentOffset) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22958 $(cell).html(text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22959 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22960 makeSubtext(cell, text); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22961 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22962 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22963 if (e.selected || e.highlighted) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22964 $(itemRow).css('background-color', 'rgb(' + c.r0 + ',' + c.g0 + ',' + c.b0 + ')'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22965 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22966 $(itemRow).css('background-color', table.options.unselectedCellColor); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22967 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22968 itemSet.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22969 e : e, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22970 div : itemRow |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22971 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22972 setHighlight(e, itemRow); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22973 if (GeoTemConfig.allowFilter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22974 setSelection(e, itemRow, checkbox); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22975 this.checkboxes.push(checkbox); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22976 $(checkColumn).css('text-align', 'center'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22977 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22978 items++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22979 if (items == this.resultsPerPage) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22980 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22981 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22982 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22983 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22984 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22985 show : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22986 if (GeoTemConfig.allowFilter) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22987 this.parent.filterBar.appendTo(this.selectors); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22988 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22989 this.tableDiv.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22990 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22991 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22992 hide : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22993 this.tableDiv.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22994 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22995 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22996 resetElements : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22997 for (var i = 0; i < this.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22998 this.elements[i].selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22999 this.elements[i].highlighted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23000 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23001 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23002 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23003 reset : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23004 this.showSelectedItems = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23005 this.showElementsLength = this.elements.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23006 this.showSelected.setAttribute('class', 'smallButton showSelected'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23007 this.updateIndices(this.resultsPerPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23008 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23009 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23010 initialize : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23011 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23012 this.tableDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23013 this.tableDiv.setAttribute('class', 'singleTable'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23014 this.parent.gui.input.appendChild(this.tableDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23015 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23016 this.initToolbar(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23017 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23018 this.tableDiv.style.display = 'none'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23019 this.updateIndices(this.options.initialResultsPerPage); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23020 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23021 this.update(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23022 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23023 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23024 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23025 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23026 function TableElement(object) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23027 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23028 this.object = object; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23029 this.selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23030 this.highlighted = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23031 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23032 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23033 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23034 * DataObject.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23035 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23036 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23037 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23038 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23039 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23040 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23041 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23042 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23043 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23044 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23045 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23046 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23047 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23048 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23049 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23050 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23051 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23052 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23053 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23054 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23055 * @class DataObject |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23056 * GeoTemCo's data object class |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23057 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23058 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23059 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23060 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23061 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23062 * @param {String} name name of the data object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23063 * @param {String} description description of the data object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23064 * @param {JSON} locations a list of locations with longitude, latitide and place name |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23065 * @param {JSON} dates a list of dates |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23066 * @param {float} lon longitude value of the given place |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23067 * @param {float} lat latitude value of the given place |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23068 * @param {Date} timeStart start time of the data object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23069 * @param {Date} timeEnd end time of the data object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23070 * @param {int} granularity granularity of the given time |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23071 * @param {int} weight weight of the time object |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23072 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23073 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23074 function DataObject(name, description, locations, dates, weight, tableContent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23075 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23076 this.name = name; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23077 this.description = description; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23078 this.weight = weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23079 this.tableContent = tableContent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23080 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23081 this.percentage = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23082 this.setPercentage = function(percentage) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23083 this.percentage = percentage; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23084 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23085 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23086 this.locations = locations; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23087 this.isGeospatial = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23088 if (this.locations.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23089 this.isGeospatial = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23090 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23091 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23092 this.placeDetails = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23093 for (var i = 0; i < this.locations.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23094 this.placeDetails.push(this.locations[i].place.split("/")); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23095 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23096 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23097 this.getLatitude = function(locationId) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23098 return this.locations[locationId].latitude; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23099 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23100 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23101 this.getLongitude = function(locationId) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23102 return this.locations[locationId].longitude; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23103 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23104 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23105 this.getPlace = function(locationId, level) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23106 if (level >= this.placeDetails[locationId].length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23107 return this.placeDetails[locationId][this.placeDetails[locationId].length - 1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23108 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23109 return this.placeDetails[locationId][level]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23110 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23111 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23112 this.dates = dates; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23113 this.isTemporal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23114 if (this.dates.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23115 this.isTemporal = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23116 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23117 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23118 this.getDate = function(dateId) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23119 return this.dates[dateId].date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23120 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23121 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23122 this.getTimeGranularity = function(dateId) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23123 return this.dates[dateId].granularity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23124 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23125 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23126 this.setIndex = function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23127 this.index = index; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23128 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23129 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23130 this.getTimeString = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23131 if (this.timeStart != this.timeEnd) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23132 return (SimileAjax.DateTime.getTimeString(this.granularity, this.timeStart) + " - " + SimileAjax.DateTime.getTimeString(this.granularity, this.timeEnd)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23133 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23134 return SimileAjax.DateTime.getTimeString(this.granularity, this.timeStart) + ""; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23135 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23136 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23137 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23138 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23139 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23140 * Dataset.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23141 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23142 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23143 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23144 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23145 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23146 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23147 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23148 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23149 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23150 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23151 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23152 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23153 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23154 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23155 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23156 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23157 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23158 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23159 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23160 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23161 * @class Dataset |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23162 * GeoTemCo's Dataset class |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23163 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23164 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23165 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23166 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23167 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23168 * @param {Array} objects data item arrays from different datasets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23169 * @param {String} label label for the datasets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23170 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23171 function Dataset(objects, label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23172 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23173 this.objects = objects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23174 this.label = label; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23175 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23176 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23177 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23178 * TimeDataSource.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23179 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23180 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23181 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23182 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23183 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23184 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23185 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23186 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23187 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23188 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23189 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23190 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23191 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23192 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23193 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23194 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23195 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23196 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23197 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23198 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23199 * @class TimeDataSource, TimeSlice, TimeStack |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23200 * implementation for aggregation of time items |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23201 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23202 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23203 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23204 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23205 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23206 * @param {JSON} options time configuration |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23207 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23208 function TimeDataSource(options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23209 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23210 this.options = options; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23211 this.timeSlices = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23212 this.unit |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23213 this.minDate |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23214 this.maxDate |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23215 this.eventSources |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23216 this.events |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23217 this.leftSlice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23218 this.rightSlice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23219 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23220 this.hashMapping |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23221 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23222 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23223 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23224 TimeDataSource.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23225 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23226 findTimeUnits : function(granularity, timeUnit, pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23227 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23228 var time = SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23229 this.availableUnits = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23230 var givenUnits = SimileAjax.DateTime.gregorianUnitLengths; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23231 for (var i = 0; i < givenUnits.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23232 if (granularity > i) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23233 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23234 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23235 var slices = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23236 var t = new Date(this.minDate.getTime()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23237 do { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23238 time.roundDownToInterval(t, i, undefined, 1, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23239 slices++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23240 time.incrementByInterval(t, i, undefined); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23241 } while( t.getTime() <= this.maxDate.getTime() && slices < pixels+2 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23242 if (slices > 0 && slices <= pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23243 this.availableUnits.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23244 unit : i, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23245 slices : slices, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23246 label : SimileAjax.DateTime.Strings[GeoTemConfig.language][i] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23247 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23248 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23249 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23250 var unitDiff200 = pixels + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23251 for (var i = 0; i < this.availableUnits.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23252 var diff = Math.abs(this.availableUnits[i].slices - 200); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23253 if (diff < unitDiff200) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23254 unitDiff200 = diff; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23255 this.unit = this.availableUnits[i].unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23256 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23257 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23258 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23259 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23260 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23261 getUnitIndex : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23262 for (var i = 0; i < this.availableUnits.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23263 if (this.unit == this.availableUnits[i].unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23264 return i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23265 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23266 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23267 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23268 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23269 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23270 setTimeUnit : function(unit) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23271 this.unit = unit; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23272 this.initializeSlices(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23273 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23274 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23275 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23276 * initializes the TimeDataSource |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23277 * @param {Timeplot.ColumnSource[]} dataSources the column sources corresponding to the data sets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23278 * @param {Timeplot.DefaultEventSource[]} eventSources the event sources corresponding to the column sources |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23279 * @param {TimeObject[][]} timeObjects an array of time objects of different sets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23280 * @param {SimileAjax.DateTime} granularity the time granularity of the given data |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23281 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23282 initialize : function(dataSources, eventSources, timeObjects, granularity, timeUnit, pixels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23283 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23284 this.dataSources = dataSources; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23285 this.eventSources = eventSources; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23286 this.timeObjects = timeObjects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23287 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23288 this.minDate = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23289 this.maxDate = undefined; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23290 this.hashMapping = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23291 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23292 for (var i = 0; i < timeObjects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23293 this.hashMapping.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23294 for (var j = 0; j < timeObjects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23295 var o = timeObjects[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23296 if (o.isTemporal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23297 var g = o.dates[this.options.timeIndex].granularity; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23298 //o.getTimeGranularity(this.options.timeIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23299 if (g == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23300 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23301 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23302 var time = o.dates[this.options.timeIndex].date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23303 //o.getDate(this.options.timeIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23304 if (this.minDate == undefined || time.getTime() < this.minDate.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23305 this.minDate = time; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23306 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23307 if (this.maxDate == undefined || time.getTime() > this.maxDate.getTime()) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23308 this.maxDate = time; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23309 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23310 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23311 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23312 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23313 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23314 if (this.minDate == undefined) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23315 this.minDate = this.options.defaultMinDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23316 this.maxDate = this.options.defaultMaxDate; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23317 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23318 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23319 this.findTimeUnits(granularity, timeUnit, pixels); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23320 this.initializeSlices(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23321 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23322 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23323 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23324 initializeSlices : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23325 for (var i = 0; i < this.dataSources.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23326 this.dataSources[i]._range = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23327 earliestDate : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23328 latestDate : null, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23329 min : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23330 max : 0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23331 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23332 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23333 this.timeSlices = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23334 var time = SimileAjax.DateTime; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23335 var t = new Date(this.minDate.getTime() - 0.9 * time.gregorianUnitLengths[this.unit]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23336 do { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23337 time.roundDownToInterval(t, this.unit, undefined, 1, 0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23338 var slice = new TimeSlice(SimileAjax.NativeDateUnit.cloneValue(t), this.timeObjects.length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23339 this.timeSlices.push(slice); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23340 time.incrementByInterval(t, this.unit, undefined); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23341 } while (t.getTime() <= this.maxDate.getTime() + 1.1 * time.gregorianUnitLengths[this.unit]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23342 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23343 for (var i = 0; i < this.timeObjects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23344 for (var j = 0; j < this.timeObjects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23345 var o = this.timeObjects[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23346 if (o.isTemporal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23347 var date = o.dates[this.options.timeIndex].date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23348 //o.getDate(this.options.timeIndex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23349 for (var k = 0; k < this.timeSlices.length - 1; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23350 var t1 = this.timeSlices[k].date.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23351 var t2 = this.timeSlices[k + 1].date.getTime(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23352 var stack = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23353 if (date >= t1 && date < t2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23354 stack = this.timeSlices[k].getStack(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23355 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23356 if (k == this.timeSlices.length - 2 && date >= t2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23357 stack = this.timeSlices[k + 1].getStack(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23358 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23359 if (stack != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23360 stack.addObject(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23361 this.hashMapping[i][o.index] = stack; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23362 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23363 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23364 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23365 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23366 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23367 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23369 this.events = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23370 for (var i = 0; i < this.eventSources.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23371 var eventSet = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23372 for (var j = 0; j < this.timeSlices.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23373 var value = new Array("" + this.timeSlices[j].stacks[i].value); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23374 eventSet.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23375 date : this.timeSlices[j].date, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23376 value : value |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23377 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23378 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23379 this.eventSources[i].loadData(eventSet); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23380 this.events.push(eventSet); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23381 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23382 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23383 this.leftSlice = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23384 this.rightSlice = this.timeSlices.length - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23385 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23386 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23387 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23388 getSliceNumber : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23389 return this.timeSlices.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23390 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23391 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23392 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23393 * computes the slice index corresponding to a given time |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23394 * @param {Date} time the given time |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23395 * @return the corresponding slice index |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23396 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23397 getSliceIndex : function(time) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23398 for (var i = 0; i < this.timeSlices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23399 if (time == this.timeSlices[i].date) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23400 return i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23401 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23402 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23403 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23404 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23405 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23406 * returns the time of a specific time slice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23407 * @param {int} time the given slice index |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23408 * @return the corresponding slice date |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23409 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23410 getSliceTime : function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23411 return this.timeSlices[index].date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23412 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23413 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23414 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23415 * shifts the actual zoomed range |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23416 * @param {int} delta the value to shift (negative for left shift, positive for right shift) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23417 * @return boolean value, if the range could be shifted |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23418 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23419 setShift : function(delta) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23420 if (delta == 1 && this.leftSlice != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23421 this.leftSlice--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23422 this.rightSlice--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23423 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23424 } else if (delta == -1 && this.rightSlice != this.timeSlices.length - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23425 this.leftSlice++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23426 this.rightSlice++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23427 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23428 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23429 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23430 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23431 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23432 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23433 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23434 * zooms the actual range |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23435 * @param {int} delta the value to zoom (negative for zoom out, positive for zoom in) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23436 * @param {Date} time the corresponding time of the actual mouse position on the plot |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23437 * @param {Date} leftTime the time of the left border of a selected timerange or null |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23438 * @param {Date} rightTime the time of the right border of a selected timerange or null |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23439 * @return boolean value, if the range could be zoomed |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23440 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23441 setZoom : function(delta, time, leftTime, rightTime) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23442 var n1 = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23443 var n2 = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23444 var m = -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23445 if (delta > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23446 m = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23447 if (leftTime != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23448 n1 = this.getSliceIndex(leftTime) - this.leftSlice; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23449 n2 = this.rightSlice - this.getSliceIndex(rightTime); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23450 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23451 slice = this.getSliceIndex(time); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23452 if (slice == this.leftSlice || slice == this.rightSlice) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23453 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23454 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23455 n1 = slice - 1 - this.leftSlice; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23456 n2 = this.rightSlice - slice - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23457 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23458 } else if (delta < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23459 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23460 n1 = this.leftSlice; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23461 n2 = this.timeSlices.length - 1 - this.rightSlice; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23462 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23463 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23464 var zoomSlices = 2 * delta; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23465 if (Math.abs(n1 + n2) < Math.abs(zoomSlices)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23466 zoomSlices = n1 + n2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23467 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23468 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23469 if (n1 + n2 == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23470 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23471 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23472 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23473 var m1 = Math.round(n1 / (n1 + n2) * zoomSlices); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23474 var m2 = zoomSlices - m1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23475 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23476 this.leftSlice += m1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23477 this.rightSlice -= m2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23478 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23479 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23480 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23481 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23482 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23483 * resets the plots by loading data of actual zoomed range |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23484 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23485 reset : function(timeGeometry) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23486 for (var i = 0; i < this.eventSources.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23487 this.eventSources[i].loadData(this.events[i].slice(this.leftSlice, this.rightSlice + 1)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23488 if (i + 1 < this.eventSources.length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23489 timeGeometry._earliestDate = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23490 timeGeometry._latestDate = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23491 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23492 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23493 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23494 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23495 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23496 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23497 * Getter for actual zoom |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23498 * @return actual zoom value |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23499 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23500 getZoom : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23501 if (this.timeSlices == undefined) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23502 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23503 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23504 return Math.round((this.timeSlices.length - 3) / 2) - Math.round((this.rightSlice - this.leftSlice - 2) / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23505 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23506 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23507 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23508 * Getter for date of the first timeslice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23509 * @return date of the first timeslice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23510 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23511 earliest : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23512 return this.timeSlices[0].date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23513 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23514 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23515 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23516 * Getter for date of the last timeslice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23517 * @return date of the last timeslice |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23518 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23519 latest : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23520 return this.timeSlices[this.timeSlices.length - 1].date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23521 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23522 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23523 setOverlay : function(timeObjects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23524 for (var i = 0; i < this.timeSlices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23525 this.timeSlices[i].reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23526 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23527 for (var j in timeObjects ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23528 for (var k in timeObjects[j] ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23529 var o = timeObjects[j][k]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23530 if (o.isTemporal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23531 if (o.getTimeGranularity(this.options.timeIndex) == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23532 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23533 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23534 this.hashMapping[j][o.index].overlay += o.weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23535 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23536 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23537 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23538 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23539 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23540 size : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23541 if (this.timeSlices.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23542 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23543 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23544 return this.timeSlices[0].stacks.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23545 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23546 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23547 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23548 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23549 * small class that represents a time slice of the actual timeplot. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23550 * it has a specific date and contains its corrsponding data objects as well |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23551 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23552 function TimeSlice(date, rows) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23553 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23554 this.date = date; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23555 this.selected = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23556 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23557 this.stacks = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23558 for (var i = 0; i < rows; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23559 this.stacks.push(new TimeStack()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23560 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23561 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23562 this.getStack = function(row) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23563 return this.stacks[row]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23564 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23565 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23566 this.reset = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23567 for (var i in this.stacks ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23568 this.stacks[i].overlay = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23569 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23570 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23571 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23572 this.overlay = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23573 var value = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23574 for (var i in this.stacks ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23575 if (this.stacks[i].overlay > value) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23576 value = this.stacks[i].overlay; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23577 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23578 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23579 return value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23580 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23581 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23582 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23583 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23584 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23585 * small class that represents a stack for a time slice which |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23586 * holds items for different datasets for the specific time range |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23587 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23588 function TimeStack() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23589 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23590 this.overlay = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23591 this.value = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23592 this.elements = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23593 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23594 this.addObject = function(object) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23595 this.elements.push(object); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23596 this.value += object.weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23597 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23598 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23599 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23600 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23601 * Binning.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23602 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23603 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23604 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23605 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23606 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23607 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23608 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23609 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23610 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23611 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23612 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23613 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23614 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23615 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23616 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23617 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23618 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23619 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23620 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23621 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23622 * @class Binning |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23623 * Calculates map aggregation with several binning algorithms |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23624 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23625 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23626 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23627 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23628 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23629 Binning = function(map, options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23630 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23631 this.map = map; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23632 this.options = options; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23633 this.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23634 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23635 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23636 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23637 Binning.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23638 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23639 getSet : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23640 var type = this.options.binning; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23641 if (!type) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23642 return this.getExactBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23643 } else if (type == 'generic') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23644 return this.getGenericBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23645 } else if (type == 'square') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23646 return this.getSquareBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23647 } else if (type == 'hexagonal') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23648 return this.getHexagonalBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23649 } else if (type == 'triangular') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23650 return this.getTriangularBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23651 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23652 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23653 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23654 getExactBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23655 if ( typeof this.binnings['exact'] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23656 this.exactBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23657 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23658 return this.binnings['exact']; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23659 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23660 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23661 getGenericBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23662 if ( typeof this.binnings['generic'] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23663 this.genericBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23664 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23665 return this.binnings['generic']; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23666 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23667 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23668 getSquareBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23669 if ( typeof this.binnings['square'] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23670 this.squareBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23671 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23672 return this.binnings['square']; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23673 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23674 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23675 getHexagonalBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23676 if ( typeof this.binnings['hexagonal'] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23677 this.hexagonalBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23678 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23679 return this.binnings['hexagonal']; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23680 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23681 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23682 getTriangularBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23683 if ( typeof this.binnings['triangular'] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23684 this.triangularBinning(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23685 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23686 return this.binnings['triangular']; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23687 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23688 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23689 reset : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23690 this.zoomLevels = this.map.getNumZoomLevels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23691 this.binnings = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23692 this.minimumRadius = this.options.minimumRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23693 this.maximumRadius = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23694 this.maximumPoints = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23695 this.minArea = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23696 this.maxArea = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23697 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23698 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23699 getMaxRadius : function(size) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23700 return 4 * Math.log(size) / Math.log(2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23701 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23702 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23703 setObjects : function(objects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23704 this.objects = objects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23705 for (var i = 0; i < this.objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23706 var weight = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23707 for (var j = 0; j < this.objects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23708 if (this.objects[i][j].isGeospatial) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23709 weight += this.objects[i][j].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23710 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23711 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23712 var r = this.getMaxRadius(weight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23713 if (r > this.maximumRadius) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23714 this.maximumRadius = r; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23715 this.maximumPoints = weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23716 this.maxArea = Math.PI * this.maximumRadius * this.maximumRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23717 this.minArea = Math.PI * this.minimumRadius * this.minimumRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23718 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23719 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23720 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23721 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23722 dist : function(x1, y1, x2, y2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23723 return Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23724 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23725 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23726 exactBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23727 var circleSets = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23728 var hashMaps = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23729 var selectionHashs = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23730 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23731 var circleAggregates = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23732 var bins = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23733 for (var i = 0; i < this.objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23734 bins.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23735 circleAggregates.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23736 for (var j = 0; j < this.objects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23737 var o = this.objects[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23738 if (o.isGeospatial) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23739 if ( typeof circleAggregates[i]['' + o.getLongitude(this.options.mapIndex)] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23740 circleAggregates[i]['' + o.getLongitude(this.options.mapIndex)] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23741 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23742 if ( typeof circleAggregates[i][''+o.getLongitude(this.options.mapIndex)]['' + o.getLatitude(this.options.mapIndex)] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23743 circleAggregates[i][''+o.getLongitude(this.options.mapIndex)]['' + o.getLatitude(this.options.mapIndex)] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23744 bins[i].push(circleAggregates[i][''+o.getLongitude(this.options.mapIndex)]['' + o.getLatitude(this.options.mapIndex)]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23745 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23746 circleAggregates[i][''+o.getLongitude(this.options.mapIndex)]['' + o.getLatitude(this.options.mapIndex)].push(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23747 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23748 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23749 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23750 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23751 var circles = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23752 var hashMap = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23753 var selectionMap = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23754 for (var i = 0; i < bins.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23755 circles.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23756 hashMap.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23757 selectionMap.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23758 for (var j = 0; j < bins[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23759 var bin = bins[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23760 var p = new OpenLayers.Geometry.Point(bin[0].getLongitude(this.options.mapIndex), bin[0].getLatitude(this.options.mapIndex), null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23761 p.transform(this.map.displayProjection, this.map.projection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23762 var weight = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23763 for (var z = 0; z < bin.length; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23764 weight += bin[z].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23765 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23766 var radius = this.options.minimumRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23767 if (this.options.noBinningRadii == 'dynamic') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23768 radius = this.getRadius(weight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23769 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23770 var circle = new CircleObject(p.x, p.y, 0, 0, bin, radius, i, weight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23771 circles[i].push(circle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23772 for (var z = 0; z < bin.length; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23773 hashMap[i][bin[z].index] = circle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23774 selectionMap[i][bin[z].index] = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23775 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23776 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23777 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23778 for (var k = 0; k < this.zoomLevels; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23779 circleSets.push(circles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23780 hashMaps.push(hashMap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23781 selectionHashs.push(selectionMap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23782 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23783 this.binnings['exact'] = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23784 circleSets : circleSets, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23785 hashMaps : hashMaps, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23786 selectionHashs : selectionHashs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23787 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23788 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23789 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23790 genericClustering : function(objects, id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23791 var binSets = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23792 var circleSets = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23793 var hashMaps = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23794 var selectionHashs = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23795 var clustering = new Clustering(-20037508.34, -20037508.34, 20037508.34, 20037508.34); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23796 for (var i = 0; i < objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23797 for (var j = 0; j < objects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23798 var o = objects[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23799 if (o.isGeospatial) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23800 var p = new OpenLayers.Geometry.Point(o.getLongitude(this.options.mapIndex), o.getLatitude(this.options.mapIndex), null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23801 p.transform(this.map.displayProjection, this.map.projection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23802 var point = new Vertex(Math.floor(p.x), Math.floor(p.y), objects.length, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23803 point.addElement(o, o.weight, i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23804 clustering.add(point); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23805 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23806 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23807 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23808 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23809 for (var i = 0; i < this.zoomLevels; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23810 var bins = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23811 var circles = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23812 var hashMap = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23813 var selectionMap = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23814 for (var j = 0; j < objects.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23815 circles.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23816 hashMap.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23817 selectionMap.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23818 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23819 var resolution = this.map.getResolutionForZoom(this.zoomLevels - i - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23820 clustering.mergeForResolution(resolution, this.options.circleGap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23821 for (var j = 0; j < clustering.vertices.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23822 var point = clustering.vertices[j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23823 if (!point.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23824 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23825 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23826 var balls = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23827 for (var k = 0; k < point.elements.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23828 if (point.elements[k].length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23829 balls.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23830 search : k, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23831 elements : point.elements[k], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23832 radius : point.radii[k], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23833 weight : point.weights[k] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23834 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23835 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23836 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23837 var orderBalls = function(b1, b2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23838 if (b1.radius > b2.radius) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23839 return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23840 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23841 if (b2.radius > b1.radius) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23842 return 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23843 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23844 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23845 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23846 var fatherBin = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23847 circles : [], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23848 length : 0, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23849 radius : point.radius / resolution, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23850 x : point.x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23851 y : point.y |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23852 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23853 for (var k = 0; k < objects.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23854 fatherBin.circles.push(false); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23855 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23856 var createCircle = function(sx, sy, ball) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23857 var index = id || ball.search; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23858 var circle = new CircleObject(point.x, point.y, sx, sy, ball.elements, ball.radius, index, ball.weight, fatherBin); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23859 circles[ball.search].push(circle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23860 fatherBin.circles[index] = circle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23861 fatherBin.length++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23862 for (var k = 0; k < ball.elements.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23863 hashMap[ball.search][ball.elements[k].index] = circle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23864 selectionMap[ball.search][ball.elements[k].index] = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23865 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23866 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23867 if (balls.length == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23868 createCircle(0, 0, balls[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23869 } else if (balls.length == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23870 var r1 = balls[0].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23871 var r2 = balls[1].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23872 createCircle(-1 * r2, 0, balls[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23873 createCircle(r1, 0, balls[1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23874 } else if (balls.length == 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23875 balls.sort(orderBalls); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23876 var r1 = balls[0].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23877 var r2 = balls[1].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23878 var r3 = balls[2].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23879 var d = ((2 / 3 * Math.sqrt(3) - 1) / 2) * r2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23880 var delta1 = point.radius / resolution - r1 - d; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23881 var delta2 = r1 - delta1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23882 createCircle(-delta1, 0, balls[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23883 createCircle(delta2 + r2 - 3 * d, r2, balls[1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23884 createCircle(delta2 + r3 - (3 * d * r3 / r2), -1 * r3, balls[2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23885 } else if (balls.length == 4) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23886 balls.sort(orderBalls); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23887 var r1 = balls[0].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23888 var r2 = balls[1].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23889 var r3 = balls[2].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23890 var r4 = balls[3].radius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23891 var d = (Math.sqrt(2) - 1) * r2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23892 createCircle(-1 * d - r2, 0, balls[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23893 createCircle(r1 - r2, -1 * d - r4, balls[3]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23894 createCircle(r1 - r2, d + r3, balls[2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23895 createCircle(d + r1, 0, balls[1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23896 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23897 if (fatherBin.length > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23898 bins.push(fatherBin); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23899 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23900 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23901 circleSets.push(circles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23902 binSets.push(bins); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23903 hashMaps.push(hashMap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23904 selectionHashs.push(selectionMap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23905 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23906 circleSets.reverse(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23907 binSets.reverse(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23908 hashMaps.reverse(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23909 selectionHashs.reverse(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23910 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23911 circleSets : circleSets, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23912 binSets : binSets, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23913 hashMaps : hashMaps, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23914 selectionHashs : selectionHashs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23915 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23916 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23917 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23918 genericBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23919 if (this.options.circlePackings || this.objects.length == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23920 this.binnings['generic'] = this.genericClustering(this.objects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23921 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23922 var circleSets = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23923 var hashMaps = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23924 var selectionHashs = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23925 for (var i = 0; i < this.objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23926 var sets = this.genericClustering([this.objects[i]], i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23927 if (i == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23928 circleSets = sets.circleSets; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23929 hashMaps = sets.hashMaps; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23930 selectionHashs = sets.selectionHashs; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23931 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23932 for (var j = 0; j < circleSets.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23933 circleSets[j] = circleSets[j].concat(sets.circleSets[j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23934 hashMaps[j] = hashMaps[j].concat(sets.hashMaps[j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23935 selectionHashs[j] = selectionHashs[j].concat(sets.selectionHashs[j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23936 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23937 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23938 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23939 this.binnings['generic'] = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23940 circleSets : circleSets, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23941 hashMaps : hashMaps, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23942 selectionHashs : selectionHashs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23943 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23944 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23945 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23946 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23947 getRadius : function(n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23948 if (n == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23949 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23950 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23951 if (n == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23952 return this.minimumRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23953 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23954 return Math.sqrt((this.minArea + (this.maxArea - this.minArea) / (this.maximumPoints - 1) * (n - 1) ) / Math.PI); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23955 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23956 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23957 getBinRadius : function(n, r_max, N) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23958 if (n == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23959 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23960 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23961 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23962 function log2(x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23963 return (Math.log(x)) / (Math.log(2)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23964 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23965 var r0 = this.options.minimumRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23966 var r; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23967 if ( typeof r_max == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23968 return r0 + n / Math.sqrt(this.options.maximumPoints); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23969 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23970 return r0 + (r_max - r0 ) * log2(n) / log2(N); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23971 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23972 var minArea = Math.PI * this.options.minimumRadius * this.options.minimumRadius; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23973 var maxArea = Math.PI * r_max * r_max; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23974 return Math.sqrt((minArea + (maxArea - minArea) / (N - 1) * (n - 1) ) / Math.PI); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23975 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23976 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23977 shift : function(type, bin, radius, elements) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23978 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23979 var x1 = bin.x, x2 = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23980 var y1 = bin.y, y2 = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23981 for (var i = 0; i < elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23982 x2 += elements[i].x / elements.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23983 y2 += elements[i].y / elements.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23984 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23985 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23986 var sx = 0, sy = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23987 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23988 if (type == 'square') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23989 var dx = Math.abs(x2 - x1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23990 var dy = Math.abs(y2 - y1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23991 var m = dy / dx; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23992 var n = y1 - m * x1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23993 if (dx > dy) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23994 sx = bin.x - (x1 + bin.r - radius ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23995 sy = bin.y - (m * bin.x + n ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23996 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23997 sy = bin.y - (y1 + bin.r - radius ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23998 sx = bin.x - (bin.y - n) / m; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23999 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24000 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24001 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24002 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24003 x : sx, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24004 y : sy |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24005 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24006 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24007 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24008 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24009 binSize : function(elements) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24010 var size = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24011 for (var i in elements ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24012 size += elements[i].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24013 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24014 return size; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24015 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24016 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24017 setCircleSet : function(id, binData) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24018 var circleSets = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24019 var hashMaps = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24020 var selectionHashs = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24021 for (var i = 0; i < binData.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24022 var circles = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24023 var hashMap = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24024 var selectionMap = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24025 for (var j = 0; j < this.objects.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24026 circles.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24027 hashMap.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24028 selectionMap.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24029 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24030 var points = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24031 var max = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24032 var radius = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24033 var resolution = this.map.getResolutionForZoom(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24034 for (var j = 0; j < binData[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24035 for (var k = 0; k < binData[i][j].bin.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24036 var bs = this.binSize(binData[i][j].bin[k]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24037 if (bs > max) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24038 max = bs; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24039 radius = binData[i][j].r / resolution; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24040 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24041 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24042 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24043 for (var j = 0; j < binData[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24044 var bin = binData[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24045 for (var k = 0; k < bin.bin.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24046 if (bin.bin[k].length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24047 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24048 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24049 var weight = this.binSize(bin.bin[k]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24050 var r = this.getBinRadius(weight, radius, max); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24051 var shift = this.shift(id, bin, r * resolution, bin.bin[k], i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24052 var circle = new CircleObject(bin.x - shift.x, bin.y - shift.y, 0, 0, bin.bin[k], r, k, weight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24053 circles[k].push(circle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24054 for (var z = 0; z < bin.bin[k].length; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24055 hashMap[k][bin.bin[k][z].index] = circle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24056 selectionMap[k][bin.bin[k][z].index] = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24057 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24058 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24059 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24060 circleSets.push(circles); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24061 hashMaps.push(hashMap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24062 selectionHashs.push(selectionMap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24063 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24064 this.binnings[id] = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24065 circleSets : circleSets, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24066 hashMaps : hashMaps, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24067 selectionHashs : selectionHashs |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24068 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24069 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24070 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24071 squareBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24072 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24073 var l = 20037508.34; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24074 var area0 = l * l * 4; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24075 var binCount = this.options.binCount; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24076 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24077 var bins = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24078 var binData = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24079 for (var k = 0; k < this.zoomLevels; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24080 bins.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24081 binData.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24082 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24083 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24084 for (var i = 0; i < this.objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24085 for (var j = 0; j < this.objects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24086 var o = this.objects[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24087 if (!o.isGeospatial) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24088 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24089 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24090 var p = new OpenLayers.Geometry.Point(o.getLongitude(this.options.mapIndex), o.getLatitude(this.options.mapIndex), null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24091 p.transform(this.map.displayProjection, this.map.projection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24092 o.x = p.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24093 o.y = p.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24094 for (var k = 0; k < this.zoomLevels; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24095 var bc = binCount * Math.pow(2, k); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24096 var a = 2 * l / bc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24097 var binX = Math.floor((p.x + l) / (2 * l) * bc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24098 var binY = Math.floor((p.y + l) / (2 * l) * bc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24099 if ( typeof bins[k]['' + binX] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24100 bins[k]['' + binX] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24101 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24102 if ( typeof bins[k][''+binX]['' + binY] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24103 bins[k][''+binX]['' + binY] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24104 for (var z = 0; z < this.objects.length; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24105 bins[k][''+binX]['' + binY].push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24106 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24107 var x = binX * a + a / 2 - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24108 var y = binY * a + a / 2 - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24109 binData[k].push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24110 bin : bins[k][''+binX]['' + binY], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24111 x : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24112 y : y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24113 a : a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24114 r : a / 2 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24115 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24116 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24117 bins[k][''+binX][''+binY][i].push(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24118 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24119 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24120 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24121 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24122 this.setCircleSet('square', binData); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24123 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24124 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24125 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24126 triangularBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24127 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24128 var l = 20037508.34; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24129 var a0 = this.options.binCount; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24130 var a1 = Math.sqrt(4 * a0 * a0 / Math.sqrt(3)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24131 var binCount = a0 / a1 * a0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24132 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24133 var bins = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24134 var binData = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24135 for (var k = 0; k < this.zoomLevels; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24136 bins.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24137 binData.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24138 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24139 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24140 for (var i = 0; i < this.objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24141 for (var j = 0; j < this.objects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24142 var o = this.objects[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24143 if (!o.isGeospatial) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24144 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24145 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24146 var p = new OpenLayers.Geometry.Point(o.getLongitude(this.options.mapIndex), o.getLatitude(this.options.mapIndex), null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24147 p.transform(this.map.displayProjection, this.map.projection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24148 o.x = p.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24149 o.y = p.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24150 for (var k = 0; k < this.zoomLevels; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24151 var x_bc = binCount * Math.pow(2, k); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24152 var y_bc = x_bc * x_bc / Math.sqrt(x_bc * x_bc - x_bc * x_bc / 4); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24153 var a = 2 * l / x_bc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24154 var h = 2 * l / y_bc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24155 var binY = Math.floor((p.y + l) / (2 * l) * y_bc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24156 if ( typeof bins[k]['' + binY] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24157 bins[k]['' + binY] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24158 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24159 var triangleIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24160 var partitionsX = x_bc * 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24161 var partition = Math.floor((p.x + l) / (2 * l) * partitionsX); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24162 var xMax = a / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24163 var yMax = h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24164 var x = p.x + l - partition * a / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24165 var y = p.y + l - binY * h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24166 if (binY % 2 == 0 && partition % 2 == 1 || binY % 2 == 1 && partition % 2 == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24167 if (y + yMax / xMax * x < yMax) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24168 triangleIndex = partition; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24169 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24170 triangleIndex = partition + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24171 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24172 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24173 if (y > yMax / xMax * x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24174 triangleIndex = partition; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24175 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24176 triangleIndex = partition + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24177 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24178 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24179 if ( typeof bins[k][''+binY]['' + triangleIndex] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24180 bins[k][''+binY]['' + triangleIndex] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24181 for (var z = 0; z < this.objects.length; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24182 bins[k][''+binY]['' + triangleIndex].push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24183 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24184 var r = Math.sqrt(3) / 6 * a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24185 var x = (triangleIndex - 1) * a / 2 + a / 2 - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24186 var y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24187 if (binY % 2 == 0 && triangleIndex % 2 == 0 || binY % 2 == 1 && triangleIndex % 2 == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24188 y = binY * h + h - r - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24189 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24190 y = binY * h + r - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24191 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24192 binData[k].push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24193 bin : bins[k][''+binY]['' + triangleIndex], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24194 x : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24195 y : y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24196 a : a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24197 r : r |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24198 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24199 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24200 bins[k][''+binY][''+triangleIndex][i].push(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24201 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24202 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24203 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24204 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24205 this.setCircleSet('triangular', binData); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24206 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24207 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24208 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24209 hexagonalBinning : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24210 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24211 var l = 20037508.34; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24212 var a0 = this.options.binCount; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24213 var a2 = Math.sqrt(4 * a0 * a0 / Math.sqrt(3)) / Math.sqrt(6); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24214 var binCount = a0 / a2 * a0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24215 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24216 var bins = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24217 var binData = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24218 for (var k = 0; k < this.zoomLevels; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24219 bins.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24220 binData.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24221 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24222 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24223 for (var i = 0; i < this.objects.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24224 for (var j = 0; j < this.objects[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24225 var o = this.objects[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24226 if (!o.isGeospatial) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24227 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24228 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24229 var p = new OpenLayers.Geometry.Point(o.getLongitude(this.options.mapIndex), o.getLatitude(this.options.mapIndex), null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24230 p.transform(this.map.displayProjection, this.map.projection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24231 o.x = p.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24232 o.y = p.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24233 for (var k = 0; k < this.zoomLevels; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24234 var x_bc = binCount * Math.pow(2, k); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24235 var y_bc = x_bc * x_bc / Math.sqrt(x_bc * x_bc - x_bc * x_bc / 4); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24236 var a = 2 * l / x_bc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24237 var h = 2 * l / y_bc; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24238 var binY = Math.floor((p.y + l) / (2 * l) * y_bc); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24239 if ( typeof bins[k]['' + binY] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24240 bins[k]['' + binY] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24241 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24242 var triangleIndex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24243 var partitionsX = x_bc * 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24244 var partition = Math.floor((p.x + l) / (2 * l) * partitionsX); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24245 var xMax = a / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24246 var yMax = h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24247 var x = p.x + l - partition * a / 2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24248 var y = p.y + l - binY * h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24249 if (binY % 2 == 0 && partition % 2 == 1 || binY % 2 == 1 && partition % 2 == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24250 if (y + yMax / xMax * x < yMax) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24251 triangleIndex = partition; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24252 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24253 triangleIndex = partition + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24254 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24255 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24256 if (y > yMax / xMax * x) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24257 triangleIndex = partition; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24258 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24259 triangleIndex = partition + 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24260 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24261 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24262 if ( typeof bins[k][''+binY]['' + triangleIndex] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24263 bins[k][''+binY]['' + triangleIndex] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24264 for (var z = 0; z < this.objects.length; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24265 bins[k][''+binY]['' + triangleIndex].push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24266 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24267 var r = Math.sqrt(3) / 6 * a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24268 var x = (triangleIndex - 1) * a / 2 + a / 2 - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24269 var y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24270 if (binY % 2 == 0 && triangleIndex % 2 == 0 || binY % 2 == 1 && triangleIndex % 2 == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24271 y = binY * h + h - r - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24272 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24273 y = binY * h + r - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24274 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24275 binData[k].push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24276 bin : bins[k][''+binY]['' + triangleIndex], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24277 x : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24278 y : y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24279 a : a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24280 r : r, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24281 h : h, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24282 binX : triangleIndex, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24283 binY : binY |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24284 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24285 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24286 bins[k][''+binY][''+triangleIndex][i].push(o); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24287 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24288 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24289 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24290 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24291 var hexaBins = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24292 var hexaBinData = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24293 for (var k = 0; k < this.zoomLevels; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24294 hexaBins.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24295 hexaBinData.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24296 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24297 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24298 for (var i = 0; i < binData.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24299 for (var j = 0; j < binData[i].length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24300 var bin = binData[i][j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24301 var binY = Math.floor(bin.binY / 2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24302 var binX = Math.floor(bin.binX / 3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24303 var x, y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24304 var a = bin.a; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24305 var h = bin.h; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24306 if (bin.binX % 6 < 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24307 if ( typeof hexaBins[i]['' + binY] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24308 hexaBins[i]['' + binY] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24309 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24310 y = binY * 2 * bin.h + bin.h - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24311 x = binX * 1.5 * bin.a + a / 2 - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24312 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24313 if (bin.binY % 2 == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24314 binY++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24315 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24316 if ( typeof hexaBins[i]['' + binY] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24317 hexaBins[i]['' + binY] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24318 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24319 y = binY * 2 * bin.h - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24320 x = binX * 1.5 * bin.a + a / 2 - l; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24321 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24322 if ( typeof hexaBins[i][''+binY]['' + binX] == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24323 hexaBins[i][''+binY]['' + binX] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24324 for (var z = 0; z < this.objects.length; z++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24325 hexaBins[i][''+binY]['' + binX].push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24326 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24327 hexaBinData[i].push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24328 bin : hexaBins[i][''+binY]['' + binX], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24329 x : x, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24330 y : y, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24331 a : bin.a, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24332 r : bin.h |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24333 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24334 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24335 for (var k = 0; k < bin.bin.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24336 for (var m = 0; m < bin.bin[k].length; m++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24337 hexaBins[i][''+binY][''+binX][k].push(bin.bin[k][m]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24338 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24339 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24340 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24341 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24342 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24343 this.setCircleSet('hexagonal', hexaBinData); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24344 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24345 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24346 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24347 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24348 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24349 * MapDataSource.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24350 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24351 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24352 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24353 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24354 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24355 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24356 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24357 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24358 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24359 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24360 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24361 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24362 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24363 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24364 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24365 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24366 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24367 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24369 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24370 * @class MapDataSource |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24371 * implementation for aggregation of map items |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24372 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24373 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24374 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24375 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24376 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24377 * @param {OpenLayers.Map} olMap openlayers map object of the map widget |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24378 * @param {JSON} options map configuration |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24379 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24380 function MapDataSource(olMap, options) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24381 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24382 this.olMap = olMap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24383 this.circleSets = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24384 this.binning = new Binning(olMap, options); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24385 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24386 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24387 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24388 MapDataSource.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24389 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24390 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24391 * initializes the MapDataSource |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24392 * @param {MapObject[][]} mapObjects an array of map objects of different sets |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24393 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24394 initialize : function(mapObjects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24395 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24396 if (mapObjects != this.mapObjects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24397 this.binning.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24398 this.binning.setObjects(mapObjects); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24399 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24400 this.mapObjects = mapObjects; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24401 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24402 var set = this.binning.getSet(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24403 this.circleSets = set.circleSets; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24404 this.binSets = set.binSets; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24405 this.hashMapping = set.hashMaps; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24406 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24407 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24408 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24409 getObjectsByZoom : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24410 var zoom = Math.floor(this.olMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24411 if (this.circleSets.length < zoom) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24412 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24413 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24414 return this.circleSets[zoom]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24415 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24416 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24417 getAllObjects : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24418 if (this.circleSets.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24419 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24420 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24421 return this.circleSets; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24422 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24423 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24424 getAllBins : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24425 if (this.binSets.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24426 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24427 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24428 return this.binSets; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24429 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24430 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24431 clearOverlay : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24432 var zoom = Math.floor(this.olMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24433 var circles = this.circleSets[zoom]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24434 for (var i in circles ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24435 for (var j in circles[i] ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24436 circles[i][j].reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24437 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24438 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24439 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24440 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24441 setOverlay : function(mapObjects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24442 var zoom = Math.floor(this.olMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24443 for (var j in mapObjects ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24444 for (var k in mapObjects[j] ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24445 var o = mapObjects[j][k]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24446 if (o.isGeospatial) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24447 this.hashMapping[zoom][j][o.index].overlay += o.weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24448 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24449 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24450 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24451 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24452 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24453 size : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24454 if (this.circleSets.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24455 return 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24456 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24457 return this.circleSets[0].length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24458 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24459 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24460 getCircle : function(index, id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24461 var zoom = Math.floor(this.olMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24462 return this.hashMapping[zoom][index][id]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24463 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24464 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24465 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24466 * Clustering.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24467 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24468 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24469 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24470 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24471 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24472 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24473 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24474 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24475 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24476 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24477 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24478 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24479 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24480 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24481 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24482 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24483 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24484 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24485 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24486 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24487 * @class Vertex, Edge, Triangle, Clustering, BinaryHeap |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24488 * Dynamic Delaunay clustering algorithm (see GeoTemCo paper) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24489 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24490 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24491 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24492 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24493 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24494 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24495 function Vertex(x, y, categories, binning) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24496 this.x = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24497 this.y = y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24498 this.radius |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24499 this.size = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24500 this.elements = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24501 this.radii = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24502 this.weights = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24503 this.legal = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24504 this.binning = binning; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24505 if (categories != undefined) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24506 for (var i = 0; i < categories; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24507 this.elements.push([]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24508 this.weights.push(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24509 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24510 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24511 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24512 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24513 Vertex.prototype.merge = function(v0, v1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24514 for (var i = 0; i < v0.elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24515 this.elements[i] = v0.elements[i].concat(v1.elements[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24516 this.weights[i] = v0.weights[i] + v1.weights[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24517 this.size += this.weights[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24518 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24519 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24520 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24521 Vertex.prototype.CalculateRadius = function(resolution) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24522 this.radii = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24523 for (i in this.elements ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24524 this.radii.push(this.binning.getRadius(this.weights[i])); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24525 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24526 if (this.radii.length == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24527 this.radius = this.radii[0] * resolution; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24528 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24529 var count = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24530 var max1 = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24531 var max2 = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24532 for (i in this.radii ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24533 if (this.radii[i] != 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24534 count++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24535 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24536 if (this.radii[i] > max1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24537 if (max1 > max2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24538 max2 = max1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24539 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24540 max1 = this.radii[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24541 } else if (this.radii[i] > max2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24542 max2 = this.radii[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24543 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24544 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24545 if (count == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24546 this.radius = max1 * resolution; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24547 } else if (count == 2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24548 this.radius = (max1 + max2) * resolution; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24549 } else if (count == 3) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24550 var d = (2 / 3 * Math.sqrt(3) - 1) * max1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24551 this.radius = (d + max1 + max2) * resolution; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24552 } else if (count == 4) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24553 var d = (Math.sqrt(2) - 1) * max2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24554 this.radius = (d + max1 + max2) * resolution; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24555 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24556 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24557 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24558 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24559 Vertex.prototype.addElement = function(e, weight, index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24560 this.elements[index].push(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24561 this.size += weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24562 this.weights[index] += weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24563 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24564 function Edge(v0, v1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24565 this.v0 = v0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24566 this.v1 = v1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24567 this.leftFace |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24568 this.rightFace |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24569 this.legal = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24570 this.setLength(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24571 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24572 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24573 Edge.prototype.setLength = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24574 var dx = this.v0.x - this.v1.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24575 var dy = this.v0.y - this.v1.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24576 this.length = Math.sqrt(dx * dx + dy * dy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24577 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24578 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24579 Edge.prototype.contains = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24580 if (this.v0 == v || this.v1 == v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24581 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24582 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24583 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24584 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24585 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24586 Edge.prototype.replaceFace = function(f_old, f_new) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24587 if (this.leftFace == f_old) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24588 this.leftFace = f_new; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24589 } else if (this.rightFace == f_old) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24590 this.rightFace = f_new; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24591 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24592 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24593 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24594 Edge.prototype.setFace = function(f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24595 if (f.leftOf(this)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24596 this.leftFace = f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24597 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24598 this.rightFace = f; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24599 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24600 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24601 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24602 Edge.prototype.setFaces = function(f1, f2) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24603 if (f1.leftOf(this)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24604 this.leftFace = f1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24605 this.rightFace = f2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24606 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24607 this.leftFace = f2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24608 this.rightFace = f1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24609 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24610 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24611 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24612 Edge.prototype.removeFace = function(f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24613 if (this.leftFace == f) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24614 this.leftFace = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24615 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24616 this.rightFace = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24617 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24618 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24619 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24620 Edge.prototype.equals = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24621 if (this.v0 == e.v0 && this.v1 == e.v1 || this.v0 == e.v1 && this.v1 == e.v0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24622 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24623 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24624 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24625 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24626 function Triangle(edges) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24627 this.edges = edges; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24628 this.setVertices(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24629 this.descendants = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24630 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24631 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24632 Triangle.prototype.getTriple = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24633 var i = arrayIndex(this.edges, e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24634 return { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24635 e_s : this.edges[(i + 1) % 3], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24636 e_p : this.edges[(i + 2) % 3], |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24637 u : this.vertices[(i + 2) % 3] |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24638 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24639 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24640 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24641 Triangle.prototype.leftOf = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24642 var i = arrayIndex(this.edges, e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24643 if (this.vertices[i].y != this.vertices[(i + 1) % 3].y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24644 return this.vertices[i].y > this.vertices[(i + 1) % 3].y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24645 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24646 return this.vertices[i].y > this.vertices[(i + 2) % 3].y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24647 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24648 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24649 Triangle.prototype.getNext = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24650 var i = arrayIndex(this.vertices, v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24651 return this.vertices[(i + 1) % 3]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24652 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24653 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24654 Triangle.prototype.oppositeEdge = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24655 var i = arrayIndex(this.vertices, v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24656 return this.edges[(i + 1) % 3]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24657 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24658 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24659 Triangle.prototype.contains = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24660 return arrayIndex(this.vertices, v) != -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24661 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24662 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24663 Triangle.prototype.replace = function(e_old, e_new) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24664 this.edges[arrayIndex(this.edges, e_old)] = e_new; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24665 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24666 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24667 Triangle.prototype.setVertices = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24668 if (this.edges[1].v0 == this.edges[0].v0 || this.edges[1].v1 == this.edges[0].v0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24669 this.vertices = [this.edges[0].v1, this.edges[0].v0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24670 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24671 this.vertices = [this.edges[0].v0, this.edges[0].v1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24672 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24673 if (this.edges[2].v0 == this.vertices[0]) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24674 this.vertices.push(this.edges[2].v1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24675 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24676 this.vertices.push(this.edges[2].v0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24677 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24678 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24679 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24680 Triangle.prototype.replaceBy = function(triangles) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24681 this.descendants = triangles; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24682 this.edges[0].replaceFace(this, triangles[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24683 this.edges[1].replaceFace(this, triangles[1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24684 this.edges[2].replaceFace(this, triangles[2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24685 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24686 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24687 Triangle.prototype.CalcCircumcircle = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24688 var v0 = this.vertices[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24689 var v1 = this.vertices[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24690 var v2 = this.vertices[2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24691 var A = v1.x - v0.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24692 var B = v1.y - v0.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24693 var C = v2.x - v0.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24694 var D = v2.y - v0.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24695 var E = A * (v0.x + v1.x) + B * (v0.y + v1.y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24696 var F = C * (v0.x + v2.x) + D * (v0.y + v2.y); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24697 var G = 2.0 * (A * (v2.y - v1.y) - B * (v2.x - v1.x)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24698 var cx = (D * E - B * F) / G; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24699 var cy = (A * F - C * E) / G; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24700 this.center = new Vertex(cx, cy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24701 var dx = this.center.x - v0.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24702 var dy = this.center.y - v0.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24703 this.radius_squared = dx * dx + dy * dy; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24704 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24705 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24706 Triangle.prototype.inCircumcircle = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24707 if (this.radius_squared == undefined) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24708 this.CalcCircumcircle(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24709 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24710 var dx = this.center.x - v.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24711 var dy = this.center.y - v.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24712 var dist_squared = dx * dx + dy * dy; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24713 return (dist_squared <= this.radius_squared ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24714 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24715 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24716 Triangle.prototype.interior = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24717 var v0 = this.vertices[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24718 var v1 = this.vertices[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24719 var v2 = this.vertices[2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24720 var dotAB = (v.x - v0.x ) * (v0.y - v1.y ) + (v.y - v0.y ) * (v1.x - v0.x ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24721 var dotBC = (v.x - v1.x ) * (v1.y - v2.y ) + (v.y - v1.y ) * (v2.x - v1.x ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24722 var dotCA = (v.x - v2.x ) * (v2.y - v0.y ) + (v.y - v2.y ) * (v0.x - v2.x ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24723 if (dotAB > 0 || dotBC > 0 || dotCA > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24724 return null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24725 } else if (dotAB < 0 && dotBC < 0 && dotCA < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24726 return this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24727 } else if (dotAB == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24728 if (dotBC == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24729 return this.vertices[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24730 } else if (dotCA == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24731 return this.vertices[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24732 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24733 return this.edges[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24734 } else if (dotBC == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24735 if (dotCA == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24736 return this.vertices[2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24737 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24738 return this.edges[1]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24739 } else if (dotCA == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24740 return this.edges[2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24741 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24742 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24743 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24744 function Clustering(xMin, yMin, xMax, yMax) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24745 this.triangles = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24746 this.newTriangles = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24747 this.bbox = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24748 x1 : xMin, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24749 y1 : yMin, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24750 x2 : xMax, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24751 y2 : yMax |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24752 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24753 this.CreateBoundingTriangle(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24754 this.edges = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24755 this.vertices = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24756 this.legalizes = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24757 this.collapses = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24758 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24759 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24760 Clustering.prototype.locate = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24761 if (this.boundingTriangle.descendants.length == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24762 return this.boundingTriangle; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24763 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24764 var triangles = this.boundingTriangle.descendants; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24765 while (true) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24766 for (var i = 0; i < triangles.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24767 var simplex = triangles[i].interior(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24768 if (simplex == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24769 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24770 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24771 if ( simplex instanceof Vertex || this.isLeaf(triangles[i])) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24772 return simplex; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24773 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24774 triangles = triangles[i].descendants; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24775 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24776 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24777 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24778 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24779 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24780 Clustering.prototype.legalize = function(v, e, t0_old) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24781 if (!e.v0.legal && !e.v1.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24782 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24783 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24784 this.legalizes++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24785 var flip = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24786 var t1_old, tr1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24787 if (e.leftFace == t0_old && e.rightFace.inCircumcircle(v)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24788 flip = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24789 t1_old = e.rightFace; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24790 } else if (e.rightFace == t0_old && e.leftFace.inCircumcircle(v)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24791 flip = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24792 t1_old = e.leftFace; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24793 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24794 if (flip) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24795 var tr0 = t0_old.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24796 var tr1 = t1_old.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24797 var e_flip = new Edge(tr0.u, tr1.u); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24798 var poly = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24799 poly.push(e.v0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24800 poly.push(e_flip.v0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24801 poly.push(e.v1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24802 poly.push(e_flip.v1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24803 if (!this.JordanTest(poly, e_flip)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24804 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24805 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24806 e.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24807 this.edges.push(e_flip); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24808 var t0_new = new Triangle([e_flip, tr0.e_p, tr1.e_s]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24809 var t1_new = new Triangle([e_flip, tr1.e_p, tr0.e_s]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24810 e_flip.setFaces(t0_new, t1_new); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24811 tr0.e_p.replaceFace(t0_old, t0_new); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24812 tr1.e_s.replaceFace(t1_old, t0_new); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24813 tr1.e_p.replaceFace(t1_old, t1_new); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24814 tr0.e_s.replaceFace(t0_old, t1_new); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24815 t0_old.descendants = [t0_new, t1_new]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24816 t1_old.descendants = [t0_new, t1_new]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24817 this.legalize(v, t0_new.edges[2], t0_new); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24818 this.legalize(v, t1_new.edges[1], t1_new); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24819 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24820 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24821 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24822 Clustering.prototype.add = function(v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24823 this.addVertex(v, this.locate(v)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24824 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24825 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24826 Clustering.prototype.addVertex = function(v, simplex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24827 if ( simplex instanceof Vertex) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24828 simplex.merge(simplex, v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24829 } else if ( simplex instanceof Edge) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24830 this.vertices.push(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24831 simplex.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24832 var tr0 = simplex.leftFace.getTriple(simplex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24833 var tr1 = simplex.rightFace.getTriple(simplex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24834 var e0 = new Edge(v, tr0.u); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24835 var e1 = new Edge(v, simplex.leftFace.getNext(tr0.u)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24836 var e2 = new Edge(v, tr1.u); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24837 var e3 = new Edge(v, simplex.rightFace.getNext(tr1.u)); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24838 var t0 = new Triangle([e0, tr0.e_p, e1]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24839 var t1 = new Triangle([e1, tr1.e_s, e2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24840 var t2 = new Triangle([e2, tr1.e_p, e3]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24841 var t3 = new Triangle([e3, tr0.e_s, e0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24842 simplex.leftFace.descendants = [t0, t3]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24843 simplex.rightFace.descendants = [t1, t2]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24844 this.edges.push(e0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24845 this.edges.push(e1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24846 this.edges.push(e2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24847 this.edges.push(e3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24848 e0.setFaces(t0, t3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24849 e1.setFaces(t0, t1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24850 e2.setFaces(t1, t2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24851 e3.setFaces(t2, t3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24852 tr0.e_p.replaceFace(simplex.leftFace, t0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24853 tr1.e_s.replaceFace(simplex.rightFace, t1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24854 tr1.e_p.replaceFace(simplex.rightFace, t2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24855 tr0.e_s.replaceFace(simplex.leftFace, t3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24856 this.legalize(v, tr0.e_p, t0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24857 this.legalize(v, tr1.e_s, t1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24858 this.legalize(v, tr1.e_p, t2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24859 this.legalize(v, tr0.e_s, t3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24860 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24861 this.vertices.push(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24862 var e_i = new Edge(simplex.vertices[0], v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24863 var e_j = new Edge(simplex.vertices[1], v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24864 var e_k = new Edge(simplex.vertices[2], v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24865 this.edges.push(e_i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24866 this.edges.push(e_j); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24867 this.edges.push(e_k); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24868 var t0 = new Triangle([e_i, simplex.edges[0], e_j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24869 var t1 = new Triangle([e_j, simplex.edges[1], e_k]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24870 var t2 = new Triangle([e_k, simplex.edges[2], e_i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24871 e_i.setFaces(t0, t2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24872 e_j.setFaces(t0, t1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24873 e_k.setFaces(t1, t2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24874 simplex.replaceBy([t0, t1, t2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24875 this.legalize(v, simplex.edges[0], t0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24876 this.legalize(v, simplex.edges[1], t1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24877 this.legalize(v, simplex.edges[2], t2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24878 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24879 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24880 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24881 Clustering.prototype.isLeaf = function(t) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24882 return t.descendants.length == 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24883 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24884 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24885 Clustering.prototype.CreateBoundingTriangle = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24886 var dx = (this.bbox.x2 - this.bbox.x1 ) * 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24887 var dy = (this.bbox.y2 - this.bbox.y1 ) * 10; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24888 var v0 = new Vertex(this.bbox.x1 - dx, this.bbox.y1 - dy * 3); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24889 var v1 = new Vertex(this.bbox.x2 + dx * 3, this.bbox.y2 + dy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24890 var v2 = new Vertex(this.bbox.x1 - dx, this.bbox.y2 + dy); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24891 var e0 = new Edge(v1, v0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24892 var e1 = new Edge(v0, v2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24893 var e2 = new Edge(v2, v1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24894 v0.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24895 v1.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24896 v2.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24897 this.boundingTriangle = new Triangle([e0, e1, e2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24898 var inf = new Triangle([e0, e1, e2]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24899 e0.setFaces(this.boundingTriangle, inf); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24900 e1.setFaces(this.boundingTriangle, inf); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24901 e2.setFaces(this.boundingTriangle, inf); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24902 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24903 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24904 Clustering.prototype.mergeVertices = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24905 this.collapses++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24906 var s0 = e.v0.size; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24907 var s1 = e.v1.size; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24908 var x = (e.v0.x * s0 + e.v1.x * s1 ) / (s0 + s1 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24909 var y = (e.v0.y * s0 + e.v1.y * s1 ) / (s0 + s1 ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24910 var v = new Vertex(x, y, e.v0.elements.length, e.v0.binning); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24911 v.merge(e.v0, e.v1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24912 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24913 e.v0.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24914 e.v1.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24915 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24916 var hole = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24917 var oldFacets = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24918 e.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24919 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24920 var vertices = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24921 var traverse = function(eLeft, eRight, triangle) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24922 eLeft.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24923 do { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24924 var triple; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24925 if (eLeft.leftFace == triangle) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24926 triple = eLeft.rightFace.getTriple(eLeft); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24927 oldFacets.push(eLeft.rightFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24928 triple.e_s.removeFace(eLeft.rightFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24929 triangle = eLeft.rightFace; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24930 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24931 triple = eLeft.leftFace.getTriple(eLeft); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24932 oldFacets.push(eLeft.leftFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24933 triple.e_s.removeFace(eLeft.leftFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24934 triangle = eLeft.leftFace; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24935 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24936 if (arrayIndex(hole, triple.e_s) == -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24937 hole.push(triple.e_s); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24938 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24939 vertices.push(triple.u); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24940 eLeft = triple.e_p; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24941 eLeft.legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24942 } while( eLeft != eRight ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24943 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24944 var tr0 = e.leftFace.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24945 var tr1 = e.rightFace.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24946 oldFacets.push(e.leftFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24947 oldFacets.push(e.rightFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24948 traverse(tr0.e_p, tr1.e_s, e.leftFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24949 traverse(tr1.e_p, tr0.e_s, e.rightFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24950 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24951 var hd = new Clustering(this.bbox.x1 - 10, this.bbox.y1 - 10, this.bbox.x2 + 10, this.bbox.y2 + 10); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24952 var hull = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24953 for (var i in hole ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24954 if (!(hole[i].leftFace == null && hole[i].rightFace == null)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24955 hull.push(hole[i].v0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24956 hull.push(hole[i].v1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24957 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24958 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24959 var hullVertices = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24960 var distinct = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24961 for (var i in vertices ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24962 if (arrayIndex(distinct, vertices[i]) == -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24963 hd.add(vertices[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24964 distinct.push(vertices[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24965 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24966 if (arrayIndex(hull, vertices[i]) != -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24967 hullVertices.push(vertices[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24968 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24969 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24970 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24971 var newFacets = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24972 var isBoundary = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24973 for (var i = 0; i < hole.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24974 if (hole[i].equals(e)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24975 return i; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24976 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24977 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24978 return -1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24979 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24980 var holeEdges = new Array(hole.length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24981 var nonHoleEdges = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24982 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24983 for (var i = 0; i < hd.edges.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24984 var e = hd.edges[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24985 var b = isBoundary(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24986 if (b != -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24987 if (!e.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24988 var t1 = e.leftFace.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24989 var t2 = e.rightFace.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24990 var edge = new Edge(t1.u, t2.u); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24991 for (var j = 0; j < hd.edges.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24992 if (hd.edges[j].equals(edge) && hd.edges[j].legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24993 hd.edges[j].legal = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24994 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24995 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24996 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24997 t1.e_p.setFace(e.leftFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24998 t1.e_s.setFace(e.leftFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24999 t2.e_p.setFace(e.rightFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25000 t2.e_s.setFace(e.rightFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25001 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25002 e.legal = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25003 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25004 holeEdges[b] = e; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25005 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25006 nonHoleEdges.push(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25007 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25008 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25009 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25010 for (var i = 0; i < holeEdges.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25011 var e = holeEdges[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25012 if (hole[i].leftFace == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25013 hole[i].leftFace = e.leftFace; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25014 hole[i].leftFace.replace(e, hole[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25015 if (arrayIndex(newFacets, hole[i].leftFace) == -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25016 newFacets.push(hole[i].leftFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25017 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25018 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25019 if (hole[i].rightFace == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25020 hole[i].rightFace = e.rightFace; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25021 hole[i].rightFace.replace(e, hole[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25022 if (arrayIndex(newFacets, hole[i].rightFace) == -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25023 newFacets.push(hole[i].rightFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25024 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25025 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25026 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25027 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25028 for (var i = 0; i < nonHoleEdges.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25029 var e = nonHoleEdges[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25030 if (!e.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25031 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25032 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25033 if (this.JordanTest(hullVertices, e)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25034 this.edges.push(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25035 if (arrayIndex(newFacets, e.rightFace) == -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25036 newFacets.push(e.rightFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25037 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25038 if (arrayIndex(newFacets, e.leftFace) == -1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25039 newFacets.push(e.leftFace); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25040 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25041 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25042 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25043 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25044 for (var i in oldFacets ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25045 oldFacets[i].descendants = newFacets; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25046 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25047 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25048 for (var i = 0; i < newFacets.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25049 var simplex = newFacets[i].interior(v); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25050 if (simplex == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25051 continue; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25052 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25053 this.addVertex(v, simplex); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25054 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25055 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25056 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25057 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25058 return v; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25059 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25060 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25061 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25062 Clustering.prototype.JordanTest = function(pol, e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25063 var p = new Vertex((e.v0.x + e.v1.x) * 0.5, (e.v0.y + e.v1.y) * 0.5); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25064 var inside = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25065 var i, j = pol.length - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25066 for ( i = 0; i < pol.length; j = i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25067 var p1 = pol[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25068 var p2 = pol[j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25069 if ((((p1.y <= p.y) && (p.y < p2.y)) || ((p2.y <= p.y) && (p.y < p1.y))) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25070 inside = !inside; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25071 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25072 return inside; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25073 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25074 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25075 Clustering.prototype.mergeForResolution = function(resolution, circleGap) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25076 this.deleteEdges = new BinaryHeap(function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25077 return e.weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25078 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25079 this.weightEdges(resolution, circleGap); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25080 var index = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25081 while (this.deleteEdges.size() > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25082 var e = this.deleteEdges.pop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25083 if (e.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25084 var l = this.edges.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25085 var newVertex = this.mergeVertices(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25086 newVertex.CalculateRadius(resolution); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25087 for (var k = l; k < this.edges.length; k++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25088 var eNew = this.edges[k]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25089 if (eNew.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25090 eNew.weight = eNew.length / (eNew.v0.radius + eNew.v1.radius + circleGap * resolution ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25091 if (eNew.weight < 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25092 this.deleteEdges.push(eNew); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25093 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25094 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25095 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25096 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25097 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25098 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25099 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25100 Clustering.prototype.weightEdges = function(resolution, circleGap) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25101 for (var i = 0; i < this.vertices.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25102 if (this.vertices[i].legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25103 this.vertices[i].CalculateRadius(resolution); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25104 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25105 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25106 var newEdges = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25107 for (var i = 0; i < this.edges.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25108 var e = this.edges[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25109 if (e.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25110 if (!e.v0.legal || !e.v1.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25111 e.weight = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25112 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25113 e.weight = e.length / (e.v0.radius + e.v1.radius + circleGap * resolution ); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25114 if (e.weight < 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25115 this.deleteEdges.push(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25116 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25117 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25118 newEdges.push(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25119 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25120 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25121 this.edges = newEdges; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25122 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25123 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25124 Clustering.prototype.ValidityTest = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25125 console.info("Test 1: Valid Delaunay ..."); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25126 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25127 var leafs = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25128 var triangles = this.boundingTriangle.descendants; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25129 var j = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25130 while( triangles.length > j ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25131 var t = triangles[j]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25132 if( t.taken == undefined ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25133 t.taken = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25134 if( this.isLeaf(t) ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25135 leafs.push(t); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25136 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25137 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25138 triangles = triangles.concat(t.descendants); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25139 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25140 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25141 j++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25142 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25143 console.info(" Number of Triangles: "+leafs.length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25144 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25145 var c = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25146 for( i in this.edges ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25147 if( this.edges[i].legal ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25148 c++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25149 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25150 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25151 console.info(" Number of Edges: "+c);*/ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25152 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25153 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25154 for( var i=0; i<leafs.length; i++ ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25155 for( var j=0; j<vertices.length; j++ ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25156 if( !leafs[i].contains(vertices[j]) && leafs[i].inCircumcircle(vertices[j]) ){ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25157 console.info(leafs[i],vertices[j]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25158 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25159 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25160 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25161 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25162 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25163 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25164 //console.info("Test 2: Edges Facets (null) ..."); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25165 for (i in this.edges ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25166 var e = this.edges[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25167 if (e.leftFace == null || e.rightFace == null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25168 console.info(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25169 alert(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25170 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25171 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25172 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25173 //console.info("Test 3: Edges Facets ..."); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25174 var leftOf = function(v1, v2, v) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25175 var x2 = v1.x - v2.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25176 var x3 = v1.x - v.x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25177 var y2 = v1.y - v2.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25178 var y3 = v1.y - v.y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25179 if (x2 * y3 - y2 * x3 < 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25180 return true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25181 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25182 return false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25183 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25184 var c = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25185 for (i in this.edges ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25186 var e = this.edges[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25187 var t1 = e.leftFace.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25188 var t2 = e.rightFace.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25189 if (e.v0.y == e.v1.y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25190 if (t1.u.y > t2.u.y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25191 console.info("equal y conflict ..."); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25192 console.info(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25193 alert(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25194 c++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25195 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25196 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25197 var v1, v2; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25198 if (e.v0.y > e.v1.y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25199 v1 = e.v0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25200 v2 = e.v1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25201 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25202 v1 = e.v1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25203 v2 = e.v0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25204 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25205 if (!leftOf(v1, v2, t1.u)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25206 console.info("left right conflict ... left is right"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25207 console.info(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25208 alert(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25209 c++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25210 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25211 if (leftOf(v1, v2, t2.u)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25212 console.info("left right conflict ... right is left"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25213 console.info(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25214 alert(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25215 c++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25216 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25217 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25218 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25219 //console.info("Number of Edges: "+this.edges.length); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25220 //console.info("Number of Conflicts: "+c); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25221 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25222 for (i in this.edges ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25223 if (this.edges[i].legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25224 var e = this.edges[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25225 var tr0 = e.leftFace.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25226 var tr1 = e.rightFace.getTriple(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25227 if (!tr0.e_p.legal || !tr0.e_s.legal || !tr1.e_p.legal || !tr1.e_s.legal) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25228 console.info(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25229 console.info("conflict in edge continuity"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25230 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25231 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25232 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25233 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25234 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25235 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25236 function BinaryHeap(scoreFunction) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25237 this.content = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25238 this.scoreFunction = scoreFunction; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25239 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25240 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25241 BinaryHeap.prototype = { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25242 push : function(element) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25243 // Add the new element to the end of the array. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25244 this.content.push(element); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25245 // Allow it to bubble up. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25246 this.bubbleUp(this.content.length - 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25247 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25248 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25249 pop : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25250 // Store the first element so we can return it later. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25251 var result = this.content[0]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25252 // Get the element at the end of the array. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25253 var end = this.content.pop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25254 // If there are any elements left, put the end element at the |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25255 // start, and let it sink down. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25256 if (this.content.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25257 this.content[0] = end; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25258 this.sinkDown(0); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25259 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25260 return result; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25261 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25262 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25263 remove : function(node) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25264 var len = this.content.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25265 // To remove a value, we must search through the array to find |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25266 // it. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25267 for (var i = 0; i < len; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25268 if (this.content[i] == node) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25269 // When it is found, the process seen in 'pop' is repeated |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25270 // to fill up the hole. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25271 var end = this.content.pop(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25272 if (i != len - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25273 this.content[i] = end; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25274 if (this.scoreFunction(end) < this.scoreFunction(node)) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25275 this.bubbleUp(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25276 else |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25277 this.sinkDown(i); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25278 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25279 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25280 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25281 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25282 throw new Error("Node not found."); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25283 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25284 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25285 size : function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25286 return this.content.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25287 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25288 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25289 bubbleUp : function(n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25290 // Fetch the element that has to be moved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25291 var element = this.content[n]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25292 // When at 0, an element can not go up any further. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25293 while (n > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25294 // Compute the parent element's index, and fetch it. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25295 var parentN = Math.floor((n + 1) / 2) - 1, parent = this.content[parentN]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25296 // Swap the elements if the parent is greater. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25297 if (this.scoreFunction(element) < this.scoreFunction(parent)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25298 this.content[parentN] = element; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25299 this.content[n] = parent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25300 // Update 'n' to continue at the new position. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25301 n = parentN; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25302 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25303 // Found a parent that is less, no need to move it further. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25304 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25305 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25306 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25307 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25308 }, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25309 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25310 sinkDown : function(n) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25311 // Look up the target element and its score. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25312 var length = this.content.length, element = this.content[n], elemScore = this.scoreFunction(element); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25313 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25314 while (true) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25315 // Compute the indices of the child elements. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25316 var child2N = (n + 1) * 2, child1N = child2N - 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25317 // This is used to store the new position of the element, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25318 // if any. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25319 var swap = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25320 // If the first child exists (is inside the array)... |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25321 if (child1N < length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25322 // Look it up and compute its score. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25323 var child1 = this.content[child1N], child1Score = this.scoreFunction(child1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25324 // If the score is less than our element's, we need to swap. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25325 if (child1Score < elemScore) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25326 swap = child1N; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25327 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25328 // Do the same checks for the other child. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25329 if (child2N < length) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25330 var child2 = this.content[child2N], child2Score = this.scoreFunction(child2); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25331 if (child2Score < (swap == null ? elemScore : child1Score)) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25332 swap = child2N; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25333 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25334 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25335 // If the element needs to be moved, swap it, and continue. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25336 if (swap != null) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25337 this.content[n] = this.content[swap]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25338 this.content[swap] = element; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25339 n = swap; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25340 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25341 // Otherwise, we are done. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25342 else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25343 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25344 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25345 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25346 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25347 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25348 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25349 * Dropdown.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25350 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25351 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25352 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25353 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25354 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25355 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25356 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25357 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25358 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25359 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25360 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25361 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25362 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25363 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25364 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25365 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25366 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25367 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25368 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25369 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25370 * @class Dropdown |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25371 * Implementation for Dropdown box |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25372 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25373 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25374 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25375 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25376 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25377 * @param {HTML object} parent parent div for the dropdown box |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25378 * @param {Array} elements list of dropdown entries |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25379 * @param {String} title dropdown button title |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25380 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25381 function Dropdown(parent, elements, title) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25382 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25383 var dropdown = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25384 this.visibility = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25385 this.div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25386 this.div.setAttribute('class', 'dropdown'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25387 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25388 this.selection = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25389 this.selection.setAttribute('class', 'dropdownSelection'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25390 parent.appendChild(this.div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25391 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25392 var leftBorder = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25393 leftBorder.setAttribute('class', 'dropdownLeft'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25394 this.div.appendChild(leftBorder); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25395 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25396 this.div.appendChild(this.selection); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25397 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25398 var dropdownButton = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25399 this.div.appendChild(dropdownButton); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25400 if (elements.length > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25401 dropdownButton.setAttribute('class', 'dropdownButtonEnabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25402 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25403 dropdownButton.setAttribute('class', 'dropdownButtonDisabled'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25404 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25405 dropdownButton.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25406 if (elements.length > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25407 dropdown.changeVisibility(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25408 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25409 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25410 dropdownButton.title = title; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25411 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25412 this.getValue = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25413 return this.selectedEntry.innerHTML; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25414 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25415 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25416 var entryMenu = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25417 entryMenu.setAttribute('class', 'dropdownMenu'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25418 this.div.appendChild(entryMenu); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25419 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25420 var entries = document.createElement("dl"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25421 var addEntry = function(e) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25422 var entry = document.createElement("dt"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25423 entry.innerHTML = e.name; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25424 entry.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25425 e.onclick(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25426 dropdown.changeVisibility(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25427 dropdown.changeEntries(e); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25428 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25429 entries.appendChild(entry); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25430 e.entry = entry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25431 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25432 for (var i = 0; i < elements.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25433 addEntry(elements[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25434 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25435 entryMenu.appendChild(entries); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25436 this.selection.style.width = entryMenu.offsetWidth + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25437 entryMenu.style.width = (entryMenu.offsetWidth + leftBorder.offsetWidth + dropdownButton.offsetWidth - 2) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25438 this.div.style.maxHeight = this.div.offsetHeight + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25439 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25440 entryMenu.style.display = 'none'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25441 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25442 this.setEntry = function(index) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25443 if ( typeof (index) == "undefined") { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25444 if ((elements) && elements.length > 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25445 this.changeEntries(elements[0]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25446 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25447 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25448 this.changeEntries(elements[index]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25449 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25450 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25451 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25452 this.changeEntries = function(element) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25453 if (this.selectedEntry) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25454 this.selectedEntry.setAttribute('class', 'dropdownUnselectedEntry'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25455 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25456 this.selectedEntry = element.entry; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25457 this.selectedEntry.setAttribute('class', 'dropdownSelectedEntry'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25458 this.selection.innerHTML = "<div style='display:inline-block;vertical-align:middle;'>" + element.name + "</div>"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25459 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25460 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25461 this.changeVisibility = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25462 this.visibility = !this.visibility; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25463 if (this.visibility) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25464 entryMenu.style.display = "block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25465 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25466 entryMenu.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25467 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25468 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25469 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25470 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25471 * MapZoomSlider.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25472 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25473 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25474 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25475 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25476 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25477 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25478 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25479 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25480 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25481 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25482 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25483 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25484 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25485 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25486 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25487 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25488 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25489 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25490 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25491 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25492 * @class MapZoomSlider |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25493 * GeoTemCo style for map zoom control |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25494 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25495 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25496 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25497 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25498 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25499 function MapZoomSlider(parent, orientation) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25500 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25501 this.parent = parent; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25502 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25503 var zs = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25504 this.div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25505 this.div.setAttribute('class', 'sliderStyle-' + orientation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25506 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25507 var sliderContainer = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25508 sliderContainer.setAttribute('class', 'zoomSliderContainer-' + orientation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25509 var sliderDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25510 sliderDiv.tabIndex = 1; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25511 var sliderInputDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25512 sliderDiv.appendChild(sliderInputDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25513 sliderContainer.appendChild(sliderDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25514 this.slider = new Slider(sliderDiv, sliderInputDiv, orientation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25515 this.div.appendChild(sliderContainer); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25516 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25517 var zoomIn = document.createElement("img"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25518 zoomIn.src = GeoTemConfig.path + "zoom_in.png"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25519 zoomIn.setAttribute('class', 'zoomSliderIn-' + orientation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25520 zoomIn.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25521 zs.parent.zoom(1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25522 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25523 this.div.appendChild(zoomIn); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25524 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25525 var zoomOut = document.createElement("img"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25526 zoomOut.src = GeoTemConfig.path + "zoom_out.png"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25527 zoomOut.setAttribute('class', 'zoomSliderOut-' + orientation); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25528 zoomOut.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25529 zs.parent.zoom(-1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25530 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25531 this.div.appendChild(zoomOut); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25532 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25533 this.slider.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25534 console.info(zs.slider.getValue()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25535 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25536 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25537 this.slider.handle.onmousedown = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25538 var oldValue = zs.slider.getValue(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25539 document.onmouseup = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25540 if (!zs.parent.zoom((zs.slider.getValue() - oldValue) / zs.max * zs.levels)) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25541 zs.setValue(oldValue); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25542 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25543 document.onmouseup = null; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25544 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25545 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25546 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25547 this.setValue = function(value) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25548 this.slider.setValue(value / this.levels * this.max); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25549 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25550 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25551 this.setMaxAndLevels = function(max, levels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25552 this.max = max; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25553 this.levels = levels; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25554 this.slider.setMaximum(max); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25555 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25556 // this.setMaxAndLevels(1000,parent.openlayersMap.getNumZoomLevels()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25557 // this.setValue(parent.openlayersMap.getZoom()); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25558 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25559 this.setLanguage = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25560 zoomIn.title = GeoTemConfig.getString('zoomIn'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25561 zoomOut.title = GeoTemConfig.getString('zoomOut'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25562 this.slider.handle.title = GeoTemConfig.getString('zoomSlider'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25563 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25564 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25565 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25566 * MapPopup.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25567 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25568 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25569 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25570 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25571 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25572 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25573 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25574 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25575 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25576 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25577 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25578 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25579 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25580 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25581 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25582 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25583 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25584 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25585 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25586 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25587 * @class MapPopup |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25588 * map popup implementaion |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25589 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25590 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25591 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25592 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25593 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25594 function MapPopup(parent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25595 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25596 this.parentDiv = parent.gui.mapWindow; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25597 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25598 this.initialize = function(x, y, onclose) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25599 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25600 var popup = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25601 this.x = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25602 this.y = y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25603 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25604 this.popupDiv = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25605 this.popupDiv.setAttribute('class', 'ddbPopupDiv'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25606 this.parentDiv.appendChild(this.popupDiv); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25607 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25608 this.cancel = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25609 this.cancel.setAttribute('class', 'ddbPopupCancel'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25610 this.cancel.title = GeoTemConfig.getString('close'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25611 this.cancel.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25612 if ( typeof onclose != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25613 onclose(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25614 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25615 popup.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25616 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25617 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25618 this.input = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25619 this.input.style.maxWidth = Math.floor(this.parentDiv.offsetWidth * 0.75) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25620 this.input.style.maxHeight = Math.floor(this.parentDiv.offsetHeight * 0.75) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25621 this.input.setAttribute('class', 'ddbPopupInput'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25622 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25623 this.popupDiv.appendChild(this.input); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25624 this.popupDiv.appendChild(this.cancel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25625 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25626 var peak = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25627 peak.setAttribute('class', 'popupPeak'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25628 this.popupDiv.appendChild(peak); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25629 var topRight = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25630 topRight.setAttribute('class', 'popupTopRight'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25631 this.popupDiv.appendChild(topRight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25632 var bottomRight = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25633 bottomRight.setAttribute('class', 'popupBottomRight'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25634 this.popupDiv.appendChild(bottomRight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25635 this.popupRight = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25636 this.popupRight.setAttribute('class', 'popupRight'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25637 this.popupDiv.appendChild(this.popupRight); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25638 this.popupBottom = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25639 this.popupBottom.setAttribute('class', 'popupBottom'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25640 this.popupDiv.appendChild(this.popupBottom); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25641 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25642 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25643 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25644 this.setContent = function(content) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25645 $(this.input).empty(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25646 this.visible = true; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25647 $(this.input).append(content); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25648 this.decorate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25649 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25650 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25651 this.reset = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25652 $(this.popupDiv).remove(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25653 this.visible = false; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25654 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25655 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25656 this.decorate = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25657 this.popupRight.style.height = (this.popupDiv.offsetHeight - 14) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25658 this.popupBottom.style.width = (this.popupDiv.offsetWidth - 22) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25659 this.left = this.x + 9; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25660 this.top = this.y - 10 - this.popupDiv.offsetHeight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25661 this.popupDiv.style.left = this.left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25662 this.popupDiv.style.top = this.top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25663 var shiftX = 0, shiftY = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25664 if (this.popupDiv.offsetTop < parent.gui.headerHeight + 10) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25665 shiftY = -1 * (parent.gui.headerHeight + 10 - this.popupDiv.offsetTop); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25666 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25667 if (this.popupDiv.offsetLeft + this.popupDiv.offsetWidth > parent.gui.headerWidth - 10) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25668 shiftX = -1 * (parent.gui.headerWidth - 10 - this.popupDiv.offsetLeft - this.popupDiv.offsetWidth); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25669 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25670 parent.shift(shiftX, shiftY); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25671 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25672 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25673 this.shift = function(x, y) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25674 this.left = this.left - this.x + x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25675 this.top = this.top - this.y + y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25676 this.x = x; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25677 this.y = y; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25678 if (this.left + this.popupDiv.offsetWidth > this.parentDiv.offsetWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25679 this.popupDiv.style.left = 'auto'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25680 this.popupDiv.style.right = (this.parentDiv.offsetWidth - this.left - this.popupDiv.offsetWidth) + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25681 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25682 this.popupDiv.style.right = 'auto'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25683 this.popupDiv.style.left = this.left + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25684 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25685 this.popupDiv.style.top = this.top + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25686 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25687 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25688 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25689 * PlacenamePopup.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25690 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25691 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25692 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25693 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25694 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25695 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25696 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25697 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25698 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25699 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25700 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25701 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25702 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25703 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25704 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25705 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25706 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25707 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25708 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25709 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25710 * @class PlacenamePopup |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25711 * specific map popup for showing and interacting on placename labels |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25712 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25713 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25714 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25715 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25716 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25717 function PlacenamePopup(parent) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25718 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25719 this.parentDiv = parent.gui.mapWindow; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25720 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25721 this.createPopup = function(x, y, labels) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25722 this.labels = labels; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25723 var pnPopup = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25724 var popup = new MapPopup(parent); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25725 var onClose = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25726 parent.deselection(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25727 pnPopup.reset(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25728 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25729 popup.initialize(x, y, onClose); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25730 $.extend(this, popup); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25731 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25732 this.content = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25733 this.inner = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25734 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25735 this.resultsLabel = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25736 this.resultsLabel.setAttribute('class', 'popupDDBResults'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25737 this.content.appendChild(this.resultsLabel); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25738 this.backward = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25739 this.backward.setAttribute('class', 'prevItem'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25740 this.content.appendChild(this.backward); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25741 this.backward.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25742 pnPopup.descriptionIndex--; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25743 pnPopup.showDescription(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25744 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25745 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25746 this.number = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25747 this.content.appendChild(this.number); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25748 this.number.style.display = 'none'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25749 this.number.style.fontSize = '13px'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25750 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25751 this.forward = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25752 this.forward.setAttribute('class', 'nextItem'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25753 this.content.appendChild(this.forward); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25754 this.forward.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25755 pnPopup.descriptionIndex++; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25756 pnPopup.showDescription(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25757 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25758 if (parent.options.showDescriptions) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25759 this.descriptions = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25760 this.descriptions.setAttribute('class', 'descriptions'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25761 this.descriptions.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25762 pnPopup.switchToDescriptionMode(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25763 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25764 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25765 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25766 this.back = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25767 this.back.setAttribute('class', 'back'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25768 this.popupDiv.appendChild(this.back); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25769 this.back.onclick = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25770 pnPopup.back.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25771 pnPopup.backward.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25772 pnPopup.forward.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25773 pnPopup.number.style.display = 'none'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25774 pnPopup.showLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25775 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25776 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25777 this.content.appendChild(this.inner); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25778 this.listLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25779 this.showLabels(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25780 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25781 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25782 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25783 this.switchToDescriptionMode = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25784 this.descriptionIndex = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25785 this.descriptionContents = this.activeLabel.descriptions; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25786 this.number.style.display = 'inline-block'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25787 this.inner.style.minWidth = "300px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25788 this.showDescription(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25789 this.count = this.activeLabel.weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25790 this.setCount(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25791 this.back.style.display = "inline-block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25792 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25793 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25794 this.showDescription = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25795 $(this.inner).empty(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25796 this.inner.appendChild(this.descriptionContents[this.descriptionIndex]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25797 this.setContent(this.content); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25798 if (this.descriptionContents.length == 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25799 this.backward.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25800 this.forward.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25801 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25802 if (this.descriptionIndex == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25803 this.backward.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25804 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25805 this.backward.style.display = "inline-block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25806 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25807 if (this.descriptionIndex == this.descriptionContents.length - 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25808 this.forward.style.display = "none"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25809 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25810 this.forward.style.display = "inline-block"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25811 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25812 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25813 if (this.descriptionContents.length > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25814 this.number.innerHTML = "#" + (this.descriptionIndex + 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25815 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25816 this.number.style.display = 'none'; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25817 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25818 this.decorate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25819 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25820 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25821 this.setCount = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25822 var c = this.count; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25823 if (c > 1) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25824 this.resultsLabel.innerHTML = c + " " + GeoTemConfig.getString('results'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25825 } else { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25826 this.resultsLabel.innerHTML = c + " " + GeoTemConfig.getString('result'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25827 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25828 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25829 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25830 this.listLabels = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25831 var pnPopup = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25832 this.labelDivs = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25833 this.labelCount = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25834 this.labelsWidth = 0; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25835 for (var i = 0; i < this.labels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25836 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25837 var content = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25838 this.labels[i].allStyle += "position: relative; white-space: nowrap;"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25839 content.appendChild(this.labels[i].div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25840 content.setAttribute('class', 'ddbPopupLabel'); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25841 div.appendChild(content); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25842 this.labels[i].div.setAttribute('style', this.labels[i].allStyle + "" + this.labels[i].selectedStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25843 this.input.appendChild(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25844 if (this.input.offsetWidth > this.labelsWidth) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25845 this.labelsWidth = this.input.offsetWidth; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25846 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25847 this.labels[i].div.setAttribute('style', this.labels[i].allStyle + "" + this.labels[i].unselectedStyle); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25848 this.labelDivs.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25849 var descriptions = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25850 for (var j = 0; j < this.labels[i].elements.length; j++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25851 var div = document.createElement("div"); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25852 div.innerHTML = this.labels[i].elements[j].description; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25853 descriptions.push(div); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25854 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25855 this.labels[i].descriptions = descriptions; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25856 if (this.labels[i].place != "all" || i == 0) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25857 this.labelCount += this.labels[i].weight; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25858 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25859 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25860 if ( typeof this.descriptions != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25861 this.labelsWidth += 20; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25862 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25863 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25864 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25865 this.showLabels = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25866 $(this.inner).empty(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25867 this.count = this.labelCount; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25868 this.setCount(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25869 for (var i = 0; i < this.labelDivs.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25870 this.inner.appendChild(this.labelDivs[i]); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25871 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25872 this.inner.style.width = this.labelsWidth + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25873 this.inner.style.minWidth = this.labelsWidth + "px"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25874 this.setContent(this.content); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25875 this.decorate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25876 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25877 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25878 this.showLabelContent = function(label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25879 for (var i = 0; i < this.labels.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25880 if (this.labels[i] == label) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25881 this.activeLabel = this.labels[i]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25882 if ( typeof this.descriptions != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25883 this.labelDivs[i].appendChild(this.descriptions); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25884 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25885 this.decorate(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25886 break; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25887 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25888 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25889 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25890 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25891 this.setLanguage = function(language) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25892 this.language = language; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25893 if (this.visible) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25894 this.updateTexts(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25895 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25896 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25897 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25898 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25899 * Dropdown.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25900 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25901 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25902 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25903 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25904 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25905 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25906 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25907 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25908 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25909 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25910 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25911 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25912 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25913 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25914 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25915 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25916 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25917 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25918 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25919 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25920 * @class Publisher |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25921 * Publish/Subscribe mechanism |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25922 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25923 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25924 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25925 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25926 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25927 if ( typeof Publisher == 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25928 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25929 Publisher = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25930 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25931 var topics = new Array(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25932 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25933 this.Get = function(topic) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25934 var value = this[topic]; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25935 if (!value) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25936 value = this[topic] = []; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25937 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25938 return value; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25939 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25940 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25941 this.Publish = function(topic, data, publisher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25942 var subscribers = this.Get(topic); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25943 for (var i = 0; i < subscribers.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25944 if (publisher == null || subscribers[i].client != publisher) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25945 subscribers[i].callback(data); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25946 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25947 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25948 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25949 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25950 this.Subscribe = function(topic, subscriber, callback) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25951 var subscribers = this.Get(topic); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25952 subscribers.push({ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25953 client : subscriber, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25954 callback : callback |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25955 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25956 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25957 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25958 this.Unsubscribe = function(topic, unsubscriber) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25959 var subscribers = this.Get(topic); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25960 for (var i = 0; i < subscribers.length; i++) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25961 if (subscribers[i].client == unsubscriber) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25962 subscribers.splice(i, 1); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25963 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25964 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25965 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25966 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25967 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25968 return this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25969 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25970 }(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25971 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25972 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25973 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25974 * WidgetWrapper.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25975 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25976 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25977 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25978 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25979 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25980 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25981 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25982 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25983 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25984 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25985 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25986 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25987 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25988 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25989 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25990 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25991 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25992 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25993 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25994 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25995 * @class WidgetWrapper |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25996 * Interface-like implementation for widgets interaction to each other; aimed to be modified for dynamic data sources |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25997 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25998 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25999 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26000 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26001 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26002 * @param {Object} widget either a map, time or table widget |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26003 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26004 function WidgetWrapper() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26005 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26006 var wrapper = this; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26007 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26008 this.setWidget = function(widget) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26009 this.widget = widget; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26010 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26011 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26012 this.display = function(data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26013 if ( data instanceof Array) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26014 GeoTemConfig.datasets = data.length; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26015 if ( typeof wrapper.widget != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26016 this.widget.initWidget(data); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26017 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26018 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26019 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26020 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26021 Publisher.Subscribe('highlight', this, function(data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26022 if (data == undefined) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26023 return; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26024 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26025 if ( typeof wrapper.widget != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26026 wrapper.widget.highlightChanged(data); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26027 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26028 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26029 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26030 Publisher.Subscribe('selection', this, function(data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26031 if ( typeof wrapper.widget != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26032 wrapper.widget.selectionChanged(data); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26033 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26034 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26035 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26036 Publisher.Subscribe('filter', this, function(data) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26037 wrapper.display(data); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26038 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26039 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26040 Publisher.Subscribe('rise', this, function(id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26041 if ( typeof wrapper.widget != 'undefined' && typeof wrapper.widget.riseLayer != 'undefined') { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26042 wrapper.widget.riseLayer(id); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26043 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26044 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26045 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26046 Publisher.Subscribe('resizeWidget', this, function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26047 if ( typeof wrapper.widget != 'undefined' && typeof wrapper.widget.gui != 'undefined' && typeof wrapper.widget.gui.resize != 'undefined' ) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26048 wrapper.widget.gui.resize(); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26049 } |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26050 }); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26051 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26052 this.triggerRefining = function(datasets) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26053 Publisher.Publish('filter', datasets, null); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26054 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26055 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26056 this.triggerSelection = function(selectedObjects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26057 Publisher.Publish('selection', selectedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26058 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26059 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26060 this.triggerHighlight = function(highlightedObjects) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26061 Publisher.Publish('highlight', highlightedObjects, this); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26062 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26063 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26064 this.triggerRise = function(id) { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26065 Publisher.Publish('rise', id); |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26066 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26067 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26068 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26069 /* |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26070 * final.js |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26071 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26072 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26073 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26074 * This library is free software; you can redistribute it and/or |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26075 * modify it under the terms of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26076 * License as published by the Free Software Foundation; either |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26077 * version 3 of the License, or (at your option) any later version. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26078 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26079 * This library is distributed in the hope that it will be useful, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26080 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26081 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26082 * Lesser General Public License for more details. |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26083 * |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26084 * You should have received a copy of the GNU Lesser General Public |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26085 * License along with this library; if not, write to the Free Software |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26086 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26087 * MA 02110-1301 USA |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26088 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26089 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26090 /** |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26091 * code which is included after all other sources have been included for the minified version |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26092 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26093 * @release 1.0 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26094 * @release date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26095 * @version date: 2012-07-27 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26096 */ |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26097 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26098 OpenLayers.Util.getImagesLocation = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26099 return GeoTemCoMinifier_urlPrefix + "lib/openlayers/img/"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26100 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26101 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26102 OpenLayers._getScriptLocation = function() { |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26103 return GeoTemCoMinifier_urlPrefix + "lib/openlayers/"; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26104 }; |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26105 |
2715bff4628d
Files for JS-viewer (GeoTemCo)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26106 GeoTemConfig.configure(GeoTemCoMinifier_urlPrefix); |