diff options
Diffstat (limited to 'js/dojo-1.7.2/dojox/drawing/ui/Tooltip.js')
| -rw-r--r-- | js/dojo-1.7.2/dojox/drawing/ui/Tooltip.js | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/js/dojo-1.7.2/dojox/drawing/ui/Tooltip.js b/js/dojo-1.7.2/dojox/drawing/ui/Tooltip.js new file mode 100644 index 0000000..8a43a78 --- /dev/null +++ b/js/dojo-1.7.2/dojox/drawing/ui/Tooltip.js @@ -0,0 +1,119 @@ +//>>built +// wrapped by build app +define("dojox/drawing/ui/Tooltip", ["dijit","dojo","dojox","dojo/require!dojox/drawing/plugins/_Plugin"], function(dijit,dojo,dojox){ +dojo.provide("dojox.drawing.ui.Tooltip"); +dojo.require("dojox.drawing.plugins._Plugin"); + + +(function(){ + + // summary: + // Used for UI tooltips. Buttons in the toolbar. + // This file is not complete. + // + var master = null; + var MasterC = dojox.drawing.util.oo.declare( + + dojox.drawing.plugins._Plugin, + function(options){ + this.createDom(); + }, + { + show: function(button, text){ + this.domNode.innerHTML = text; + + var dx = 30; + var px = button.data.x + button.data.width; + var py = button.data.y + button.data.height; + var x = px + this.mouse.origin.x + dx; + var y = py + this.mouse.origin.y + dx; + + dojo.style(this.domNode, { + display: "inline", + left:x +"px", + top:y+"px" + }); + + var box = dojo.marginBox(this.domNode); + + this.createShape(x-this.mouse.origin.x, y-this.mouse.origin.y, box.w, box.h); + }, + + + createShape: function(x,y,w,h){ + this.balloon && this.balloon.destroy(); + var r = 5, x2 = x+w, y2 = y+h, points = []; + var add = function(){ + for(var i=0;i<arguments.length;i++){ + points.push(arguments[i]); + } + }; + + add({x:x,y:y+5}, + {t:"Q", x:x,y:y}, + {x:x+r,y:y}); + + add({t:"L", x:x2-r,y:y}); + + add({t:"Q", x:x2,y:y}, + {x:x2,y:y+r}); + + add({t:"L", x:x2,y:y2-r}); + + add({t:"Q", x:x2,y:y2}, + {x:x2-r,y:y2}); + + add({t:"L", x:x+r,y:y2}); + + add({t:"Q", x:x,y:y2}, + {x:x,y:y2-r}); + + add({t:"L", x:x,y:y+r}); + + this.balloon = this.drawing.addUI("path", {points:points}); + }, + + createDom: function(){ + this.domNode = dojo.create('span', {"class":"drawingTooltip"}, document.body); + dojo.style(this.domNode, { + display: "none", + position:"absolute" + }); + } + } + ); + + dojox.drawing.ui.Tooltip = dojox.drawing.util.oo.declare( + + dojox.drawing.plugins._Plugin, + function(options){ + if(!master){ + master = new MasterC(options); + } + if(options.stencil){ + //todo + }else if(this.button){ + this.connect(this.button, "onOver", this, "onOver"); + this.connect(this.button, "onOut", this, "onOut"); + } + + }, + { + width:300, + height:200, + onOver: function(){ + //console.log(" tooltip over", this.data.text) + master.show(this.button, this.data.text); + }, + + onOut: function(){ + //console.log(" tooltip out") + } + } + ); + + dojox.drawing.register({ + name:"dojox.drawing.ui.Tooltip" + }, "stencil"); +})(); +}); |
