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/AreaMeasurementExtension.java
AreaMeasurementExtension.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
import org.gvsig.andami.IconThemeHelper; |
27 | 27 |
import org.gvsig.app.project.documents.table.TableDocument; |
28 |
import org.gvsig.fmap.dal.DataStoreProviderFactory; |
|
28 | 29 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
30 |
import org.gvsig.fmap.dal.feature.FeatureStoreProviderFactory; |
|
29 | 31 |
import org.gvsig.fmap.geom.Geometry; |
30 | 32 |
import org.gvsig.geometrymeasurement.app.extension.utils.Operations; |
31 | 33 |
|
32 | 34 |
/** |
33 | 35 |
* Andami extension to show AreaMeasurementExtension in the application. |
34 |
*
|
|
36 |
* |
|
35 | 37 |
* @author gvSIG Team |
36 | 38 |
* @version $Id$ |
37 | 39 |
*/ |
38 | 40 |
public class AreaMeasurementExtension extends |
39 |
AbstractGeometryMeasurementExtension { |
|
41 |
AbstractGeometryMeasurementExtension {
|
|
40 | 42 |
|
43 |
@Override |
|
41 | 44 |
public void initialize() { |
42 |
super.initialize(); |
|
45 |
super.initialize();
|
|
43 | 46 |
IconThemeHelper.registerIcon("action", "table-add-area", this); |
44 | 47 |
} |
45 | 48 |
|
46 | 49 |
@Override |
47 | 50 |
protected void execute(String actionCommand, FeatureStore featureStore) |
48 |
throws Exception { |
|
51 |
throws Exception {
|
|
49 | 52 |
new Operations().addDoubleFieldFromOperation(featureStore, "AREA", |
50 |
"area"); |
|
53 |
"area");
|
|
51 | 54 |
} |
52 | 55 |
|
53 | 56 |
@Override |
54 | 57 |
protected boolean isVisibleForTable(TableDocument tableDocument) { |
55 |
return isStoreOfAnyType(tableDocument, new int[] { Geometry.TYPES.SURFACE, |
|
56 |
Geometry.TYPES.MULTISURFACE }); |
|
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.SURFACE, |
|
66 |
Geometry.TYPES.MULTISURFACE}); |
|
57 | 67 |
} |
58 | 68 |
} |
Also available in: Unified diff