/**
* Displays a summary of the layer in a dialog.
*
* @author jeichar
* @since 0.6.0
*/
public class LayerSummary implements IOp {
/**
* @see net.refractions.udig.ui.operations.IOp#op(org.eclipse.swt.widgets.Display,
* java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
*/
public void op(final Display display, Object target, IProgressMonitor monitor) throws Exception {
final Layer layer=(Layer) target;
monitor.beginTask("Layer Summary", 1);
Envelope bounds=layer.getBounds(monitor, layer.getMap().getViewportModel().getCRS());
final StringBuffer buffer=new StringBuffer();
buffer.append("Name: "+layer.getName()+"\n");
buffer.append("ID: "+layer.getID()+"\n");
buffer.append("z-order: "+layer.getZorder()+"\n");
buffer.append("Data CRS: "+layer.getCRS(monitor).getName()+"\n");
buffer.append("Bounds: ("+bounds.getMinX()+","+bounds.getMinY()+")\n");
buffer.append(" ("+bounds.getMaxX()+","+bounds.getMaxY()+"\n");
buffer.append("Selection Filter: "+layer.getFilter()+"\n");
display.asyncExec(new Runnable() {
public void run() {
MessageDialog.openInformation(display.getActiveShell(), "Summary of "+
layer.getName(), buffer.toString());
}
});
monitor.internalWorked(1);
monitor.done();
}
}