Artefact:Template/org/oomodels/converter/templates/simplediagram-1.0-svg-1.1
From OOModels
< Artefact:Template | org | oomodels | converter | templates
Jump to navigationJump to search
Revision as of 18:12, 8 November 2009 by AndreasLeue (talk | contribs)
Classification | |
---|---|
Type | Type:org/oogenerator/Template/2.0 |
Domain | Domain:it/development/formatting |
Category | Type:org/oomodels/wiki/Template |
Maturity | final |
More | |
Download Code | |
Namespace (more) | |
OOModels main namespace | |
create new pages |
Code[edit]
G-2.0-xml_string-1.0 -*- coding: utf-8; -*- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> ⋮▼import java.util.HashMap;▼… ⋮«HashMap items_by_pos = new HashMap();»… ⋮«∀(a:‖"Ⓧ/Diagram/Item"){»… ⋮« String name = ((XMLNode)‖"Ⓧ/@Name").toString(); String type = ((XMLNode)<span class="oogpath">‖"Ⓧ/@Type"</span>).toString(); int len = name.length(); int width = len * 10; int x = Integer.parseInt(((XMLNode)(‖"Ⓧ/@X")).toString()); int y = Integer.parseInt(((XMLNode)(‖"Ⓧ/@Y")).toString()); Integer[] box = { 8*x, 16*y, 8*x+width, 16*y+44 }; items_by_pos.put(""+x+"-"+y+"", box); »… <a xlink:href="◂‖"Ⓧ/@Link"▸" target="_top"> <g transform="translate(◂8*x▸,◂16*y▸)"> ⋮«if(type.equals("Class")){»… <path style="fill:#000000;fill-opacity:0.49803922;stroke:none;stroke-width:1px;" d="M 2,2 L ◂2+width▸,2 L ◂2+width▸,46 L 2,46 L 2,2 z "/> <path style="fill:#80A0C0;fill-opacity:1;stroke:#000000;stroke-width:1px;" d="M 0,0 L ◂width▸,0 L ◂width▸,44 L 0,44 L 0,0 z "/> ⋮«}»… ⋮«if(type.equals("StateMachine")){»… <path style="fill:#000000;fill-opacity:0.49803922;stroke:none;stroke-width:1px;" d="M 2,2 L ◂2+width▸,2 L ◂2+width▸,46 L 2,46 L 2,2 z "/> <path style="fill:#80E080;fill-opacity:1;stroke:#000000;stroke-width:1px;" d="M 0,0 L ◂width▸,0 L ◂width▸,44 L 0,44 L 0,0 z "/> ⋮«}»… ⋮«if(type.equals("Step")){»… <path style="fill:#000000;fill-opacity:0.49803922;stroke:none;stroke-width:1px;" d="M 2,2 L ◂2+width▸,2 L ◂13+width▸,24 L ◂2+width▸,46 L 2,46 L 2,2 z "/> <path style="fill:#e6f28b;fill-opacity:1;stroke:#000000;stroke-width:1px;" d="M 0,0 L ◂width▸,0 L ◂11+width▸,22 L ◂width▸,44 L 0,44 L 0,0 z "/> ⋮«}»… ⋮«if(type.equals("Constellation")){»… <path style="fill:#000000;fill-opacity:0.49803922;fill-rule:evenodd;stroke:none;stroke-width:1px;" d="M 14,2 L ◂8+width▸,2 C ◂15+width▸,2 ◂20+width▸,8 ◂20+width▸,15 L ◂20+width▸,34 C ◂20+width▸,41 ◂15+width▸,47 ◂8+width▸,47 L 14,47 C 7,47 2,41 2,34 L 2,15 C 2,8 7,2 14,2 z "/> <path style="fill:#d8cae2;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;" d="M 12,0 L ◂6+width▸,0 C ◂13+width▸,0 ◂18+width▸,6 ◂18+width▸,13 L ◂18+width▸,32 C ◂18+width▸,39 ◂13+width▸,45 ◂6+width▸,45 L 12,45 C 5,45 0,39 0,32 L 0,13 C 0,6 5,0 12,0 z "/> ⋮«}»… <text y="26" x="◂1+(width/2)▸" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal; text-align:center;text-anchor:middle;fill:#000000;font-family:Sans">◂name▸</text> </g> </a> ⋮«}/∀»… ⋮«∀(a:‖"Ⓧ/Diagram/Generalization"){»… ⋮« int fromx = Integer.parseInt(((XMLNode)(‖"Ⓧ/@FromX")).toString()); int fromy = Integer.parseInt(((XMLNode)(‖"Ⓧ/@FromY")).toString()); int tox = Integer.parseInt(((XMLNode)(‖"Ⓧ/@ToX")).toString()); int toy = Integer.parseInt(((XMLNode)(‖"Ⓧ/@ToY")).toString()); Integer[] fb = (Integer[]) items_by_pos.get(""+fromx+"-"+fromy+""); Integer[] tb = (Integer[]) items_by_pos.get(""+tox+"-"+toy+""); int fx = ((fb[2]+fb[0])/2); int fy = fb[3]; »… <a xlink:href="◂‖"Ⓧ/@Link"▸" target="_top"> <g> <path style="fill:none;stroke-opacity:1;stroke:#000000;stroke-width:1px" d="M ◂fx▸,◂fy▸ L ◂fx-10▸,◂fy+10▸ L ◂fx+10▸,◂fy+10▸ L ◂fx▸,◂fy▸ z "/> </g> </a> ⋮«}/∀»… </svg>