Inkscape: Unterschied zwischen den Versionen

Aus Vosp.freesn.de
Zur Navigation springen Zur Suche springen
F (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
F (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
=== ancXmlAttribute: xml element um tag erweitern ===
=== ancXmlAttribute: xml element um tag erweitern ===


diese extension ist Beispielhaft und minimal .... sie soll ein ausgewähltes Element einfach ein Attribut anfügen und einen übergebenen wert zuweisen
'''was macht diese Extension und wodurch zeichnet sie sich aus'''
* diese extension ist Beispielhaft und minimal  
* sie soll ein ausgewähltes Element einfach ein Attribut anfügen und einen übergebenen wert zuweisen


damit sie läuft müssen folgende beiden Dateien in
/usr/share/inkscape/extensions/
oder
.config/inkscape/extension/
kopiert werden


folgende links haben mir dabei geholfen
'''folgende links haben mir dabei geholfen'''
* [http://docs.python.org/2/library/xml.etree.elementtree.html 19.7. xml.etree.ElementTree — The ElementTree XML API]
* [http://docs.python.org/2/library/xml.etree.elementtree.html 19.7. xml.etree.ElementTree — The ElementTree XML API]
* [http://wiki.inkscape.org/wiki/index.php/PythonEffectTutorial ]
'''Installation'''
* damit sie läuft müssen folgende beiden Dateien in eines von den beiden Verzeichnissen kopiert werden
** /usr/share/inkscape/extensions/
** .config/inkscape/extension/


==== ancXmlAttribute.inx ====
==== ancXmlAttribute.inx ====

Version vom 18. November 2013, 21:12 Uhr

extensions

ancXmlAttribute: xml element um tag erweitern

was macht diese Extension und wodurch zeichnet sie sich aus

  • diese extension ist Beispielhaft und minimal
  • sie soll ein ausgewähltes Element einfach ein Attribut anfügen und einen übergebenen wert zuweisen


folgende links haben mir dabei geholfen

Installation

  • damit sie läuft müssen folgende beiden Dateien in eines von den beiden Verzeichnissen kopiert werden
    • /usr/share/inkscape/extensions/
    • .config/inkscape/extension/


ancXmlAttribute.inx

<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
	<_name>xml Attribute setzen</_name>
	<id>org.inkscape.ancXmlAttribute</id>
	
	<dependency type="executable" location="extensions">inkex.py</dependency>
	
	<param name="kindof" type="enum" _gui-text="Attribut Wert">
		<_item value="">...</_item>
		<_item value="text">Text</_item>
		<_item value="image">Bild</_item>
		<_item value="qrcode">qrcode</_item>
		<_item value="calendar">Kalender</_item>
	</param>

	<effect>
		<object-type>all</object-type>
		<effects-menu>
			<submenu _name="netz.coop"/>
		</effects-menu>
	</effect>

	<script>
		<command reldir="extensions" interpreter="python">ancXmlAttribute.py</command>
	</script>

</inkscape-extension>

ancXmlAttribute.py

#!/usr/bin/env python
import sys
sys.path.append('/usr/share/inkscape/extensions')
import inkex
from simplestyle import *

class C(inkex.Effect):
    def __init__(self):
        inkex.Effect.__init__(self)
        self.OptionParser.add_option(
			"-k", 
			"--kindof",
			action="store", 
			type="string", 
			dest="kindof", 
			default="text",
			help="spv3 Objektart:"
		)

    def effect(self):
		if self.selected:
			for id, node in self.selected.iteritems():
				node.set('ancXmlAttribute', self.options.kindof)

effect = C()
effect.affect()