Search:
Login
Preferences
Help/Guide
About Trac
Register
Forgot your password?
Wiki
Timeline
Changelog
Browse Source
View Tickets
New Ticket
Roadmap
Builds
Sonar
Search
Context Navigation
+0
Start Page
Index
History
Editing Help/Preferences/ImportExport
Adjust edit area height:
8
12
16
20
24
28
32
36
40
Edit side-by-side
[[TranslatedPages]] = Custom configuration XML files for JOSM = This is a new feature with is still under development. * Development discussion: #4421 == Samples (See comments in XML) == * Categorized examples [attachment:scripts.zip:ticket:4421 scripts.zip] * Installing presets and styles: [attachment:seamap.xml:ticket:4421 seamap.xml], [attachment:seamap_ForOfflineInstallation.zip:ticket:4421 seamap_ForOfflineInstallation.zip] * Imagery layer, plugin and options tuning (only Russian localization for now): [attachment:forestMapping.xml:ticket:4421 forestMapping.xml] === Preferences addition or replacement commands === Following code adds one more imagery to the list: {{{#!xml <config> <preferences operation="append"> <!-- Any preferences.xml fragment can be used here --> <tag key="download.autorun" value="true"/> <!-- example of simple preference modification - download.autorun := true --> <maps key="imagery.entries"> <map> <tag key="name" value="ScanEx IRS"/> <tag key="type" value="scanex"/> <tag key="url" value="IRS"/> <tag key="attribution-text" value="IRS"/> <tag key="attribution-url" value="http://irs.gis-lab.info/"/> </map> </maps> </preferences> </config> }}} If '''<preferences operation="replace">''' will be used instead, all other <map> elements will be __deleted__ from '''imagery.entries''' ! Another example: {{{#!xml <config> <preferences operation="replace"> <!-- old content of draw.anglesnap.angles will be deleted --> <list key="draw.anglesnap.angles"> <entry value="30"/> <entry value="45"/> <entry value="60"/> </list> </preferences> </config> }}} === File oprations - downloading, deleting, unzipping === {{{#!xml <config> <delete path="plugins/tmp"/> <!-- delete recursively plugins/tmp from preferences directory --> <!-- base = "prefs" - delete from preferences folder base = "plugins" - delete from plugins folder base = "cache" - delete from cache folder --> <delete path="splug" base="plugins"/> <!-- delete recursively splug folder from preferences directory --> <!--<delete path="." base="cache"/> delete cache folder --> <download url="http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar" path="plugins/tmp/bt.jar" mkdir="true" unzip="true"/> <!-- download file from url and place as "path" if mkdir="true", then all necessary directories will be created if unzip="true", then zip/jar file will be exanded and then deleted --> <download url="http://wiki.openstreetmap.org/w/images/7/79/Public-images-osm_logo.svg" path="1/logo.svg" mkdir="true" base="cache"/> <download url="file://localhost/e:/a.zip" path="qqq/a.zip" unzip="true" mkdir="true"/> <!-- copy from local folder and unzip --> </config> }}} === Plugin operations: install, disable, delete === {{{#!xml <config> <!-- install plugins and remove them without deleting plastic_laf.jar --> <plugin install="buildings_tools;wayselector" remove="plastic_laf"/> <plugin delete="proj4j"/> <!-- disable plugin and delete jar --> </config> }}} === Variables, messageboxes and asking user === {{{#!xml <config> <ask var="r" text="Choose something, please!" options="0;1;2"/> <messagebox text="You choose ${r}" type="i"/> <if test="${r==0}"> <messagebox text="r=0!"/> </if> <else> <messagebox text="no, r!=0 - r=${r} actually!"/> </else> <if test="${r==1 || r==2}"> <messagebox text="r=1 or 2!"/> </if> <if test="${r!=2 && r!=0}"> <messagebox text="It is not 0, it is not 2 , so it is = 1!"/> </if> <if test="${r!=2}"> <break/> </if> <ask var="r" text="Choose something, please!" options="A;B"/> <messagebox text="You choose button number ${r}" type="i"/> </config> }}} === JavaScript API === {{{#!xml <config> <script><![CDATA[ API.messageBox('i','Hello!'); txt = API.askText("Enter something..."); i = API.askOption("Select background color","red;green;black"); if (i==0) API.pref['color.background']="#770000"; if (i==1) API.pref['color.background']="#007700"; if (i==2) API.pref['color.background']="#000000"; color = API.pref['color.background']; API.messageBox('i',"<html><span color='"+color+"'> You entered "+txt+"</span></html>"); if ( API.askOption("Do you want to test downloading and plugins?","") == 0 ) { // "" in askOption means Yes/No dialog API.downloadFile("http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar", "1/2/a.jar","cache"); API.downloadAndUnpackFile("http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar", "1/2a/a.jar","cache"); if( API.askOption("Do you want to delete downloaded files?","") == 0) { API.deleteFile("1","cache"); } API.pluginInstall("AlignWays"); if( API.askOption("Do you want to uninstall utilsplugin2","") == 0) { API.pluginUninstall("utilsplugin2"); } } importPackage(org.openstreetmap.josm.data); CustomConfigurator.exportPreferencesKeysByPatternToFile ("e:/config.xml", true, ".*"); //println(JSON.stringify(API.prefs)); // JSON works only on JDK1.7 //println(JSON.stringify(API.fragments)); // JSON works only on JDK1.7 ]]> </script> </config> }}}
Note:
See
WikiFormatting
and
TracWiki
for help on editing wiki content.
Change information
Your email or username:
E-mail address and name can be saved in the
Preferences
Comment about this change (optional):
Note:
See
TracWiki
for help on using the wiki.