Changeset 25312 in osm for applications


Ignore:
Timestamp:
2011-02-15T09:42:40+01:00 (14 years ago)
Author:
beata.jancso
Message:

plugin version nb added to HelpPanel, and nickname is getting from JOSM user if exist

Location:
applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust/MapdustPlugin.java

    r25127 r25312  
    3939import org.openstreetmap.josm.Main;
    4040import org.openstreetmap.josm.data.Bounds;
     41import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent;
     42import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
     43import org.openstreetmap.josm.gui.JosmUserIdentityManager;
    4144import org.openstreetmap.josm.gui.MapFrame;
    4245import org.openstreetmap.josm.gui.MapView;
     
    6871 */
    6972public class MapdustPlugin extends Plugin implements LayerChangeListener,
    70         ZoomChangeListener, MouseListener, MapdustRefreshObserver,
    71         MapdustBugObserver, MapdustInitialUpdateObserver {
    72 
     73        ZoomChangeListener, PreferenceChangedListener, MouseListener,
     74        MapdustRefreshObserver, MapdustBugObserver,
     75        MapdustInitialUpdateObserver {
     76   
    7377    /** The graphical user interface of the plug-in */
    7478    private MapdustGUI mapdustGUI;
    75 
     79   
    7680    /** The layer of the MapDust plug-in */
    7781    private MapdustLayer mapdustLayer;
    78 
     82   
    7983    /** The list of <code>MapdustBug</code> objects */
    8084    private List<MapdustBug> mapdustBugList;
    81 
     85   
    8286    /** The <code>CreateIssueDialog</code> object */
    8387    private CreateIssueDialog dialog;
    84 
     88   
    8589    /** Specifies if there was or not an error downloading the data */
    8690    private boolean wasError = false;
    87 
     91   
     92    /** The JOSM user identity manager, it is used for obtaining the username */
     93    private final JosmUserIdentityManager userIdentityManager;
     94   
    8895    /**
    8996     * Builds a new <code>MapDustPlugin</code> object based on the given
    9097     * arguments.
    91      *
     98     * 
    9299     * @param info The <code>MapDustPlugin</code> object
    93100     */
    94101    public MapdustPlugin(PluginInformation info) {
    95102        super(info);
     103        /* create instance for JOSM user identity manager */
     104        userIdentityManager = JosmUserIdentityManager.getInstance();
     105        /* initialize the plugin */
    96106        initializePlugin();
    97107    }
    98 
     108   
    99109    /**
    100110     * Initialize the <code>MapdustPlugin</code> object. Creates the
     
    105115    private void initializePlugin() {
    106116        /* create MapDust GUI */
    107         Shortcut shortcut = Shortcut.registerShortcut("mapdust",
    108                 tr("Toggle: {0}", tr("Open MapDust")), KeyEvent.VK_0,
    109                 Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT);
     117        Shortcut shortcut = Shortcut.registerShortcut("mapdust", tr("Toggle: {0}",
     118                tr("Open MapDust")), KeyEvent.VK_0, Shortcut.GROUP_MENU,
     119                Shortcut.SHIFT_DEFAULT);
    110120        String name = "MapDust bug reports";
    111121        String tooltip = "Activates the MapDust bug reporter plugin";
     
    113123                shortcut, 150, this);
    114124        /* add default values for static variables */
    115         Main.pref.put("mapdust.pluginState", MapdustPluginState.ONLINE.getValue());
    116         Main.pref.put("mapdust.nickname", null);
     125        Main.pref.put("mapdust.pluginState",
     126                MapdustPluginState.ONLINE.getValue());
     127        Main.pref.put("mapdust.nickname", "");
    117128        Main.pref.put("mapdust.showError", true);
    118     }
    119 
     129        Main.pref.put("mapdust.version", getPluginInformation().version);
     130        Main.pref.put("mapdust.localVersion",
     131                getPluginInformation().localversion);
     132    }
     133   
    120134    /**
    121135     * Initializes the new <code>MapFrame</code>. Adds the
    122136     * <code>MapdustGUI</code> to the new <code>MapFrame</code> and sets the
    123137     * observers/listeners.
    124      *
     138     * 
    125139     * @param oldMapFrame The old <code>MapFrame</code> object
    126140     * @param newMapFrame The new <code>MapFrame</code> object
     
    147161                /* add MouseListener */
    148162                Main.map.mapView.addMouseListener(this);
    149             }
    150         }
    151     }
    152 
     163                Main.pref.addPreferenceChangeListener(this);
     164                /* put username to preferences */
     165                Main.pref.put("mapdust.josmUserName",
     166                        userIdentityManager.getUserName());
     167            }
     168        }
     169    }
     170   
    153171    /**
    154172     * Refreshes the MapDust data. Downloads the data from the given area and
     
    162180        }
    163181    }
    164 
     182   
    165183    /**
    166184     * Downloads the MapDust bugs from the current map view, and updates the
     
    174192        }
    175193    }
    176 
     194   
    177195    /**
    178196     * Updates the given <code>MapdustBug</code> object from the map and from
    179197     * the MapDust bugs list.
    180      *
     198     * 
    181199     * @param mapdustBug The <code>MapdustBug</code> object
    182200     */
     
    207225        }
    208226    }
    209 
     227   
    210228    /**
    211229     * If the zoom was changed, download the bugs from the current map view.
     
    218236        }
    219237    }
    220 
     238   
    221239    /**
    222240     * No need to implement this.
     
    224242    @Override
    225243    public void activeLayerChange(Layer arg0, Layer arg1) {}
    226 
     244   
    227245    /**
    228246     * Adds the <code>MapdustLayer</code> to the JOSM editor. If the list of
     
    242260        }
    243261    }
    244 
     262   
    245263    /**
    246264     * Removes the <code>MapdustLayer</code> from the JOSM editor. Also closes
     
    265283        }
    266284    }
    267 
     285   
    268286    /**
    269287     * No need to implement this.
     
    271289    @Override
    272290    public void mouseEntered(MouseEvent event) {}
    273 
     291   
    274292    /**
    275293     * No need to implement this.
     
    277295    @Override
    278296    public void mouseExited(MouseEvent arg0) {}
    279 
     297   
    280298    /**
    281299     * No need to implement this.
     
    283301    @Override
    284302    public void mousePressed(MouseEvent event) {}
    285 
     303   
    286304    /**
    287305     * No need to implement this.
     
    289307    @Override
    290308    public void mouseReleased(MouseEvent arg0) {}
    291 
     309   
    292310    /**
    293311     * At mouse click the following two actions can be done: adding a new bug,
     
    336354        }
    337355    }
    338 
    339 
     356   
     357    /**
     358     * Listens for the events of type <code>PreferenceChangeEvent</code> . If
     359     * the event key is 'osm-server.username' then if the username was changed
     360     * in Preferences and it was used as 'nickname'( the user did not changed
     361     * this completed nickname to someting else ) for submitting changes to
     362     * MapDust , re-set the 'mapdust.josmUserName' and 'mapdust.nickname'
     363     * properties.
     364     *
     365     * @param event The <code>PreferenceChangeEvent</code> obejct
     366     */
     367    @Override
     368    public void preferenceChanged(PreferenceChangeEvent event) {
     369        if (this.mapdustGUI.isShowing() && !wasError && mapdustLayer != null
     370                && mapdustLayer.isVisible()) {
     371            if (event.getKey().equals("osm-server.username")) {
     372                String newUserName = userIdentityManager.getUserName();
     373                String oldUserName = Main.pref.get("mapdust.josmUserName");
     374                String nickname = Main.pref.get("mapdust.nickname");
     375                if (nickname.isEmpty()) {
     376                    /* nickname was not completed */
     377                    Main.pref.put("mapdust.josmUserName", newUserName);
     378                    Main.pref.put("mapdust.nickname", newUserName);
     379                } else {
     380                    if (nickname.equals(oldUserName)) {
     381                        /* username was used for nickname, and was not changed */
     382                        Main.pref.put("mapdust.josmUserName", newUserName);
     383                        Main.pref.put("mapdust.nickname", newUserName);
     384                    } else {
     385                        /* username was used for nickname, and was changed */
     386                        Main.pref.put("mapdust.josmUserName", newUserName);
     387                    }
     388                }
     389            }
     390        }
     391    }
     392   
    340393    /**
    341394     * Updates the <code>MapdustPlugin</code> data. Downloads the
     
    351404        });
    352405    }
    353 
     406   
    354407    /**
    355408     * Returns the bounds of the current <code>MapView</code>.
    356      *
     409     * 
    357410     * @return bounds
    358411     */
    359412    private Bounds getBounds() {
    360413        MapView mapView = Main.map.mapView;
    361         Bounds bounds = new Bounds(mapView.getLatLon(0, mapView.getHeight()), 
     414        Bounds bounds = new Bounds(mapView.getLatLon(0, mapView.getHeight()),
    362415                mapView.getLatLon(mapView.getWidth(), 0));
    363416        return bounds;
    364417    }
    365 
     418   
    366419    /**
    367420     * Updates the MapDust plugin data. Downloads the list of
     
    375428                Bounds bounds = getBounds();
    376429                MapdustServiceHandler handler = new MapdustServiceHandler();
    377                 mapdustBugList = handler.getBugs(bounds.getMin().lon(),
    378                         bounds.getMin().lat(), bounds.getMax().lon(),
     430                mapdustBugList = handler.getBugs(bounds.getMin().lon(), 
     431                        bounds.getMin().lat(), bounds.getMax().lon(), 
    379432                        bounds.getMax().lat());
    380433                wasError = false;
     
    391444        }
    392445    }
    393 
     446   
    394447    /**
    395448     * Updates the current view ( map and MapDust bug list), with the given list
     
    421474        Main.map.repaint();
    422475    }
    423 
     476   
    424477    /**
    425478     * Updates the MapDust bugs list with the given <code>MapdustBug</code>
    426479     * object.
    427      *
     480     * 
    428481     * @param mapdustBug The <code>MapdustBug</code> object
    429482     */
     
    444497        }
    445498    }
    446 
     499   
    447500    /**
    448501     * Returns the nearest <code>MapdustBug</code> object to the given point on
    449502     * the map.
    450      *
     503     * 
    451504     * @param p A <code>Point</code> object
    452505     * @return A <code>MapdustBug</code> object
     
    468521        return nearestBug;
    469522    }
    470 
     523   
    471524    /**
    472525     * Verifies if the <code>OsmDataLayer</code> layer has been added to the
    473526     * list of layers.
    474      *
     527     * 
    475528     * @return true if the <code>OsmDataLayer</code> layer has been added false
    476529     * otherwise
     
    486539        return contains;
    487540    }
    488 
     541   
    489542    /**
    490543     * Handles the <code>MapdustServiceHandlerException</code> error.
    491      *
     544     * 
    492545     */
    493546    private void handleError() {
     
    502555        }
    503556    }
    504 
     557   
    505558    /**
    506559     * Returns the <code>MapdustGUI</code> object
    507      *
     560     * 
    508561     * @return the mapdustGUI
    509562     */
     
    511564        return mapdustGUI;
    512565    }
    513 
     566   
    514567    /**
    515568     * Sets the <code>MapdustGUI</code> object.
    516      *
     569     * 
    517570     * @param mapdustGUI the mapdustGUI to set
    518571     */
     
    520573        this.mapdustGUI = mapdustGUI;
    521574    }
    522 
     575   
    523576    /**
    524577     * Returns the <code>MapdustLayer</code> object.
    525      *
     578     * 
    526579     * @return the mapdustLayer
    527580     */
     
    529582        return mapdustLayer;
    530583    }
    531 
     584   
    532585    /**
    533586     * Sets the <code>MapdustLayer</code> object.
    534      *
     587     * 
    535588     * @param mapdustLayer the mapdustLayer to set
    536589     */
     
    538591        this.mapdustLayer = mapdustLayer;
    539592    }
    540 
     593   
    541594    /**
    542595     * Returns the list of <code>MapdustBug</code> objects
    543      *
     596     * 
    544597     * @return the mapdustBugList
    545598     */
     
    547600        return mapdustBugList;
    548601    }
    549 
     602   
    550603    /**
    551604     * Sets the list of <code>MapdustBug</code> objects
    552      *
     605     * 
    553606     * @param mapdustBugList the mapdustBugList to set
    554607     */
     
    556609        this.mapdustBugList = mapdustBugList;
    557610    }
    558 
     611   
    559612}
  • applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust/gui/component/dialog/ChangeIssueStatusDialog.java

    r25127 r25312  
    5858 * related actions: close bug report, invalidate bug report and re-open bug
    5959 * report.
    60  *
     60 * 
    6161 * @author Bea
    6262 */
    6363public class ChangeIssueStatusDialog extends AbstractDialog {
    64 
     64   
    6565    /** The serial version UID */
    6666    private static final long serialVersionUID = 1L;
    67 
     67   
    6868    /** The message test */
    6969    private final String messageText;
    70 
     70   
    7171    /** Custom text */
    7272    private JScrollPane cmpMessage;
    73 
     73   
    7474    /** Nickname label */
    7575    private JLabel lblNickname;
    76 
     76   
    7777    /** Nickname text field */
    7878    private JTextField txtNickname;
    79 
     79   
    8080    /** Comment label */
    8181    private JLabel lblComment;
    82 
     82   
    8383    /** Description text area */
    8484    private JScrollPane cmpDescription;
    85 
     85   
    8686    /** The description text */
    8787    private JTextArea txtDescription;
    88 
     88   
    8989    /** Cancel button */
    9090    private JButton btnCancel;
    91 
     91   
    9292    /** OK button */
    9393    private JButton btnOk;
    94 
     94   
    9595    /** The type */
    9696    private final String type;
    97 
     97   
    9898    /**
    9999     * Builds a new <code>ChangeStatusDialog</code> object with the given
    100100     * parameters.
    101      *
     101     * 
    102102     * @param title The title of the dialog
    103103     * @param iconName The name of the icon
     
    129129        addWindowListener(new WindowClose(this, btnPanel, getFiredButton()));
    130130    }
    131 
     131   
    132132    /**
    133133     * Adds the components to the panel.
    134      *
     134     * 
    135135     * @param mapdustPlugin The <code>MapdustPlugin</code> object
    136136     */
     
    142142        /* create the message cmp */
    143143        if (cmpMessage == null) {
    144             JTextPane txtPane = ComponentUtil.createJTextPane(messageText,
     144            JTextPane txtPane = ComponentUtil.createJTextPane(messageText, 
    145145                    backgroundColor);
    146146            Rectangle bounds = new Rectangle(10, 10, 330, 50);
     
    153153            lblNickname = ComponentUtil.createJLabel("Nickname", font, bounds);
    154154        }
    155         String nickname = Main.pref.get("mapdust.nickname");
    156155        if (txtNickname == null) {
    157156            Rectangle bounds = new Rectangle(100, 70, 230, 25);
    158157            txtNickname = ComponentUtil.createJTextField(bounds);
     158            /* get the nickname */
     159            String nickname = Main.pref.get("mapdust.nickname");
     160            if (nickname.isEmpty()) {
     161                /* if nickname is empty, then get JOSM username */
     162                nickname = Main.pref.get("mapdust.josmUserName");
     163            }
    159164            if (nickname != null && !nickname.isEmpty()) {
    160165                txtNickname.setText(nickname);
     
    171176            txtDescription.setLineWrap(true);
    172177            txtDescription.setFont(new Font("Times New Roman", Font.PLAIN, 12));
    173             cmpDescription = ComponentUtil.createJScrollPane(txtDescription,
     178            cmpDescription = ComponentUtil.createJScrollPane(txtDescription, 
    174179                    bounds, backgroundColor, false, true);
    175180        }
    176181        /* creates the cancel action */
    177         ExecuteCancel cancelAction = new ExecuteCancel(this, mapdustPlugin.getMapdustGUI());
     182        ExecuteCancel cancelAction = new ExecuteCancel(this,
     183                mapdustPlugin.getMapdustGUI());
    178184        AbstractAction okAction;
    179185        if (type.equals("close")) {
     
    181187            okAction = new ExecuteCloseBug(this, mapdustPlugin.getMapdustGUI());
    182188            ((ExecuteCloseBug) okAction).addObserver(mapdustPlugin);
    183             ((ExecuteCloseBug) okAction).addObserver(mapdustPlugin
    184                     .getMapdustGUI());
     189            ((ExecuteCloseBug) okAction).addObserver(mapdustPlugin.getMapdustGUI());
    185190        } else {
    186191            if (type.equals("invalidate")) {
     
    194199                okAction = new ExecuteReOpenBug(this, mapdustPlugin.getMapdustGUI());
    195200                ((ExecuteReOpenBug) okAction).addObserver(mapdustPlugin);
    196                 ((ExecuteReOpenBug) okAction).addObserver(mapdustPlugin
    197                         .getMapdustGUI());
     201                ((ExecuteReOpenBug) okAction).addObserver(mapdustPlugin.getMapdustGUI());
    198202            }
    199203        }
     
    218222        setSize(340, 210);
    219223    }
    220 
     224   
    221225    /**
    222226     * Returns the <code>JScrollPane</code> of the info message.
    223      *
     227     * 
    224228     * @return the cmpMessage
    225229     */
     
    227231        return this.cmpMessage;
    228232    }
    229 
     233   
    230234    /**
    231235     * Returns the <code>JLabel</code> of the nickname
    232      *
     236     * 
    233237     * @return the lblNickname
    234238     */
     
    236240        return this.lblNickname;
    237241    }
    238 
     242   
    239243    /**
    240244     * Returns the <code>JTextField</code> of the nickname
    241      *
     245     * 
    242246     * @return the txtNickname
    243247     */
     
    245249        return this.txtNickname;
    246250    }
    247 
     251   
    248252    /**
    249253     * Returns the <code>JLabel</code> of the comment
    250      *
     254     * 
    251255     * @return the lblComment
    252256     */
     
    254258        return this.lblComment;
    255259    }
    256 
     260   
    257261    /**
    258262     * Returns the <code>JScrollPane</code> of the description
    259      *
     263     * 
    260264     * @return the cmpDescription
    261265     */
     
    263267        return this.cmpDescription;
    264268    }
    265 
     269   
    266270    /**
    267271     * Returns the <code>JTextArea</code> of the description
    268      *
     272     * 
    269273     * @return the txtDescription
    270274     */
     
    272276        return this.txtDescription;
    273277    }
    274 
     278   
    275279    /**
    276280     * Returns the cancel button
    277      *
     281     * 
    278282     * @return the btnCancel
    279283     */
     
    281285        return this.btnCancel;
    282286    }
    283 
     287   
    284288    /**
    285289     * Returns the ok buttons
    286      *
     290     * 
    287291     * @return the btnOk
    288292     */
     
    290294        return this.btnOk;
    291295    }
    292 
     296   
    293297    /**
    294298     * Retruns the message text
    295      *
     299     * 
    296300     * @return the messageText
    297301     */
     
    299303        return this.messageText;
    300304    }
    301 
     305   
    302306    /**
    303307     * Returns the type
    304      *
     308     * 
    305309     * @return the type
    306310     */
     
    308312        return this.type;
    309313    }
    310 
     314   
    311315}
  • applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust/gui/component/dialog/CommentIssueDialog.java

    r25127 r25312  
    143143            lblNickname = ComponentUtil.createJLabel("Nickname", font, bounds);
    144144        }
    145         String nickname = Main.pref.get("mapdust.nickname");
    146145        if (txtNickname == null) {
    147146            Rectangle bounds = new Rectangle(100, 70, 230, 25);
    148147            txtNickname = ComponentUtil.createJTextField(bounds);
     148            /* get the nickname */
     149            String nickname = Main.pref.get("mapdust.nickname");
     150            if (nickname.isEmpty()) {
     151                /* if nickname is empty, get JOSM username */
     152                nickname = Main.pref.get("mapdust.josmUserName");
     153            }
    149154            if (nickname != null && !nickname.isEmpty()) {
    150155                txtNickname.setText(nickname);
     
    169174            ExecuteCancel cancelAction = new ExecuteCancel(this,
    170175                    mapdustPlugin.getMapdustGUI());
    171             btnCancel = ComponentUtil.createJButton("Cancel", bounds,
    172                     cancelAction);
     176            btnCancel = ComponentUtil.createJButton("Cancel", bounds, cancelAction);
    173177        }
    174178        /* creates the ok button */
    175179        if (btnOk == null) {
    176180            Rectangle bounds = new Rectangle(170, 170, 60, 25);
    177             ExecuteCommentBug okAction =
    178                     new ExecuteCommentBug(this, mapdustPlugin.getMapdustGUI());
     181            ExecuteCommentBug okAction = new ExecuteCommentBug(this,
     182                    mapdustPlugin.getMapdustGUI());
    179183            okAction.addObserver(mapdustPlugin);
    180184            okAction.addObserver(mapdustPlugin.getMapdustGUI());
     
    272276        return messageText;
    273277    }
    274    
     278
    275279}
  • applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust/gui/component/dialog/CreateIssueDialog.java

    r25127 r25312  
    112112     */
    113113    public CreateIssueDialog(Point point, MapdustPlugin mapdustPlugin) {
    114         this.createIssueText= "In order to create a new bug report you";
     114        this.createIssueText = "In order to create a new bug report you";
    115115        this.createIssueText += " need to provide your nickname and a brief";
    116         this.createIssueText+= " description for the bug.";
     116        this.createIssueText += " description for the bug.";
    117117        this.point = point;
    118118        /* set JDialog settings */
     
    121121        addComponents(mapdustPlugin);
    122122        /* add window listenet */
    123         MapdustButtonPanel btnPanel = mapdustPlugin.getMapdustGUI().getPanel().getBtnPanel();
     123        MapdustButtonPanel btnPanel =
     124                mapdustPlugin.getMapdustGUI().getPanel().getBtnPanel();
    124125        addWindowListener(new WindowClose(this, btnPanel, null));
    125126    }
     
    128129     * Initializes the dialog default fields.
    129130     */
    130     private void initializeDialog(){
     131    private void initializeDialog() {
    131132        /* set JDialog settings */
    132133        setTitle("Create bug report");
     
    145146     * Displays the dialog.
    146147     */
    147     public void showDialog(){
    148        setLocationRelativeTo(null);
    149        getContentPane().setPreferredSize(getSize());
    150        pack();
    151        setVisible(true);
     148    public void showDialog() {
     149        setLocationRelativeTo(null);
     150        getContentPane().setPreferredSize(getSize());
     151        pack();
     152        setVisible(true);
    152153    }
    153154
     
    161162                    backgroundColor);
    162163            cmpMessage = ComponentUtil.createJScrollPane(txtPane,
    163                     new Rectangle(10, 10, 330, 50), backgroundColor, true, true);
     164                    new Rectangle(10,10, 330, 50), backgroundColor, true, true);
    164165        }
    165166        /* the type label and combo box */
     
    170171        if (cbbType == null) {
    171172            ComboBoxRenderer renderer = new ComboBoxRenderer();
    172             cbbType = ComponentUtil.createJComboBox(new Rectangle(110, 70, 230, 25),
    173                     renderer, backgroundColor);
     173            cbbType = ComponentUtil.createJComboBox(new Rectangle(110, 70, 230,
     174                    25), renderer, backgroundColor);
    174175        }
    175176        /* create the nickname label and text field */
     
    179180        }
    180181        if (txtNickname == null) {
    181             txtNickname = ComponentUtil.createJTextField(new Rectangle(110, 110, 230, 25));
    182             /* nickname was set before */
     182            txtNickname = ComponentUtil.createJTextField(new Rectangle(110, 110,
     183                    230,25));
     184            /* get the nickname */
    183185            String nickname = Main.pref.get("mapdust.nickname");
     186            if (nickname.isEmpty()) {
     187                /* if nickname is empty, get the JOSM username */
     188                nickname = Main.pref.get("mapdust.josmUserName");
     189            }
    184190            if (nickname != null && !nickname.isEmpty()) {
    185191                txtNickname.setText(nickname);
     
    196202            txtDescription.setLineWrap(true);
    197203            cmpDescription = ComponentUtil.createJScrollPane(txtDescription,
    198                     new Rectangle(110, 150, 230, 50), backgroundColor, false, true);
     204                    new Rectangle(110, 150, 230, 50), backgroundColor, false,
     205                    true);
    199206        }
    200207        /* creates the cancel button */
  • applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust/gui/component/panel/MapdustHelpPanel.java

    r25142 r25312  
    4343import org.openstreetmap.josm.Main;
    4444import org.openstreetmap.josm.plugins.mapdust.gui.component.util.ComponentUtil;
     45import org.openstreetmap.josm.plugins.mapdust.util.Configuration;
    4546import org.openstreetmap.josm.tools.OpenBrowser;
    46 import org.openstreetmap.josm.plugins.mapdust.util.Configuration;
    4747
    4848
    4949/**
    5050 * Defines the JPanel which displays the Help.
    51  * 
     51 *
    5252 * @author Bea
    5353 */
    5454public class MapdustHelpPanel extends JPanel implements HyperlinkListener {
    55    
     55
    5656    /** The serial version UID */
    5757    private static final long serialVersionUID = 1L;
    58    
     58
    5959    /**
    6060     * Builds a <code>MapdustDescriptionPanel</code> object
     
    6464        String name = "Help";
    6565        setName(name);
    66         String txt = "<html>";
    67         txt += "<font style='font-size:10px' face='Times New Roman'>";
    68         txt += "<b>To add bugs on the map you need to activate ";
    69         txt += "the MapDust layer in the Layer List Dialog. ";
    70         txt += "Click <a href='' target='_blank'>here</a> for more help.";
    71         txt += "</b></font></html>";
     66        String txt = buildText();
    7267        JEditorPane txtHelp = new JEditorPane("text/html", "");
    7368        txtHelp.setEditorKit(new HTMLEditorKit());
     
    7570        txtHelp.setText(txt);
    7671        txtHelp.addHyperlinkListener(this);
    77         JScrollPane cmpDescription =
    78                 ComponentUtil.createJScrollPane(txtHelp, null, Color.white,
    79                         true, true);
     72        JScrollPane cmpDescription = ComponentUtil.createJScrollPane(txtHelp,
     73                null, Color.white, true, true);
    8074        cmpDescription.setPreferredSize(new Dimension(100, 100));
    8175        add(cmpDescription, BorderLayout.CENTER);
    8276    }
    83    
     77
    8478    @Override
    8579    public void hyperlinkUpdate(HyperlinkEvent event) {
     
    9589        }
    9690    }
    97    
     91
     92    /**
     93     * Builds the text of the Help panel. This text contains general information
     94     * related to the MapDust plugin.
     95     *
     96     * @return
     97     */
     98    private String buildText() {
     99        String version = Main.pref.get("mapdust.version");
     100        String localVersion = Main.pref.get("mapdust.localVersion");
     101        String txt = "<html>";
     102        txt += "<font style='font-size:10px' face='Times New Roman'>";
     103        txt += "<b>You are using MapDust version ";
     104        txt += "<i style='color:red;font-size:10px'>";
     105        if (version.equals(localVersion)) {
     106            txt += version + "</i>.</b><br>";
     107        } else {
     108            txt += localVersion + "</i>. There is an update available. ";
     109            txt += "Please update to version ";
     110            txt += "<i style='color:red;font-size:10px'>" + version;
     111            txt += "</i> to benefit from the latest improvements.</b><br>";
     112        }
     113        txt += "<b>To add bugs on the map you need to activate ";
     114        txt += "the MapDust layer in the Layer List Dialog.";
     115        txt += "Click <a href='' target='_blank'>here</a> for more help.";
     116        txt += "</b></font></html>";
     117        return txt;
     118    }
     119
    98120}
Note: See TracChangeset for help on using the changeset viewer.