1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
/*
* SPL - The SPL Programming Language
* Copyright (C) 2004, 2005, 2006 Clifford Wolf <clifford@clifford.at>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* mod_wsf_debug.spl: WebSPL Debugger
*/
/**
* A module that implements an SPL debugger that can be used with a Web
* Interface and integrates nicely in WSF applications.
*/
load "cgi";
load "task";
load "encode_xml";
load "webdebug";
/**
* The WSF debugger compontent.
*
* This WSF component creates a small "controler box" with a button for opening
* a debugger window and, if the DOM update machnism (see [[wsf:]]) is active,
* add buttons for displaying and hiding the iframe used for the DOM update
* hack.
*
* Derived from [[wsf:WsfComponent]].
*/
object WsfDebug WsfComponent
{
/**
* Overloaded [[wsf:WsfComponent.main()]].
*/
method main() {
task_co_return();
write(<:>
: <script><!--
: window.open("${webdebug()}", "",
: "width=600,height=500,resizable=yes,scrollbars=yes");
: //--></script>
</>);
}
/**
* Overloaded [[wsf:WsfComponent.get_html()]].
*/
method get_html() {
return <:>
: <table border="1" cellpadding="10"><tr><td bgcolor="#444444" align="center">
: <form id="$id" ${add_action(cgi.url)}>
: <input type="hidden" name="sid" value="${sid}" />
: <p>
: <b>WSF Debug</b>
: </p>
: <p>
: <input type="submit" value="Open Debug Window" />
: </p>
<spl:if code="WsfDocument.domupdate ~== 'iframe'">
: <p>
: <input type="button" value="Show WSF IFrame" onClick="document.getElementById('wsfiframe').setAttribute('style', 'width:100%')" /><br/>
: <input type="button" value="Hide WSF IFrame" onClick="document.getElementById('wsfiframe').setAttribute('style', 'display:none')" />
: </p>
</spl:if>
: </form>
: </td></tr></table>
: </>;
}
}
|