I am attempting to implement the full International Orienteering Federation mapping standards (ISOM:2000 and ISSOM:2007) within Inkscape.
So far, I've created a GIMP palette containing the standard colours required, using this across the bottom of my Inkscape window. I've also written an extension to generate the required point symbols and produced many of the required fill patterns, incorporating them into patterns.svg.
I'm not happy with modifying patterns.svg as this is one of the standard files provided with Inkscape. I've seen the way that the X-moto extensions use dialog boxes for changing .jpg and .png block textures and would like to do something similar for my svg patterns, but this is a medium-term objective.
The remaining symbol type that I'm looking to implement is the lines. Different line styles from simple continuous lines of a given width and colour to complex dashed lines with superimposed symbols at regular intervals are required. Given the examples available in the current Pattern along Path and Scatter extensions, the creation of the superimposed symbols isn't seen as a problem.
The problem that I'm having is in what should be a simple task - that of changing the style attributes of an existing line. I can create new dash styles by editing the preferences.xml file in my personal user area but, for many reasons, do not see this as as a realistic option and not one that could be distributed to other users. I've been trying to write a simple Python extension that will take a selected line or number of lines and replace the style of the original with a different set of style attributes without changing its path. I've looked through the currently distributed Python extensions for clues as to how to do this, but have not been successful. I've even started looking at the 1000+ page Python 2.6.4 online manual (is this the version of Python implemented in Inkscape?) but this hasn't really helped, although I've picked up some pointers for better Python coding. I'm assuming that there is a subroutine in one of the 'helper' files - inkex.py, pathmodifier.py, ... etc. that would help with this but haven't determined which one it could be. I would be grateful if someone could point me in the right direction.
Jon