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

Reply via email to