diff --git a/striped/GeekscottesMakerV2.svg b/striped/GeekscottesMakerV2.svg index b1ed561..ee296d7 100644 --- a/striped/GeekscottesMakerV2.svg +++ b/striped/GeekscottesMakerV2.svg @@ -12,240 +12,20 @@ id="svg"> Geekscottes maker ALPHA - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - @@ -275,14 +55,18 @@ --> - +
-
+
Charger un strip - - + + +
+
+ Code XML du strip +
@@ -383,24 +167,24 @@ this.bulles.push(bulle); bulle.case = this; } - this.getNoeud = function(height) { - noeud_fond = document.createElementNS(svgNS, "use"); + this.getNoeud = function(height, left) { + var noeud_fond = document.createElementNS(svgNS, "use"); noeud_fond.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href", this.fond); - noeud_croix = document.createElementNS(svgNS, "path"); - noeud_croix.setAttribute("d","M 10 10 L 15 15 L 20 10 L 15 15 L 10 20 L 15 15 L 20 20"); - noeud_croix.setAttribute("style","stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;"); - noeud_croix.setAttribute("id","strip-"+this.strip.id+"-case-"+this.num+"-croix"); + var noeud_croix = document.createElementNS(svgNS, "use"); + noeud_croix.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href", "#croix"); noeud_croix.style.visibility = 'hidden'; noeud_croix.strip = this.strip; - noeud_croix.setAttribute("onclick","javascript:this.strip.supprimerCase("+this.num+");this.strip.redraw();"); - noeud_case = document.createElementNS(svgNS, "g"); - noeud_case.strip = this.strip; + noeud_croix.case = this; + noeud_croix.setAttribute("onclick","javascript:this.strip.supprimerCase(this.case.num);"); + var noeud_case = document.createElementNS(svgNS, "g"); + //noeud_case.strip = this.strip; noeud_case.appendChild(noeud_fond); - noeud_case.setAttribute("id", "case_"+this.num); - noeud_case.setAttribute("transform", "translate("+this.num*(this.width+20)+")");// ATTENTION, LES CASES PEUVENT AVOIR DES LARGEURS DIFFÉRENTES - noeud_case.setAttribute("onmouseover","javascript:document.getElementById('strip-"+this.strip.id+"-case-"+this.num+"-croix').style.visibility = 'visible'"); - noeud_case.setAttribute("onmouseout","javascript:document.getElementById('strip-"+this.strip.id+"-case-"+this.num+"-croix').style.visibility = 'hidden'"); - noeud_cadre = document.createElementNS(svgNS, "rect"); + noeud_case.setAttribute("id", "strip-"+this.strip.id+"-case-"+this.num); + noeud_case.setAttribute("transform", "translate("+left+")"); + noeud_case.croix = noeud_croix; + noeud_case.setAttribute("onmouseover","javascript:this.croix.style.visibility = 'visible'"); + noeud_case.setAttribute("onmouseout","javascript:this.croix.style.visibility = 'hidden'"); + var noeud_cadre = document.createElementNS(svgNS, "rect"); noeud_cadre.setAttribute("style","fill: none; stroke: rgb(0, 0, 0); stroke-width: 4;"); noeud_cadre.setAttribute("width",this.width); noeud_cadre.setAttribute("height",height); @@ -531,7 +315,7 @@ const espace_ligne = 20; var noeud_texte = document.createElementNS(svgNS, "text"); - noeud_texte.setAttribute("font-size", this.size); + if(!isNaN(this.size)) noeud_texte.setAttributeNS(null,"font-size", this.size); const b_parent = document.getElementById("strip"); var mots = this.texte.split(" "); @@ -541,7 +325,7 @@ // On crée un noeud temporaire, pour les calculs de longueur noeud_temp = document.createElementNS(svgNS, "text"); - noeud_temp.setAttribute("font-size", this.size); + if(!isNaN(this.size)) noeud_temp.setAttributeNS(null,"font-size", this.size); noeud_temp.textContent = ""; b_parent.appendChild(noeud_temp); @@ -604,16 +388,67 @@ c.strip = this; } this.supprimerCase = function(i) { - this.cases.splice(i,1); - for(var num=i;num\n"; - for(this.i=0;this.i < this.cases.length;this.i++) { - this.xml += this.cases[this.i].getXML("\t"); + var xml = "\n"; + for(var i=0;i < this.cases.length;i++) { + xml += this.cases[i].getXML("\t"); } - this.xml += "\n"; - return this.xml; + xml += "\n"; + return xml; } } - function testurl() { + function chargerURL(url) { alert("c'est parti..."); - strip = parseStrip("geekscottes_133.xml"); + strip = parseStrip(url); strip.draw(); alert("voilà"); } @@ -665,7 +500,7 @@ xmlDoc.send(""); for(i=0;xmlDoc.responseXML.childNodes[i].nodeType != 1;i++); strip_node = xmlDoc.responseXML.childNodes[i]; - alert(strip_node.textContent); + //alert(strip_node.textContent); strip = new Strip("strip",strip_node.getAttribute("x"),strip_node.getAttribute("y"),strip_node.getAttribute("height"),true); strip.clear(); @@ -703,7 +538,7 @@ //ajouter l'interface graphique pour agir sur ces fonctions //penser à ajouter du drag and drop - //normaliser les id des objets : strip-iddustrip-case-idcase-bulle-idbulle, ... + //normaliser les id des objets : strip-iddustrip-case-idcase-bulle-idbulle, ... => DONE je crois //tout faire pour pouvoir gérer plusieurs strip éditables ou non