SvgButton.js
资源名称:oa.rar [点击查看]
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:3k
源码类别:
OA系统
开发平台:
Java
- /*
- Copyright (c) 2004-2006, The Dojo Foundation
- All Rights Reserved.
- Licensed under the Academic Free License version 2.1 or above OR the
- modified BSD license. For more information on Dojo licensing, see:
- http://dojotoolkit.org/community/licensing.shtml
- */
- dojo.provide("dojo.widget.SvgButton");
- dojo.require("dojo.experimental");
- dojo.experimental("dojo.widget.SvgButton");
- dojo.widget.SvgButton = function () {
- dojo.widget.DomButton.call(this);
- dojo.widget.SvgWidget.call(this);
- this.onFoo = function () {
- alert("bar");
- };
- this.label = "huzzah!";
- this.setLabel = function (x, y, textSize, label, shape) {
- var coords = dojo.widget.SvgButton.prototype.coordinates(x, y, textSize, label, shape);
- var textString = "";
- switch (shape) {
- case "ellipse":
- textString = "<text x='" + coords[6] + "' y='" + coords[7] + "'>" + label + "</text>";
- break;
- case "rectangle":
- textString = "";
- break;
- case "circle":
- textString = "";
- break;
- }
- return textString;
- };
- this.fillInTemplate = function (x, y, textSize, label, shape) {
- this.textSize = textSize || 12;
- this.label = label;
- var textWidth = this.label.length * this.textSize;
- };
- };
- dojo.inherits(dojo.widget.SvgButton, dojo.widget.DomButton);
- dojo.widget.SvgButton.prototype.shapeString = function (x, y, textSize, label, shape) {
- switch (shape) {
- case "ellipse":
- var coords = dojo.widget.SvgButton.prototype.coordinates(x, y, textSize, label, shape);
- return "<ellipse cx='" + coords[4] + "' cy='" + coords[5] + "' rx='" + coords[2] + "' ry='" + coords[3] + "'/>";
- break;
- case "rect":
- return "";
- break;
- case "circle":
- return "";
- break;
- }
- };
- dojo.widget.SvgButton.prototype.coordinates = function (x, y, textSize, label, shape) {
- switch (shape) {
- case "ellipse":
- var buttonWidth = label.length * textSize;
- var buttonHeight = textSize * 2.5;
- var rx = buttonWidth / 2;
- var ry = buttonHeight / 2;
- var cx = rx + x;
- var cy = ry + y;
- var textX = cx - rx * textSize / 25;
- var textY = cy * 1.1;
- return [buttonWidth, buttonHeight, rx, ry, cx, cy, textX, textY];
- break;
- case "rectangle":
- return "";
- break;
- case "circle":
- return "";
- break;
- }
- };
- dojo.widget.SvgButton.prototype.labelString = function (x, y, textSize, label, shape) {
- var textString = "";
- var coords = dojo.widget.SvgButton.prototype.coordinates(x, y, textSize, label, shape);
- switch (shape) {
- case "ellipse":
- textString = "<text x='" + coords[6] + "' y='" + coords[7] + "'>" + label + "</text>";
- break;
- case "rectangle":
- textString = "";
- break;
- case "circle":
- textString = "";
- break;
- }
- return textString;
- };
- dojo.widget.SvgButton.prototype.templateString = function (x, y, textSize, label, shape) {
- return "<g class='dojoButton' dojoAttachEvent='onClick; onMouseMove: onFoo;' dojoAttachPoint='labelNode'>" + dojo.widgets.SVGButton.prototype.shapeString(x, y, textSize, label, shape) + dojo.widget.SVGButton.prototype.labelString(x, y, textSize, label, shape) + "</g>";
- };