Revision 11572 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/filter/FilterTocMenuEntry.java
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