From 6e5ec591379b5958b13f90c0646c04af04082dab Mon Sep 17 00:00:00 2001 From: Ezequiel Bergamaschi <ezequielbergamaschi@gmail.com> Date: Sun, 26 Oct 2014 18:11:56 -0300 Subject: [PATCH] change js for symlink in tests --- .../src/test/javascript/lib/web2d.svg-min.js | 763 +----------------- 1 file changed, 1 insertion(+), 762 deletions(-) mode change 100644 => 120000 mindplot/src/test/javascript/lib/web2d.svg-min.js diff --git a/mindplot/src/test/javascript/lib/web2d.svg-min.js b/mindplot/src/test/javascript/lib/web2d.svg-min.js deleted file mode 100644 index e292dbd8..00000000 --- a/mindplot/src/test/javascript/lib/web2d.svg-min.js +++ /dev/null @@ -1,762 +0,0 @@ -var web2d={}; -web2d.peer={svg:{}}; -web2d.peer.utils={};web2d.peer.utils.EventUtils={broadcastChangeEvent:function(elementPeer,type){var listeners=elementPeer.getChangeEventListeners(type); -if($defined(listeners)){for(var i=0; -i<listeners.length; -i++){var listener=listeners[i]; -listener.call(elementPeer,null) -}}var children=elementPeer.getChildren(); -for(var j=0; -j<children.length; -j++){var child=children[j]; -web2d.peer.utils.EventUtils.broadcastChangeEvent(child,type) -}}};web2d.peer.utils.TransformUtil={workoutScale:function(elementPeer){var current=elementPeer.getParent(); -var width=1; -var height=1; -while(current){var coordSize=current.getCoordSize(); -var size=current.getSize(); -width=width*(parseInt(size.width)/coordSize.width); -height=height*(parseInt(size.height)/coordSize.height); -current=current.getParent() -}return{width:width,height:height} -}};web2d.peer.svg.ElementPeer=new Class({initialize:function(svgElement){this._native=svgElement; -if(!this._native.addEvent){for(var key in Element){this._native[key]=Element.prototype[key] -}}this._size={width:1,height:1}; -this._changeListeners={} -},setChildren:function(children){this._children=children -},getChildren:function(){var result=this._children; -if(!$defined(result)){result=[]; -this._children=result -}return result -},getParent:function(){return this._parent -},setParent:function(parent){this._parent=parent -},append:function(elementPeer){elementPeer.setParent(this); -var children=this.getChildren(); -children.include(elementPeer); -this._native.appendChild(elementPeer._native); -web2d.peer.utils.EventUtils.broadcastChangeEvent(this,"strokeStyle") -},removeChild:function(elementPeer){elementPeer.setParent(null); -var children=this.getChildren(); -var oldLength=children.length; -children.erase(elementPeer); -$assert(children.length<oldLength,"element could not be removed:"+elementPeer); -this._native.removeChild(elementPeer._native) -},addEvent:function(type,listener){$(this._native).bind(type,listener) -},trigger:function(type,event){$(this._native).trigger(type,event) -},cloneEvents:function(from){this._native.cloneEvents(from) -},removeEvent:function(type,listener){$(this._native).unbind(type,listener) -},setSize:function(width,height){if($defined(width)&&this._size.width!=parseInt(width)){this._size.width=parseInt(width); -this._native.setAttribute("width",parseInt(width)) -}if($defined(height)&&this._size.height!=parseInt(height)){this._size.height=parseInt(height); -this._native.setAttribute("height",parseInt(height)) -}web2d.peer.utils.EventUtils.broadcastChangeEvent(this,"strokeStyle") -},getSize:function(){return{width:this._size.width,height:this._size.height} -},setFill:function(color,opacity){if($defined(color)){this._native.setAttribute("fill",color) -}if($defined(opacity)){this._native.setAttribute("fill-opacity",opacity) -}},getFill:function(){var color=this._native.getAttribute("fill"); -var opacity=this._native.getAttribute("fill-opacity"); -return{color:color,opacity:Number(opacity)} -},getStroke:function(){var vmlStroke=this._native; -var color=vmlStroke.getAttribute("stroke"); -var dashstyle=this._stokeStyle; -var opacity=vmlStroke.getAttribute("stroke-opacity"); -var width=vmlStroke.getAttribute("stroke-width"); -return{color:color,style:dashstyle,opacity:opacity,width:width} -},setStroke:function(width,style,color,opacity){if($defined(width)){this._native.setAttribute("stroke-width",width+"px") -}if($defined(color)){this._native.setAttribute("stroke",color) -}if($defined(style)){var dashArrayPoints=this.__stokeStyleToStrokDasharray[style]; -var scale=1/web2d.peer.utils.TransformUtil.workoutScale(this).width; -var strokeWidth=this._native.getAttribute("stroke-width"); -strokeWidth=parseFloat(strokeWidth); -var scaledPoints=[]; -for(var i=0; -i<dashArrayPoints.length; -i++){scaledPoints[i]=dashArrayPoints[i]*strokeWidth; -scaledPoints[i]=(scaledPoints[i]*scale)+"px" -}this._stokeStyle=style -}if($defined(opacity)){this._native.setAttribute("stroke-opacity",opacity) -}},setVisibility:function(isVisible){this._native.setAttribute("visibility",(isVisible)?"visible":"hidden") -},isVisible:function(){var visibility=this._native.getAttribute("visibility"); -return !(visibility=="hidden") -},updateStrokeStyle:function(){var strokeStyle=this._stokeStyle; -if(this.getParent()){if(strokeStyle&&strokeStyle!="solid"){this.setStroke(null,strokeStyle) -}}},attachChangeEventListener:function(type,listener){var listeners=this.getChangeEventListeners(type); -if(!$defined(listener)){throw"Listener can not be null" -}listeners.push(listener) -},getChangeEventListeners:function(type){var listeners=this._changeListeners[type]; -if(!$defined(listeners)){listeners=[]; -this._changeListeners[type]=listeners -}return listeners -},moveToFront:function(){this._native.parentNode.appendChild(this._native) -},moveToBack:function(){this._native.parentNode.insertBefore(this._native,this._native.parentNode.firstChild) -},setCursor:function(type){this._native.style.cursor=type -}}); -web2d.peer.svg.ElementPeer.prototype.svgNamespace="http://www.w3.org/2000/svg"; -web2d.peer.svg.ElementPeer.prototype.linkNamespace="http://www.w3.org/1999/xlink"; -web2d.peer.svg.ElementPeer.prototype.__stokeStyleToStrokDasharray={solid:[],dot:[1,3],dash:[4,3],longdash:[10,2],dashdot:[5,3,1,3]};web2d.peer.svg.ElipsePeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(){var svgElement=window.document.createElementNS(this.svgNamespace,"ellipse"); -this.parent(svgElement); -this.attachChangeEventListener("strokeStyle",web2d.peer.svg.ElementPeer.prototype.updateStrokeStyle); -this._position={x:0,y:0} -},setSize:function(width,height){this.parent(width,height); -if($defined(width)){this._native.setAttribute("rx",width/2) -}if($defined(height)){this._native.setAttribute("ry",height/2) -}var pos=this.getPosition(); -this.setPosition(pos.x,pos.y) -},setPosition:function(cx,cy){var size=this.getSize(); -cx=cx+size.width/2; -cy=cy+size.height/2; -if($defined(cx)){this._native.setAttribute("cx",cx) -}if($defined(cy)){this._native.setAttribute("cy",cy) -}},getPosition:function(){return this._position -}});web2d.peer.svg.Font=new Class({initialize:function(){this._size=10; -this._style="normal"; -this._weight="normal" -},init:function(args){if($defined(args.size)){this._size=parseInt(args.size) -}if($defined(args.style)){this._style=args.style -}if($defined(args.weight)){this._weight=args.weight -}},getHtmlSize:function(scale){var result=0; -if(this._size==6){result=this._size*scale.height*43/32 -}if(this._size==8){result=this._size*scale.height*42/32 -}else{if(this._size==10){result=this._size*scale.height*42/32 -}else{if(this._size==15){result=this._size*scale.height*42/32 -}}}return result -},getGraphSize:function(){return this._size*43/32 -},getSize:function(){return parseInt(this._size) -},getStyle:function(){return this._style -},getWeight:function(){return this._weight -},setSize:function(size){this._size=size -},setStyle:function(style){this._style=style -},setWeight:function(weight){this._weight=weight -},getWidthMargin:function(){var result=0; -if(this._size==10||this._size==6){result=4 -}return result -}});web2d.peer.svg.ArialFont=new Class({Extends:web2d.peer.svg.Font,initialize:function(){this.parent(); -this._fontFamily="Arial" -},getFontFamily:function(){return this._fontFamily -},getFont:function(){return web2d.Font.ARIAL -}});web2d.peer.svg.PolyLinePeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(){var svgElement=window.document.createElementNS(this.svgNamespace,"polyline"); -this.parent(svgElement); -this.setFill("none"); -this.breakDistance=10 -},setFrom:function(x1,y1){this._x1=x1; -this._y1=y1; -this._updatePath() -},setTo:function(x2,y2){this._x2=x2; -this._y2=y2; -this._updatePath() -},setStrokeWidth:function(width){this._native.setAttribute("stroke-width",width) -},setColor:function(color){this._native.setAttribute("stroke",color) -},setStyle:function(style){this._style=style; -this._updatePath() -},getStyle:function(){return this._style -},_updatePath:function(){if(this._style=="Curved"){this._updateMiddleCurvePath() -}else{if(this._style=="Straight"){this._updateStraightPath() -}else{this._updateCurvePath() -}}},_updateStraightPath:function(){if($defined(this._x1)&&$defined(this._x2)&&$defined(this._y1)&&$defined(this._y2)){var path=web2d.PolyLine.buildStraightPath(this.breakDistance,this._x1,this._y1,this._x2,this._y2); -this._native.setAttribute("points",path) -}},_updateMiddleCurvePath:function(){var x1=this._x1; -var y1=this._y1; -var x2=this._x2; -var y2=this._y2; -if($defined(x1)&&$defined(x2)&&$defined(y1)&&$defined(y2)){var diff=x2-x1; -var middlex=(diff/2)+x1; -var signx=1; -var signy=1; -if(diff<0){signx=-1 -}if(y2<y1){signy=-1 -}var path=x1+", "+y1+" "+(middlex-10*signx)+", "+y1+" "+middlex+", "+(y1+10*signy)+" "+middlex+", "+(y2-10*signy)+" "+(middlex+10*signx)+", "+y2+" "+x2+", "+y2; -this._native.setAttribute("points",path) -}},_updateCurvePath:function(){if($defined(this._x1)&&$defined(this._x2)&&$defined(this._y1)&&$defined(this._y2)){var path=web2d.PolyLine.buildCurvedPath(this.breakDistance,this._x1,this._y1,this._x2,this._y2); -this._native.setAttribute("points",path) -}}});web2d.peer.svg.CurvedLinePeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(){var svgElement=window.document.createElementNS(this.svgNamespace,"path"); -this.parent(svgElement); -this._style={fill:"#495879"}; -this._updateStyle(); -this._customControlPoint_1=false; -this._customControlPoint_2=false; -this._control1=new core.Point(); -this._control2=new core.Point(); -this._lineStyle=true -},setSrcControlPoint:function(control){this._customControlPoint_1=true; -var change=this._control1.x!=control.x||this._control1.y!=control.y; -if($defined(control.x)){this._control1=control; -this._control1.x=parseInt(this._control1.x); -this._control1.y=parseInt(this._control1.y) -}if(change){this._updatePath() -}},setDestControlPoint:function(control){this._customControlPoint_2=true; -var change=this._control2.x!=control.x||this._control2.y!=control.y; -if($defined(control.x)){this._control2=control; -this._control2.x=parseInt(this._control2.x); -this._control2.y=parseInt(this._control2.y) -}if(change){this._updatePath() -}},isSrcControlPointCustom:function(){return this._customControlPoint_1 -},isDestControlPointCustom:function(){return this._customControlPoint_2 -},setIsSrcControlPointCustom:function(isCustom){this._customControlPoint_1=isCustom -},setIsDestControlPointCustom:function(isCustom){this._customControlPoint_2=isCustom -},getControlPoints:function(){return[this._control1,this._control2] -},setFrom:function(x1,y1){var change=this._x1!=parseInt(x1)||this._y1!=parseInt(y1); -this._x1=parseInt(x1); -this._y1=parseInt(y1); -if(change){this._updatePath() -}},setTo:function(x2,y2){var change=this._x2!=parseInt(x2)||this._y2!=parseInt(y2); -this._x2=parseInt(x2); -this._y2=parseInt(y2); -if(change){this._updatePath() -}},getFrom:function(){return new core.Point(this._x1,this._y1) -},getTo:function(){return new core.Point(this._x2,this._y2) -},setStrokeWidth:function(width){this._style["stroke-width"]=width; -this._updateStyle() -},setColor:function(color){this._style.stroke=color; -this._style.fill=color; -this._updateStyle() -},updateLine:function(avoidControlPointFix){this._updatePath(avoidControlPointFix) -},setLineStyle:function(style){this._lineStyle=style; -if(this._lineStyle){this._style.fill=this._fill -}else{this._fill=this._style.fill; -this._style.fill="none" -}this._updateStyle(); -this.updateLine() -},getLineStyle:function(){return this._lineStyle -},setShowEndArrow:function(visible){this._showEndArrow=visible; -this.updateLine() -},isShowEndArrow:function(){return this._showEndArrow -},setShowStartArrow:function(visible){this._showStartArrow=visible; -this.updateLine() -},isShowStartArrow:function(){return this._showStartArrow -},_updatePath:function(avoidControlPointFix){if($defined(this._x1)&&$defined(this._y1)&&$defined(this._x2)&&$defined(this._y2)){this._calculateAutoControlPoints(avoidControlPointFix); -var path="M"+this._x1+","+this._y1+" C"+(this._control1.x+this._x1)+","+(this._control1.y+this._y1)+" "+(this._control2.x+this._x2)+","+(this._control2.y+this._y2)+" "+this._x2+","+this._y2+(this._lineStyle?" "+(this._control2.x+this._x2)+","+(this._control2.y+this._y2+3)+" "+(this._control1.x+this._x1)+","+(this._control1.y+this._y1+5)+" "+this._x1+","+(this._y1+7)+" Z":""); -this._native.setAttribute("d",path) -}},_updateStyle:function(){var style=""; -for(var key in this._style){style+=key+":"+this._style[key]+" " -}this._native.setAttribute("style",style) -},_calculateAutoControlPoints:function(avoidControlPointFix){var defaultpoints=mindplot.util.Shape.calculateDefaultControlPoints(new core.Point(this._x1,this._y1),new core.Point(this._x2,this._y2)); -if(!this._customControlPoint_1&&!($defined(avoidControlPointFix)&&avoidControlPointFix==0)){this._control1.x=defaultpoints[0].x; -this._control1.y=defaultpoints[0].y -}if(!this._customControlPoint_2&&!($defined(avoidControlPointFix)&&avoidControlPointFix==1)){this._control2.x=defaultpoints[1].x; -this._control2.y=defaultpoints[1].y -}},setDashed:function(length,spacing){if($defined(length)&&$defined(spacing)){this._native.setAttribute("stroke-dasharray",length+","+spacing) -}else{this._native.setAttribute("stroke-dasharray","") -}}});web2d.peer.svg.ArrowPeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(){var svgElement=window.document.createElementNS(this.svgNamespace,"path"); -this.parent(svgElement); -this._style={}; -this._controlPoint=new core.Point(); -this._fromPoint=new core.Point() -},setFrom:function(x,y){this._fromPoint.x=x; -this._fromPoint.y=y; -this._redraw() -},setControlPoint:function(point){this._controlPoint=point; -this._redraw() -},setStrokeColor:function(color){this.setStroke(null,null,color,null) -},setStrokeWidth:function(width){this.setStroke(width) -},setDashed:function(isDashed,length,spacing){if($defined(isDashed)&&isDashed&&$defined(length)&&$defined(spacing)){this._native.setAttribute("stroke-dasharray",length+","+spacing) -}else{this._native.setAttribute("stroke-dasharray","") -}},_updateStyle:function(){var style=""; -for(var key in this._style){style+=key+":"+this._style[key]+" " -}this._native.setAttribute("style",style) -},_redraw:function(){var x,y,xp,yp; -if($defined(this._fromPoint.x)&&$defined(this._fromPoint.y)&&$defined(this._controlPoint.x)&&$defined(this._controlPoint.y)){if(this._controlPoint.y==0){this._controlPoint.y=1 -}var y0=this._controlPoint.y; -var x0=this._controlPoint.x; -var x2=x0+y0; -var y2=y0-x0; -var x3=x0-y0; -var y3=y0+x0; -var m=y2/x2; -var mp=y3/x3; -var l=6; -var pow=Math.pow; -x=(x2==0?0:Math.sqrt(pow(l,2)/(1+pow(m,2)))); -x*=Math.sign(x2); -y=(x2==0?l*Math.sign(y2):m*x); -xp=(x3==0?0:Math.sqrt(pow(l,2)/(1+pow(mp,2)))); -xp*=Math.sign(x3); -yp=(x3==0?l*Math.sign(y3):mp*xp); -var path="M"+this._fromPoint.x+","+this._fromPoint.y+" L"+(x+this._fromPoint.x)+","+(y+this._fromPoint.y)+"M"+this._fromPoint.x+","+this._fromPoint.y+" L"+(xp+this._fromPoint.x)+","+(yp+this._fromPoint.y); -this._native.setAttribute("d",path) -}}});web2d.peer.svg.TextPeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(){var svgElement=window.document.createElementNS(this.svgNamespace,"text"); -this.parent(svgElement); -this._position={x:0,y:0}; -this._font=new web2d.Font("Arial",this) -},append:function(element){this._native.appendChild(element._native) -},setTextAlignment:function(align){this._textAlign=align -},getTextAlignment:function(){return $defined(this._textAlign)?this._textAlign:"left" -},setText:function(text){while(this._native.firstChild){this._native.removeChild(this._native.firstChild) -}this._text=text; -if(text){var lines=text.split("\n"); -var me=this; -lines.forEach(function(line){var tspan=window.document.createElementNS(me.svgNamespace,"tspan"); -tspan.setAttribute("dy","1em"); -tspan.setAttribute("x",me.getPosition().x); -tspan.textContent=line.length==0?" ":line; -me._native.appendChild(tspan) -}) -}},getText:function(){return this._text -},setPosition:function(x,y){this._position={x:x,y:y}; -this._native.setAttribute("y",y); -this._native.setAttribute("x",x); -$(this._native).children("tspan").attr("x",x) -},getPosition:function(){return this._position -},getNativePosition:function(){return $(this._native).position() -},setFont:function(font,size,style,weight){if($defined(font)){this._font=new web2d.Font(font,this) -}if($defined(style)){this._font.setStyle(style) -}if($defined(weight)){this._font.setWeight(weight) -}if($defined(size)){this._font.setSize(size) -}this._updateFontStyle() -},_updateFontStyle:function(){this._native.setAttribute("font-family",this._font.getFontFamily()); -this._native.setAttribute("font-size",this._font.getGraphSize()); -this._native.setAttribute("font-style",this._font.getStyle()); -this._native.setAttribute("font-weight",this._font.getWeight()) -},setColor:function(color){this._native.setAttribute("fill",color) -},getColor:function(){return this._native.getAttribute("fill") -},setTextSize:function(size){this._font.setSize(size); -this._updateFontStyle() -},setContentSize:function(width,height){this._native.xTextSize=width.toFixed(1)+","+height.toFixed(1) -},setStyle:function(style){this._font.setStyle(style); -this._updateFontStyle() -},setWeight:function(weight){this._font.setWeight(weight); -this._updateFontStyle() -},setFontFamily:function(family){var oldFont=this._font; -this._font=new web2d.Font(family,this); -this._font.setSize(oldFont.getSize()); -this._font.setStyle(oldFont.getStyle()); -this._font.setWeight(oldFont.getWeight()); -this._updateFontStyle() -},getFont:function(){return{font:this._font.getFont(),size:parseInt(this._font.getSize()),style:this._font.getStyle(),weight:this._font.getWeight()} -},setSize:function(size){this._font.setSize(size); -this._updateFontStyle() -},getWidth:function(){var computedWidth; -try{computedWidth=this._native.getBBox().width; -if(computedWidth==0){var bbox=this._native.getBBox(); -computedWidth=bbox.width -}}catch(e){computedWidth=10 -}var width=parseInt(computedWidth); -width=width+this._font.getWidthMargin(); -return width -},getHeight:function(){try{var computedHeight=this._native.getBBox().height -}catch(e){computedHeight=10 -}return parseInt(computedHeight) -},getHtmlFontSize:function(){return this._font.getHtmlSize() -}});web2d.peer.svg.WorkspacePeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(element){this._element=element; -var svgElement=window.document.createElementNS(this.svgNamespace,"svg"); -this.parent(svgElement); -this._native.setAttribute("focusable","true"); -this._native.setAttribute("id","workspace"); -this._native.setAttribute("preserveAspectRatio","none") -},setCoordSize:function(width,height){var viewBox=this._native.getAttribute("viewBox"); -var coords=[0,0,0,0]; -if(viewBox!=null){coords=viewBox.split(/ /) -}if($defined(width)){coords[2]=width -}if($defined(height)){coords[3]=height -}this._native.setAttribute("viewBox",coords.join(" ")); -this._native.setAttribute("preserveAspectRatio","none"); -web2d.peer.utils.EventUtils.broadcastChangeEvent(this,"strokeStyle") -},getCoordSize:function(){var viewBox=this._native.getAttribute("viewBox"); -var coords=[1,1,1,1]; -if(viewBox!=null){coords=viewBox.split(/ /) -}return{width:coords[2],height:coords[3]} -},setCoordOrigin:function(x,y){var viewBox=this._native.getAttribute("viewBox"); -var coords=[0,0,0,0]; -if(viewBox!=null){coords=viewBox.split(/ /) -}if($defined(x)){coords[0]=x -}if($defined(y)){coords[1]=y -}this._native.setAttribute("viewBox",coords.join(" ")) -},append:function(child){this.parent(child); -web2d.peer.utils.EventUtils.broadcastChangeEvent(child,"onChangeCoordSize") -},getCoordOrigin:function(child){var viewBox=this._native.getAttribute("viewBox"); -var coords=[1,1,1,1]; -if(viewBox!=null){coords=viewBox.split(/ /) -}var x=parseFloat(coords[0]); -var y=parseFloat(coords[1]); -return{x:x,y:y} -},getPosition:function(){return{x:0,y:0} -}});web2d.peer.svg.GroupPeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(){var svgElement=window.document.createElementNS(this.svgNamespace,"g"); -this.parent(svgElement); -this._native.setAttribute("preserveAspectRatio","none"); -this._coordSize={width:1,height:1}; -this._native.setAttribute("focusable","true"); -this._position={x:0,y:0}; -this._coordOrigin={x:0,y:0} -},setCoordSize:function(width,height){var change=this._coordSize.width!=width||this._coordSize.height!=height; -this._coordSize.width=width; -this._coordSize.height=height; -if(change){this.updateTransform() -}web2d.peer.utils.EventUtils.broadcastChangeEvent(this,"strokeStyle") -},getCoordSize:function(){return{width:this._coordSize.width,height:this._coordSize.height} -},updateTransform:function(){var sx=this._size.width/this._coordSize.width; -var sy=this._size.height/this._coordSize.height; -var cx=this._position.x-this._coordOrigin.x*sx; -var cy=this._position.y-this._coordOrigin.y*sy; -cx=isNaN(cx)?0:cx; -cy=isNaN(cy)?0:cy; -sx=isNaN(sx)?0:sx; -sy=isNaN(sy)?0:sy; -this._native.setAttribute("transform","translate("+cx+","+cy+") scale("+sx+","+sy+")") -},setOpacity:function(value){this._native.setAttribute("opacity",value) -},setCoordOrigin:function(x,y){var change=x!=this._coordOrigin.x||y!=this._coordOrigin.y; -if($defined(x)){this._coordOrigin.x=x -}if($defined(y)){this._coordOrigin.y=y -}if(change){this.updateTransform() -}},setSize:function(width,height){var change=width!=this._size.width||height!=this._size.height; -this.parent(width,height); -if(change){this.updateTransform() -}},setPosition:function(x,y){var change=x!=this._position.x||y!=this._position.y; -if($defined(x)){this._position.x=parseInt(x) -}if($defined(y)){this._position.y=parseInt(y) -}if(change){this.updateTransform() -}},getPosition:function(){return{x:this._position.x,y:this._position.y} -},append:function(child){this.parent(child); -web2d.peer.utils.EventUtils.broadcastChangeEvent(child,"onChangeCoordSize") -},getCoordOrigin:function(){return{x:this._coordOrigin.x,y:this._coordOrigin.y} -}});web2d.peer.svg.RectPeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(arc){var svgElement=window.document.createElementNS(this.svgNamespace,"rect"); -this.parent(svgElement); -this._arc=arc; -this.attachChangeEventListener("strokeStyle",web2d.peer.svg.ElementPeer.prototype.updateStrokeStyle) -},setPosition:function(x,y){if($defined(x)){this._native.setAttribute("x",parseInt(x)) -}if($defined(y)){this._native.setAttribute("y",parseInt(y)) -}},getPosition:function(){var x=this._native.getAttribute("x"); -var y=this._native.getAttribute("y"); -return{x:parseInt(x),y:parseInt(y)} -},setSize:function(width,height){this.parent(width,height); -var min=width<height?width:height; -if($defined(this._arc)){var arc=(min/2)*this._arc; -this._native.setAttribute("rx",arc); -this._native.setAttribute("ry",arc) -}}});web2d.peer.svg.ImagePeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(){var svgElement=window.document.createElementNS(this.svgNamespace,"image"); -this.parent(svgElement); -this._position={x:0,y:0}; -this._href=""; -this._native.setAttribute("preserveAspectRatio","none") -},setPosition:function(x,y){this._position={x:x,y:y}; -this._native.setAttribute("y",y); -this._native.setAttribute("x",x) -},getPosition:function(){return this._position -},setHref:function(url){this._native.setAttributeNS(this.linkNamespace,"href",url); -this._href=url -},getHref:function(){return this._href -}});web2d.peer.svg.TimesFont=new Class({Extends:web2d.peer.svg.Font,initialize:function(){this.parent(); -this._fontFamily="times" -},getFontFamily:function(){return this._fontFamily -},getFont:function(){return web2d.Font.TIMES -}});web2d.peer.svg.LinePeer=new Class({Extends:web2d.peer.svg.ElementPeer,initialize:function(){var svgElement=window.document.createElementNS(this.svgNamespace,"line"); -this.parent(svgElement); -this.attachChangeEventListener("strokeStyle",web2d.peer.svg.ElementPeer.prototype.updateStrokeStyle) -},setFrom:function(x1,y1){this._x1=x1; -this._y1=y1; -this._native.setAttribute("x1",x1); -this._native.setAttribute("y1",y1) -},setTo:function(x2,y2){this._x2=x2; -this._y2=y2; -this._native.setAttribute("x2",x2); -this._native.setAttribute("y2",y2) -},getFrom:function(){return new core.Point(this._x1,this._y1) -},getTo:function(){return new core.Point(this._x2,this._y2) -},setArrowStyle:function(startStyle,endStyle){if($defined(startStyle)){}if($defined(endStyle)){}}});web2d.peer.svg.TahomaFont=new Class({Extends:web2d.peer.svg.Font,initialize:function(){this.parent(); -this._fontFamily="tahoma" -},getFontFamily:function(){return this._fontFamily -},getFont:function(){return web2d.Font.TAHOMA -}});web2d.peer.svg.VerdanaFont=new Class({Extends:web2d.peer.svg.Font,initialize:function(){this.parent(); -this._fontFamily="verdana" -},getFontFamily:function(){return this._fontFamily -},getFont:function(){return web2d.Font.VERDANA -}});web2d.Element=new Class({initialize:function(peer,attributes){this._peer=peer; -if(peer==null){throw new Error("Element peer can not be null") -}if($defined(attributes)){this._initialize(attributes) -}},_initialize:function(attributes){var batchExecute={}; -for(var key in attributes){var funcName=this._attributeNameToFuncName(key,"set"); -var funcArgs=batchExecute[funcName]; -if(!$defined(funcArgs)){funcArgs=[] -}var signature=web2d.Element._propertyNameToSignature[key]; -var argPositions=signature[1]; -if(argPositions!=web2d.Element._SIGNATURE_MULTIPLE_ARGUMENTS){funcArgs[argPositions]=attributes[key] -}else{funcArgs=attributes[key].split(" ") -}batchExecute[funcName]=funcArgs -}for(var key in batchExecute){var func=this[key]; -if(!$defined(func)){throw new Error("Could not find function: "+key) -}func.apply(this,batchExecute[key]) -}},setSize:function(width,height){this._peer.setSize(width,height) -},setPosition:function(cx,cy){this._peer.setPosition(cx,cy) -},addEvent:function(type,listener){this._peer.addEvent(type,listener) -},trigger:function(type,event){this._peer.trigger(type,event) -},cloneEvents:function(from){this._peer.cloneEvents(from) -},removeEvent:function(type,listener){this._peer.removeEvent(type,listener) -},getType:function(){throw new Error("Not implemeneted yet. This method must be implemented by all the inherited objects.") -},getFill:function(){return this._peer.getFill() -},setFill:function(color,opacity){this._peer.setFill(color,opacity) -},getPosition:function(){return this._peer.getPosition() -},getNativePosition:function(){return this._peer.getNativePosition() -},setStroke:function(width,style,color,opacity){if(style!=null&&style!=undefined&&style!="dash"&&style!="dot"&&style!="solid"&&style!="longdash"&&style!="dashdot"){throw new Error("Unsupported stroke style: '"+style+"'") -}this._peer.setStroke(width,style,color,opacity) -},_attributeNameToFuncName:function(attributeKey,prefix){var signature=web2d.Element._propertyNameToSignature[attributeKey]; -if(!$defined(signature)){throw"Unsupported attribute: "+attributeKey -}var firstLetter=signature[0].charAt(0); -return prefix+firstLetter.toUpperCase()+signature[0].substring(1) -},setAttribute:function(key,value){var funcName=this._attributeNameToFuncName(key,"set"); -var signature=web2d.Element._propertyNameToSignature[key]; -if(signature==null){throw"Could not find the signature for:"+key -}var argPositions=signature[1]; -var args=[]; -if(argPositions!==this._SIGNATURE_MULTIPLE_ARGUMENTS){args[argPositions]=value -}else{if(typeof value=="array"){args=value -}else{var strValue=String(value); -args=strValue.split(" ") -}}var setter=this[funcName]; -if(setter==null){throw"Could not find the function name:"+funcName -}setter.apply(this,args) -},getAttribute:function(key){var funcName=this._attributeNameToFuncName(key,"get"); -var signature=web2d.Element._propertyNameToSignature[key]; -if(signature==null){throw"Could not find the signature for:"+key -}var getter=this[funcName]; -if(getter==null){throw"Could not find the function name:"+funcName -}var getterResult=getter.apply(this,[]); -var attibuteName=signature[2]; -if(!$defined(attibuteName)){throw"Could not find attribute mapping for:"+key -}var result=getterResult[attibuteName]; -if(!$defined(result)){throw"Could not find attribute with name:"+attibuteName -}return result -},setOpacity:function(opacity){this._peer.setStroke(null,null,null,opacity); -this._peer.setFill(null,opacity) -},setVisibility:function(isVisible){this._peer.setVisibility(isVisible) -},isVisible:function(){return this._peer.isVisible() -},moveToFront:function(){this._peer.moveToFront() -},moveToBack:function(){this._peer.moveToBack() -},getStroke:function(){return this._peer.getStroke() -},setCursor:function(type){this._peer.setCursor(type) -},getParent:function(){return this._peer.getParent() -}}); -web2d.Element._SIGNATURE_MULTIPLE_ARGUMENTS=-1; -web2d.Element._supportedEvents=["click","dblclick","mousemove","mouseout","mouseover","mousedown","mouseup"]; -web2d.Element._propertyNameToSignature={size:["size",-1],width:["size",0,"width"],height:["size",1,"height"],position:["position",-1],x:["position",0,"x"],y:["position",1,"y"],stroke:["stroke",-1],strokeWidth:["stroke",0,"width"],strokeStyle:["stroke",1,"style"],strokeColor:["stroke",2,"color"],strokeOpacity:["stroke",3,"opacity"],fill:["fill",-1],fillColor:["fill",0,"color"],fillOpacity:["fill",1,"opacity"],coordSize:["coordSize",-1],coordSizeWidth:["coordSize",0,"width"],coordSizeHeight:["coordSize",1,"height"],coordOrigin:["coordOrigin",-1],coordOriginX:["coordOrigin",0,"x"],coordOriginY:["coordOrigin",1,"y"],visibility:["visibility",0],opacity:["opacity",0]};web2d.Elipse=new Class({Extends:web2d.Element,initialize:function(attributes){var peer=web2d.peer.Toolkit.createElipse(); -var defaultAttributes={width:40,height:40,x:5,y:5,stroke:"1 solid black",fillColor:"blue"}; -for(var key in attributes){defaultAttributes[key]=attributes[key] -}this.parent(peer,defaultAttributes) -},getType:function(){return"Elipse" -},getSize:function(){return this._peer.getSize() -}});web2d.Font=new Class({initialize:function(fontFamily,textPeer){var font="web2d.peer.Toolkit.create"+fontFamily+"Font();"; -this._peer=eval(font); -this._textPeer=textPeer -},getHtmlSize:function(){var scale=web2d.peer.utils.TransformUtil.workoutScale(this._textPeer); -return this._peer.getHtmlSize(scale) -},getGraphSize:function(){var scale=web2d.peer.utils.TransformUtil.workoutScale(this._textPeer); -return this._peer.getGraphSize(scale) -},getFontScale:function(){return web2d.peer.utils.TransformUtil.workoutScale(this._textPeer).height -},getSize:function(){return this._peer.getSize() -},getStyle:function(){return this._peer.getStyle() -},getWeight:function(){return this._peer.getWeight() -},getFontFamily:function(){return this._peer.getFontFamily() -},setSize:function(size){return this._peer.setSize(size) -},setStyle:function(style){return this._peer.setStyle(style) -},setWeight:function(weight){return this._peer.setWeight(weight) -},getFont:function(){return this._peer.getFont() -},getWidthMargin:function(){return this._peer.getWidthMargin() -}}); -web2d.Font.ARIAL="Arial"; -web2d.Font.TIMES="Times"; -web2d.Font.TAHOMA="Tahoma"; -web2d.Font.VERDANA="Verdana";web2d.Group=new Class({Extends:web2d.Element,initialize:function(attributes){var peer=web2d.peer.Toolkit.createGroup(); -var defaultAttributes={width:50,height:50,x:50,y:50,coordOrigin:"0 0",coordSize:"50 50"}; -for(var key in attributes){defaultAttributes[key]=attributes[key] -}this.parent(peer,defaultAttributes) -},removeChild:function(element){if(!$defined(element)){throw"Child element can not be null" -}if(element==this){throw"It's not possible to add the group as a child of itself" -}var elementType=element.getType(); -if(elementType==null){throw"It seems not to be an element ->"+element -}this._peer.removeChild(element._peer) -},append:function(element){if(!$defined(element)){throw"Child element can not be null" -}if(element==this){throw"It's not posible to add the group as a child of itself" -}var elementType=element.getType(); -if(elementType==null){throw"It seems not to be an element ->"+element -}if(elementType=="Workspace"){throw"A group can not have a workspace as a child" -}this._peer.append(element._peer) -},getType:function(){return"Group" -},setCoordSize:function(width,height){this._peer.setCoordSize(width,height) -},setCoordOrigin:function(x,y){this._peer.setCoordOrigin(x,y) -},getCoordOrigin:function(){return this._peer.getCoordOrigin() -},getSize:function(){return this._peer.getSize() -},setFill:function(color,opacity){throw"Unsupported operation. Fill can not be set to a group" -},setStroke:function(width,style,color,opacity){throw"Unsupported operation. Stroke can not be set to a group" -},getCoordSize:function(){return this._peer.getCoordSize() -},appendDomChild:function(DomElement){if(!$defined(DomElement)){throw"Child element can not be null" -}if(DomElement==this){throw"It's not possible to add the group as a child of itself" -}this._peer._native.append(DomElement) -},setOpacity:function(value){this._peer.setOpacity(value) -}});web2d.Image=new Class({Extends:web2d.Element,initialize:function(attributes){var peer=web2d.peer.Toolkit.createImage(); -this.parent(peer,attributes) -},getType:function(){return"Image" -},setHref:function(href){this._peer.setHref(href) -},getHref:function(){return this._peer.getHref() -},getSize:function(){return this._peer.getSize() -}});web2d.Line=new Class({Extends:web2d.Element,initialize:function(attributes){var peer=web2d.peer.Toolkit.createLine(); -var defaultAttributes={strokeColor:"#495879",strokeWidth:1,strokeOpacity:1}; -for(var key in attributes){defaultAttributes[key]=attributes[key] -}this.parent(peer,defaultAttributes) -},getType:function(){return"Line" -},setFrom:function(x,y){this._peer.setFrom(x,y) -},setTo:function(x,y){this._peer.setTo(x,y) -},getFrom:function(){return this._peer.getFrom() -},getTo:function(){return this._peer.getTo() -},setArrowStyle:function(startStyle,endStyle){this._peer.setArrowStyle(startStyle,endStyle) -},setPosition:function(cx,cy){throw"Unsupported operation" -},setSize:function(width,height){throw"Unsupported operation" -},setFill:function(color,opacity){throw"Unsupported operation" -}});web2d.PolyLine=new Class({Extends:web2d.Element,initialize:function(attributes){var peer=web2d.peer.Toolkit.createPolyLine(); -var defaultAttributes={strokeColor:"blue",strokeWidth:1,strokeStyle:"solid",strokeOpacity:1}; -for(var key in attributes){defaultAttributes[key]=attributes[key] -}this.parent(peer,defaultAttributes) -},getType:function(){return"PolyLine" -},setFrom:function(x,y){this._peer.setFrom(x,y) -},setTo:function(x,y){this._peer.setTo(x,y) -},setStyle:function(style){this._peer.setStyle(style) -},getStyle:function(){return this._peer.getStyle() -},buildCurvedPath:function(dist,x1,y1,x2,y2){var signx=1; -var signy=1; -if(x2<x1){signx=-1 -}if(y2<y1){signy=-1 -}var path; -if(Math.abs(y1-y2)>2){var middlex=x1+((x2-x1>0)?dist:-dist); -path=x1.toFixed(1)+", "+y1.toFixed(1)+" "+middlex.toFixed(1)+", "+y1.toFixed(1)+" "+middlex.toFixed(1)+", "+(y2-5*signy).toFixed(1)+" "+(middlex+5*signx).toFixed(1)+", "+y2.toFixed(1)+" "+x2.toFixed(1)+", "+y2.toFixed(1) -}else{path=x1.toFixed(1)+", "+y1.toFixed(1)+" "+x2.toFixed(1)+", "+y2.toFixed(1) -}return path -},buildStraightPath:function(dist,x1,y1,x2,y2){var middlex=x1+((x2-x1>0)?dist:-dist); -return x1+", "+y1+" "+middlex+", "+y1+" "+middlex+", "+y2+" "+x2+", "+y2 -}});web2d.CurvedLine=new Class({Extends:web2d.Element,initialize:function(attributes){var peer=web2d.peer.Toolkit.createCurvedLine(); -var defaultAttributes={strokeColor:"blue",strokeWidth:1,strokeStyle:"solid",strokeOpacity:1}; -for(var key in attributes){defaultAttributes[key]=attributes[key] -}this.parent(peer,defaultAttributes) -},getType:function(){return"CurvedLine" -},setFrom:function(x,y){$assert(!isNaN(x),"x must be defined"); -$assert(!isNaN(y),"y must be defined"); -this._peer.setFrom(x,y) -},setTo:function(x,y){$assert(!isNaN(x),"x must be defined"); -$assert(!isNaN(y),"y must be defined"); -this._peer.setTo(x,y) -},getFrom:function(){return this._peer.getFrom() -},getTo:function(){return this._peer.getTo() -},setShowEndArrow:function(visible){this._peer.setShowEndArrow(visible) -},isShowEndArrow:function(){return this._peer.isShowEndArrow() -},setShowStartArrow:function(visible){this._peer.setShowStartArrow(visible) -},isShowStartArrow:function(){return this._peer.isShowStartArrow() -},setSrcControlPoint:function(control){this._peer.setSrcControlPoint(control) -},setDestControlPoint:function(control){this._peer.setDestControlPoint(control) -},getControlPoints:function(){return this._peer.getControlPoints() -},isSrcControlPointCustom:function(){return this._peer.isSrcControlPointCustom() -},isDestControlPointCustom:function(){return this._peer.isDestControlPointCustom() -},setIsSrcControlPointCustom:function(isCustom){this._peer.setIsSrcControlPointCustom(isCustom) -},setIsDestControlPointCustom:function(isCustom){this._peer.setIsDestControlPointCustom(isCustom) -},updateLine:function(avoidControlPointFix){return this._peer.updateLine(avoidControlPointFix) -},setStyle:function(style){this._peer.setLineStyle(style) -},getStyle:function(){return this._peer.getLineStyle() -},setDashed:function(length,spacing){this._peer.setDashed(length,spacing) -}}); -web2d.CurvedLine.SIMPLE_LINE=false; -web2d.CurvedLine.NICE_LINE=true;web2d.Arrow=new Class({Extends:web2d.Element,initialize:function(attributes){var peer=web2d.peer.Toolkit.createArrow(); -var defaultAttributes={strokeColor:"black",strokeWidth:1,strokeStyle:"solid",strokeOpacity:1}; -for(var key in attributes){defaultAttributes[key]=attributes[key] -}this.parent(peer,defaultAttributes) -},getType:function(){return"Arrow" -},setFrom:function(x,y){this._peer.setFrom(x,y) -},setControlPoint:function(point){this._peer.setControlPoint(point) -},setStrokeColor:function(color){this._peer.setStrokeColor(color) -},setStrokeWidth:function(width){this._peer.setStrokeWidth(width) -},setDashed:function(isDashed,length,spacing){this._peer.setDashed(isDashed,length,spacing) -}});web2d.Rect=new Class({Extends:web2d.Element,initialize:function(arc,attributes){if(arc&&arc>1){throw"Arc must be 0<=arc<=1" -}if(arguments.length<=0){var rx=0; -var ry=0 -}var peer=web2d.peer.Toolkit.createRect(arc); -var defaultAttributes={width:40,height:40,x:5,y:5,stroke:"1 solid black",fillColor:"green"}; -for(var key in attributes){defaultAttributes[key]=attributes[key] -}this.parent(peer,defaultAttributes) -},getType:function(){return"Rect" -},getSize:function(){return this._peer.getSize() -}});web2d.Text=new Class({Extends:web2d.Element,initialize:function(attributes){var peer=web2d.peer.Toolkit.createText(); -this.parent(peer,attributes) -},getType:function(){return"Text" -},setText:function(text){this._peer.setText(text) -},setTextAlignment:function(align){$assert(align,"align can not be null"); -this._peer.setTextAlignment(align) -},setTextSize:function(width,height){this._peer.setContentSize(width,height) -},getText:function(){return this._peer.getText() -},setFont:function(font,size,style,weight){this._peer.setFont(font,size,style,weight) -},setColor:function(color){this._peer.setColor(color) -},getColor:function(){return this._peer.getColor() -},setStyle:function(style){this._peer.setStyle(style) -},setWeight:function(weight){this._peer.setWeight(weight) -},setFontFamily:function(family){this._peer.setFontFamily(family) -},getFont:function(){return this._peer.getFont() -},setSize:function(size){this._peer.setSize(size) -},getHtmlFontSize:function(){return this._peer.getHtmlFontSize() -},getWidth:function(){return this._peer.getWidth() -},getHeight:function(){return parseInt(this._peer.getHeight()) -},getFontHeight:function(){var lines=this._peer.getText().split("\n").length; -return Math.round(this.getHeight()/lines) -}});web2d.peer.ToolkitSVG={init:function(){},createWorkspace:function(element){return new web2d.peer.svg.WorkspacePeer(element) -},createGroup:function(element){return new web2d.peer.svg.GroupPeer() -},createElipse:function(){return new web2d.peer.svg.ElipsePeer() -},createLine:function(){return new web2d.peer.svg.LinePeer() -},createPolyLine:function(){return new web2d.peer.svg.PolyLinePeer() -},createCurvedLine:function(){return new web2d.peer.svg.CurvedLinePeer() -},createArrow:function(){return new web2d.peer.svg.ArrowPeer() -},createText:function(){return new web2d.peer.svg.TextPeer() -},createImage:function(){return new web2d.peer.svg.ImagePeer() -},createRect:function(arc){return new web2d.peer.svg.RectPeer(arc) -},createArialFont:function(){return new web2d.peer.svg.ArialFont() -},createTimesFont:function(){return new web2d.peer.svg.TimesFont() -},createVerdanaFont:function(){return new web2d.peer.svg.VerdanaFont() -},createTahomaFont:function(){return new web2d.peer.svg.TahomaFont() -}}; -web2d.peer.Toolkit=web2d.peer.ToolkitSVG;web2d.Workspace=new Class({Extends:web2d.Element,initialize:function(attributes){this._htmlContainer=this._createDivContainer(); -var peer=web2d.peer.Toolkit.createWorkspace(this._htmlContainer); -var defaultAttributes={width:"200px",height:"200px",stroke:"1px solid #edf1be",fillColor:"white",coordOrigin:"0 0",coordSize:"200 200"}; -for(var key in attributes){defaultAttributes[key]=attributes[key] -}this.parent(peer,defaultAttributes); -this._htmlContainer.append(this._peer._native) -},getType:function(){return"Workspace" -},append:function(element){if(!$defined(element)){throw"Child element can not be null" -}var elementType=element.getType(); -if(elementType==null){throw"It seems not to be an element ->"+element -}if(elementType=="Workspace"){throw"A workspace can not have a workspace as a child" -}this._peer.append(element._peer) -},addItAsChildTo:function(element){if(!$defined(element)){throw"Workspace div container can not be null" -}element.append(this._htmlContainer) -},_createDivContainer:function(){var container=window.document.createElement("div"); -container.id="workspaceContainer"; -container.style.position="relative"; -container.style.top="0px"; -container.style.left="0px"; -container.style.height="688px"; -container.style.border="1px solid red"; -return $(container) -},setSize:function(width,height){if($defined(width)){this._htmlContainer.css("width",width) -}if($defined(height)){this._htmlContainer.css("height",height) -}this._peer.setSize(width,height) -},setCoordSize:function(width,height){this._peer.setCoordSize(width,height) -},setCoordOrigin:function(x,y){this._peer.setCoordOrigin(x,y) -},getCoordOrigin:function(){return this._peer.getCoordOrigin() -},_getHtmlContainer:function(){return this._htmlContainer -},setFill:function(color,opacity){this._htmlContainer.css("background-color",color); -if(opacity||opacity===0){throw"Unsupported operation. Opacity not supported." -}},getFill:function(){var color=this._htmlContainer.css("background-color"); -return{color:color} -},getSize:function(){var width=this._htmlContainer.css("width"); -var height=this._htmlContainer.css("height"); -return{width:width,height:height} -},setStroke:function(width,style,color,opacity){if(style!="solid"){throw"Not supported style stroke style:"+style -}this._htmlContainer.css("border",width+" "+style+" "+color); -if(opacity||opacity===0){throw"Unsupported operation. Opacity not supported." -}},getCoordSize:function(){return this._peer.getCoordSize() -},removeChild:function(element){if(!$defined(element)){throw"Child element can not be null" -}if(element==this){throw"It's not possible to add the group as a child of itself" -}var elementType=element.getType(); -if(elementType==null){throw"It seems not to be an element ->"+element -}this._peer.removeChild(element._peer) -},dumpNativeChart:function(){var elem=this._htmlContainer; -return elem.innerHTML -}});core.Point=new Class({initialize:function(x,y){this.x=x; -this.y=y -},setValue:function(x,y){this.x=x; -this.y=y -},inspect:function(){return"{x:"+this.x+",y:"+this.y+"}" -},clone:function(){return new core.Point(this.x,this.y) -}}); -core.Point.fromString=function(point){var values=point.split(","); -return new core.Point(values[0],values[1]) -}; \ No newline at end of file diff --git a/mindplot/src/test/javascript/lib/web2d.svg-min.js b/mindplot/src/test/javascript/lib/web2d.svg-min.js new file mode 120000 index 00000000..5fa894a4 --- /dev/null +++ b/mindplot/src/test/javascript/lib/web2d.svg-min.js @@ -0,0 +1 @@ +../../../../web2d/target/classes/web2d.svg-min.js \ No newline at end of file