| /* |
| Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved. |
| Available via Academic Free License >= 2.1 OR the modified BSD license. |
| see: http://dojotoolkit.org/license for details |
| */ |
| |
| |
| if(!dojo._hasResource["dojox.drawing.annotations.Label"]){ |
| dojo._hasResource["dojox.drawing.annotations.Label"]=true; |
| dojo.provide("dojox.drawing.annotations.Label"); |
| dojo.require("dojox.drawing.stencil.Text"); |
| dojox.drawing.annotations.Label=dojox.drawing.util.oo.declare(dojox.drawing.stencil.Text,function(_1){ |
| this.master=_1.stencil; |
| this.labelPosition=_1.labelPosition||"BR"; |
| if(dojo.isFunction(this.labelPosition)){ |
| this.setLabel=this.setLabelCustom; |
| } |
| this.setLabel(_1.text||""); |
| this.connect(this.master,"onTransform",this,"setLabel"); |
| this.connect(this.master,"destroy",this,"destroy"); |
| if(this.style.labelSameColor){ |
| this.connect(this.master,"attr",this,"beforeAttr"); |
| } |
| },{_align:"start",setLabelCustom:function(_2){ |
| var d=dojo.hitch(this.master,this.labelPosition)(); |
| this.setData({x:d.x,y:d.y,width:d.w||this.style.text.minWidth,height:d.h||this._lineHeight}); |
| if(_2&&!_2.split){ |
| _2=null; |
| } |
| this.render(_2); |
| },setLabel:function(_3){ |
| var x,y,_4=this.master.getBounds(); |
| if(/B/.test(this.labelPosition)){ |
| y=_4.y2-this._lineHeight; |
| }else{ |
| y=_4.y1; |
| } |
| if(/R/.test(this.labelPosition)){ |
| x=_4.x2; |
| }else{ |
| y=_4.y1; |
| this._align="end"; |
| } |
| if(!this.labelWidth||(_3&&_3.split&&_3!=this._text)){ |
| this.setData({x:x,y:y,height:this._lineHeight,width:this.style.text.minWidth}); |
| this.labelWidth=this.style.text.minWidth; |
| this.render(_3); |
| }else{ |
| this.setData({x:x,y:y,height:this.data.height,width:this.data.width}); |
| this.render(); |
| } |
| },beforeAttr:function(_5,_6){ |
| if(_6!==undefined){ |
| var k=_5; |
| _5={}; |
| _5[k]=_6; |
| } |
| delete _5.x; |
| delete _5.y; |
| delete _5.width; |
| delete _5.height; |
| this.attr(_5); |
| !this.created&&this.render(); |
| }}); |
| } |