use of com.revolsys.swing.map.layer.Project in project com.revolsys.open by revolsys.
the class MapPanel method zoomToBoundingBox.
public static void zoomToBoundingBox(final String baseName, final BoundingBoxProxy boundingBoxProxy) {
promptCoordinateSystem(baseName, boundingBoxProxy, geometryFactory -> {
final Project project = Project.get();
final MapPanel mapPanel = project.getMapPanel();
BoundingBox boundingBox = boundingBoxProxy.getBoundingBox();
boundingBox = boundingBox.convert(geometryFactory);
mapPanel.zoomToBoundingBox(boundingBox);
});
}
use of com.revolsys.swing.map.layer.Project in project com.revolsys.open by revolsys.
the class MapPanel method promptCoordinateSystem.
/**
* Prompt for a coordinate system if the geometry factory does not have a coordinate system.
* @author Paul Austin <paul.austin@revolsys.com>
* @param geometryFactoryProxy
* @param action
*/
public static <GFP extends GeometryFactoryProxy> void promptCoordinateSystem(final String title, final GFP geometryFactoryProxy, final Consumer<GeometryFactory> action) {
if (geometryFactoryProxy.isHasCoordinateSystem()) {
final GeometryFactory geometryFactory = geometryFactoryProxy.getGeometryFactory();
action.accept(geometryFactory);
} else {
Invoke.later(() -> {
final Project project = Project.get();
final MapPanel mapPanel = project.getMapPanel();
final int mapCoordinateSystemId = mapPanel.getCoordinateSystemId();
final CoordinateSystemField coordinateSystemField = new CoordinateSystemField("coordinateSystem");
coordinateSystemField.setSelectedItem(mapCoordinateSystemId);
final JPanel fieldPanel = new BasePanel(new JLabel("Coordinate System"), coordinateSystemField);
GroupLayouts.makeColumns(fieldPanel, 2, true);
final ValueField valueField = new ValueField(fieldPanel);
valueField.add(fieldPanel);
valueField.showDialog();
if (valueField.isSaved()) {
final GeometryFactory geometryFactory = coordinateSystemField.getGeometryFactory();
if (geometryFactory.isHasCoordinateSystem()) {
Invoke.background(title, () -> action.accept(geometryFactory));
}
}
});
}
}
use of com.revolsys.swing.map.layer.Project in project com.revolsys.open by revolsys.
the class ProjectFrame method newTabLeftTableOfContents.
protected void newTabLeftTableOfContents() {
final Project project = getProject();
this.tocTree = ProjectTreeNode.newTree(project);
this.leftTabs.addTabIcon("tree_layers", "TOC", this.tocTree, true);
}
use of com.revolsys.swing.map.layer.Project in project com.revolsys.open by revolsys.
the class ProjectFrame method exit.
public void exit() {
final Project project = getProject();
if (project != null && project.saveWithPrompt()) {
final Window[] windows = Window.getOwnerlessWindows();
for (final Window window : windows) {
SwingUtil.dispose(window);
}
System.exit(0);
}
}
use of com.revolsys.swing.map.layer.Project in project com.revolsys.open by revolsys.
the class TriangulatedIrregularNetworkLayer method zoomToLayer.
@Override
public void zoomToLayer() {
final Project project = getProject();
final GeometryFactory geometryFactory = project.getGeometryFactory();
final BoundingBox layerBoundingBox = getBoundingBox();
BoundingBox boundingBox = layerBoundingBox;
boundingBox = boundingBox.convert(geometryFactory).expandPercent(0.1).clipToCoordinateSystem();
project.setViewBoundingBox(boundingBox);
}
Aggregations