blob: ff6bd5b15c4061f0836d48b3b163f2846ed933d0 [file] [log] [blame]
/*
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.require("dojo.widget.DomWidget");
dojo.provide("dojo.widget.SvgWidget");
dojo.provide("dojo.widget.SVGWidget"); // back compat
dojo.require("dojo.dom");
dojo.require("dojo.experimental");
dojo.experimental("dojo.widget.SvgWidget");
// SVGWidget is a mixin ONLY
dojo.widget.declare(
"dojo.widget.SvgWidget",
dojo.widget.DomWidget,
{
createNodesFromText: function(txt, wrap){
return dojo.svg.createNodesFromText(txt, wrap);
}
});
dojo.widget.SVGWidget = dojo.widget.SvgWidget;
try{
(function(){
var tf = function(){
// FIXME: fill this in!!!
var rw = new function(){
dojo.widget.SvgWidget.call(this);
this.buildRendering = function(){ return; }
this.destroyRendering = function(){ return; }
this.postInitialize = function(){ return; }
this.widgetType = "SVGRootWidget";
this.domNode = document.documentElement;
}
var wm = dojo.widget.manager;
wm.root = rw;
wm.add(rw);
// extend the widgetManager with a getWidgetFromNode method
wm.getWidgetFromNode = function(node){
var filter = function(x){
if(x.domNode == node){
return true;
}
}
var widgets = [];
while((node)&&(widgets.length < 1)){
widgets = this.getWidgetsByFilter(filter);
node = node.parentNode;
}
if(widgets.length > 0){
return widgets[0];
}else{
return null;
}
}
wm.getWidgetFromEvent = function(domEvt){
return this.getWidgetFromNode(domEvt.target);
}
wm.getWidgetFromPrimitive = wm.getWidgetFromNode;
}
// make sure we get called when the time is right
dojo.event.connect(dojo.hostenv, "loaded", tf);
})();
}catch(e){ alert(e); }