1 /**********************************************
2 * Copyright (C) 2010 Lukas Laag
3 * This file is part of lib-gwt-svg.
4 *
5 * libgwtsvg is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * libgwtsvg is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with libgwtsvg. If not, see http://www.gnu.org/licenses/
17 **********************************************/
18 /*
19 * Copyright (c) 2004 World Wide Web Consortium,
20 *
21 * (Massachusetts Institute of Technology, European Research Consortium for
22 * Informatics and Mathematics, Keio University). All Rights Reserved. This
23 * work is distributed under the W3C(r) Software License [1] in the hope that
24 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
25 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
26 *
27 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
28 */
29
30 package org.vectomatic.dom.svg;
31
32 import org.vectomatic.dom.svg.impl.SVGDescElement;
33 import org.vectomatic.dom.svg.itf.ISVGLangSpace;
34 import org.vectomatic.dom.svg.itf.ISVGStylable;
35 import org.vectomatic.dom.svg.utils.DOMHelper;
36 import org.vectomatic.dom.svg.utils.SVGConstants;
37
38 import com.google.gwt.core.client.JavaScriptException;
39 import com.google.gwt.dom.client.TagName;
40
41 /**
42 * The {@link org.vectomatic.dom.svg.OMSVGDescElement} interface corresponds
43 * to the <a href='http://www.w3.org/TR/SVG11/struct.html#DescElement' title='desc
44 * element specification'>desc</a> element.
45 */
46 @TagName("desc")
47 public class OMSVGDescElement extends OMSVGElement implements ISVGLangSpace, ISVGStylable {
48 public OMSVGDescElement() {
49 this((SVGDescElement)DOMHelper.createElementNS(DOMHelper.getCurrentDocument(), SVGConstants.SVG_NAMESPACE_URI, SVGConstants.SVG_DESC_TAG).cast());
50 }
51
52 protected OMSVGDescElement(SVGDescElement ot) {
53 super(ot);
54 }
55
56 // Implementation of the svg::SVGDescElement W3C IDL interface
57
58 // Implementation of the svg::SVGLangSpace W3C IDL interface
59 /**
60 * Corresponds to attribute <code>xml:lang</code> on the given element.
61 */
62 public final String getXmllang() {
63 return ((SVGDescElement)ot).getXmllang();
64 }
65 /**
66 * Corresponds to attribute <code>xml:lang</code> on the given element.
67 * @throws DOMException(NO_MODIFICATION_ALLOWED_ERR) Raised on an attempt
68 * to change the value of a <a href="svgdom.html#ReadOnlyNodes">read only
69 * attribute</a>.
70 */
71 public final void setXmllang(java.lang.String value) throws JavaScriptException {
72 ((SVGDescElement)ot).setXmllang(value);
73 }
74 /**
75 * Corresponds to attribute <code>xml:space</code> on the given element.
76 */
77 public final String getXmlspace() {
78 return ((SVGDescElement)ot).getXmlspace();
79 }
80 /**
81 * Corresponds to attribute <code>xml:space</code> on the given element.
82 * @throws DOMException(NO_MODIFICATION_ALLOWED_ERR) Raised on an attempt
83 * to change the value of a <a href="svgdom.html#ReadOnlyNodes">read only
84 * attribute</a>.
85 */
86 public final void setXmlspace(java.lang.String value) throws JavaScriptException {
87 ((SVGDescElement)ot).setXmlspace(value);
88 }
89
90 // Helper methods
91 /**
92 * Constructor.
93 * @param text the desc text
94 */
95 public OMSVGDescElement(String text) {
96 this();
97 appendChild(new OMText(text));
98 }
99 }