001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.actions.search; 003 004import java.util.Collection; 005import java.util.Collections; 006 007import org.openstreetmap.josm.data.Bounds; 008import org.openstreetmap.josm.data.osm.OsmPrimitive; 009import org.openstreetmap.josm.data.osm.search.SearchCompiler.InArea; 010import org.openstreetmap.josm.gui.MainApplication; 011 012/** 013 * Matches objects within current map view. 014 * @since 12662 (extracted from {@code SearchCompiler}) 015 */ 016class InView extends InArea { 017 018 InView(boolean all) { 019 super(all); 020 } 021 022 @Override 023 protected Collection<Bounds> getBounds(OsmPrimitive primitive) { 024 if (!MainApplication.isDisplayingMapView()) { 025 return null; 026 } 027 return Collections.singleton(MainApplication.getMap().mapView.getRealBounds()); 028 } 029 030 @Override 031 public String toString() { 032 return all ? "allinview" : "inview"; 033 } 034}