function selectDialogOnLoad() { dump("selectDialogOnLoad \n"); doSetOKCancel( commonDialogOnOK, commonDialogOnCancel ); param = window.arguments[0].QueryInterface( Components.interfaces.nsIDialogParamBlock ); if( !param ) dump( " error getting param block interface\n" ); var messageText = param.GetString( 1 ); dump("message: "+ messageText +"\n"); { var messageFragment; // Let the caller use "\n" to cause breaks // Translate these into
tags var messageParent = (document.getElementById("info.txt")); done = false; while (!done) { breakIndex = messageText.indexOf('\n'); if (breakIndex == 0) { // Ignore break at the first character messageText = messageText.slice(1); dump("Found break at begining\n"); messageFragment = ""; } else if (breakIndex > 0) { // The fragment up to the break messageFragment = messageText.slice(0, breakIndex); // Chop off fragment we just found from remaining string messageText = messageText.slice(breakIndex+1); } else { // "\n" not found. We're done done = true; messageFragment = messageText; } messageNode = document.createTextNode(messageFragment); if (messageNode) messageParent.appendChild(messageNode); // This is needed when the default namespace of the document is XUL breakNode = document.createElementWithNameSpace("BR", "http://www.w3.org/TR/REC-html40"); if (breakNode) messageParent.appendChild(breakNode); } } var windowTitle = param.GetString( 0 ); dump("title: "+ windowTitle +"\n"); window.title = windowTitle; listBox = document.getElementById("list"); var numItems = param.GetInt( 2 ) for ( i = 2; i <= numItems+1; i++ ) { var newString = param.GetString( i ); dump("setting string "+newString+"\n"); var newOption = new Option( newString ); listBox.options[listBox.options.length] = newOption; } dump("number of items "+ listBox.options.length +" "+listBox.length+"\n"); listBox.selectedIndex = 0; // resize the window to the content window.sizeToContent(); // Move to the right location moveToAlertPosition(); param.SetInt(0, 1 ); centerWindowOnScreen(); } function commonDialogOnOK() { dump("commonDialogOnOK \n"); param.SetInt(2, listBox.selectedIndex ); param.SetInt(0, 0 ); return true; } function commonDialogOnCancel() { dump("commonDialogOnCancel \n"); param.SetInt(2, listBox.selectedIndex ); param.SetInt(0, 1 ); return true; }