summaryrefslogtreecommitdiff
path: root/js/dojo/dojox/drawing/manager/StencilUI.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/dojo/dojox/drawing/manager/StencilUI.js')
-rw-r--r--js/dojo/dojox/drawing/manager/StencilUI.js69
1 files changed, 69 insertions, 0 deletions
diff --git a/js/dojo/dojox/drawing/manager/StencilUI.js b/js/dojo/dojox/drawing/manager/StencilUI.js
new file mode 100644
index 0000000..7fdaa14
--- /dev/null
+++ b/js/dojo/dojox/drawing/manager/StencilUI.js
@@ -0,0 +1,69 @@
+//>>built
+// wrapped by build app
+define("dojox/drawing/manager/StencilUI", ["dijit","dojo","dojox"], function(dijit,dojo,dojox){
+dojo.provide("dojox.drawing.manager.StencilUI");
+
+(function(){
+ var surface, surfaceNode;
+ dojox.drawing.manager.StencilUI = dojox.drawing.util.oo.declare(
+ // summary:
+ // Used for handling Stencils as UI components.
+ // description:
+ // Replaces manager.Stencil. Handles basic UI mouse
+ // events like onmouseover. Does not handle selections
+ // or support delete, etc.
+ //
+ function(options){
+ //
+ // TODO: mixin props
+ //
+ surface = options.surface;
+ this.canvas = options.canvas;
+
+ this.defaults = dojox.drawing.defaults.copy();
+ this.mouse = options.mouse;
+ this.keys = options.keys;
+ this._mouseHandle = this.mouse.register(this);
+ this.stencils = {};
+ },
+ {
+ register: function(/*Object*/stencil){
+ this.stencils[stencil.id] = stencil;
+ return stencil;
+ },
+ onUiDown: function(/*EventObject*/obj){
+ // summary:
+ // Event fired on mousedown on a stencil
+ //
+ if(!this._isStencil(obj)){ return; }
+ this.stencils[obj.id].onDown(obj);
+ },
+ onUiUp: function(/*EventObject*/obj){
+ // summary:
+ // Event fired on mousedown on a stencil
+ //
+ if(!this._isStencil(obj)){ return; }
+ this.stencils[obj.id].onUp(obj);
+ },
+ onOver: function(/*EventObject*/obj){
+ // summary:
+ // Event fired on mousedown on a stencil
+ //
+ if(!this._isStencil(obj)){ return; }
+ this.stencils[obj.id].onOver(obj);
+ },
+ onOut: function(/*EventObject*/obj){
+ // summary:
+ // Event fired on mousedown on a stencil
+ //
+ if(!this._isStencil(obj)){ return; }
+ this.stencils[obj.id].onOut(obj);
+ },
+ _isStencil: function(/*EventObject*/obj){
+ return !!obj.id && !!this.stencils[obj.id] && this.stencils[obj.id].type == "drawing.library.UI.Button";
+ }
+ }
+ );
+
+})();
+});