Ignore:
Timestamp:
2013-10-27T05:35:41+01:00 (6 years ago)
Author:
Don-vip
Message:

code cleanup / robustness in edit layer handling

Location:
trunk/src/org/openstreetmap/josm/gui/history
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserModel.java

    r6316 r6336  
    104104        referenceRelationMemberTableModel = new DiffTableModel();
    105105
    106         if (getEditLayer() != null) {
    107             getEditLayer().data.addDataSetListener(this);
     106        OsmDataLayer editLayer = Main.main.getEditLayer();
     107        if (editLayer != null) {
     108            editLayer.data.addDataSetListener(this);
    108109        }
    109110        MapView.addLayerChangeListener(this);
     
    120121        CheckParameterUtil.ensureParameterNotNull(history, "history");
    121122        setHistory(history);
    122     }
    123 
    124     /**
    125      * Replies the current edit layer; null, if there isn't a current edit layer
    126      * of type {@link OsmDataLayer}.
    127      *
    128      * @return the current edit layer
    129      */
    130     protected OsmDataLayer getEditLayer() {
    131         try {
    132             return Main.map.mapView.getEditLayer();
    133         } catch(NullPointerException e) {
    134             return null;
    135         }
    136123    }
    137124
     
    187174        if (history.getNumVersions() > 0) {
    188175            HistoryOsmPrimitive newLatest = null;
    189             if (getEditLayer() != null) {
    190                 OsmPrimitive p = getEditLayer().data.getPrimitiveById(history.getId(), history.getType());
     176            OsmDataLayer editLayer = Main.main.getEditLayer();
     177            if (editLayer != null) {
     178                OsmPrimitive p = editLayer.data.getPrimitiveById(history.getId(), history.getType());
    191179                if (canShowAsLatest(p)) {
    192180                    newLatest = new HistoryPrimitiveBuilder().build(p);
     
    536524        public OsmPrimitive getLatest() {
    537525            if (latest == null) return null;
    538             if (getEditLayer() == null) return null;
    539             OsmPrimitive p = getEditLayer().data.getPrimitiveById(latest.getId(), latest.getType());
     526            OsmDataLayer editLayer = Main.main.getEditLayer();
     527            if (editLayer == null) return null;
     528            OsmPrimitive p = editLayer.data.getPrimitiveById(latest.getId(), latest.getType());
    540529            return p;
    541530        }
     
    674663     */
    675664    public void unlinkAsListener() {
    676         if (getEditLayer() != null) {
    677             getEditLayer().data.removeDataSetListener(this);
     665        OsmDataLayer editLayer = Main.main.getEditLayer();
     666        if (editLayer != null) {
     667            editLayer.data.removeDataSetListener(this);
    678668        }
    679669        MapView.removeLayerChangeListener(this);
  • trunk/src/org/openstreetmap/josm/gui/history/NodeListViewer.java

    r6147 r6336  
    207207            if (!isEnabled()) return;
    208208            OsmPrimitive p = getPrimitiveToZoom();
    209             if (p!= null) {
    210                 getEditLayer().data.setSelected(p.getPrimitiveId());
    211                 AutoScaleAction.autoScale("selection");
     209            if (p != null) {
     210                OsmDataLayer editLayer = Main.main.getEditLayer();
     211                if (editLayer != null) {
     212                    editLayer.data.setSelected(p.getPrimitiveId());
     213                    AutoScaleAction.autoScale("selection");
     214                }
    212215            }
    213216        }
     
    218221        }
    219222
    220         protected OsmDataLayer getEditLayer() {
    221             try {
    222                 return Main.map.mapView.getEditLayer();
    223             } catch(NullPointerException e) {
    224                 return null;
    225             }
    226         }
    227 
    228223        protected OsmPrimitive getPrimitiveToZoom() {
    229224            if (primitiveId == null) return null;
    230             OsmPrimitive p = getEditLayer().data.getPrimitiveById(primitiveId);
     225            OsmDataLayer editLayer = Main.main.getEditLayer();
     226            if (editLayer == null) return null;
     227            OsmPrimitive p = editLayer.data.getPrimitiveById(primitiveId);
    231228            return p;
    232229        }
    233230
    234231        public void updateEnabledState() {
    235             if (getEditLayer() == null) {
     232            if (!Main.main.hasEditLayer()) {
    236233                setEnabled(false);
    237234                return;
  • trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java

    r6267 r6336  
    7373    }
    7474
    75     protected OsmDataLayer getEditLayer() {
    76         try {
    77             return Main.map.mapView.getEditLayer();
    78         } catch(NullPointerException e) {
    79             return null;
    80         }
    81     }
    82 
    8375    protected String getInfoText() {
    8476        HistoryOsmPrimitive primitive = getPrimitive();
     
    8779        String text;
    8880        if (model.isLatest(primitive)) {
     81            OsmDataLayer editLayer = Main.main.getEditLayer();
    8982            text = tr("<html>Version <strong>{0}</strong> currently edited in layer ''{1}''</html>",
    9083                    Long.toString(primitive.getVersion()),
    91                     getEditLayer() == null ? tr("unknown") : getEditLayer().getName()
     84                    editLayer == null ? tr("unknown") : editLayer.getName()
    9285                    );
    9386        } else {
Note: See TracChangeset for help on using the changeset viewer.