summaryrefslogtreecommitdiff
path: root/js/dojo-1.7.2/dojox/drawing/ui/Tooltip.js
diff options
context:
space:
mode:
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.js119
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");
+})();
+});