Revision 46873 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.newlayer.app/org.gvsig.newlayer.app.mainplugin/src/main/java/org/gvsig/newlayer/app/extension/NewLayerExtension.java
NewLayerExtension.java | ||
---|---|---|
29 | 29 |
import org.gvsig.app.ApplicationManager; |
30 | 30 |
import org.gvsig.app.project.documents.view.ViewDocument; |
31 | 31 |
import org.gvsig.app.project.documents.view.ViewManager; |
32 |
import org.gvsig.fmap.dal.DALLocator; |
|
33 |
import org.gvsig.fmap.dal.DataManager; |
|
34 |
import org.gvsig.fmap.dal.DataStore; |
|
35 |
import org.gvsig.fmap.dal.DataStoreParameters; |
|
36 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
|
37 |
import org.gvsig.fmap.mapcontext.MapContextManager; |
|
38 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
|
32 | 39 |
import org.gvsig.i18n.Messages; |
33 | 40 |
import org.gvsig.newlayer.NewLayerLocator; |
34 | 41 |
import org.gvsig.newlayer.NewLayerManager; |
35 | 42 |
import org.gvsig.newlayer.NewLayerService; |
43 |
import org.gvsig.newlayer.NewLayerService.NewLayerServiceAdapter; |
|
36 | 44 |
import org.gvsig.newlayer.NewLayerWizard; |
45 |
import org.gvsig.tools.ToolsLocator; |
|
46 |
import org.gvsig.tools.i18n.I18nManager; |
|
37 | 47 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
38 | 48 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
39 | 49 |
|
40 | 50 |
/** |
41 | 51 |
* @author gvSIG Team |
42 | 52 |
* @version $Id$ |
43 |
*
|
|
53 |
* |
|
44 | 54 |
*/ |
45 | 55 |
public class NewLayerExtension extends Extension { |
46 |
|
|
47 |
private ViewDocument view = null; |
|
48 | 56 |
|
49 |
public void initialize() {
|
|
50 |
}
|
|
57 |
public void initialize() {
|
|
58 |
}
|
|
51 | 59 |
|
52 |
@Override
|
|
53 |
public void postInitialize() {
|
|
54 |
super.postInitialize();
|
|
55 |
}
|
|
60 |
@Override
|
|
61 |
public void postInitialize() {
|
|
62 |
super.postInitialize();
|
|
63 |
}
|
|
56 | 64 |
|
57 |
public void execute(String actionCommand) { |
|
58 |
|
|
59 |
ApplicationManager application = ApplicationLocator.getManager(); |
|
60 |
ViewDocument view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME); |
|
65 |
@Override |
|
66 |
public void execute(String actionCommand) { |
|
67 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
|
68 |
ApplicationManager application = ApplicationLocator.getManager(); |
|
69 |
final ViewDocument view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME); |
|
61 | 70 |
|
62 |
if (view != null) { |
|
63 |
NewLayerManager manager = NewLayerLocator.getManager(); |
|
64 |
NewLayerService service = manager.createNewLayerService(view.getMapContext()); |
|
65 |
NewLayerWizard wizard = manager.createNewLayerWizard(service); |
|
66 |
|
|
67 |
WindowManager windowMgr = ToolsSwingLocator.getWindowManager(); |
|
68 |
windowMgr.showWindow( |
|
69 |
wizard, |
|
70 |
Messages.getText("_New_layer_wizard"), |
|
71 |
WindowManager.MODE.WINDOW); |
|
72 |
} |
|
73 |
} |
|
71 |
if (view != null) { |
|
72 |
NewLayerManager manager = NewLayerLocator.getManager(); |
|
73 |
NewLayerService service = manager.createNewLayerService(); |
|
74 |
service.addNewLayerServiceListener(new NewLayerServiceAdapter() { |
|
75 |
@Override |
|
76 |
public void postCreateTable(NewLayerService service) { |
|
77 |
if( !service.isAddTableToProject() ) { |
|
78 |
return; |
|
79 |
} |
|
80 |
try { |
|
81 |
if (service.getFeatureType().getDefaultGeometryAttribute() == null) { |
|
82 |
return; |
|
83 |
} |
|
84 |
DataStoreParameters storeParameters = service.getOpenStoreParameters(); |
|
85 |
DataManager dataManager = DALLocator.getDataManager(); |
|
86 |
DataStore store = dataManager.openStore(storeParameters.getProviderName(), storeParameters); |
|
87 |
String layerName = store.getName(); |
|
74 | 88 |
|
75 |
public boolean isEnabled() { |
|
76 |
|
|
77 |
ApplicationManager application = ApplicationLocator.getManager(); |
|
78 |
view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME); |
|
79 |
return (view != null); |
|
80 |
|
|
81 |
} |
|
89 |
MapContextManager mapContextManager = MapContextLocator.getMapContextManager(); |
|
90 |
FLayer lyr = mapContextManager.createLayer(layerName, store); |
|
91 |
lyr.setActive(true); |
|
92 |
lyr.setVisible(true); |
|
93 |
view.getMapContext().getLayers().addLayer(lyr); |
|
82 | 94 |
|
83 |
public boolean isVisible() { |
|
84 |
|
|
85 |
ApplicationManager application = ApplicationLocator.getManager(); |
|
86 |
view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME); |
|
87 |
return (view != null); |
|
88 |
|
|
89 |
} |
|
90 |
|
|
91 |
public ViewDocument getView() { |
|
92 |
return view; |
|
93 |
} |
|
94 |
|
|
95 |
lyr.dispose(); |
|
96 |
} catch (Exception e) { |
|
97 |
|
|
98 |
} |
|
99 |
} |
|
100 |
}); |
|
101 |
NewLayerWizard wizard = manager.createNewLayerWizard(service); |
|
102 |
wizard.setAddTableToProjectTitle(i18n.getTranslation("_Adding_layer")); |
|
103 |
wizard.setAddTableToProjectLabel(i18n.getTranslation("_Add_layer_to_view")); |
|
104 |
|
|
105 |
WindowManager windowMgr = ToolsSwingLocator.getWindowManager(); |
|
106 |
windowMgr.showWindow( |
|
107 |
wizard, |
|
108 |
Messages.getText("_New_layer_wizard"), |
|
109 |
WindowManager.MODE.WINDOW); |
|
110 |
} |
|
111 |
} |
|
112 |
|
|
113 |
@Override |
|
114 |
public boolean isEnabled() { |
|
115 |
return isVisible(); |
|
116 |
} |
|
117 |
|
|
118 |
@Override |
|
119 |
public boolean isVisible() { |
|
120 |
ApplicationManager application = ApplicationLocator.getManager(); |
|
121 |
ViewDocument view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME); |
|
122 |
return (view != null); |
|
123 |
} |
|
124 |
|
|
95 | 125 |
} |
Also available in: Unified diff