Changeset 19058 in osm for applications/editors/josm
- Timestamp:
- 2009-12-12T18:18:59+01:00 (15 years ago)
- Location:
- applications/editors/josm/plugins/measurement
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/measurement/build.xml
r18962 r19058 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 3 ** This is the build file for the measurement plugin 4 ** 5 ** Maintaining versions 6 ** ==================== 7 ** see README.template 8 ** 9 ** Usage 10 ** ===== 11 ** To build it run 12 ** 13 ** > ant dist 14 ** 15 ** To install the generated plugin locally (in your default plugin directory) run 16 ** 17 ** > ant install 18 ** 19 ** To build against the core in ../../core, create a correct manifest and deploy to 20 ** SVN, 21 ** set the properties commit.message and plugin.main.version 22 ** and run 23 ** > ant publish 24 ** 25 ** 26 --> 1 27 <project name="measurement" default="dist" basedir="."> 2 <property name="josm" location="../../core/dist/josm-custom.jar"/> 3 <property name="plugin.dist.dir" value="../../dist"/> 4 <property name="plugin.build.dir" value="build"/> 5 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/> 6 <property name="ant.build.javac.target" value="1.5"/> 7 <target name="init"> 8 <mkdir dir="${plugin.build.dir}"/> 9 </target> 10 <target name="compile" depends="init"> 11 <echo message="creating ${plugin.jar}"/> 12 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}"> 13 <compilerarg value="-Xlint:deprecation"/> 14 <compilerarg value="-Xlint:unchecked"/> 15 </javac> 16 </target> 17 <target name="dist" depends="compile,revision"> 18 <copy todir="${plugin.build.dir}/images"> 19 <fileset dir="images"/> 20 </copy> 21 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}"> 22 <manifest> 23 <attribute name="Author" value="Raphael Mack, Reza Mohammadi"/> 24 <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.measurement.MeasurementPlugin"/> 25 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/> 26 <attribute name="Plugin-Description" value="Provide a measurement dialog and a layer to measure length and angle of segments, area surrounded by a (simple) closed way and create measurement paths (which also can be imported from a gps layer)."/> 27 <attribute name="Plugin-Mainversion" value="2578"/> 28 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/> 29 </manifest> 30 </jar> 31 </target> 32 <target name="revision"> 33 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false"> 34 <env key="LANG" value="C"/> 35 <arg value="info"/> 36 <arg value="--xml"/> 37 <arg value="."/> 38 </exec> 39 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/> 40 <delete file="REVISION"/> 41 </target> 42 <target name="clean"> 43 <delete dir="${plugin.build.dir}"/> 44 <delete file="${plugin.jar}"/> 45 </target> 46 <target name="install" depends="dist"> 47 <property environment="env"/> 48 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins"> 49 <and> 50 <os family="windows"/> 51 </and> 52 </condition> 53 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/> 54 </target> 28 29 <property name="commit.message" value="Updated to JOSM 2621; updated build.xml" /> 30 <property name="plugin.main.version" value="2621" /> 31 32 33 <property name="josm" location="../../core/dist/josm-custom.jar"/> 34 <property name="plugin.dist.dir" value="../../dist"/> 35 <property name="plugin.build.dir" value="build"/> 36 <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/> 37 <property name="ant.build.javac.target" value="1.5"/> 38 <target name="init"> 39 <mkdir dir="${plugin.build.dir}"/> 40 </target> 41 <target name="compile" depends="init"> 42 <echo message="creating ${plugin.jar}"/> 43 <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}"> 44 <compilerarg value="-Xlint:deprecation"/> 45 <compilerarg value="-Xlint:unchecked"/> 46 </javac> 47 </target> 48 <target name="dist" depends="compile,revision"> 49 <copy todir="${plugin.build.dir}/images"> 50 <fileset dir="images"/> 51 </copy> 52 <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}"> 53 <manifest> 54 <attribute name="Author" value="Raphael Mack, Reza Mohammadi"/> 55 <attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.measurement.MeasurementPlugin"/> 56 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/> 57 <attribute name="Plugin-Description" value="Provide a measurement dialog and a layer to measure length and angle of segments, area surrounded by a (simple) closed way and create measurement paths (which also can be imported from a gps layer)."/> 58 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/> 59 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/> 60 </manifest> 61 </jar> 62 </target> 63 <target name="revision"> 64 <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false"> 65 <env key="LANG" value="C"/> 66 <arg value="info"/> 67 <arg value="--xml"/> 68 <arg value="."/> 69 </exec> 70 <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/> 71 <delete file="REVISION"/> 72 </target> 73 <target name="clean"> 74 <delete dir="${plugin.build.dir}"/> 75 <delete file="${plugin.jar}"/> 76 </target> 77 <target name="install" depends="dist"> 78 <property environment="env"/> 79 <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins"> 80 <and> 81 <os family="windows"/> 82 </and> 83 </condition> 84 <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/> 85 </target> 86 87 <!-- 88 ************************** Publishing the plugin *********************************** 89 --> 90 <!-- 91 ** extracts the JOSM release for the JOSM version in ../core and saves it in the 92 ** property ${coreversion.info.entry.revision} 93 ** 94 --> 95 <target name="core-info"> 96 <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false"> 97 <env key="LANG" value="C"/> 98 <arg value="info"/> 99 <arg value="--xml"/> 100 <arg value="../../core"/> 101 </exec> 102 <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/> 103 <echo>Building against core revision ${coreversion.info.entry.revision}.</echo> 104 <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo> 105 <delete file="core.info.xml" /> 106 </target> 107 108 <!-- 109 ** commits the source tree for this plugin 110 --> 111 <target name="commit-current"> 112 <echo>Commiting the plugin source with message '${commit.message}' ...</echo> 113 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false"> 114 <env key="LANG" value="C"/> 115 <arg value="commit"/> 116 <arg value="-m '${commit.message}'"/> 117 <arg value="."/> 118 </exec> 119 </target> 120 121 <!-- 122 ** updates (svn up) the source tree for this plugin 123 --> 124 <target name="update-current"> 125 <echo>Updating plugin source ...</echo> 126 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false"> 127 <env key="LANG" value="C"/> 128 <arg value="up"/> 129 <arg value="."/> 130 </exec> 131 <echo>Updating ${plugin.jar} ...</echo> 132 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false"> 133 <env key="LANG" value="C"/> 134 <arg value="up"/> 135 <arg value="../dist/${plugin.jar}"/> 136 </exec> 137 </target> 138 139 <!-- 140 ** commits the plugin.jar 141 --> 142 <target name="commit-dist"> 143 <echo> 144 ***** Properties of published ${plugin.jar} ***** 145 Commit message : '${commit.message}' 146 Plugin-Mainversion: ${plugin.main.version} 147 JOSM build version: ${coreversion.info.entry.revision} 148 Plugin-Version : ${version.entry.commit.revision} 149 ***** / Properties of published ${plugin.jar} ***** 150 151 Now commiting ${plugin.jar} ... 152 </echo> 153 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false"> 154 <env key="LANG" value="C"/> 155 <arg value="-m '${commit.message}'"/> 156 <arg value="commit"/> 157 <arg value="${plugin.jar}"/> 158 </exec> 159 </target> 160 161 <!-- ** make sure svn is present as a command line tool ** --> 162 <target name="ensure-svn-present"> 163 <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false" failonerror="false" resultproperty="svn.exit.code"> 164 <env key="LANG" value="C" /> 165 <arg value="--version" /> 166 </exec> 167 <fail message="Fatal: command 'svn --version' failed. Please make sure svn is installed on your system."> 168 <!-- return code not set at all? Most likely svn isn't installed --> 169 <condition> 170 <not> 171 <isset property="svn.exit.code" /> 172 </not> 173 </condition> 174 </fail> 175 <fail message="Fatal: command 'svn --version' failed. Please make sure a working copy of svn is installed on your system."> 176 <!-- error code from SVN? Most likely svn is not what we are looking on this system --> 177 <condition> 178 <isfailure code="${svn.exit.code}" /> 179 </condition> 180 </fail> 181 </target> 182 183 <target name="publish" depends="ensure-svn-present,core-info,commit-current,update-current,clean,dist,commit-dist"> 184 </target> 55 185 </project> -
applications/editors/josm/plugins/measurement/src/org/openstreetmap/josm/plugins/measurement/MeasurementPlugin.java
r15953 r19058 6 6 import org.openstreetmap.josm.gui.IconToggleButton; 7 7 import org.openstreetmap.josm.gui.MapFrame; 8 import org.openstreetmap.josm.gui.MapView; 9 import org.openstreetmap.josm.gui.MapView.LayerChangeListener; 8 10 import org.openstreetmap.josm.gui.layer.Layer; 9 import org.openstreetmap.josm.gui.layer.Layer.LayerChangeListener;10 11 import org.openstreetmap.josm.plugins.Plugin; 11 12 … … 36 37 currentLayer = new MeasurementLayer(tr("Measurements")); 37 38 Main.main.addLayer(currentLayer); 38 Layer.listeners.add(new LayerChangeListener(){39 MapView.addLayerChangeListener(new LayerChangeListener(){ 39 40 public void activeLayerChange(final Layer oldLayer, final Layer newLayer) { 40 41 if(newLayer instanceof MeasurementLayer) … … 44 45 } 45 46 public void layerRemoved(final Layer oldLayer) { 47 if (oldLayer != null && oldLayer == currentLayer) 48 MapView.removeLayerChangeListener(this); 46 49 } 47 50 });
Note:
See TracChangeset
for help on using the changeset viewer.