|
Struts example source code file (SvgButton.js)
The Struts SvgButton.js source code/* 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 + ""; 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 + ""; 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) + ""; }; Other Struts examples (source code examples)Here is a short list of links related to this Struts SvgButton.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.