Statistics
| Revision:

gvsig-vectorediting / org.gvsig.vectorediting / trunk / org.gvsig.vectorediting / org.gvsig.vectorediting.app / org.gvsig.vectorediting.app.mainplugin / src / main / java / org / gvsig / vectorediting / app / mainplugin / BaseEditingServiceExtension.java @ 91

History | View | Annotate | Download (2 KB)

1
/*
2
 * Copyright 2014 DiSiD Technologies S.L.L. All rights reserved.
3
 * 
4
 * Project  : DiSiD org.gvsig.vectorediting.app.mainplugin 
5
 * SVN Id   : $Id$
6
 */
7
package org.gvsig.vectorediting.app.mainplugin;
8

    
9
import org.gvsig.andami.PluginServices;
10
import org.gvsig.andami.plugins.Extension;
11
import org.gvsig.app.project.documents.view.ViewDocument;
12
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
13
import org.gvsig.fmap.mapcontext.layers.FLayer;
14
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
15
import org.gvsig.vectorediting.lib.api.EditingLocator;
16
import org.gvsig.vectorediting.lib.api.EditingManager;
17
import org.gvsig.vectorediting.swing.api.EditingSwingLocator;
18
import org.gvsig.vectorediting.swing.api.EditingSwingManager;
19

    
20
public abstract class BaseEditingServiceExtension extends Extension {
21

    
22
  /**
23
   * 
24
   */
25
  private static final long serialVersionUID = -6005105101114750889L;
26

    
27
  protected final EditingManager manager = EditingLocator.getManager();
28
  protected final EditingSwingManager swingManager = EditingSwingLocator.getSwingManager();
29

    
30
  protected DefaultViewPanel getActiveView() {
31
    org.gvsig.andami.ui.mdiManager.IWindow activeWindow = PluginServices
32
        .getMDIManager().getActiveWindow();
33

    
34
    if (activeWindow instanceof DefaultViewPanel) {
35
      return (DefaultViewPanel) activeWindow;
36
    }
37

    
38
    return null;
39
  }
40

    
41
  protected boolean canBeEdited(FLyrVect layer) {
42
    if (layer != null) {
43
      boolean isWritable = layer.isWritable();
44
      boolean isNotTransformed = layer.getFeatureStore().getTransforms().isEmpty();
45

    
46
      return isWritable && isNotTransformed && !layer.isEditing();
47
    }
48
    return false;
49
  }
50

    
51
  protected FLyrVect getActiveLayer(DefaultViewPanel vista) {
52
    if (vista != null) {
53
      ViewDocument viewDocument = vista.getViewDocument();
54
      FLayer[] actives = viewDocument.getMapContext().getLayers().getActives();
55

    
56
      if (actives.length == 1 && actives[0] instanceof FLyrVect) {
57
        return (FLyrVect) actives[0];
58
      }
59
    }
60
    return null;
61
  }
62

    
63
}