From e1b306c969a470feafd7a0526877aac499da2fd4 Mon Sep 17 00:00:00 2001 From: "brade%netscape.com" Date: Wed, 26 Apr 2000 10:04:43 +0000 Subject: [PATCH] latest changes to image map editor (submitted by Dan Haddix; dan6992@hotmail.com) git-svn-id: svn://10.0.0.236/trunk@67221 18797224-902f-48f8-a5cc-f745e15eee43 --- .../editor/ui/dialogs/content/EdImageMap.js | 164 ++++++++++-------- .../editor/ui/dialogs/content/EdImageMap.xul | 59 +++---- .../ui/dialogs/content/EdImageMapShapes.js | 122 +++++++++---- 3 files changed, 207 insertions(+), 138 deletions(-) diff --git a/mozilla/editor/ui/dialogs/content/EdImageMap.js b/mozilla/editor/ui/dialogs/content/EdImageMap.js index 94c42989366..724be49ebcb 100644 --- a/mozilla/editor/ui/dialogs/content/EdImageMap.js +++ b/mozilla/editor/ui/dialogs/content/EdImageMap.js @@ -22,14 +22,12 @@ * Brian King */ - var tHide = false; var highCont = false; var imageElement = null; var mapName = ''; var imageMap = null; -var oldMap = null; -var noImg = false; +var imageEl; function Startup(){ if (!InitEditorShell()) @@ -39,21 +37,21 @@ function Startup(){ } function initDialog(){ - //Check to make sure selected element is an image - imageElement = editorShell.GetSelectedElement("img"); + //Get image element from parent + imageElement = window.arguments[0]; if (!imageElement) //If not an image close window - { - imageElementName = window.opener.document.getElementById('srcInput'); - imageElementName = imageElementName.value; - if ( IsValidImage(imageElementName )) { - noImg = true; - } - else { - // Need error message here - window.close(); - return; - } - } + window.close(); + + //Get image map from parent + imageMap = window.arguments[1]; + if (!imageMap) //If no image map close window + window.close(); + + //find parent inputs + srcInput = window.opener.document.getElementById("srcInput"); + widthInput = window.opener.document.getElementById("widthInput"); + heightInput = window.opener.document.getElementById("heightInput"); + borderInput = window.opener.document.getElementById("border"); //Set iframe pointer frameDoc = window.frames[0].document; @@ -78,24 +76,31 @@ function initDialog(){ //Place Image var newImg = frameDoc.createElement("img"); - if ( newImg && noImg == false) { - newImg.setAttribute("src", imageElement.getAttribute("src")); - newImg.setAttribute("width", imageElement.offsetWidth); - newImg.setAttribute("height", imageElement.offsetHeight); + if ( newImg ) { + newImg.setAttribute("src", srcInput.value); + if (parseInt(widthInput.value) > 0) + newImg.setAttribute("width", widthInput.value); + if (parseInt(heightInput.value) > 0) + newImg.setAttribute("height", heightInput.value); newImg.setAttribute("id", "mainImg"); - frameDoc.getElementById("bgDiv").appendChild(newImg); - frameDoc.getElementById("bgDiv").style.width = imageElement.offsetWidth; - } - else if (newImg) { - newImg.setAttribute("src", imageElementName); - frameDoc.getElementById("bgDiv").appendChild(newImg); + imageEl = frameDoc.getElementById("bgDiv").appendChild(newImg); } + //Resize background DIV to fit image + fixBgDiv(); + //Recreate Image Map if it exists - if ( (noImg == false) && (imageElement.getAttribute("usemap")) ) { - //alert('test'); recreateMap(); +} + +function fixBgDiv(){ + imageEl = frameDoc.getElementById("mainImg"); + if (imageEl.offsetWidth != 0){ + frameDoc.getElementById("bgDiv").style.width = imageEl.offsetWidth; + frameDoc.getElementById("bgDiv").style.height = imageEl.offsetHeight; } + else + setTimeout("fixBgDiv()", 100); } function hideToolbar(){ @@ -117,33 +122,28 @@ function hideToolbar(){ } function highContrast(){ - var imgEl = frameDoc.getElementById("mainImg"); if (highCont){ - imgEl.style.opacity = "100%"; + frameDoc.getElementById("bgDiv").style.background = "url('chrome://editor/skin/images/Map_checker.gif')"; + frameDoc.getElementById("bgDiv").style.backgroundColor = "white"; + imageEl.style.opacity = "1.0"; + document.getElementById("Map:Contrast").setAttribute("checked", "false"); + document.getElementById("Map:Contrast").setAttribute("toggled", "false"); highCont = false; } else{ - imgEl.style.opacity = "10%"; + frameDoc.getElementById("bgDiv").style.background = "url('')"; + frameDoc.getElementById("bgDiv").style.backgroundColor = "#D2D2D2"; + imageEl.style.opacity = ".3"; + document.getElementById("Map:Contrast").setAttribute("checked", "true"); + document.getElementById("Map:Contrast").setAttribute("toggled", "true"); highCont = true; } } function recreateMap(){ - var map = imageElement.getAttribute("usemap"); - map = map.substring(1, map.length); - mapName = map; - var mapCollection = editorShell.editorDocument.getElementsByName(map); - oldMap = mapCollection[0]; - //alert(map); - try{ - alert(oldMap.childNodes.length); - } - catch (ex){ - alert(ex); - } - areaCollection = mapCollection[0].childNodes; - var len = areaCollection.length; - for(j=0; j= 1){ for(i=0; i - + + + - - - - - + - @@ -69,7 +61,11 @@ - + + + + + @@ -91,7 +87,7 @@ - + @@ -148,31 +144,29 @@ - + - - + - - - - - - - + + + + + + + - -