Update of /cvsroot/dynapi/dynapi3x/src/ext
In directory sc8-pr-cvs1:/tmp/cvs-serv6593/src/ext

Modified Files:
        debug.js 
Added Files:
        blueprint.html 
Log Message:
updated/added by raymond

--- NEW FILE ---
<html>
<head>
<title>Blueprint Output</title>
</head>
<body>
<form method="POST" action="--WEBBOT-SELF--" name="frm">
  <div align="center">
    <center>
  <table border="0">
    <tr>
      <td align="center"><font color="#000080" size="5"><b>DynAPI
        Blueprint</b></font></td>
    </tr>
    <tr>
      <td align="center"><textarea rows="14" name="txtout" cols="54" 
wrap="off">Loading... Pleas wait</textarea></td>
    </tr>
    <tr>
      <td align="center"><input type="button" value="Close window" name="cmdclose" 
onclick="window.close()"></td>
    </tr>
  </table>
    </center>
  </div>
</form>
</body>

</html>

Index: debug.js
===================================================================
RCS file: /cvsroot/dynapi/dynapi3x/src/ext/debug.js,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** debug.js    25 Feb 2003 21:38:09 -0000      1.2
--- debug.js    26 Mar 2003 02:22:31 -0000      1.3
***************
*** 1 ****
! /*
        DynAPI Distribution
        Debugger

        The DynAPI Distribution is distributed under the terms of the GNU LGPL license.
*/


