| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- DrawingBoard.Control = function(drawingBoard, opts) {
- this.board = drawingBoard;
- this.opts = $.extend({}, this.defaults, opts);
- this.$el = $(document.createElement('div')).addClass('drawing-board-control');
- if (this.name)
- this.$el.addClass('drawing-board-control-' + this.name);
- this.board.ev.bind('board:reset', $.proxy(this.onBoardReset, this));
- this.initialize.apply(this, arguments);
- return this;
- };
- DrawingBoard.Control.prototype = {
- name: '',
- defaults: {},
- initialize: function() {
- },
- addToBoard: function() {
- this.board.addControl(this);
- },
- onBoardReset: function(opts) {
- }
- };
- //extend directly taken from backbone.js
- DrawingBoard.Control.extend = function(protoProps, staticProps) {
- var parent = this;
- var child;
- if (protoProps && protoProps.hasOwnProperty('constructor')) {
- child = protoProps.constructor;
- } else {
- child = function(){ return parent.apply(this, arguments); };
- }
- $.extend(child, parent, staticProps);
- var Surrogate = function(){ this.constructor = child; };
- Surrogate.prototype = parent.prototype;
- child.prototype = new Surrogate();
- if (protoProps) $.extend(child.prototype, protoProps);
- child.__super__ = parent.prototype;
- return child;
- };
|