Bug 352990: Improve domi's Evaluate JavaScript, patch by Jason Barnabe <jason_barnabe@fastmail.fm>, r=timeless, sr=neil

This commit is contained in:
gavin%gavinsharp.com 2006-09-24 15:05:45 +00:00
parent 1a06cf7693
commit 1b674abaff
19 changed files with 52 additions and 91 deletions

View File

@ -20,6 +20,7 @@
*
* Contributor(s):
* Joe Hewitt <hewitt@netscape.com> (original author)
* Jason Barnabe <jason_barnabe@fastmail.fm>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@ -43,49 +44,25 @@
* REQUIRED IMPORTS:
****************************************************************/
//////////// global variables /////////////////////
var gViewer = window.arguments[0];
var gTarget = window.arguments[1];
var dialog;
//////////////////////////////////////////////////
window.addEventListener("load", EvalExprDialog_initialize, false);
function EvalExprDialog_initialize()
/**
* Executes the JavaScript expression entered by the user.
*/
function execute()
{
dialog = new EvalExprDialog();
dialog.initialize();
}
////////////////////////////////////////////////////////////////////////////
//// class EvalExprDialog
function EvalExprDialog()
{
this.mViewer = window.arguments[0];
this.mTarget = window.arguments[1];
}
EvalExprDialog.prototype =
{
initialize: function()
{
var txf = document.getElementById("txfExprInput");
txf.focus();
},
doExec: function()
{
var txf = document.getElementById("txfExprInput");
var cbx = document.getElementById("cbxNewView");
this.mViewer.doEvalExpr(txf.value, this.mTarget, cbx.checked);
window.close();
},
doCancel: function()
{
window.close();
var txf = document.getElementById("txfExprInput");
var rad = document.getElementById("inspect-new-window");
try {
gViewer.doEvalExpr(txf.value, gTarget, rad.selected);
} catch (ex) {
// alert the user of an error in their expression, and don't close
Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService)
.alert(window, document.getElementById("strings")
.getString("jsObjectExpressionError.title"), ex);
return false;
}
};
return true;
}

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE window [
<!DOCTYPE dialog [
<!ENTITY % dtd1 SYSTEM "chrome://inspector/locale/inspector.dtd"> %dtd1;
<!ENTITY % dtd2 SYSTEM "chrome://inspector/content/util.dtd"> %dtd2;
<!ENTITY % dtd3 SYSTEM "chrome://inspector/locale/viewers/jsObject.dtd"> %dtd3;
@ -8,34 +8,32 @@
<?xml-stylesheet href="chrome://communicator/skin"?>
<window id="winEvalExpr" class="dialog"
title="Evaluate Expression"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://inspector/content/viewers/jsObject/evalExprDialog.js"/>
<script type="application/x-javascript" src="chrome://inspector/content/jsutil/xpcom/XPCU.js"/>
<commandset id="cmdsCommands">
<command id="cmdExec" oncommand="dialog.doExec()"/>
<command id="cmdCancel" oncommand="dialog.doCancel()"/>
</commandset>
<dialog id="winEvalExpr"
title="&evaluateDialog.title;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
ondialogaccept="return execute();"
buttonlabelaccept="&jsExecute.label;"
style="width: 30em;">
<keyset id="ksKeys">
<key id="kExec" keycode="VK_RETURN" observes="cmdExec"/>
<key id="kCancel" keycode="VK_ESCAPE" observes="cmdCancel"/>
</keyset>
<script type="application/x-javascript"
src="chrome://inspector/content/viewers/jsObject/evalExprDialog.js"/>
<script type="application/x-javascript"
src="chrome://inspector/content/jsutil/xpcom/XPCU.js"/>
<vbox style="width: 350px;">
<description>&jsEval.desc;</description>
<textbox id="txfExprInput" value=""/>
<checkbox id="cbxNewView" label="&inspectNewWindow.label;"/>
</vbox>
<hbox>
<button label="&jsExecute.label;" observes="cmdExec" default="true"/>
<button label="&jsCancel.label;" observes="cmdCancel"/>
</hbox>
<stringbundle id="strings"
src="chrome://inspector/locale/inspector.properties"/>
</window>
<description>&jsEval.desc;</description>
<textbox id="txfExprInput"/>
<groupbox>
<caption label="&inspectReturn.label;"/>
<radiogroup id="inspect-return-location">
<radio id="inspect-existing-window" label="&inspectReturnExisting.label;"
selected="true"/>
<radio id="inspect-new-window" label="&inspectReturnNew.label;"/>
</radiogroup>
</groupbox>
</dialog>

View File

@ -48,4 +48,3 @@
<!ENTITY jsEval.desc "Introduïu una expressió javascript. La variable &quot;target&quot; és l'objecte que està seleccionat ara. Qualsevol valor que retorneu es mostrarà al Visualitzador d'objectes del Javascript.">
<!ENTITY jsExecute.label "Executa">
<!ENTITY jsCancel.label "Cancel·la">

View File

@ -41,4 +41,3 @@
<!ENTITY jsValue.label "Hodnota">
<!ENTITY jsEval.desc "Vložte výraz v jazyce Javascript. Proměnná &quot;target&quot; je objektem, který je právě zvolen. Navrácená hodnota bude zobrazena v Javascript Object Viewer.">
<!ENTITY jsExecute.label "Spustit">
<!ENTITY jsCancel.label "Zrušit">

View File

@ -45,4 +45,3 @@
<!ENTITY jsEval.desc "Indtast et JavaScript udtryk. Variablen &quot;target&quot; er den egenskab som pt. er valgt. Enhver værdi som returneres vil blive vist i JavaScript Objektviseren.">
<!ENTITY jsExecute.label "Udfør">
<!ENTITY jsCancel.label "Afbryd">

View File

@ -45,4 +45,3 @@
<!ENTITY jsEval.desc "Geben Sie einen JavaScript-Ausdruck an. Die Variable &quot;target&quot; ist die momentan ausgewählte Eigenschaft. Jeder Wert, den Sie zurückgeben, wird im Javascript-Objektbetrachter angezeigt.">
<!ENTITY jsExecute.label "Ausführen">
<!ENTITY jsCancel.label "Abbrechen">

View File

@ -43,4 +43,3 @@
<!ENTITY jsEval.desc "Εισάγετε μια έκφραση javascript. Η μεταβλητή &quot;target&quot; είναι το αντικείμενο που έχει επιλεχθεί. Όποια τιμή επιστρέφετε θα εμφανίζεται στο Javascript Object Viewer.">
<!ENTITY jsExecute.label "Εκτέλεση">
<!ENTITY jsCancel.label "Ακύρωση">

View File

@ -42,7 +42,9 @@
<!ENTITY jsProperty.label "Property">
<!ENTITY jsValue.label "Value">
<!ENTITY jsEval.desc "Enter a JavaScript expression. The variable &quot;target&quot; is the property that is currently selected. Any value that you return will be displayed in the JavaScript Object Viewer.">
<!ENTITY evaluateDialog.title "Evaluate Expression">
<!ENTITY jsEval.desc "Enter a JavaScript expression. The variable &quot;target&quot; is the property that is currently selected.">
<!ENTITY jsExecute.label "Execute">
<!ENTITY jsCancel.label "Cancel">
<!ENTITY inspectReturn.label "Inspect return in">
<!ENTITY inspectReturnNew.label "New window">
<!ENTITY inspectReturnExisting.label "Existing window">

View File

@ -45,4 +45,3 @@
<!ENTITY jsEval.desc "Entrez une expression Javascript. La variable « target » est l'objet qui est actuellement sélectionné. La valeur de retour sera affichée dans la visionneuse d'objet Javascript.">
<!ENTITY jsExecute.label "Exécuter">
<!ENTITY jsCancel.label "Annuler">

View File

@ -43,4 +43,3 @@
roghnaithe faoi láthair. Taispeánfear i mBreathnóir na nOibiachtaí
JavaScript cibé luach a aisfhilltear.">
<!ENTITY jsExecute.label "Rith">
<!ENTITY jsCancel.label "Cealaigh">

View File

@ -45,4 +45,3 @@
<!ENTITY jsEval.desc "Adjon meg egy JavaScript kifejezést. A &quot;target&quot; változó a jelenleg kiválasztott tulajdonság. Minden visszatérési érték a JavaScript Objektumnézőben fog megjelenni.">
<!ENTITY jsExecute.label "Végrehajtás">
<!ENTITY jsCancel.label "Mégse">

View File

@ -45,4 +45,3 @@
<!ENTITY jsEval.desc "Skriv inn et JavaScript-uttrykk. Variabelen &quot;target&quot; er det valgte objektet. Enhver verdi du returnerer vil vises i objektviseren for JavaScript.">
<!ENTITY jsExecute.label "Utfør">
<!ENTITY jsCancel.label "Avbryt">

View File

@ -46,4 +46,3 @@
<!ENTITY jsEval.desc "Wprowadź wyrażenie javascript. Zmienna &quot;target&quot; stanowi odwołanie do aktualnie wybranego obiektu. Dowolna wartość, która zostanie wprowadzona przez użytkownika zostanie wyświetlona w oknie Podglądu obiektów JavaScript.">
<!ENTITY jsExecute.label "Wykonaj">
<!ENTITY jsCancel.label "Anuluj">

View File

@ -46,4 +46,3 @@
<!ENTITY jsEval.desc "Forneça uma expressão JavaScript. A variável &quot;target&quot; é a propriedade atualmente selecionada. Qualquer valor retornado será exibido no Javascript Object Viewer.">
<!ENTITY jsExecute.label "Executar">
<!ENTITY jsCancel.label "Cancelar">

View File

@ -1,4 +1,3 @@
<!ENTITY jsCancel.label "Отмена">
<!ENTITY jsCopyValue.label "Копировать значение">
<!ENTITY jsEval.desc "Введите выражение JavaScript. Переменная &quot;target&quot; - выбранное в данный момент свойство. Любое возвращаемое значение будет отображено в области просмотра JavaScript.">
<!ENTITY jsEval.label "Выполнить JavaScript...">

View File

@ -42,4 +42,3 @@
<!ENTITY jsEval.label "Vyhodnotiť Javascript">
<!ENTITY jsCopyValue.label "Kopírovať hodnotu">
<!ENTITY jsProperty.label "Vlastnosť">
<!ENTITY jsCancel.label "Zrušiť">

View File

@ -46,4 +46,3 @@
<!ENTITY jsEval.desc "Skriv in ett JavaScript-uttryck. Variabeln &quot;target&quot; är för närvarande det valda objektet. Varje värde som du stoppar in visas i objektsvisaren">
<!ENTITY jsExecute.label "Kör">
<!ENTITY jsCancel.label "Avbryt">

View File

@ -1,4 +1,3 @@
<!ENTITY jsCancel.label "取消">
<!ENTITY jsCopyValue.label "复制值">
<!ENTITY jsEval.desc "输入一个Javascript 表达式,变量 &quot;target&quot; 是当前选中的属性。任何返回值将会在Javascript 对象视图中显示。">
<!ENTITY jsEval.label "运行 Javascript...">

View File

@ -5,4 +5,3 @@
<!ENTITY jsValue.label "內含值">
<!ENTITY jsEval.desc "輸入 JavaScript 運算式。變數「target」是目前所選的物件。任何傳回值都會顯示在 JavaScript 物件檢視器裡。">
<!ENTITY jsExecute.label "執行">
<!ENTITY jsCancel.label "取消">