function Debugger(useIDE) {
        this.DynObject = DynObject;
        this.DynObject();
        this._useIDE = useIDE;
        this._mode='normal';
        this.win = null;
        this._watch={};
        this._evalBuffer='';
        this._buffer = dynapi._debugBuffer;
        dynapi._debugBuffer = '';
        // close the debug window on unload
        this.closeOnUnLoad = false;
        dynapi.onUnload(function() {
                if (dynapi.debug.closeOnUnLoad) dynapi.debug.close();
        });

        this.open();
}
var p = dynapi.setPrototype('Debugger','DynObject');
p.close = function() {
        if (this.isLoaded()) {
                this.win.close();
                this.win = null;
        }
};
// error - output a browser generated error to the debug window
p.error = function(msg, url, lno) {
        if (url && url.indexOf(dynapi.documentPath)==0) {
                url = url.substring(dynapi.documentPath.length);
        }
        this.print('Error:'+ (lno? ' Line '+lno : '') +' ['+url+']\n       '+msg);
};
// evaluates an expression in the scope of the main dynapi window
p.evaluate = function(str) {
        dynapi.frame.eval(str);
        this.setEvalHistory(str);
};
// get evaluation history
p.getEvalHistory=function(n){
        if(!this.isLoaded()) return;
        var t,f=this.win.document.debugform;
        if(n>=1) {
                var lim=this.win.evalHistory.length-1;
                this.win.evalIndex++;
                if (this.win.evalIndex>lim) this.win.evalIndex=(lim<0)?0:lim;
                t=this.win.evalHistory[this.win.evalIndex];
                if(t)f.eval.value=t;
        }else if(n<=0){
                this.win.evalIndex--;
                if(this.win.evalIndex<0) this.win.evalIndex=0;
                t=this.win.evalHistory[this.win.evalIndex];
                if(t)f.eval.value=t;    
        }
};
// lists all known properties of an object
p.inspect = function(obj,showFunctions) {
        this.print('Inspecting:');
        var v;
        if (typeof(obj)=='string') obj=eval(obj);
        if (typeof(obj)=='object') {
                for (var i in obj) {
                        if (obj[i]==null) v = 'null'
                        else if (typeof(obj[i])=='undefined') v = 'null';
                        else if (typeof(obj[i])=='function') {
                                if (showFunctions==false) continue;
                                else v = '[Function]';
                        }
                        else if (typeof(obj[i])=='object' && 
typeof(obj[i].length)!='undefined') v = 'Array';// ['+obj[i]+']';
                        else if (typeof(obj[i])=='object') v = '[Object]';
                        else v = obj[i];
                        this.print('    '+i+' = '+v);
                }
        }
        else this.print('    undefined');
};
p.isLoaded = function() {
        return (this.win!=null && this.win.document && 
typeof(this.win.document.debugform)=="object");
};
// opens the debugger window
p.open = function() {
        var p = dynapi.library.path;
        if (!this.isLoaded() && p) {
                var url = dynapi.documentPath+p+'ext/debug.html#';
                var w = (dynapi.ua.def||dynapi.ua.dom)? 350:355 //dynapi.ua.mac? 
(dynapi.ua.ie?330:300) : 350;
                var h = (dynapi.ua.def||dynapi.ua.dom)? 432:485 //dynapi.ua.mac? 
(dynapi.ua.ie?405:365) : (dynapi.ua.def||dynapi.ua.dom)? 420:476;
                if(!this._useIDE){
                        this.win = 
window.open(url,'debugwin','width='+w+',height='+h+',scrollbars=no,status=no,toolbar=no');
  //,resizable=no
                        this.win.opener=window;
                }else{
                        this.win = new 
DynLayer(this._getDebugTemplate(),0,0,w,null,'#0033CC');
                        dynapi.document.addChild(this.win);
                        this.win.setAnchor({right:2,top:2});
                        this.win.onCreate(function(){
                                if(!this.document) this.document=this.doc;
                                this.css.zIndex=10100;
                                this.css.borderWidth="2px";
                                this.css.borderColor="navy";
                                this.css.borderStyle="solid";
                                this.css.overflow='hidden';
                                if(dynapi.ua.opera) this.setHeight(this.h+5);
                                else this.setHeight(this.h-10);
                                window.setTimeout('dynapi.debug.print()',100); // 
opera7 needs timeout
                        });
                        this.win.addEventListener({                             
                                onmousedown : function(e) {
                                        // setup window dragging
                                        if(e.y<=32) {
                                                if(self.DragEvent) 
DragEvent.startDrag(e);
                                        }
                                },
                                ondblclick: function(e) {
                                        var o=e.getSource();
                                        if(e.y<=32) {
                                                if(o.h<=35) o.setHeight(o._lHeight);
                                                else {
                                                        o._lHeight=o.h;
                                                        o.setHeight(35);
                                                }
                                                
                                        }
                                }
                                
                        });
                        // setup window dragging
                        if(self.DragEvent) {
                                
dynapi.document.addEventListener(DragEvent.docListener);
                                dynapi.document.captureMouseEvents();
                        }
                }
                
                this.win.evalHistory=[];
                this.win.evalIndex=0;
                
                this.print();
        /*      dynapi.frame.onerror = function(msg, url, lno) {                       
 
                        dynapi.debug.error(msg, url, lno);
                };
                */
        }
};
// output text to the debug window
p.print = function(s) {
        if (s==null) s = '';
        else s = s + '\n';
        if (this.isLoaded()) {
                this.switchMode('normal');
                if (this._buffer != '') {  // dump buffer
                        s = this._buffer + s;
                        this._buffer = '';
                }
                this.win.document.debugform.print.value += s;
                this._normalModeData = this.win.document.debugform.print.value;
                
                // Does mozilla has something like this?
                if (dynapi.ua.ie) {
                        var po = this.win.document.debugform.print;
                        po.scrollTop = po.scrollHeight;
                        var range = po.createTextRange();
                        range.collapse(false);
                        range.select();
                }
        }
        else this._buffer += s;
};
// reloads selected javascripts, packages or html pages
p.reload=function(t){
        if (!this.isLoaded) return;     
        t=t+'';
        if(t.substr(0,3).toLowerCase()=='go:') {
                t=t.substr(3).replace(/\\/g,'/');
                dynapi.frame.location.href=t;
                return;
        }
        var i,f=t.split(';');
        for(i=0;i<f.length;i++){
                t=f[i];
                if(t.indexOf('.js')<0) dynapi.library.load(t,null,true);
                else {
                        var lib=dynapi.library;
                        if (!lib.scripts[t]) lib.loadScript(t);
                        else lib.reloadScript(t,null,true);
                }
        }
        this.win.focus();
};
p.reset=function(section){
        if (!this.isLoaded) return;     
        this._oldWatchSrc='';
        if(!section) {
                this.win.document.debugform.reset();
                this._normalModeData='';
                this.switchMode('normal');
        }else{
                var t=this.win.document.debugform[section];
                if(t) t.value='';
        }
};
p.status = function(str) {
        if (this.isLoaded()) {
                for (var i=1;i<arguments.length;i++) {
                        str += ', '+arguments[i];
                }
                this.win.document.debugform.stat.value = str;
        };
};
// Set Mode
p.switchMode=function(m){
        if (!this.isLoaded) return;     
        if(m=='watch'||(this._mode=='normal' && m!='normal')) { 
                this._normalModeData = this.win.document.debugform.print.value;
                this._mode='watch';
                this._enableWatch();
        }else if(m=='normal'||(this._mode=='watch' && m!='watch')){
                
this.win.document.debugform.print.value=(this._normalModeData)?this._normalModeData:'';
                this._mode='normal';    
                this._disableWatch();
        }
};
// enters text to the evaluate field in the debugger widnow
p.setEvaluate = function(str) {
        if (!this.isLoaded()) this._evalBuffer=str;
        else {
                if (!str) str = '';
                if(this._evalBuffer!='') {
                        str =this._evalBuffer+str;
                        this._evalBuffer='';
                }
                this.win.document.debugform.eval.value = str;
                this.setEvalHistory(str);
        }
};
// Set previous evaluation information
p.setEvalHistory=function(s){
        if(!this.isLoaded()) return;
        var i,found;
        if(s){
                for(i=0;i<this.win.evalHistory.length;i++){
                        if(this.win.evalHistory[i]==s) {found=i;break;}
                }
                if(found!=null) 
this.win.evalHistory=dynapi.functions.removeFromArray(this.win.evalHistory,found);
                this.win.evalHistory[this.win.evalHistory.length]=s;
                this.win.evalIndex=this.win.evalHistory.length-1;
        }
};
p.setIntegrated = function(b){
        dynapi.debug._useIDE=b; // use Integrated debugging enviorn
};
p.showHelp=function(){
        var t=''
        +'-----------------------\n'
        +'Quick Help\n'
        +'-----------------------\n'
        +'1) To inspect an Object enter the name\n'
        +'of the object in the "Inspect Variable/Object"\n'
        +'textbox and then click on the "Inspect" button\n\n'
        +'2) To Load/Reload a DynAPI Package,\n'
        +'javascript or html page enter the name\n'
        +'of the package or javascript in the reload\n'
        +'text. For HTML pages type the prefix Go:\n'
        +'before the page name.\n'
        +'------------------------------------------------';
        this.print(t);
};
// watch object variables;
p.watch = function(name,value){
        if(arguments.length>1) this._watch[name]=value;
        else if(dynapi.frame.eval(name)) this._watch[name]='_watch object_';
        else this._watch[name]='_watch object_';
};

