ラベルエディター

25
標準SVGコマンドだけで実現! ラベルエディター

Upload: kmiyako

Post on 28-Jul-2015

57 views

Category:

Technology


2 download

TRANSCRIPT

1. SVG! 2. 3. 4. 4LB/IFF Interchange File FormatIFF 1985 Amiga http://ja.wikipedia.org/wiki/Interchange_File_Format WAV, AVI, AIFF, PNG 5. 4LB/IFF $path:=Get 4D folder(Current resources folder)+My Label.4LB" DOCUMENT TO BLOB($path;$data) $dom:=LABEL_Parse_data (->$data) XML 6. or OPEN PRINTING FORM($formName) FORM LOAD($Table->;$formName) ? FORM GET OBJECTS($formObjects;*) FORM LOAD("Template") $count:=DOM Count XML elements($objects;"object") For ($i;1;$count) $object:=DOM Find XML element($objects;) End for NEXT RECORD($Table->) RELATE ONE($Table->) NEXT RECORD($Table->) RELATE ONE($Table->) $printed:=Print object(*;) v14 v13 EXECUTE METHOD() EXECUTE METHOD() 7. Tips SVG SVG SET ATTRIBUTE XML SVG SET ATTRIBUTE * DOM SET XML ATTRIBUTE+SVG EXPORT TO PICTURE XML 8. Tips shape-rendering auto geometricPrecision optimizeSpeed crispEdges 9. Tips DOM move back move back-most move front move front most DOM Insert XML element DOM Append XML element DOM Insert XML element DOM Insert XML element 10. Tips move-back 11 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 2 3 , 3 3 2 3 11. Tips move-back 11 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 2 3 , 3 3 2 3 12. Tips move-back 11 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 2 3 , 3 3 2 13. Tips move-back-most 3 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 3 1 , 3 1 2 3 14. Tips move-back-most 3 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 3 1 , 3 1 2 3 15. Tips move-back-most 3 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 3 1 , 3 1 2 16. Tips move-front 1 2 11 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 3 1 , 1 3 17. Tips move-front 1 2 1 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 3 1 , 1 3 18. Tips move-front 21 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Insert XML element($domParent;$dom;$level) DOM REMOVE XML ELEMENT($dom) 2 3 3 1 , 1 3 19. Tips move-front-most 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Append XML element($domParent;$dom) DOM REMOVE XML ELEMENT($dom) 2 1 2 3 3 2 , 2 2 3 20. Tips move-front-most 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Append XML element($domParent;$dom) DOM REMOVE XML ELEMENT($dom) 2 1 2 3 3 2 , 2 23 21. Tips move-front-most 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Append XML element($domParent;$dom) DOM REMOVE XML ELEMENT($dom) 2 1 3 3 2 , 2 23 22. Tips move-front-most 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Append XML element($domParent;$dom) DOM REMOVE XML ELEMENT($dom) 2 1 2 3 3 2 , 2 23 23. Tips move-front-most 1 $domParent:=DOM Get parent XML element($dom) $newDom:=DOM Append XML element($domParent;$dom) DOM REMOVE XML ELEMENT($dom) 2 1 2 3 3 2 , 2 23 id 24. Tips DOM /id DOM DOM Find XML element by ID 25. Tips DOM C_TEXT($1) $dom:=$1 $old:=Method called on error ON ERR CALL("LABEL_ON_ERROR_CALL") DOM GET XML ATTRIBUTE BY NAME($dom;"temp-id";$id) ON ERR CALL($old) If (OK=1) DOM REMOVE XML ATTRIBUTE($dom;"temp-id") DOM SET XML ATTRIBUTE($dom;"id";$id) End if ARRAY LONGINT($types;0) ARRAY TEXT($nodes;0) DOM GET XML CHILD NODES($dom;$types;$nodes) C_LONGINT($p) $p:=1 $p:=Find in array($types;XML ELEMENT;$p) While ($p#-1) //recursive call DOM_ELEMENT_RESTORE_ID ($nodes{$p}) $p:=Find in array($types;XML ELEMENT;$p+1) End while C_TEXT($1) $dom:=$1 $old:=Method called on error ON ERR CALL("LABEL_ON_ERROR_CALL") DOM GET XML ATTRIBUTE BY NAME($dom;"id";$id) ON ERR CALL($old) If (OK=1) DOM SET XML ATTRIBUTE($dom;"temp-id";$id) DOM REMOVE XML ATTRIBUTE($dom;"id") End if ARRAY LONGINT($types;0) ARRAY TEXT($nodes;0) DOM GET XML CHILD NODES($dom;$types;$nodes) C_LONGINT($p) $p:=1 $p:=Find in array($types;XML ELEMENT;$p) While ($p#-1) //recursive call DOM_ELEMENT_CLEAR_ID ($nodes{$p}) $p:=Find in array($types;XML ELEMENT;$p+1) End while remove restore