Revision 4181 org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/roi/ROIManagerTocMenuEntry.java
ROIManagerTocMenuEntry.java | ||
---|---|---|
22 | 22 |
package org.gvsig.raster.tools.app.basic.tool.roi; |
23 | 23 |
|
24 | 24 |
import java.io.File; |
25 |
import java.net.URI; |
|
25 | 26 |
import java.util.ArrayList; |
26 | 27 |
import java.util.List; |
27 | 28 |
|
... | ... | |
106 | 107 |
|
107 | 108 |
if (!(selectedItems[0] instanceof FLyrRaster)) |
108 | 109 |
return false; |
109 |
|
|
110 |
|
|
110 | 111 |
return true; |
111 | 112 |
} |
112 | 113 |
|
... | ... | |
120 | 121 |
|
121 | 122 |
if (!(fLayer instanceof FLyrRaster)) |
122 | 123 |
return; |
123 |
|
|
124 |
|
|
124 |
|
|
125 |
|
|
125 | 126 |
ROIPanel panel = RasterSwingLocator.getSwingManager().createROIPanel(); |
126 | 127 |
ROIDataModel dataModel = new ROIDataModel(getLFLyrVects()); |
127 | 128 |
dataModel.setROIPanel(panel); |
... | ... | |
129 | 130 |
try { |
130 | 131 |
dataModel.setLayer(selectedItems[0]); |
131 | 132 |
} catch (GridException e) { |
132 |
|
|
133 |
|
|
133 | 134 |
} |
134 |
|
|
135 |
|
|
135 | 136 |
ROIPanelListener panelListener = new ROIPanelListener(window, dataModel); |
136 | 137 |
ROIsTablePanelListener tableListener = new ROIsTablePanelListener(panel, dataModel, window); |
137 | 138 |
tableListener.setPathToROI(getROIDefaultPath(fLayer)); |
138 | 139 |
tableListener.setDefaultROIFileName(getDefaultROIFileName(fLayer)); |
139 |
|
|
140 |
|
|
140 | 141 |
panel.addButtonsListener(tableListener, panelListener); |
141 | 142 |
panel.addTableListeners(tableListener, tableListener); |
142 | 143 |
window.addIWindowListener(panelListener); |
143 |
|
|
144 |
|
|
144 | 145 |
RasterToolsUtil.addWindow(window); |
145 | 146 |
} |
146 |
|
|
147 |
|
|
147 | 148 |
private String getDefaultROIFileName(FLayer fLayer) { |
148 | 149 |
return fLayer.getName() + "_ROI.shp"; |
149 | 150 |
} |
... | ... | |
155 | 156 |
else |
156 | 157 |
return getPathFromLayer(layer); |
157 | 158 |
} |
158 |
|
|
159 |
|
|
159 | 160 |
/** |
160 | 161 |
* Gets the path of the first provider |
161 | 162 |
* @param layer |
... | ... | |
164 | 165 |
private File getPathFromLayer(FLayer layer) { |
165 | 166 |
if(!(layer instanceof FLyrRaster)) |
166 | 167 |
return null; |
167 |
String[] uriList = ((FLyrRaster)layer).getDataStore().getURIByProvider();
|
|
168 |
URI[] uriList = ((FLyrRaster)layer).getDataStore().getURIByProvider();
|
|
168 | 169 |
if(uriList != null && uriList.length > 0) { |
169 |
String uri = uriList[0].substring(0, uriList[0].lastIndexOf(File.separator)); |
|
170 |
if(uri != null) |
|
171 |
return new File(uri); |
|
170 |
URI uri = uriList[0]; |
|
171 |
return new File(uri).getParentFile(); |
|
172 | 172 |
} |
173 | 173 |
return null; |
174 | 174 |
} |
175 |
|
|
175 |
|
|
176 | 176 |
/** |
177 | 177 |
* Gets the path of the first ROI file |
178 | 178 |
* @param layer |
... | ... | |
190 | 190 |
} |
191 | 191 |
return null; |
192 | 192 |
} |
193 |
|
|
194 |
|
|
193 |
|
|
194 |
|
|
195 | 195 |
/** |
196 | 196 |
* Gets the list of vectorial layers loaded in all views |
197 | 197 |
* @return |
... | ... | |
210 | 210 |
} |
211 | 211 |
return list; |
212 | 212 |
} |
213 |
|
|
213 |
|
|
214 | 214 |
public Icon getIcon() { |
215 | 215 |
return IconThemeHelper.getImageIcon("layer-modify-roi"); |
216 | 216 |
} |
217 |
|
|
217 |
|
|
218 | 218 |
} |
Also available in: Unified diff