Revision 44616 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.geometrymeasurement.app/org.gvsig.geometrymeasurement.app.mainplugin/src/main/java/org/gvsig/geometrymeasurement/app/extension/PerimeterMeasurementExtension.java
PerimeterMeasurementExtension.java | ||
---|---|---|
24 | 24 |
package org.gvsig.geometrymeasurement.app.extension; |
25 | 25 |
|
26 | 26 |
import org.gvsig.andami.IconThemeHelper; |
27 |
import org.gvsig.andami.PluginServices; |
|
28 | 27 |
import org.gvsig.app.project.documents.table.TableDocument; |
28 |
import org.gvsig.fmap.dal.DataStoreProviderFactory; |
|
29 | 29 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
30 |
import org.gvsig.fmap.dal.feature.FeatureStoreProviderFactory; |
|
30 | 31 |
import org.gvsig.fmap.geom.Geometry; |
31 | 32 |
import org.gvsig.geometrymeasurement.app.extension.utils.Operations; |
32 | 33 |
|
33 | 34 |
/** |
34 | 35 |
* Andami extension to show PerimeterMeasurementExtension in the application. |
35 |
*
|
|
36 |
* |
|
36 | 37 |
* @author gvSIG Team |
37 | 38 |
* @version $Id$ |
38 | 39 |
*/ |
39 | 40 |
public class PerimeterMeasurementExtension extends |
40 |
AbstractGeometryMeasurementExtension { |
|
41 |
AbstractGeometryMeasurementExtension {
|
|
41 | 42 |
|
43 |
@Override |
|
42 | 44 |
public void initialize() { |
43 |
super.initialize();
|
|
45 |
super.initialize();
|
|
44 | 46 |
IconThemeHelper.registerIcon("action", "table-add-perimeter", this); |
45 | 47 |
} |
46 | 48 |
|
47 | 49 |
@Override |
48 | 50 |
protected void execute(String actionCommand, FeatureStore featureStore) |
49 |
throws Exception { |
|
51 |
throws Exception {
|
|
50 | 52 |
new Operations().addDoubleFieldFromOperation(featureStore, "PERIMETER", |
51 |
"perimeter"); |
|
53 |
"perimeter");
|
|
52 | 54 |
} |
53 | 55 |
|
54 | 56 |
@Override |
55 | 57 |
protected boolean isVisibleForTable(TableDocument tableDocument) { |
56 |
return !isStoreOfAnyType(tableDocument, new int[] { Geometry.TYPES.POINT, |
|
58 |
DataStoreProviderFactory factory = tableDocument.getFeatureStore().getProviderFactory(); |
|
59 |
if (factory instanceof FeatureStoreProviderFactory) { |
|
60 |
FeatureStoreProviderFactory ffactory = (FeatureStoreProviderFactory) factory; |
|
61 |
if (ffactory.allowEditableFeatureType() == FeatureStoreProviderFactory.NO) { |
|
62 |
return false; |
|
63 |
} |
|
64 |
} |
|
65 |
return !isStoreOfAnyType(tableDocument, new int[]{Geometry.TYPES.POINT, |
|
57 | 66 |
Geometry.TYPES.MULTIPOINT}); |
58 | 67 |
} |
59 | 68 |
|
Also available in: Unified diff