1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="300" onmousemove="init(evt)">
<defs>
<menu id="menu1">
<header>Menu utilisateur</header>
<item action="ZoomIn">Zoom</item>
<item id="clone" action="OriginalView">Vue originale</item>
<item/>
<item onactivate="clone_objet(evt)">Cloner</item>
<menu>
<header>Colorier</header>
<item onactivate="colorier(evt,'green')">Vert</item>
<item onactivate="colorier(evt,'red')">Rouge</item>
<item onactivate="colorier(evt,'blue')">Bleu</item>
<item onactivate="colorier(evt,'yellow')">Jaune</item>
</menu>
<item/>
<item action="SaveSnapshotAs">Sauver SVG</item>
<item action="ViewSource">Voir le source</item>
<item onactivate="aide(evt)">Aide</item>
</menu>
<menu id="menu0">
<item action="ZoomIn">Zoom</item>
<item id="clone" action="OriginalView">Vue originale</item>
<item/>
<menu>
<header>Colorier</header>
<item onactivate="colorier(evt,'green')">Vert</item>
<item onactivate="colorier(evt,'red')">Rouge</item>
<item onactivate="colorier(evt,'blue')">Bleu</item>
<item onactivate="colorier(evt,'yellow')">Jaune</item>
</menu>
<item/>
<item action="SaveSnapshotAs">Sauver SVG</item>
<item action="ViewSource">Voir le source</item>
<item onactivate="aide(evt)">Aide</item>
</menu>
<menu id="menu2">
<header>Menu utilisateur</header>
<item action="ZoomIn">Zoom</item>
<item id="clone" action="OriginalView">Vue originale</item>
<item/>
<menu>
<header>Colorier</header>
<item onactivate="colorier(evt,'green')">Vert</item>
<item onactivate="colorier(evt,'red')">Rouge</item>
<item onactivate="colorier(evt,'blue')">Bleu</item>
<item onactivate="colorier(evt,'yellow')">Jaune</item>
</menu>
<menu>
<header>Police</header>
<item onactivate="police(evt,'Arial')">Arial</item>
<item onactivate="police(evt,'Times New Roman')">Times New Roman</item>
<item onactivate="police(evt,'Tahoma')">Tahoma</item>
<item onactivate="police(evt,'Verdana')">Verdana</item>
</menu>
<item/>
<item action="SaveSnapshotAs">Sauver SVG</item>
<item action="ViewSource">Voir le source</item>
<item onactivate="aide(evt)">Aide</item>
</menu>
</defs>
<script>
var n=0;
var svgdoc="";
var cible,XPos,YPos;
function init(evt)
{svgdoc=evt.getTarget().getOwnerDocument();
cible=evt.getTarget();XPos=evt.getClientX();YPos=evt.getClientY()}
function faire_menus(nom_menu)
{var newMenuRoot=parseXML(printNode(document.getElementById(nom_menu)),cont extMenu);
contextMenu.replaceChild(newMenuRoot,contextMenu.firstChild)}
function aide()
{alert("Testez le menu contextuel\nqui varie suivant l'objet\nsur lequel vous cliquez\navec le bouton droit")}
function clone_objet(evt)
{n=n+1;
objet=svgdoc.getElementById("rectangle");
var newnode = objet.cloneNode(true);
newnode.setAttribute ("x",100+10*n);newnode.setAttribute ("y",100+10*n);
newnode.getStyle().setProperty("fill","blue");
var contents = svgdoc.getElementById ('affiche');
newnode = contents.appendChild (newnode)}
function colorier(evt,couleur)
{cible.getStyle().setProperty("fill",couleur)}
function police(evt,fonte)
{cible.getStyle().setProperty("font-family",fonte)}
</script>
<rect x="0" y="0" width="400" height="300" onmousemove="faire_menus('menu0')" style="fill:white;opacity:0.2"/>
<g id="affiche">
<text id="texte" onmousemove="faire_menus('menu2')" x="200" y="40" style="text-anchor:middle;font-size:15;font-family:Arial;fill:red">Tes tez le menu contextuel (bouton droit)</text>
<rect id="rectangle" onmousemove="faire_menus('menu1')" onclick="clone_objet(evt)" x="50" y="50" width="100" height="50" style="fill:green"/>
</g>
</svg> |
Partager