p._disableWatch = function(){
        this._oldWatchSrc='';
        if(this._timerWatch) {
                window.clearTimeout(this._timerWatch);
                this._timerWatch=0;
        }
};
p._enableWatch = function(){
        if(this._mode!='watch') return;
        var src,row,v;
        src='
Name\t \t \t Value\n---------------------------------------\n';
        for(i in this._watch){
                if(this._watch[i]=='_watch object_') v=dynapi.frame.eval(i);
                else v=this._watch[i];
                if(v==null) v='null';
                if(typeof(v)=='string') v=v.replace(/\n/g,' ');
                src+=(i+'                      ').substr(0,22)+'\t '+v+'\n';
        }
        if(src!=this._oldWatchSrc){
                this.win.document.debugform.print.value=this._oldWatchSrc=src;
        }
        if(this._timerWatch) window.clearTimeout(this._timerWatch);
        this._timerWatch=window.setTimeout(this+'._enableWatch()',200);
};
p._getDebugTemplate = function(styleOnly){
        var ua = dynapi.ua;
        var f=dynapi.functions;
        var url = dynapi.documentPath+dynapi.library.path+'ext/';
        var 
imgwatch=f.getImage(url+'images/debug_imgwatch.gif',25,22,{alias:"DebugIMGWatch",name:"DebugIMGWatch",downsrc:url+"images/debug_imgwatch_down.gif",oversrc:url+"images/debug_imgwatch_on.gif",onclick:"dynapi.functions.False(dynapi.debug.switchMode('watch'))",tooltip:"Show
 Watch Mode"}).getHTML();
        var 
imgnormal=f.getImage(url+'images/debug_imgnormal.gif',25,22,{alias:"DebugIMGNormal",name:"DebugIMGNormal",downsrc:url+"images/debug_imgnormal_down.gif",oversrc:url+"images/debug_imgnormal_on.gif",onclick:"dynapi.functions.False(dynapi.debug.switchMode('normal'))",tooltip:"Show
 Normal Mode"}).getHTML();
        var 
imginspect=f.getImage(url+'images/debug_imginspect.gif',80,22,{alias:"DebugIMGInspect",name:"DebugIMGInspect",oversrc:url+"images/debug_imginspect_on.gif",onclick:"dynapi.functions.False(dynapi.debug.inspect(dynapi.debug.win.document.debugform.inspect.value))",tooltip:"Inspect
 Variable/Object",hspace:1}).getHTML();
        var 
imgreload=f.getImage(url+'images/debug_imgreload.gif',25,22,{alias:"DebugIMGReload",name:"DebugIMGReload",oversrc:url+"images/debug_imgreload_on.gif",onclick:"dynapi.functions.False(dynapi.debug.reload(dynapi.debug.win.document.debugform.reload.value))",tooltip:"Load/Reload
 DynAPI Packages, HTML Pages and JavaScript (.js) files",hspace:1}).getHTML();
        var 
imgclear=f.getImage(url+'images/debug_imgclear.gif',46,22,{alias:"DebugIMGClear",name:"DebugIMGClear",oversrc:url+"images/debug_imgclear_on.gif",onclick:"dynapi.functions.False(dynapi.debug.reset());",tooltip:"Clear
 debug window",hspace:1}).getHTML();
        var 
imgeval=f.getImage(url+'images/debug_imgeval.gif',100,22,{alias:"DebugIMGEval",name:"DebugIMGEval",oversrc:url+"images/debug_imgeval_on.gif",onclick:"dynapi.functions.False(dynapi.debug.evaluate(dynapi.debug.win.document.debugform.eval.value));",tooltip:"Evalute
 JavaScript",hspace:2}).getHTML();
        var 
imgnext=f.getImage(url+'images/debug_imgnext.gif',25,22,{alias:"DebugIMGNext",name:"DebugIMGNext",oversrc:url+"images/debug_imgnext_on.gif",onclick:"dynapi.functions.False(dynapi.debug.getEvalHistory(1))",tooltip:"Forward",hspace:1}).getHTML();
        var 
imgprev=f.getImage(url+'images/debug_imgprev.gif',25,22,{alias:"DebugIMGPrev",name:"DebugIMGPrev",oversrc:url+"images/debug_imgprev_on.gif",onclick:"dynapi.functions.False(dynapi.debug.getEvalHistory(-1))",tooltip:"Backward",hspace:1}).getHTML();
        var 
imghelp=f.getImage(url+'images/debug_imghelp.gif',25,22,{alias:"DebugIMGHelp",name:"DebugIMGHelp",downsrc:url+"images/debug_imghelp_down.gif",oversrc:url+"images/debug_imghelp_on.gif",onclick:"dynapi.functions.False(dynapi.debug.showHelp())",tooltip:"Quick
 Help",hspace:1}).getHTML();
        var str = ua.ie?"Internet Explorer":(ua.ns?"Netscape":(ua.moz?"Mozilla":ua.b));
        var status = 'DynAPI '+dynapi.version+' ['+str+' '+dynapi.ua.v+']';
        var h=[''],s=0; 
        if(!dynapi.ua.ns4 && !dynapi.debug._useIDE) {
                h[s++]='<style type="text/css">\n';
                h[s++]='.debugtextbox {\n';
                h[s++]='  border-width:1;\n';
                h[s++]='  border-style:solid;\n';
                h[s++]='  border-color:#3399CC;\n';
                h[s++]='  font-family: Courier,Monaco\n';
                h[s++]='  font-size: 11px;\n';
                h[s++]='}\n';
                h[s++]='.textinspect{width:90px;}\n';
                h[s++]='.textreload{width:130px;}\n';
                h[s++]='.textprint{width:340px; height:220px;}\n';
                h[s++]='.textstat{width:340px; background-color:#EFEBDE; }\n';
                h[s++]='.texteval{width:340px;height:92px;}\n';
                h[s++]='.cboprev{width:340px;}\n';
                h[s++]='</style>\n';            
        }
        if(styleOnly) return h.join('');
        h[s++]='<form name="debugform"><div align="center"><center><font 
face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" size="1">\n';
        h[s++]='<table border="0" bgcolor="#EFEBDE" cellspacing="0">\n';
        h[s++]='<tr><td colspan="2" bgcolor="#0033CC"><table border="0" width="100%" 
cellspacing="0" cellpadding="0">\n';
        h[s++]='<tr><td width="50%" nowrap><b><font size="2" color="#FFFFFF" 
face="Arial"><span style="cursor:default"><img border="0" 
src="'+url+'images/debug_icon.gif" align="absmiddle" width="32" 
height="32">&nbsp;DynAPI Debugger '+(dynapi.debug._useIDE? 
'(IDE)':'')+'</span></font></b></td>\n';
        h[s++]='<td width="50%" bgcolor="#0033CC"><table border="0" 
width="100%"><tr><td width="100%" align="right">\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgwatch+' '+imgnormal+' '+imghelp+'</font></td></tr>\n';
        h[s++]='</table></td></tr></table></td></tr>\n';
        h[s++]='<tr><td colspan="2"><table border="0" cellspacing="0"><tr><td 
valign="middle">\n';
        h[s++]='<input type="text" name="inspect" size="10" class="debugtextbox 
textinspect"></td><td>'+imginspect+'</td><td>\n';
        h[s++]='<input type="text" name="reload" size="15" class="debugtextbox 
textreload"></td><td>'+imgreload+'</td></tr></table></td></tr><tr><td align="center" 
colspan="2">\n';
        h[s++]='<textarea name="print" rows="11" cols="40" class="debugtextbox 
textprint"  wrap="off"></textarea></td></tr>\n';
        h[s++]='<tr><td nowrap><table border="0" cellspacing="0"><tr><td>\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgclear+'</font></td><td>\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgeval+'</font></td><td align="right">\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgprev+'</font></td><td align="right">\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgnext+'</font></td></tr></table>\n';
        h[s++]='</td><td nowrap align="center"><font size="2" 
face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
color="#000000">JavaScript&nbsp;</font>\n';
        h[s++]='</td></tr><tr><td align="center" colspan="2">\n';
        h[s++]='<textarea name="eval" rows="7" cols="40" class="debugtextbox texteval" 
wrap="off"></textarea></td></tr>\n';
        h[s++]='<tr><td align="center" colspan="2">\n';
        h[s++]='<input type="text" name="stat" size="42" '+(dynapi.ua.mac? 
'style="font-family:Monaco"':'')+' value="'+status+'" class="debugtextbox 
textstat"></td>\n';
        h[s++]='</tr></table></font></center></div></form>\n';
        return h.join('');
};


dynapi.debug = new Debugger(dynapi.debug._useIDE);

if(!dynapi.loaded && !dynapi.ua.ns4) {
        document.write(dynapi.debug._getDebugTemplate(true));
}

var t='------------------------------\n'
+'Click "?" for help\n'
+'------------------------------\n';
dynapi.debug.print(t);
\ No newline at end of file
--- 1 ----
! /*
        DynAPI Distribution
        Debugger

        The DynAPI Distribution is distributed under the terms of the GNU LGPL license.
*/

// Note: Debugger does not have to be a DynObject - very important for blueprinted 
layers
function Debugger(useIDE) {
        //this.DynObject = DynObject;
        //this.DynObject();
        this._useIDE = useIDE;
        this._mode='normal';
        this.win = null;
        this._watch={};
        this._evalBuffer='';
        this._buffer = dynapi._debugBuffer;
        dynapi._debugBuffer = '';
        // close the debug window on unload
        this.closeOnUnLoad = false;
        dynapi.onUnload(function() {
                if (dynapi.debug.closeOnUnLoad) dynapi.debug.close();
        });

        this.open();
}
var p = Debugger.prototype; //dynapi.setPrototype('Debugger','DynObject');
p.close = function() {
        if (this.isLoaded()) {
                this.win.close();
                this.win = null;
        }
};
// error - output a browser generated error to the debug window
p.error = function(msg, url, lno) {
        if (url && url.indexOf(dynapi.documentPath)==0) {
                url = url.substring(dynapi.documentPath.length);
        }
        this.print('Error:'+ (lno? ' Line '+lno : '') +' ['+url+']\n       '+msg);
};
// evaluates an expression in the scope of the main dynapi window
p.evaluate = function(str) {
        dynapi.frame.eval(str);
        this.setEvalHistory(str);
};
// get evaluation history
p.getEvalHistory=function(n){
        if(!this.isLoaded()) return;
        var t,f=this.win.document.debugform;
        if(n>=1) {
                var lim=this.win.evalHistory.length-1;
                this.win.evalIndex++;
                if (this.win.evalIndex>lim) this.win.evalIndex=(lim<0)?0:lim;
                t=this.win.evalHistory[this.win.evalIndex];
                if(t)f.eval.value=t;
        }else if(n<=0){
                this.win.evalIndex--;
                if(this.win.evalIndex<0) this.win.evalIndex=0;
                t=this.win.evalHistory[this.win.evalIndex];
                if(t)f.eval.value=t;    
        }
};
// lists all known properties of an object
p.inspect = function(obj,showFunctions) {
        this.print('Inspecting:');
        var v;
        if (typeof(obj)=='string') obj=eval(obj);
        if (typeof(obj)=='object') {
                for (var i in obj) {
                        if (obj[i]==null) v = 'null'
                        else if (typeof(obj[i])=='undefined') v = 'null';
                        else if (typeof(obj[i])=='function') {
                                if (showFunctions==false) continue;
                                else v = '[Function]';
                        }
                        else if (typeof(obj[i])=='object' && 
typeof(obj[i].length)!='undefined') v = 'Array';// ['+obj[i]+']';
                        else if (typeof(obj[i])=='object') v = '[Object]';
                        else v = obj[i];
                        this.print('    '+i+' = '+v);
                }
        }
        else this.print('    undefined');
};
p.isLoaded = function() {
        return (this.win!=null && this.win.document && 
typeof(this.win.document.debugform)=="object");
};
// opens the debugger window
p.open = function() {
        var p = dynapi.library.path;
        if (!this.isLoaded() && p) {
                var url = dynapi.documentPath+p+'ext/debug.html#';
                var w = (dynapi.ua.def||dynapi.ua.dom)? 350:355 //dynapi.ua.mac? 
(dynapi.ua.ie?330:300) : 350;
                var h = (dynapi.ua.def||dynapi.ua.dom)? 432:485 //dynapi.ua.mac? 
(dynapi.ua.ie?405:365) : (dynapi.ua.def||dynapi.ua.dom)? 420:476;
                if(!this._useIDE){
                        this.win = 
window.open(url,'debugwin','width='+w+',height='+h+',scrollbars=no,status=no,toolbar=no');
  //,resizable=no
                        this.win.opener=window;
                }else{
                        this.win = new 
DynLayer(this._getDebugTemplate(),0,0,w,null,'#0033CC');
                        dynapi.document.addChild(this.win);
                        this.win.setAnchor({right:2,top:2});
                        this.win.onCreate(function(){
                                if(!this.document) this.document=this.doc;
                                this.css.zIndex=10100;
                                this.css.borderWidth="2px";
                                this.css.borderColor="navy";
                                this.css.borderStyle="solid";
                                this.css.overflow='hidden';
                                if(dynapi.ua.opera) this.setHeight(this.h+5);
                                else this.setHeight(this.h-10);
                                window.setTimeout('dynapi.debug.print()',100); // 
opera7 needs timeout
                        });
                        this.win.addEventListener({                             
                                onmousedown : function(e) {
                                        // setup window dragging
                                        if(e.y<=32) {
                                                if(self.DragEvent) 
DragEvent.startDrag(e);
                                        }
                                },
                                ondblclick: function(e) {
                                        var o=e.getSource();
                                        if(e.y<=32) {
                                                if(o.h<=35) o.setHeight(o._lHeight);
                                                else {
                                                        o._lHeight=o.h;
                                                        o.setHeight(35);
                                                }
                                                
                                        }
                                }
                                
                        });
                        // setup window dragging
                        if(self.DragEvent) {
                                
dynapi.document.addEventListener(DragEvent.docListener);
                                dynapi.document.captureMouseEvents();
                        }
                }
                
                this.win.evalHistory=[];
                this.win.evalIndex=0;
                
                this.print();
        /*      dynapi.frame.onerror = function(msg, url, lno) {                       
 
                        dynapi.debug.error(msg, url, lno);
                };
                */
        }
};
// output text to the debug window
p.print = function(s) {
        if (s==null) s = '';
        else s = s + '\n';
        if (this.isLoaded()) {
                this.switchMode('normal');
                if (this._buffer != '') {  // dump buffer
                        s = this._buffer + s;
                        this._buffer = '';
                }
                this.win.document.debugform.print.value += s;
                this._normalModeData = this.win.document.debugform.print.value;
                
                // Does mozilla has something like this?
                if (dynapi.ua.ie) {
                        var po = this.win.document.debugform.print;
                        po.scrollTop = po.scrollHeight;
                        var range = po.createTextRange();
                        range.collapse(false);
                        range.select();
                }
        }
        else this._buffer += s;
};
// reloads selected javascripts, packages or html pages
p.reload=function(t){
        if (!this.isLoaded) return;     
        t=t+'';
        if(t.substr(0,3).toLowerCase()=='go:') {
                t=t.substr(3).replace(/\\/g,'/');
                dynapi.frame.location.href=t;
                return;
        }
        var i,f=t.split(';');
        for(i=0;i<f.length;i++){
                t=f[i];
                if(t.indexOf('.js')<0) dynapi.library.load(t,null,true);
                else {
                        var lib=dynapi.library;
                        if (!lib.scripts[t]) lib.loadScript(t);
                        else lib.reloadScript(t,null,true);
                }
        }
        if(this.win.focus) this.win.focus();
        else this.win.setZIndex({topmost:true});
};
p.reset=function(section){
        if (!this.isLoaded) return;     
        this._oldWatchSrc='';
        if(!section) {
                this.win.document.debugform.reset();
                this._normalModeData='';
                this.switchMode('normal');
        }else{
                var t=this.win.document.debugform[section];
                if(t) t.value='';
        }
};
p.status = function(str) {
        if (this.isLoaded()) {
                for (var i=1;i<arguments.length;i++) {
                        str += ', '+arguments[i];
                }
                this.win.document.debugform.stat.value = str;
        };
};
// Set Mode
p.switchMode=function(m){
        if (!this.isLoaded) return;     
        if(m=='watch'||(this._mode=='normal' && m!='normal')) { 
                this._normalModeData = this.win.document.debugform.print.value;
                this._mode='watch';
                this._enableWatch();
        }else if(m=='normal'||(this._mode=='watch' && m!='watch')){
                
this.win.document.debugform.print.value=(this._normalModeData)?this._normalModeData:'';
                this._mode='normal';    
                this._disableWatch();
        }
};
// enters text to the evaluate field in the debugger widnow
p.setEvaluate = function(str) {
        if (!this.isLoaded()) this._evalBuffer=str;
        else {
                if (!str) str = '';
                if(this._evalBuffer!='') {
                        str =this._evalBuffer+str;
                        this._evalBuffer='';
                }
                this.win.document.debugform.eval.value = str;
                this.setEvalHistory(str);
        }
};
// Set previous evaluation information
p.setEvalHistory=function(s){
        if(!this.isLoaded()) return;
        var i,found;
        if(s){
                for(i=0;i<this.win.evalHistory.length;i++){
                        if(this.win.evalHistory[i]==s) {found=i;break;}
                }
                if(found!=null) 
this.win.evalHistory=dynapi.functions.removeFromArray(this.win.evalHistory,found);
                this.win.evalHistory[this.win.evalHistory.length]=s;
                this.win.evalIndex=this.win.evalHistory.length-1;
        }
};
p.setIntegrated = function(b){
        dynapi.debug._useIDE=b; // use Integrated debugging enviorn
};
p.showHelp=function(){
        var t=''
        +'-----------------------\n'
        +'Quick Help\n'
        +'-----------------------\n'
        +'1) To inspect an Object enter the name\n'
        +'of the object in the "Inspect Variable/Object"\n'
        +'textbox and then click on the "Inspect" button\n\n'
        +'2) To Load/Reload a DynAPI Package,\n'
        +'javascript or html page enter the name\n'
        +'of the package or javascript in the reload\n'
        +'text. For HTML pages type the prefix Go:\n'
        +'before the page name.\n'
        +'------------------------------------------------';
        this.print(t);
};
// watch object variables;
p.watch = function(name,value){
        if(arguments.length>1) this._watch[name]=value;
        else if(dynapi.frame.eval(name)) this._watch[name]='_watch object_';
        else this._watch[name]='_watch object_';
};

p._disableWatch = function(){
        this._oldWatchSrc='';
        
if(this._timerWatch) {
                window.clearTimeout(this._timerWatch);
                this._timerWatch=0;
        }
};
p._enableWatch = function(){
        if(this._mode!='watch') return;
        var src,row,v;
        src='Name\t \t \t Value\n---------------------------------------\n';
        for(i in this._watch){
                if(this._watch[i]=='_watch object_') v=dynapi.frame.eval(i);
                else v=this._watch[i];
                if(v==null) v='null';
                if(typeof(v)=='string') v=v.replace(/\n/g,' ');
                src+=(i+'                      ').substr(0,22)+'\t '+v+'\n';
        }
        if(src!=this._oldWatchSrc){
                this.win.document.debugform.print.value=this._oldWatchSrc=src;
        }
        if(this._timerWatch) window.clearTimeout(this._timerWatch);
        this._timerWatch=window.setTimeout(this+'._enableWatch()',200);
};
p._getDebugTemplate = function(styleOnly){
        var ua = dynapi.ua;
        var f=dynapi.functions;
        var url = dynapi.documentPath+dynapi.library.path+'ext/';
        var 
imgwatch=f.getImage(url+'images/debug_imgwatch.gif',25,22,{alias:"DebugIMGWatch",name:"DebugIMGWatch",downsrc:url+"images/debug_imgwatch_down.gif",oversrc:url+"images/debug_imgwatch_on.gif",onclick:"dynapi.functions.False(dynapi.debug.switchMode('watch'))",tooltip:"Show
 Watch Mode"}).getHTML();
        var 
imgnormal=f.getImage(url+'images/debug_imgnormal.gif',25,22,{alias:"DebugIMGNormal",name:"DebugIMGNormal",downsrc:url+"images/debug_imgnormal_down.gif",oversrc:url+"images/debug_imgnormal_on.gif",onclick:"dynapi.functions.False(dynapi.debug.switchMode('normal'))",tooltip:"Show
 Normal Mode"}).getHTML();
        var 
imginspect=f.getImage(url+'images/debug_imginspect.gif',80,22,{alias:"DebugIMGInspect",name:"DebugIMGInspect",oversrc:url+"images/debug_imginspect_on.gif",onclick:"dynapi.functions.False(dynapi.debug.inspect(dynapi.debug.win.document.debugform.inspect.value))",tooltip:"Inspect
 Variable/Object",hspace:1}).getHTML();
        var 
imgreload=f.getImage(url+'images/debug_imgreload.gif',25,22,{alias:"DebugIMGReload",name:"DebugIMGReload",oversrc:url+"images/debug_imgreload_on.gif",onclick:"dynapi.functions.False(dynapi.debug.reload(dynapi.debug.win.document.debugform.reload.value))",tooltip:"Load/Reload
 DynAPI Packages, HTML Pages and JavaScript (.js) files",hspace:1}).getHTML();
        var 
imgclear=f.getImage(url+'images/debug_imgclear.gif',46,22,{alias:"DebugIMGClear",name:"DebugIMGClear",oversrc:url+"images/debug_imgclear_on.gif",onclick:"dynapi.functions.False(dynapi.debug.reset());",tooltip:"Clear
 debug window",hspace:1}).getHTML();
        var 
imgeval=f.getImage(url+'images/debug_imgeval.gif',100,22,{alias:"DebugIMGEval",name:"DebugIMGEval",oversrc:url+"images/debug_imgeval_on.gif",onclick:"dynapi.functions.False(dynapi.debug.evaluate(dynapi.debug.win.document.debugform.eval.value));",tooltip:"Evalute
 JavaScript",hspace:2}).getHTML();
        var 
imgnext=f.getImage(url+'images/debug_imgnext.gif',25,22,{alias:"DebugIMGNext",name:"DebugIMGNext",oversrc:url+"images/debug_imgnext_on.gif",onclick:"dynapi.functions.False(dynapi.debug.getEvalHistory(1))",tooltip:"Forward",hspace:1}).getHTML();
        var 
imgprev=f.getImage(url+'images/debug_imgprev.gif',25,22,{alias:"DebugIMGPrev",name:"DebugIMGPrev",oversrc:url+"images/debug_imgprev_on.gif",onclick:"dynapi.functions.False(dynapi.debug.getEvalHistory(-1))",tooltip:"Backward",hspace:1}).getHTML();
        var 
imghelp=f.getImage(url+'images/debug_imghelp.gif',25,22,{alias:"DebugIMGHelp",name:"DebugIMGHelp",downsrc:url+"images/debug_imghelp_down.gif",oversrc:url+"images/debug_imghelp_on.gif",onclick:"dynapi.functions.False(dynapi.debug.showHelp())",tooltip:"Quick
 Help",hspace:1}).getHTML();
        var str = ua.ie?"Internet Explorer":(ua.ns?"Netscape":(ua.moz?"Mozilla":ua.b));
        var status = 'DynAPI '+dynapi.version+' ['+str+' '+dynapi.ua.v+']';
        var h=[''],s=0; 
        if(!dynapi.ua.ns4 && !dynapi.debug._useIDE) {
                h[s++]='<style type="text/css">\n';
                h[s++]='.debugtextbox {\n';
                h[s++]='  border-width:1;\n';
                h[s++]='  border-style:solid;\n';
                h[s++]='  border-color:#3399CC;\n';
                h[s++]='  font-family: Courier,Monaco\n';
                h[s++]='  font-size: 11px;\n';
                h[s++]='}\n';
                h[s++]='.textinspect{width:90px;}\n';
                h[s++]='.textreload{width:130px;}\n';
                h[s++]='.textprint{width:340px; height:220px;}\n';
                h[s++]='.textstat{width:340px; background-color:#EFEBDE; }\n';
                h[s++]='.texteval{width:340px;height:92px;}\n';
                h[s++]='.cboprev{width:340px;}\n';
                h[s++]='</style>\n';            
        }
        if(styleOnly) return h.join('');
        h[s++]='<form name="debugform"><div align="center"><center><font 
face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" size="1">\n';
        h[s++]='<table border="0" bgcolor="#EFEBDE" cellspacing="0">\n';
        h[s++]='<tr><td colspan="2" bgcolor="#0033CC"><table border="0" width="100%" 
cellspacing="0" cellpadding="0">\n';
        h[s++]='<tr><td width="50%" nowrap><b><font size="2" color="#FFFFFF" 
face="Arial"><span style="cursor:default"><img border="0" 
src="'+url+'images/debug_icon.gif" align="absmiddle" width="32" 
height="32">&nbsp;DynAPI Debugger '+(dynapi.debug._useIDE? 
'(IDE)':'')+'</span></font></b></td>\n';
        h[s++]='<td width="50%" bgcolor="#0033CC"><table border="0" 
width="100%"><tr><td width="100%" align="right">\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgwatch+' '+imgnormal+' '+imghelp+'</font></td></tr>\n';
        h[s++]='</table></td></tr></table></td></tr>\n';
        h[s++]='<tr><td colspan="2"><table border="0" cellspacing="0"><tr><td 
valign="middle">\n';
        h[s++]='<input type="text" name="inspect" size="10" class="debugtextbox 
textinspect"></td><td>'+imginspect+'</td><td>\n';
        h[s++]='<input type="text" name="reload" size="15" class="debugtextbox 
textreload"></td><td>'+imgreload+'</td></tr></table></td></tr><tr><td align="center" 
colspan="2">\n';
        h[s++]='<textarea name="print" rows="11" cols="40" class="debugtextbox 
textprint"  wrap="off"></textarea></td></tr>\n';
        h[s++]='<tr><td nowrap><table border="0" cellspacing="0"><tr><td>\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgclear+'</font></td><td>\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgeval+'</font></td><td align="right">\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgprev+'</font></td><td align="right">\n';
        h[s++]='<font face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
size="1">'+imgnext+'</font></td></tr></table>\n';
        h[s++]='</td><td nowrap align="center"><font size="2" 
face="'+(dynapi.ua.mac?'Monaco':'Courier')+'" 
color="#000000">JavaScript&nbsp;</font>\n';
        h[s++]='</td></tr><tr><td align="center" colspan="2">\n';
        h[s++]='<textarea name="eval" rows="7" cols="40" class="debugtextbox texteval" 
wrap="off"></textarea></td></tr>\n';
        h[s++]='<tr><td align="center" colspan="2">\n';
        h[s++]='<input type="text" name="stat" size="42" '+(dynapi.ua.mac? 
'style="font-family:Monaco"':'')+' value="'+status+'" class="debugtextbox 
textstat"></td>\n';
        h[s++]='</tr></table></font></center></div></form>\n';
        return h.join('');
};


dynapi.debug = new Debugger(dynapi.debug._useIDE);

if(!dynapi.loaded && !dynapi.ua.ns4) {
        document.write(dynapi.debug._getDebugTemplate(true));
}

var t='------------------------------\n'
+'Click "?" for help\n'
+'------------------------------\n';
dynapi.debug.print(t);
\ No newline at end of file



-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: 
Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
Dynapi-CVS mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dynapi-cvs

Reply via email to