Ticket #8229: 8229.patch

File 8229.patch, 11.2 KB (added by Don-vip, 12 years ago)
  • build.xml

     
    11<?xml version="1.0" encoding="utf-8"?>
    2 <!--
    3 ** This is a template build file for the cadastre-fr 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 -->
    272<project name="cadastre-fr" default="dist" basedir=".">
    28     <property name="josm" location="../../core/dist/josm-custom.jar"/>
    29     <property name="plugin.dist.dir" value="../../dist"/>
    30     <property name="plugin.build.dir" value="build"/>
    31     <property name="plugin.jar" value="${plugin.dist.dir}/${ant.project.name}.jar"/>
    32     <property name="ant.build.javac.target" value="1.5"/>
    333    <property name="commit.message" value="Changed constructor for Plugin"/>
    34     <property name="plugin.main.version" value="5553"/>
    35     <target name="init">
    36         <mkdir dir="${plugin.build.dir}"/>
    37     </target>
    38     <target name="compile" depends="init">
    39         <echo message="creating ${plugin.jar}"/>
    40         <javac srcdir="src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}">
    41             <compilerarg value="-Xlint:deprecation"/>
    42             <compilerarg value="-Xlint:unchecked"/>
    43         </javac>
    44     </target>
    45     <target name="dist" depends="compile,revision">
    46         <copy todir="${plugin.build.dir}/images">
    47             <fileset dir="images"/>
    48         </copy>
    49         <copy todir="${plugin.build.dir}/data">
    50             <fileset dir="data"/>
    51         </copy>
    52         <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
    53             <manifest>
    54                 <attribute name="Author" value="Pieren"/>
    55                 <attribute name="Plugin-Class" value="cadastre_fr.CadastrePlugin"/>
    56                 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
    57                 <attribute name="Plugin-Description" value="A special handler for the French land registry WMS server."/>
    58                 <attribute name="Plugin-Icon" value="images/preferences/cadastrewms.gif"/>
    59                 <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/FR:JOSM/Fr:Plugin/Cadastre"/>
    60                 <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
    61                 <attribute name="Plugin-Stage" value="60"/>
    62                 <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
    63             </manifest>
    64         </jar>
    65     </target>
    66     <target name="revision">
    67         <exec append="false" output="REVISION" executable="svn" failifexecutionfails="false">
    68             <env key="LANG" value="C"/>
    69             <arg value="info"/>
    70             <arg value="--xml"/>
    71             <arg value="."/>
    72         </exec>
    73         <xmlproperty file="REVISION" prefix="version" keepRoot="false" collapseAttributes="true"/>
    74         <delete file="REVISION"/>
    75     </target>
    76     <target name="clean">
    77         <delete dir="${plugin.build.dir}"/>
    78         <delete file="${plugin.jar}"/>
    79     </target>
    80     <target name="install" depends="dist">
    81         <property environment="env"/>
    82         <condition property="josm.plugins.dir" value="${env.APPDATA}/JOSM/plugins" else="${user.home}/.josm/plugins">
    83             <and>
    84                 <os family="windows"/>
    85             </and>
    86         </condition>
    87         <copy file="${plugin.jar}" todir="${josm.plugins.dir}"/>
    88     </target>
    89     <!--
    90          ************************** Publishing the plugin ***********************************
    91         -->
    92     <!--
    93               ** extracts the JOSM release for the JOSM version in ../core and saves it in the
    94               ** property ${coreversion.info.entry.revision}
    95               **
    96             -->
    97     <target name="core-info">
    98         <exec append="false" output="core.info.xml" executable="svn" failifexecutionfails="false">
    99             <env key="LANG" value="C"/>
    100             <arg value="info"/>
    101             <arg value="--xml"/>
    102             <arg value="../../core"/>
    103         </exec>
    104         <xmlproperty file="core.info.xml" prefix="coreversion" keepRoot="true" collapseAttributes="true"/>
    105         <echo>Building against core revision ${coreversion.info.entry.revision}.</echo>
    106         <echo>Plugin-Mainversion is set to ${plugin.main.version}.</echo>
    107         <delete file="core.info.xml"/>
    108     </target>
    109     <!--
    110              ** commits the source tree for this plugin
    111             -->
    112     <target name="commit-current">
    113         <echo>Commiting the plugin source with message '${commit.message}' ...</echo>
    114         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    115             <env key="LANG" value="C"/>
    116             <arg value="commit"/>
    117             <arg value="-m '${commit.message}'"/>
    118             <arg value="."/>
    119         </exec>
    120     </target>
    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              ** commits the plugin.jar
    140              -->
    141     <target name="commit-dist">
    142         <echo>
    143     ***** Properties of published ${plugin.jar} *****
    144     Commit message    : '${commit.message}'
    145     Plugin-Mainversion: ${plugin.main.version}
    146     JOSM build version: ${coreversion.info.entry.revision}
    147     Plugin-Version    : ${version.entry.commit.revision}
    148     ***** / Properties of published ${plugin.jar} *****
     4    <property name="plugin.main.version" value="5604"/>
    1495
    150     Now commiting ${plugin.jar} ...
    151     </echo>
    152         <exec append="true" output="svn.log" executable="svn" failifexecutionfails="false">
    153             <env key="LANG" value="C"/>
    154             <arg value="-m '${commit.message}'"/>
    155             <arg value="commit"/>
    156             <arg value="${plugin.jar}"/>
    157         </exec>
    158     </target>
    159     <target name="publish" depends="core-info,commit-current,update-current,clean,dist,commit-dist">
    160             </target>
     6    <property name="plugin.author" value="Pieren"/>
     7    <property name="plugin.class" value="cadastre_fr.CadastrePlugin"/>
     8    <property name="plugin.description" value="A special handler for the French land registry WMS server."/>
     9    <property name="plugin.icon" value="images/preferences/cadastrewms.gif"/>
     10    <property name="plugin.link" value="http://wiki.openstreetmap.org/wiki/FR:JOSM/Fr:Plugin/Cadastre"/>
     11    <property name="plugin.stage" value="60"/>
     12
     13    <!-- ** include targets that all plugins have in common ** -->
     14    <import file="../build-common.xml"/>
    16115</project>
  • src/cadastre_fr/CadastrePlugin.java

     
    2525import org.openstreetmap.josm.actions.UploadAction;
    2626import org.openstreetmap.josm.data.projection.AbstractProjection;
    2727import org.openstreetmap.josm.data.projection.Projection;
     28import org.openstreetmap.josm.gui.IconToggleButton;
    2829import org.openstreetmap.josm.gui.MainMenu;
    2930import org.openstreetmap.josm.gui.MapFrame;
    30 import org.openstreetmap.josm.gui.IconToggleButton;
    3131import org.openstreetmap.josm.gui.layer.Layer;
     32import org.openstreetmap.josm.gui.preferences.PreferenceDialog;
    3233import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
     34import org.openstreetmap.josm.gui.preferences.map.MapPreference;
    3335import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
    3436import org.openstreetmap.josm.plugins.Plugin;
    3537import org.openstreetmap.josm.plugins.PluginInformation;
     
    477479        }
    478480        return src;
    479481    }
    480 
     482   
     483    public static void askToChangeProjection() {
     484        if (JOptionPane.showConfirmDialog(Main.parent,
     485                tr("To enable the cadastre WMS plugin, change\n"
     486                 + "the current projection to one of the cadastre\n"
     487                 + "projections and retry"),
     488                 tr("Change the current projection"), JOptionPane.OK_CANCEL_OPTION)
     489            == JOptionPane.OK_OPTION) {
     490            PreferenceDialog p = new PreferenceDialog(Main.parent);
     491            p.selectPreferencesTabByClass(MapPreference.class);
     492            p.getTabbedPane().getSetting(ProjectionPreference.class).selectProjection(ProjectionPreference.lambert_cc9);
     493            p.setVisible(true);
     494        }
     495    }
    481496}
  • src/cadastre_fr/MenuActionGrab.java

     
    11// License: GPL. v2 and later. Copyright 2008-2009 by Pieren <pieren3@gmail.com> and others
    22package cadastre_fr;
    33
    4 import static org.openstreetmap.josm.tools.I18n.tr;
    54import static org.openstreetmap.josm.tools.I18n.marktr;
     5import static org.openstreetmap.josm.tools.I18n.tr;
    66
    77import java.awt.event.ActionEvent;
    88import java.awt.event.KeyEvent;
    99
    10 import javax.swing.JOptionPane;
    11 
    1210import org.openstreetmap.josm.Main;
    1311import org.openstreetmap.josm.actions.JosmAction;
    1412import org.openstreetmap.josm.tools.Shortcut;
     
    3533                if (wmsLayer != null)
    3634                    DownloadWMSVectorImage.download(wmsLayer);
    3735            } else {
    38                 JOptionPane.showMessageDialog(Main.parent,
    39                         tr("To enable the cadastre WMS plugin, change\n"
    40                          + "the current projection to one of the cadastre\n"
    41                          + "projections and retry"));
     36                CadastrePlugin.askToChangeProjection();
    4237            }
    4338        } else
    4439            new MenuActionNewLocation().actionPerformed(e);
  • src/cadastre_fr/MenuActionGrabPlanImage.java

     
    9393                // download sub-images of the cadastre scan and join them into one single
    9494                Main.worker.execute(this);
    9595            } else {
    96                 JOptionPane.showMessageDialog(Main.parent,
    97                         tr("To enable the cadastre WMS plugin, change\n"
    98                          + "the current projection to one of the cadastre\n"
    99                          + "projections and retry"));
     96                CadastrePlugin.askToChangeProjection();
    10097            }
    10198        }
    10299    }