Update of /cvsroot/dynapi/dynapi/src
In directory usw-pr-cvs1:/tmp/cvs-serv30523/src
Modified Files:
dynapi.js
Log Message:
Imported DynAPIX
Index: dynapi.js
===================================================================
RCS file: /cvsroot/dynapi/dynapi/src/dynapi.js,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -r1.28 -r1.29
*** dynapi.js 2001/03/07 12:13:42 1.28
--- dynapi.js 2001/03/25 06:04:17 1.29
***************
*** 1,169 ****
/*
DynAPI Distribution
! Main DynAPI class
! The DynAPI Distribution is distributed under the terms of the GNU LGPL license.
*/
! DynAPI = {
! loaded : false,
! children : [],
! all : [],
! plugins : [],
! hookLoad : '',
! hookUnload : '',
! wasDragging : false,
! librarypath : '',
! errorHandling : true,
! returnErrors : false,
! packages : [],
!
! addChild : function(child) {
! child.isChild=true;
! child.dyndoc=child;
! child.created=true;
! child.parent=this;
! DynAPI.all[child.id]=child;
! DynAPI.children[DynAPI.children.length]=child;
! //child.createElement();
! return child;
! },
!
! addPackage : function(pckg) {
! if (this.packages[pckg]) return;
! DynAPI.packages[pckg] = {};
! DynAPI.packages[pckg].libs = [];
! },
!
! addLibrary : function(path,files) {
! var pckg = path.substring(0,path.indexOf('.'));
! if (!pckg) {
! alert("Incorrect DynAPI.addLibrary usage:\n\nExample:
DynAPI.addLibrary('dynapi.ext',['inline.js'])");
! return;
! }
! var name = path.substring(path.indexOf('.')+1);
! if (!DynAPI.packages[pckg]) DynAPI.addPackage(pckg);
! if (DynAPI.packages[pckg].libs[name]) {
! alert("DynAPI Error: Library "+name+" already exists");
! return;
! }
! DynAPI.packages[pckg].libs[name] = files;
! },
!
! toString : function() {
! return "DynAPI";
! },
!
! getDocument : function(id) {
! if (id) return DynDocument.dyndocsID[id];
! else return DynAPI.document;
! },
!
! errorHandler : function (msg, url, lno) {
! if (!DynAPI.loaded || !DynAPI.errorHandling) return false
! if (is.ie) {
! lno-=1
! alert("DynAPI reported an error\n\nError in project: '" + url
+ "'.\nLine number: " + lno + ".\n\nMessage: " + msg)
! } else if (is.ns4) {
! alert("DynAPI reported an error\n\nError in file: '" + url +
"'.\nLine number: " + lno + ".\n\nMessage: " + msg)
! } else return false
! return DynAPI.returnErrors
! },
!
! resizeHandler : function() {
! var doc = this.dyndoc;
! var w = doc.getWidth();
! var h = doc.getHeight();
! doc.findDimensions();
! if (is.ns4 && (w!=doc.getWidth() || h!=doc.getHeight()))
doc.recreateAll();
! if (DynAPI.onResize) DynAPI.onResize();
! for (var i=0;i<DynAPI.plugins.length; i++) {
! if (DynAPI.plugins[i].onResize) DynAPI.plugins[i].onResize();
! }
! },
- loadHandler : function() {
- if (!DynDocument) {
- if (DynAPI.onLoad) DynAPI.onLoad();
- return;
- }
- DynAPI.document=new DynDocument(self);
- DynAPI.addChild(DynAPI.document)
- DynAPI.document.findDimensions();
- if (DynAPI.findLayers) DynAPI.findLayers(DynAPI.document);
- if (DynAPI.document.captureMouseEvents)
DynAPI.document.captureMouseEvents();
- if (DynAPI.document.captureKeyEvents)
DynAPI.document.captureKeyEvents();
- if (DynAPI.document.invokeEvent)
DynAPI.document.invokeEvent('beforeload');
- if (DynAPI.document.invokeEvent) DynAPI.document.invokeEvent('load');
- for (var i=0;i<DynAPI.plugins.length; i++) {
- if (DynAPI.plugins[i].onBeforeLoad)
DynAPI.plugins[i].onBeforeLoad();
- }
- if (DynAPI.onLoad) DynAPI.onLoad();
- for (var i=0;i<DynAPI.plugins.length; i++) {
- if (DynAPI.plugins[i].onLoad) DynAPI.plugins[i].onLoad();
- }
- DynAPI.loaded=true;
- if (DynAPI.document.invokeEvent)
DynAPI.document.invokeEvent('afterload');
- eval(DynAPI.hookLoad);
- },
removeFromArray : function(array, index, id) {
var which=(typeof(index)=="object")?index:array[index];
if (id) delete array[which.id];
! else {
! var l=array.length;
! for (var i=0; i<l; i++) {
! if (array[i] == which) {
! for(var x=i; x<l-1; x++) array[x]=array[x+1];
! array.length -= 1;
! break;
! }
}
- }
return array;
},
- unloadHandler : function() {
- for (var i=0;i<DynAPI.plugins.length; i++) if
(DynAPI.plugins[i].onUnload) DynAPI.plugins[i].onUnload();
- for (var i=0;i<DynAPI.children.length; i++)
DynAPI.children[i].deleteAllChildren();
- eval(DynAPI.hookUnload);
- if (DynAPI.onUnload) DynAPI.onUnload();
- },
-
- setLibraryPath : function(path) {
- if (path.substring(path.length-1)!='/') path+='/';
- DynAPI.librarypath=path;
- },
! mountplugin : function (plugin) {
! if (!plugin.pluginName) alert(DynAPI.toString()+'\n\nError occured\nAn
invalid plugin was added to the DynApi code:\n\n'+plugin.constructor.toString());
! else DynAPI.plugins[DynAPI.plugins.length] = plugin;
! },
! include : function(src,pth) {
! src=src.split('.');
! if (src[src.length-1] == 'js') src.length -= 1;
! var path=pth||DynAPI.librarypath||'';
! if (path.substr(path.length-1) != "/") path += "/";
! var pckg=src[0];
! var grp=src[1];
! var file=src[2];
! if (file=='*') {
! if (DynAPI.packages[pckg])
group=DynAPI.packages[pckg].libs[grp];
! if (group) for (var i in group) document.write('<script
language="Javascript1.2" src="'+path+pckg+'/'+grp+'/'+group[i]+'.js"><\/script>');
! else alert('include()\n\nThe following package could not be
loaded:\n'+src+'\n\nmake sure you specified the correct path.');
! } else document.write('<script language="Javascript1.2"
src="'+path+src.join('/')+'.js"><\/script>');
}
! };
DynAPI.hookLoad=window.onload;
DynAPI.hookUnload=window.onunload;
! onload = DynAPI.loadHandler;
! onunload = DynAPI.unloadHandler;
! onresize = DynAPI.resizeHandler;
! onerror=DynAPI.errorHandler;
! DynAPI.document=false;
! DynAPI.addPackage('dynapi');
!
DynAPI.addLibrary('dynapi.api',["browser","dynlayer","dyndocument","events","dragevent"]);
! DynAPI.addLibrary('dynapi.ext',["inline","layer","dragdrop","functions"]);
!
DynAPI.addLibrary('dynapi.gui',["viewport","dynimage","button","buttonimage","label","list","loadpanel","pushpanel","scrollbar","scrollpane","sprite"]);
!
DynAPI.addLibrary('dynapi.util',["circleanim","cookies","debug","hoveranim","imganim","pathanim","thread","console"]);
! DynDocument = null;
--- 1,238 ----
/*
DynAPI Distribution
! DynAPI base Object. Empty shell defining common properties and methods
! The DynAPI Distribution is distributed under the terms of the GNU LGPL license.
*/
! DynObject = function() {
! this.setID("DynObject"+(DynObject.Count++));
! this.isChild = false;
! this.created = false;
! this.parent = null;
! this.children = [];
! };
! DynObject.prototype.getClass = function() { return this.constructor };
! DynObject.prototype.setID = function(id) {
! this.id = id;
! DynObject.all[this.id] = this;
! };
! DynObject.prototype.addChild = function(c) {
! if(c.isChild) c.parent.removeChild(c);
! c.isChild = true;
! c.parent = this;
! if(this.created) c.create()
! this.children[this.children.length] = c;
! return c;
! };
! DynObject.prototype.removeChild = function(c) {
! var l = this.children.length;
! for(var i=0;i<l && this.children[i]!=c;i++);
! if(i!=l) {
! c.invokeEvent("beforeremove");
! c.specificRemove();
! c.invokeEvent("remove");
! c.isChild = false;
! c.parent = null;
! this.children[i] = this.children[l-1];
! this.children[l-1] = null;
! this.children.length--;
! }
! };
! DynObject.prototype.deleteFromParent = function () {
! if(this.parent) this.parent.deleteChild(this);
! };
! DynObject.prototype.removeFromParent = function () {
! if(this.parent) this.parent.removeChild(this);
! };
! DynObject.prototype.create = function() {
! this.flagPrecreate();
! this.specificCreate();
! this.created = true;
! var l = this.children.length;
! for(var i=0;i<l;i++) this.children[i].create()
! this.invokeEvent("create");
! };
! DynObject.prototype.flagPrecreate = function() {
! var l=this.children.length;
! for (var i=0; i<l; i++) this.children[i].flagPrecreate();
! this.invokeEvent('precreate');
! };
! DynObject.prototype.del = function() {
! this.deleteAllChildren();
! this.invokeEvent("beforeremove");
! this.specificRemove();
! this.invokeEvent("remove");
! this.invokeEvent("delete");
! };
! DynObject.prototype.deleteChild = function(c) {
! var l = this.children.length;
! for(var i=0;i<l && this.children[i]!=c;i++);
! if(i!=l) {
! this.children[i] = this.children[l-1];
! this.children[l-1] = null;
! this.children.length--;
! c.del()
! delete c;
! }
! };
! DynObject.prototype.deleteAllChildren = function() {
! var l = this.children.length;
! for(var i=0;i<l;i++) {
! this.children[i].del();
! delete this.children[i];
! }
! this.children = [];
! };
! DynObject.prototype.toString = function() {
! return "DynObject.all['"+this.id+"']"
! };
! DynObject.prototype.getAll = function() {
! var ret = [];
! var temp;
! var l = this.children.length;
! for(var i=0;i<l;i++) {
! ret[this.children[i].id] = this.children[i];
! temp = this.children[i].getAll();
! for(var j in temp) ret[j] = temp[j];
! }
! return ret
! };
! DynObject.prototype.isParentOf = function(obj,equality) {
! if(!obj) return false
! return (equality && this==obj) || this.getAll()[obj.id]==obj
! }
! DynObject.prototype.isChildOf = function(obj,equality) {
! if(!obj) return false
! return (equality && this==obj) || obj.getAll()[this.id]==this
! }
! DynObject.prototype.specificCreate = function() {};
! DynObject.prototype.specificRemove = function() {};
! DynObject.prototype.invokeEvent = function() {};
! DynObject.Count = 0;
! DynObject.all = [];
+ Methods = {
removeFromArray : function(array, index, id) {
var which=(typeof(index)=="object")?index:array[index];
if (id) delete array[which.id];
! else for (var i=0; i<array.length; i++)
! if (array[i] == which) {
! if(array.splice) array.splice(i,1);
! else { for(var x=i; x<array.length-1; x++)
array[x]=array[x+1];
! array.length -= 1; }
! break;
}
return array;
},
+ getContainerLayerOf : function(element) {
+ if(!element) return null
+ if(is.def&&!is.ie) while (!element.lyrobj && element.parentNode &&
+element.parentNode!=element) element=element.parentNode;
+ else if(is.ie) while (!element.lyrobj && element.parentElement &&
+element.parentElement!=element) element=element.parentElement;
+ return element.lyrobj
+ }
+ };
! DynAPIObject = function() {
! this.DynObject = DynObject;
! this.DynObject();
!
! this.loaded = false;
! this.hookLoad = null;
! this.hookUnload = null;
! this.librarypath = '';
! this.packages = [];
! this.errorHandling = true;
! this.returnErrors = true;
! this.onLoadCodes = [];
! this.onUnLoadCodes = [];
! this.onResizeCodes = [];
! }
! DynAPIObject.prototype = new DynObject();
! DynAPIObject.prototype.setLibraryPath = function(path) {
! if (path.substring(path.length-1)!='/') path+='/';
! this.librarypath=path;
! }
! DynAPIObject.prototype.addPackage = function(pckg) {
! if (this.packages[pckg]) return;
! this.packages[pckg] = { libs: [] };
! }
! DynAPIObject.prototype.addLibrary = function(path,files) {
! var pckg = path.substring(0,path.indexOf('.'));
! if (!pckg) {
! alert("DynAPI Error: Incorrect DynAPI.addLibrary usage");
! return;
}
! var name = path.substring(path.indexOf('.')+1);
! if (!this.packages[pckg]) this.addPackage(pckg);
! if (this.packages[pckg].libs[name]) {
! alert("DynAPI Error: Library "+name+" already exists");
! return;
! }
! this.packages[pckg].libs[name] = files;
! }
! DynAPIObject.prototype.include = function(src,pth) {
! src=src.split('.');
! if (src[src.length-1] == 'js') src.length -= 1;
! var path=pth||this.librarypath||'';
! if (path.substr(path.length-1) != "/") path += "/";
! var pckg=src[0];
! var grp=src[1];
! var file=src[2];
! if (file=='*') {
! if (this.packages[pckg]) group=this.packages[pckg].libs[grp];
! if (group) for (var i in group) document.write('<script
language="Javascript1.2" src="'+path+pckg+'/'+grp+'/'+group[i]+'.js"><\/script>');
! else alert('include()\n\nThe following package could not be
loaded:\n'+src+'\n\nmake sure you specified the correct path.');
! } else document.write('<script language="Javascript1.2"
src="'+path+src.join('/')+'.js"><\/script>');
! }
! DynAPIObject.prototype.errorHandler = function (msg, url, lno) {
! if (!this.loaded || !this.errorHandling) return false;
! if (is.ie) {
! lno-=1;
! alert("DynAPI reported an error\n\nError in project: '" + url +
"'.\nLine number: " + lno + ".\n\nMessage: " + msg);
! } else if (is.ns4) {
! alert("DynAPI reported an error\n\nError in file: '" + url + "'.\nLine
number: " + lno + ".\n\nMessage: " + msg);
! } else return false;
! return this.returnErrors;
! }
! DynAPIObject.prototype.addLoadFunction = function(f) {
! this.onLoadCodes[this.onLoadCodes.length] = f;
! }
! DynAPIObject.prototype.addUnLoadFunction = function(f) {
! this.onUnLoadCodes[this.onUnLoadCodes.length] = f;
! }
! DynAPIObject.prototype.addResizeFunction = function(f) {
! this.onResizeCodes[this.onResizeCodes.length] = f;
! }
! DynAPIObject.prototype.loadHandler = function() {
! this.created = true;
! for(var i=0;i<this.onLoadCodes.length;i++) eval(this.onLoadCodes[i]);
! if (this.onLoad) this.onLoad();
! this.loaded=true;
! eval(this.hookLoad);
! }
! DynAPIObject.prototype.unloadHandler = function() {
! this.deleteAllChildren();
! if (this.onUnload) this.onUnload();
! for(var i=0;i<this.onUnLoadCodes.length;i++) eval(this.onUnLoadCodes[i]);
! eval(this.hookUnload);
! }
! DynAPIObject.prototype.resizeHandler = function() {
! if (this.onResize) this.onResize();
! for(var i=0;i<this.onResizeCodes.length;i++) eval(this.onResizeCodes[i]);
! }
! DynAPI = new DynAPIObject();
DynAPI.hookLoad=window.onload;
DynAPI.hookUnload=window.onunload;
! onload = function() { DynAPI.loadHandler(); }
! onunload = function() { DynAPI.unloadHandler(); }
! onresize = function() { DynAPI.resizeHandler(); }
! onerror = function(msg, url, lno) { DynAPI.errorHandler(msg, url, lno); }
! DynAPI.addPackage('dynapi');
! DynAPI.addLibrary('dynapi.api' ,["browser","dynlayer","dyndocument"]);
! DynAPI.addLibrary('dynapi.event',["listeners","mouse","dragevent","keyboard"]);
! DynAPI.addLibrary('dynapi.ext' ,["inline","layer","dragdrop","functions"]);
! DynAPI.addLibrary('dynapi.gui'
,["viewport","dynimage","button","buttonimage","label","list","loadpanel","pushpanel","scrollbar","scrollpane","sprite"]);
! DynAPI.addLibrary('dynapi.util'
,["circleanim","cookies","debug","hoveranim","imganim","pathanim","thread","console"]);
_______________________________________________
Dynapi-CVS mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dynapi-cvs