X-Git-Url: https://scm.cri.ensmp.fr/git/PlinnDocument.git/blobdiff_plain/57a4d385a1d2806d5877f53b1fdb0bd94efa2dbb:/skins/xml_io.js..3b91dbcbb0b99d3d796a01813018db0e540bd0ec:/Products/PlinnDocument/skins/static/gitweb.css diff --git a/skins/xml_io.js b/skins/xml_io.js deleted file mode 100644 index bfd7cf0..0000000 --- a/skins/xml_io.js +++ /dev/null @@ -1,132 +0,0 @@ -// (c) Benoît PIN 2006-2007 -// http://plinn.org -// Licence GPL - -function XMLExport() { - this.domDoc = Sarissa.getDomDocument('http://plinn.org/namespaces/plinn_document/1.0', 'plinn'); - this.rootNode = this.domDoc.documentElement; -} - -XMLExport.prototype.getXML = function() { - this.exportDocument(); - var s = new XMLSerializer(); - XML_OUTPUT.value = s.serializeToString(this.domDoc); -}; - - -XMLExport.prototype.exportDocument = function() { - this.exportRectangles(LAYER_MANAGER.space, this.rootNode); -}; - -XMLExport.prototype.exportRectangles = function(baseObj, baseNode) { - var doc = this.domDoc; - var childs = baseObj.childNodes; - - for(var i = 0 ; i < childs.length ; i++) { - rectObj = childs[i].rectangle; - if (!rectObj) - continue; - - // rectangle - var rectEl = doc.createElement("rectangle"); - rectEl.setAttribute("width", rectObj.width); - rectEl.setAttribute("height", rectObj.height); - rectEl.setAttribute("elementKey", rectObj.elementKey); - rectEl.setAttribute("ddOptions", rectObj.ddOptions); - rectEl.setAttribute("ratio", rectObj.ratio); - rectEl.setAttribute("visibility", rectObj.style.visibility); - - // upperLeftCorner - var ulc = doc.createElement("upperLeftCorner"); - var point = doc.createElement("point"); - point.setAttribute("x", rectObj.upperLeftCorner.x); - point.setAttribute("y", rectObj.upperLeftCorner.y); - ulc.appendChild(point); - rectEl.appendChild(ulc); - - // raw data - var rdata = doc.createElement("rawData"); - if (rectObj.getRawData) { - var rawEl = doc.createTextNode(rectObj.getRawData()); - rdata.appendChild(rawEl); - } - rectEl.appendChild(rdata); - - baseNode.appendChild(rectEl); - - this.exportRectangles(rectObj.node, rectEl); - } -}; - -function XMLImport(url, root_container) { - this.root_container = root_container; - var thisImporter = this; - var req = new XMLHttpRequest(); - - req.onreadystatechange = function() { - if(req.readyState == 4) - thisImporter.constructDocument(req); - } - req.open("GET", url, true); - req.send(null); -} - -XMLImport.prototype.constructDocument = function(req) { - var rootNode = req.responseXML.documentElement; - var layerElements = rootNode.childNodes; - initLayerManager(this.root_container, true); - var layerElement; - for (var i = 0 ; i < layerElements.length ; i++) { - layerElement = layerElements[i]; - if (i==0) { // initialize LAYER_MANAGER from first layer data - LAYER_MANAGER.defaultLayerWidth = parseInt(layerElement.getAttribute("width")); - LAYER_MANAGER.defaultLayerHeight = parseInt(layerElement.getAttribute("height")); - LAYER_MANAGER.addLayer("relative"); - } - else - LAYER_MANAGER.addLayer(); - - // common part - if (layerElement.getAttribute("visibility") == "hidden") - LAYER_MANAGER.toggleLayerVisibility(); - - this.constructRectangles(CURRENT_LAYER, layerElement) - } -}; - -XMLImport.prototype.constructRectangles = function(baseObj, baseNode) { - var rectangleElements = baseNode.childNodes; - var rectE, rect, ulcE, ulc, rawDataE, rawData, putFunc; - - for (var i = 0 ; i < rectangleElements.length ; i ++) { - rectE = rectangleElements[i]; - if (rectE.nodeName != "rectangle") - continue; - ulcE = rectE.childNodes[0].childNodes[0]; - rawDataE = rectE.childNodes[1] - - ulc = new Point( parseInt(ulcE.getAttribute("x")), parseInt(ulcE.getAttribute("y")) ) - rect = new Rectangle(ulc, - parseInt(rectE.getAttribute("width")), - parseInt(rectE.getAttribute("height")), - rectE.getAttribute("elementKey"), - parseInt(rectE.getAttribute("ddOptions")), - parseFloat(rectE.getAttribute("ratio"))); - - putFunc = ELEMENTS_POOL[rectE.getAttribute("elementKey")]["putData"] - if (putFunc) - putFunc.apply(rect, [rawDataE.childNodes[0].nodeValue]); - - rect.draw(baseObj); - } -}; - -/* utils */ -function _plinnDocumentBeforeSubmit() { - with (GLOBAL_DD_CONTROLER.ddEventCaptureElmt) { - onmousedown=null; - onmousemouse=null; - onmouseup=null; - } - new XMLExport().getXML(); -} \ No newline at end of file