| | 1 | [[TranslatedPages(revision=10)]] |
| | 2 | = Fichiers XML de configuration personnalisés pour JOSM = |
| | 3 | == Exemples (Voir les commentaires dans les XML) == |
| | 4 | * Exemples classés par catégorie [attachment:scripts.zip:ticket:4421 scripts.zip] |
| | 5 | * Installation des préréglages et des modèles : [attachment:seamap.xml:ticket:4421 seamap.xml], |
| | 6 | [attachment:seamap_ForOfflineInstallation.zip:ticket:4421 seamap_ForOfflineInstallation.zip] |
| | 7 | * Calque d'images, greffon et réglage des options ( Pour le moment, seule la localisation russe est disponible) : [attachment:forestMapping.xml:ticket:4421 forestMapping.xml] |
| | 8 | |
| | 9 | === Commandes d'ajout ou de remplacement des préférences === |
| | 10 | |
| | 11 | Le code suivant ajoute une image de plus à la liste : |
| | 12 | {{{#!xml |
| | 13 | <config> |
| | 14 | <preferences operation="append"> |
| | 15 | <!-- Tout fragment de preferences.xml peut être utilisé ici --> |
| | 16 | <tag key="download.autorun" value="true"/> <!-- exemple de modification simple des préférences - download.autorun := true --> |
| | 17 | <maps key="imagery.entries"> |
| | 18 | <map> |
| | 19 | <tag key="name" value="ScanEx IRS"/> |
| | 20 | <tag key="type" value="scanex"/> |
| | 21 | <tag key="url" value="IRS"/> |
| | 22 | <tag key="attribution-text" value="IRS"/> |
| | 23 | <tag key="attribution-url" value="http://irs.gis-lab.info/"/> |
| | 24 | </map> |
| | 25 | </maps> |
| | 26 | </preferences> |
| | 27 | </config> |
| | 28 | }}} |
| | 29 | |
| | 30 | Si '''<preferences operation="replace">''' sont utilisées à la place, tous les autres éléments de la carte seront __supprimés__ de '''imagery.entries''' ! |
| | 31 | |
| | 32 | Voici un autre exemple : |
| | 33 | {{{#!xml |
| | 34 | <config> |
| | 35 | <preferences operation="replace"> <!-- l'ancien contenu de draw.anglesnap.angles sera supprimé --> |
| | 36 | <list key="draw.anglesnap.angles"> |
| | 37 | <entry value="30"/> |
| | 38 | <entry value="45"/> |
| | 39 | <entry value="60"/> |
| | 40 | </list> |
| | 41 | </preferences> |
| | 42 | </config> |
| | 43 | }}} |
| | 44 | |
| | 45 | === Opérations sur les fichiers - téléchargement, suppression, décompression === |
| | 46 | {{{#!xml |
| | 47 | <config> |
| | 48 | <delete path="plugins/tmp"/> |
| | 49 | <!-- suppression récursive du répertoire des préférences plugins/tmp --> |
| | 50 | <!-- base = "prefs" - suppression dans le dossier des préférences base = "plugins" - suppression dans le dossier des greffons base = "cache" - suppression dans le dossier de cache --> |
| | 51 | |
| | 52 | <delete path="splug" base="plugins"/> |
| | 53 | <!-- suppression récursive du dossier splug du répertoire des préférences --> |
| | 54 | |
| | 55 | <!-- suppression de path="." base="cache"/> suppression du dossier de cache --> |
| | 56 | |
| | 57 | <download url="http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar" path="plugins/tmp/bt.jar" mkdir="true" unzip="true"/> |
| | 58 | <!-- télécharge le fichier à partir de l'url et le place comme "path" si mkdir="true", puis création de tous les répertoires nécessaires si unzip="true", puis décompression du fichier zip/jar puis supprimession. --> |
| | 59 | |
| | 60 | <download url="https://wiki.openstreetmap.org/w/images/7/79/Public-images-osm_logo.svg" path="1/logo.svg" mkdir="true" base="cache"/> |
| | 61 | |
| | 62 | <download url="file://localhost/e:/a.zip" path="qqq/a.zip" unzip="true" mkdir="true"/> |
| | 63 | <!-- copie depuis le dossier local et décompression --> |
| | 64 | </config> |
| | 65 | }}} |
| | 66 | |
| | 67 | === Opérations sur les greffons : installation, désactivation, suppression === |
| | 68 | {{{#!xml |
| | 69 | <config> |
| | 70 | <!-- installation de greffons et suppression de ceux-ci sans suppression du fichier plastic_laf.jar --> |
| | 71 | <plugin install="buildings_tools;wayselector" remove="plastic_laf"/> |
| | 72 | <plugin delete="proj4j"/> <!-- désactivation du greffon et suppression du jar --> |
| | 73 | </config> |
| | 74 | }}} |
| | 75 | |
| | 76 | === Variables, boîtes à messages et questions à l'utilisateur === |
| | 77 | {{{#!xml |
| | 78 | <config> |
| | 79 | <ask var="r" text="Choose something, please!" options="0;1;2"/> |
| | 80 | <messagebox text="You choose ${r}" type="i"/> |
| | 81 | <if test="${r==0}"> |
| | 82 | <messagebox text="r=0!"/> |
| | 83 | </if> |
| | 84 | <else> |
| | 85 | <messagebox text="no, r!=0 - r=${r} actually!"/> |
| | 86 | </else> |
| | 87 | <if test="${r==1 || r==2}"> |
| | 88 | <messagebox text="r=1 or 2!"/> |
| | 89 | </if> |
| | 90 | <if test="${r!=2 && r!=0}"> |
| | 91 | <messagebox text="It is not 0, it is not 2 , so it is = 1!"/> |
| | 92 | </if> |
| | 93 | <if test="${r!=2}"> |
| | 94 | <break/> |
| | 95 | </if> |
| | 96 | <ask var="r" text="Choose something, please!" options="A;B"/> |
| | 97 | <messagebox text="You choose button number ${r}" type="i"/> |
| | 98 | </config> |
| | 99 | }}} |
| | 100 | |
| | 101 | === API JavaScript === |
| | 102 | {{{#!xml |
| | 103 | <config> |
| | 104 | <script><![CDATA[ |
| | 105 | API.messageBox('i','Hello!'); |
| | 106 | txt = API.askText("Enter something..."); |
| | 107 | i = API.askOption("Select background color","red;green;black"); |
| | 108 | if (i==0) API.pref['color.background']="#770000"; |
| | 109 | if (i==1) API.pref['color.background']="#007700"; |
| | 110 | if (i==2) API.pref['color.background']="#000000"; |
| | 111 | color = API.pref['color.background']; |
| | 112 | API.messageBox('i',"<html><span color='"+color+"'> You entered "+txt+"</span></html>"); |
| | 113 | if ( API.askOption("Do you want to test downloading and plugins?","") == 0 ) { |
| | 114 | // "" in askOption means Yes/No dialog |
| | 115 | API.downloadFile("http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar", |
| | 116 | "1/2/a.jar","cache"); |
| | 117 | API.downloadAndUnpackFile("http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar", |
| | 118 | "1/2a/a.jar","cache"); |
| | 119 | if( API.askOption("Do you want to delete downloaded files?","") == 0) { |
| | 120 | API.deleteFile("1","cache"); |
| | 121 | } |
| | 122 | API.pluginInstall("AlignWays"); |
| | 123 | if( API.askOption("Do you want to uninstall utilsplugin2","") == 0) { |
| | 124 | API.pluginUninstall("utilsplugin2"); |
| | 125 | } |
| | 126 | } |
| | 127 | importPackage(org.openstreetmap.josm.data); |
| | 128 | CustomConfigurator.exportPreferencesKeysByPatternToFile ("e:/config.xml", true, ".*"); |
| | 129 | //println(JSON.stringify(API.prefs)); // JSON works only on JDK1.7 //println(JSON.stringify(API.fragments)); // JSON works only on JDK1.7 ]]> |
| | 130 | </script> |
| | 131 | </config> |
| | 132 | }}} |
| | 133 | |
| | 134 | == Voir également == |
| | 135 | |
| | 136 | * Discussion sur le développement : #4421 |
| | 137 | * La version originale de cette page en [wiki:/Help/Preferences/ImportExport anglais] |