Revision 11572 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/filter/FilterTocMenuEntry.java

View differences:

FilterTocMenuEntry.java
19 19
package org.gvsig.rastertools.filter;
20 20

  
21 21
import java.util.ArrayList;
22
import java.util.Hashtable;
22 23

  
23 24
import javax.swing.event.TreeSelectionEvent;
24 25
import javax.swing.event.TreeSelectionListener;
......
28 29
import org.gvsig.gui.beans.treelist.TreeListContainer;
29 30
import org.gvsig.gui.beans.treelist.event.TreeListEvent;
30 31
import org.gvsig.gui.beans.treelist.listeners.TreeListComponentListener;
31
import org.gvsig.rastertools.filter.ui.RasterFilterDialog;
32
import org.gvsig.rastertools.filter.ui.RasterFilterPanel;
32
import org.gvsig.raster.RasterLibrary;
33
import org.gvsig.raster.grid.filter.IRasterFilterListManager;
34
import org.gvsig.raster.grid.filter.RasterFilterList;
35
import org.gvsig.raster.grid.filter.RasterFilterListManager;
36
import org.gvsig.rastertools.filter.ui.FilterDialog;
37
import org.gvsig.rastertools.filter.ui.FilterPanel;
33 38

  
34 39
import com.iver.andami.PluginServices;
35 40
import com.iver.cit.gvsig.fmap.layers.FLayer;
......
44 49
 */
45 50
public class FilterTocMenuEntry extends AbstractTocContextMenuAction implements TreeSelectionListener, TreeListComponentListener {
46 51
	private ArrayList									listeners = new ArrayList();
47
	private RasterFilterDialog				rasterFilterDialog = null;
52
	private FilterDialog				rasterFilterDialog = null;
48 53
	private int 											width = 620;
49 54
	private int 											height = 310;
50 55
	
......
114 119
	 * Construye el arbol para el men? de filtros disponibles
115 120
	 */
116 121
	private void menuBuild() {
122
		Hashtable keys = new Hashtable();
123
		IRasterFilterListManager aux = null;
124
		RasterFilterList filterList = new RasterFilterList();
125
		RasterFilterListManager stackManager = new RasterFilterListManager(filterList);
126
		
117 127
		TreeListContainer lc = rasterFilterDialog.getSelector();
118 128
		lc.getTree().addTreeSelectionListener(this);
119 129
		lc.addTreeListListener(this);
120
		lc.addClass(PluginServices.getText(this, "detecci?n_bordes"), 0);
121
		lc.addEntry(PluginServices.getText(this, "sobel"), PluginServices.getText(this, "detecci?n_bordes"), "sobel");
122
		lc.addEntry(PluginServices.getText(this, "roberts"), PluginServices.getText(this, "detecci?n_bordes"), "roberts");
123
		lc.addEntry(PluginServices.getText(this, "laplace"), PluginServices.getText(this, "detecci?n_bordes"), "laplace");
124
		lc.addEntry(PluginServices.getText(this, "prewitt"), PluginServices.getText(this, "detecci?n_bordes"), "prewitt");
125
		lc.addEntry(PluginServices.getText(this, "frei_chen"), PluginServices.getText(this, "detecci?n_bordes"), "frei_chen");
126
		lc.addClass(PluginServices.getText(this, "suavizado"), 1);
127
		lc.addEntry(PluginServices.getText(this, "paso_bajo"), PluginServices.getText(this, "suavizado"), "paso_bajo");
128
		lc.addEntry(PluginServices.getText(this, "mediana"), PluginServices.getText(this, "suavizado"), "mediana");
129
		lc.addEntry(PluginServices.getText(this, "media"), PluginServices.getText(this, "suavizado"), "media");
130
		lc.addEntry(PluginServices.getText(this, "gauss"), PluginServices.getText(this, "suavizado"), "gauss");
130

  
131
		int count = 0;
132
		for (int i=0; i<RasterLibrary.filtersClassList.size(); i++) {
133
			aux = (IRasterFilterListManager) RasterFilterListManager.loadClass((Class) RasterLibrary.filtersClassList.get(i), stackManager);
134
			if (!keys.containsKey(new String(aux.getGroupName()))) {
135
				keys.put(new String(aux.getGroupName()), aux);
136
				lc.addClass(new String(aux.getGroupName()), count);
137
				count++;
138
			}
139
			lc.addEntry(aux.getFilterName(), aux.getGroupName(), aux.getFilterName());
140
		}
141

  
131 142
		lc.getTree().expandRow(0);
132 143
	}
133 144

  
......
136 147
		lyr = getNodeLayer(item);
137 148

  
138 149
		if (lyr instanceof FLyrRasterSE) {
139
			rasterFilterDialog = new RasterFilterDialog((FLyrRasterSE) lyr, width, height);
150
			rasterFilterDialog = new FilterDialog((FLyrRasterSE) lyr, width, height);
140 151

  
141 152
			// Construimos el men?
142 153
			menuBuild();
......
164 175
		lc.getTree().expandRow(1);
165 176
		lc.getTree().setSelectionInterval(2, 2);
166 177

  
167
		int pos = RasterFilterPanel.getPos(firstFilter);
178
		int pos = FilterPanel.getPos(firstFilter);
168 179
		// Si pos es -1 es pq para el primero de la lista no existe panel para ?l.
169 180
		if (pos == -1)
170 181
			return;
......
212 223
	 * @param e TreeListEvent
213 224
	 */
214 225
	public void elementAdded(TreeListEvent e) {
215
		int pos = RasterFilterPanel.getPos(e.getElementAdded());
226
		int pos = FilterPanel.getPos(e.getElementAdded());
216 227
		try {
217 228
			if (pos > -1)
218 229
				rasterFilterDialog.getPanel(pos).setEnabled(true);
......
242 253
	 * @param e TreeListEvent
243 254
	 */
244 255
	public void elementRemoved(TreeListEvent e) {
245
		int pos = RasterFilterPanel.getPos(e.getElementRemoved());
256
		int pos = FilterPanel.getPos(e.getElementRemoved());
246 257
		try {
247 258
			if (pos > -1)
248 259
				rasterFilterDialog.getPanel(pos).setEnabled(false);

Also available in: Unified diff