Annotation of loncom/html/htmlarea/popups/old_insert_image.html, revision 1.1

1.1     ! www         1: <!-- based on insimage.dlg -->
        !             2: 
        !             3: <!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML 3.2//EN">
        !             4: <HTML  id=dlgImage STYLE="width: 432px; height: 194px; ">
        !             5: <HEAD>
        !             6: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        !             7: <meta http-equiv="MSThemeCompatible" content="Yes">
        !             8: <TITLE>Insert Image</TITLE>
        !             9: <style>
        !            10:   html, body, button, div, input, select, fieldset { font-family: MS Shell Dlg; font-size: 8pt; position: absolute; };
        !            11: </style>
        !            12: <SCRIPT defer>
        !            13: 
        !            14: function _CloseOnEsc() {
        !            15:   if (event.keyCode == 27) { window.close(); return; }
        !            16: }
        !            17: 
        !            18: function _getTextRange(elm) {
        !            19:   var r = elm.parentTextEdit.createTextRange();
        !            20:   r.moveToElementText(elm);
        !            21:   return r;
        !            22: }
        !            23: 
        !            24: window.onerror = HandleError
        !            25: 
        !            26: function HandleError(message, url, line) {
        !            27:   var str = "An error has occurred in this dialog." + "\n\n"
        !            28:   + "Error: " + line + "\n" + message;
        !            29:   alert(str);
        !            30:   window.close();
        !            31:   return true;
        !            32: }
        !            33: 
        !            34: function Init() {
        !            35:   var elmSelectedImage;
        !            36:   var htmlSelectionControl = "Control";
        !            37:   var globalDoc = window.dialogArguments;
        !            38:   var grngMaster = globalDoc.selection.createRange();
        !            39:   
        !            40:   // event handlers  
        !            41:   document.body.onkeypress = _CloseOnEsc;
        !            42:   btnOK.onclick = new Function("btnOKClick()");
        !            43: 
        !            44:   txtFileName.fImageLoaded = false;
        !            45:   txtFileName.intImageWidth = 0;
        !            46:   txtFileName.intImageHeight = 0;
        !            47: 
        !            48:   if (globalDoc.selection.type == htmlSelectionControl) {
        !            49:     if (grngMaster.length == 1) {
        !            50:       elmSelectedImage = grngMaster.item(0);
        !            51:       if (elmSelectedImage.tagName == "IMG") {
        !            52:         txtFileName.fImageLoaded = true;
        !            53:         if (elmSelectedImage.src) {
        !            54:           txtFileName.value          = elmSelectedImage.src.replace(/^[^*]*(\*\*\*)/, "$1");  // fix placeholder src values that editor converted to abs paths
        !            55:           txtFileName.intImageHeight = elmSelectedImage.height;
        !            56:           txtFileName.intImageWidth  = elmSelectedImage.width;
        !            57:           txtVertical.value          = elmSelectedImage.vspace;
        !            58:           txtHorizontal.value        = elmSelectedImage.hspace;
        !            59:           txtBorder.value            = elmSelectedImage.border;
        !            60:           txtAltText.value           = elmSelectedImage.alt;
        !            61:           selAlignment.value         = elmSelectedImage.align;
        !            62:         }
        !            63:       }
        !            64:     }
        !            65:   }
        !            66:   txtFileName.value = txtFileName.value || "http://";
        !            67:   txtFileName.focus();
        !            68: }
        !            69: 
        !            70: function _isValidNumber(txtBox) {
        !            71:   var val = parseInt(txtBox);
        !            72:   if (isNaN(val) || val < 0 || val > 999) { return false; }
        !            73:   return true;
        !            74: }
        !            75: 
        !            76: function btnOKClick() {
        !            77:   var elmImage;
        !            78:   var intAlignment;
        !            79:   var htmlSelectionControl = "Control";
        !            80:   var globalDoc = window.dialogArguments;
        !            81:   var grngMaster = globalDoc.selection.createRange();
        !            82:   
        !            83:   // error checking
        !            84: 
        !            85:   if (!txtFileName.value || txtFileName.value == "http://") { 
        !            86:     alert("Image URL must be specified.");
        !            87:     txtFileName.focus();
        !            88:     return;
        !            89:   }
        !            90:   if (txtHorizontal.value && !_isValidNumber(txtHorizontal.value)) {
        !            91:     alert("Horizontal spacing must be a number between 0 and 999.");
        !            92:     txtHorizontal.focus();
        !            93:     return;
        !            94:   }
        !            95:   if (txtBorder.value && !_isValidNumber(txtBorder.value)) {
        !            96:     alert("Border thickness must be a number between 0 and 999.");
        !            97:     txtBorder.focus();
        !            98:     return;
        !            99:   }
        !           100:   if (txtVertical.value && !_isValidNumber(txtVertical.value)) {
        !           101:     alert("Vertical spacing must be a number between 0 and 999.");
        !           102:     txtVertical.focus();
        !           103:     return;
        !           104:   }
        !           105: 
        !           106:   // delete selected content and replace with image
        !           107:   if (globalDoc.selection.type == htmlSelectionControl && !txtFileName.fImageLoaded) {
        !           108:     grngMaster.execCommand('Delete');
        !           109:     grngMaster = globalDoc.selection.createRange();
        !           110:   }
        !           111:     
        !           112:   idstr = "\" id=\"556e697175657e537472696e67";     // new image creation ID
        !           113:   if (!txtFileName.fImageLoaded) {
        !           114:     grngMaster.execCommand("InsertImage", false, idstr);
        !           115:     elmImage = globalDoc.all['556e697175657e537472696e67'];
        !           116:     elmImage.removeAttribute("id");
        !           117:     elmImage.removeAttribute("src");
        !           118:     grngMaster.moveStart("character", -1);
        !           119:   } else {
        !           120:     elmImage = grngMaster.item(0);
        !           121:     if (elmImage.src != txtFileName.value) {
        !           122:       grngMaster.execCommand('Delete');
        !           123:       grngMaster = globalDoc.selection.createRange();
        !           124:       grngMaster.execCommand("InsertImage", false, idstr);
        !           125:       elmImage = globalDoc.all['556e697175657e537472696e67'];
        !           126:       elmImage.removeAttribute("id");
        !           127:       elmImage.removeAttribute("src");
        !           128:       grngMaster.moveStart("character", -1);
        !           129:       txtFileName.fImageLoaded = false;
        !           130:     }
        !           131:     grngMaster = _getTextRange(elmImage);
        !           132:   }
        !           133: 
        !           134:   if (txtFileName.fImageLoaded) {
        !           135:     elmImage.style.width = txtFileName.intImageWidth;
        !           136:     elmImage.style.height = txtFileName.intImageHeight;
        !           137:   }
        !           138: 
        !           139:   if (txtFileName.value.length > 2040) {
        !           140:     txtFileName.value = txtFileName.value.substring(0,2040);
        !           141:   }
        !           142:   
        !           143:   elmImage.src = txtFileName.value;
        !           144:   
        !           145:   if (txtHorizontal.value != "") { elmImage.hspace = parseInt(txtHorizontal.value); }
        !           146:   else                           { elmImage.hspace = 0; }
        !           147: 
        !           148:   if (txtVertical.value != "") { elmImage.vspace = parseInt(txtVertical.value); }
        !           149:   else                         { elmImage.vspace = 0; }
        !           150:   
        !           151:   elmImage.alt = txtAltText.value;
        !           152: 
        !           153:   if (txtBorder.value != "") { elmImage.border = parseInt(txtBorder.value); }
        !           154:   else                       { elmImage.border = 0; }
        !           155: 
        !           156:   elmImage.align = selAlignment.value;
        !           157:   grngMaster.collapse(false);
        !           158:   grngMaster.select();
        !           159:   window.close();
        !           160: }
        !           161: </SCRIPT>
        !           162: </HEAD>
        !           163: <BODY id=bdy onload="Init()" style="background: threedface; color: windowtext;" scroll=no>
        !           164: 
        !           165: <DIV id=divFileName style="left: 0.98em; top: 1.2168em; width: 7em; height: 1.2168em; ">Image URL:</DIV>
        !           166: <INPUT ID=txtFileName type=text style="left: 8.54em; top: 1.0647em; width: 21.5em;height: 2.1294em; " tabIndex=10 onfocus="select()">
        !           167: 
        !           168: <DIV id=divAltText style="left: 0.98em; top: 4.1067em; width: 6.58em; height: 1.2168em; ">Alternate Text:</DIV>
        !           169: <INPUT type=text ID=txtAltText tabIndex=15 style="left: 8.54em; top: 3.8025em; width: 21.5em; height: 2.1294em; " onfocus="select()">
        !           170: 
        !           171: <FIELDSET id=fldLayout style="left: .9em; top: 7.1em; width: 17.08em; height: 7.6em;">
        !           172: <LEGEND id=lgdLayout>Layout</LEGEND>
        !           173: </FIELDSET>
        !           174: 
        !           175: <FIELDSET id=fldSpacing style="left: 18.9em; top: 7.1em; width: 11em; height: 7.6em;">
        !           176: <LEGEND id=lgdSpacing>Spacing</LEGEND>
        !           177: </FIELDSET>
        !           178: 
        !           179: <DIV id=divAlign style="left: 1.82em; top: 9.126em; width: 4.76em; height: 1.2168em; ">Alignment:</DIV>
        !           180: <SELECT size=1 ID=selAlignment tabIndex=20 style="left: 10.36em; top: 8.8218em; width: 6.72em; height: 1.2168em; ">
        !           181: <OPTION id=optNotSet value=""> Not set </OPTION>
        !           182: <OPTION id=optLeft value=left> Left </OPTION>
        !           183: <OPTION id=optRight value=right> Right </OPTION>
        !           184: <OPTION id=optTexttop value=textTop> Texttop </OPTION>
        !           185: <OPTION id=optAbsMiddle value=absMiddle> Absmiddle </OPTION>
        !           186: <OPTION id=optBaseline value=baseline SELECTED> Baseline </OPTION>
        !           187: <OPTION id=optAbsBottom value=absBottom> Absbottom </OPTION>
        !           188: <OPTION id=optBottom value=bottom> Bottom </OPTION>
        !           189: <OPTION id=optMiddle value=middle> Middle </OPTION>
        !           190: <OPTION id=optTop value=top> Top </OPTION>
        !           191: </SELECT>
        !           192: 
        !           193: <DIV id=divHoriz style="left: 19.88em; top: 9.126em; width: 4.76em; height: 1.2168em; ">Horizontal:</DIV>
        !           194: <INPUT ID=txtHorizontal style="left: 24.92em; top: 8.8218em; width: 4.2em; height: 2.1294em; ime-mode: disabled;" type=text size=3 maxlength=3 value="" tabIndex=25 onfocus="select()">
        !           195: 
        !           196: <DIV id=divBorder style="left: 1.82em; top: 12.0159em; width: 8.12em; height: 1.2168em; ">Border Thickness:</DIV>
        !           197: <INPUT ID=txtBorder style="left: 10.36em; top: 11.5596em; width: 6.72em; height: 2.1294em; ime-mode: disabled;" type=text size=3 maxlength=3 value="" tabIndex=21 onfocus="select()">
        !           198: 
        !           199: <DIV id=divVert style="left: 19.88em; top: 12.0159em; width: 3.64em; height: 1.2168em; ">Vertical:</DIV>
        !           200: <INPUT ID=txtVertical style="left: 24.92em; top: 11.5596em; width: 4.2em; height: 2.1294em; ime-mode: disabled;" type=text size=3 maxlength=3 value="" tabIndex=30 onfocus="select()">
        !           201: 
        !           202: <BUTTON ID=btnOK style="left: 31.36em; top: 1.0647em; width: 7em; height: 2.2em; " type=submit tabIndex=40>OK</BUTTON>
        !           203: <BUTTON ID=btnCancel style="left: 31.36em; top: 3.6504em; width: 7em; height: 2.2em; " type=reset tabIndex=45 onClick="window.close();">Cancel</BUTTON>
        !           204: 
        !           205: </BODY>
        !           206: </HTML>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>