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

View differences:

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