Revision 89 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/extensions/InternalPolygonExtension.java
InternalPolygonExtension.java | ||
---|---|---|
11 | 11 |
import org.gvsig.fmap.dal.exception.ReadException; |
12 | 12 |
import org.gvsig.fmap.geom.type.GeometryType; |
13 | 13 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
14 |
import org.gvsig.tools.service.ServiceException; |
|
15 | 14 |
import org.gvsig.vectorediting.app.mainplugin.BaseEditingServiceExtension; |
16 | 15 |
import org.gvsig.vectorediting.lib.api.EditingServiceInfo; |
16 |
import org.gvsig.vectorediting.lib.api.exceptions.ServiceInformationException; |
|
17 | 17 |
import org.gvsig.vectorediting.lib.prov.internalpolygon.InternalPolygonEditingProviderFactory; |
18 | 18 |
import org.gvsig.vectorediting.lib.prov.symmetry.SymmetryEditingProviderFactory; |
19 |
import org.gvsig.vectorediting.swing.api.EditingContext; |
|
20 |
import org.gvsig.vectorediting.swing.impl.DefaultEditingBehavior; |
|
21 |
import org.slf4j.Logger; |
|
22 |
import org.slf4j.LoggerFactory; |
|
19 | 23 |
|
20 |
|
|
21 | 24 |
public class InternalPolygonExtension extends BaseEditingServiceExtension { |
22 | 25 |
|
26 |
private static final Logger logger = LoggerFactory |
|
27 |
.getLogger(DefaultEditingBehavior.class); |
|
28 |
|
|
23 | 29 |
public void initialize() { |
24 | 30 |
registerIcons(); |
25 | 31 |
} |
26 | 32 |
|
27 | 33 |
public void execute(String actionCommand) { |
28 |
DefaultViewPanel view = getActiveView(); |
|
29 |
swingManager.activateService(InternalPolygonEditingProviderFactory.PROVIDER_NAME, view.getMapControl()); |
|
34 |
if ("layer-modify-internal-polygon".equals(actionCommand)) { |
|
35 |
DefaultViewPanel view = getActiveView(); |
|
36 |
EditingContext editingContext = swingManager.getEditingContext(view |
|
37 |
.getMapControl()); |
|
38 |
editingContext |
|
39 |
.activateService(InternalPolygonEditingProviderFactory.PROVIDER_NAME); |
|
40 |
} |
|
30 | 41 |
} |
31 | 42 |
|
32 | 43 |
private void registerIcons() { |
33 |
IconThemeHelper.registerIcon("action", "layer-modify-internal-polygon", this); |
|
34 |
|
|
44 |
IconThemeHelper.registerIcon("action", "layer-modify-internal-polygon", |
|
45 |
this); |
|
46 |
|
|
35 | 47 |
} |
36 | 48 |
|
37 | 49 |
public boolean isEnabled() { |
38 | 50 |
EditingServiceInfo SymmetryInfo; |
51 |
FLyrVect layer = null; |
|
39 | 52 |
try { |
40 |
SymmetryInfo = manager.getServiceInfo(SymmetryEditingProviderFactory.PROVIDER_NAME); |
|
53 |
SymmetryInfo = manager |
|
54 |
.getServiceInfo(SymmetryEditingProviderFactory.PROVIDER_NAME); |
|
41 | 55 |
DefaultViewPanel view = getActiveView(); |
42 |
FLyrVect layer = getActiveLayer(view);
|
|
56 |
layer = getActiveLayer(view); |
|
43 | 57 |
|
44 | 58 |
int[] supportedTypes = SymmetryInfo.getSupportedPrimitiveGeometryTypes(); |
45 | 59 |
GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes); |
... | ... | |
51 | 65 |
return false; |
52 | 66 |
|
53 | 67 |
} |
54 |
catch (ServiceException e1) {
|
|
55 |
// TODO Auto-generated catch block
|
|
56 |
e1.printStackTrace();
|
|
68 |
catch (ServiceInformationException e) {
|
|
69 |
logger.error("Cant' get service information of "
|
|
70 |
+ InternalPolygonEditingProviderFactory.PROVIDER_NAME, e);
|
|
57 | 71 |
} |
58 | 72 |
catch (ReadException e) { |
59 |
// TODO Auto-generated catch block |
|
60 |
e.printStackTrace(); |
|
73 |
logger.error("Can't get shape type of " + layer.getName(), e); |
|
61 | 74 |
} |
62 | 75 |
return false; |
63 | 76 |
} |
Also available in: Unified diff