Revision 27442 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/vectorizacion/MainListener.java
MainListener.java | ||
---|---|---|
21 | 21 |
import java.awt.event.ActionEvent; |
22 | 22 |
import java.awt.event.ActionListener; |
23 | 23 |
|
24 |
import javax.swing.event.ChangeEvent; |
|
25 |
import javax.swing.event.ChangeListener; |
|
26 |
|
|
27 | 24 |
import org.gvsig.fmap.raster.layers.FLyrRasterSE; |
28 | 25 |
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel; |
29 | 26 |
import org.gvsig.gui.beans.slidertext.listeners.SliderEvent; |
... | ... | |
51 | 48 |
* 12/06/2008 |
52 | 49 |
* @author Nacho Brodin nachobrodin@gmail.com |
53 | 50 |
*/ |
54 |
public class MainListener implements ActionListener, ChangeListener, IProcessActions {
|
|
51 |
public class MainListener implements ActionListener, IProcessActions { |
|
55 | 52 |
private MainPanel panel = null; |
56 | 53 |
private FLyrRasterSE lyr = null; |
57 | 54 |
|
... | ... | |
83 | 80 |
this.clipList.setProcessActions(this); |
84 | 81 |
this.vectList.setProcessActions(this); |
85 | 82 |
this.stretchList.setProcessActions(this); |
86 |
|
|
83 |
tabIndexSelected = 0; |
|
87 | 84 |
} |
88 | 85 |
|
89 | 86 |
/** |
... | ... | |
92 | 89 |
*/ |
93 | 90 |
private void setDataView(MainPanel prepPanel) { |
94 | 91 |
this.panel = prepPanel; |
95 |
panel.getNextPrevPanel().getNext().addActionListener(this); |
|
96 |
panel.getNextPrevPanel().getPrev().addActionListener(this); |
|
97 |
panel.getNextPrevPanel().getNext().setEnabled(true); |
|
98 |
panel.getPreviewBasePanel().getTabbedPane().addChangeListener(this); |
|
99 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY).addActionListener(this); |
|
100 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT).addActionListener(this); |
|
92 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(13).addActionListener(this); |
|
93 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(14).addActionListener(this); |
|
101 | 94 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL).addActionListener(this); |
102 | 95 |
} |
103 | 96 |
|
... | ... | |
125 | 118 |
if(!panel.isEnableValueChangedEvent()) |
126 | 119 |
return; |
127 | 120 |
|
128 |
tabIndexSelected = panel.getPreviewBasePanel().getTabbedPane().getSelectedIndex(); |
|
129 |
|
|
130 | 121 |
//Bot?n de pantalla siguiente |
131 |
if(e.getSource() == panel.getNextPrevPanel().getNext()) { |
|
132 |
panel.getPreviewBasePanel().getTabbedPane().setSelectedIndex(++tabIndexSelected); |
|
122 |
if(e.getSource() == panel.getPreviewBasePanel().getButtonsPanel().getButton(13)) { |
|
123 |
if(tabIndexSelected < (panel.getPanelCount() - 1)) { |
|
124 |
panel.getPreviewBasePanel().setUniquePanel(panel.getPanel(++tabIndexSelected)); |
|
125 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(14).setEnabled(true); |
|
126 |
if(tabIndexSelected == (panel.getPanelCount() - 1)) |
|
127 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(13).setText("finalizar"); |
|
128 |
} else { //Finalizar |
|
129 |
vectList.setProcessSource(gray); |
|
130 |
vectList.apply(); |
|
131 |
if(dialog != null) { |
|
132 |
dialog.close(); |
|
133 |
return; |
|
134 |
} |
|
135 |
} |
|
133 | 136 |
} |
134 | 137 |
|
135 | 138 |
//Bot?n de pantalla anterior |
136 |
if(e.getSource() == panel.getNextPrevPanel().getPrev()) { |
|
137 |
panel.getPreviewBasePanel().getTabbedPane().setSelectedIndex(--tabIndexSelected); |
|
139 |
if(e.getSource() == panel.getPreviewBasePanel().getButtonsPanel().getButton(14)) { |
|
140 |
if(tabIndexSelected > 0) { |
|
141 |
panel.getPreviewBasePanel().setUniquePanel(panel.getPanel(--tabIndexSelected)); |
|
142 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(13).setText("siguiente"); |
|
143 |
if(tabIndexSelected == 0) |
|
144 |
panel.getPreviewBasePanel().getButtonsPanel().getButton(14).setEnabled(false); |
|
145 |
} |
|
138 | 146 |
} |
139 |
|
|
140 |
//Aplicar |
|
141 |
if(e.getSource() == panel.getPreviewBasePanel().getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY)) { |
|
142 |
vectList.setProcessSource(gray); |
|
143 |
vectList.apply(); |
|
144 |
} |
|
145 |
|
|
146 |
//Aceptar |
|
147 |
if(e.getSource() == panel.getPreviewBasePanel().getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT)) { |
|
148 |
vectList.setProcessSource(gray); |
|
149 |
vectList.apply(); |
|
150 |
if(dialog != null) |
|
151 |
dialog.close(); |
|
152 |
} |
|
153 |
|
|
147 |
|
|
154 | 148 |
//Cancelar |
155 | 149 |
if(e.getSource() == panel.getPreviewBasePanel().getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL)) { |
156 | 150 |
if(dialog != null) |
157 | 151 |
dialog.close(); |
158 | 152 |
} |
159 |
} |
|
160 |
|
|
161 |
/** |
|
162 |
* Acciones realizadas cuando se varia la selecci?n de Tab |
|
163 |
*/ |
|
164 |
private void changeTabActions() { |
|
165 |
//Mostrar u ocultar botones |
|
166 |
tabIndexSelected = panel.getPreviewBasePanel().getTabbedPane().getSelectedIndex(); |
|
167 |
if(tabIndexSelected >= (panel.getPreviewBasePanel().getTabbedPane().getTabCount() - 1)) |
|
168 |
panel.getNextPrevPanel().getNext().setEnabled(false); |
|
169 |
if(tabIndexSelected < (panel.getPreviewBasePanel().getTabbedPane().getTabCount() - 1)) |
|
170 |
panel.getNextPrevPanel().getNext().setEnabled(true); |
|
171 |
if(tabIndexSelected <= 0) |
|
172 |
panel.getNextPrevPanel().getPrev().setEnabled(false); |
|
173 |
if(tabIndexSelected > 0) |
|
174 |
panel.getNextPrevPanel().getPrev().setEnabled(true); |
|
153 |
|
|
154 |
clipProcess(); |
|
155 |
grayScaleProcess(); |
|
156 |
stretchProcess(); |
|
175 | 157 |
|
176 | 158 |
//Mostrar u ocultar preview |
177 |
if(tabIndexSelected == 0) |
|
159 |
if(tabIndexSelected == 0) {
|
|
178 | 160 |
prevRender.setShowPreview(false); |
179 |
else |
|
161 |
panel.getPreviewBasePanel().refreshPreview(); |
|
162 |
} else |
|
180 | 163 |
prevRender.setShowPreview(true); |
181 | 164 |
|
165 |
//panel.getPreviewBasePanel().refreshPreview(); |
|
166 |
} |
|
167 |
|
|
168 |
/** |
|
169 |
* Lanza el proceso de recorte |
|
170 |
*/ |
|
171 |
private void clipProcess() { |
|
182 | 172 |
//Generaci?n de recorte |
183 | 173 |
if(tabIndexSelected == 1) { |
184 | 174 |
if(clip != null) |
185 | 175 |
if(!RasterToolsUtil.messageBoxYesOrNot("clip_raster_again", this)) { |
176 |
prevRender.setShowPreview(true); |
|
186 | 177 |
panel.getPreviewBasePanel().refreshPreview(); |
187 | 178 |
return; |
188 | 179 |
} |
... | ... | |
190 | 181 |
clipList.setProcessSource(lyr); |
191 | 182 |
clipList.apply(); |
192 | 183 |
} |
193 |
|
|
184 |
} |
|
185 |
|
|
186 |
/** |
|
187 |
* Lanza el proceso de conversi?n a escala de grises |
|
188 |
*/ |
|
189 |
private void grayScaleProcess() { |
|
194 | 190 |
//Generaci?n de raster preprocesado con escala de grises y posterizaci?n |
195 |
if(tabIndexSelected == 2 && panel.getPreviewBasePanel().getUserPanels().get(1) instanceof GrayConversionPanel) {
|
|
191 |
if(tabIndexSelected == 2 && panel.getPanel(1) instanceof GrayConversionPanel) {
|
|
196 | 192 |
if(gray != null) |
197 | 193 |
if(!RasterToolsUtil.messageBoxYesOrNot("filter_raster_again", this)) { |
194 |
prevRender.setShowPreview(true); |
|
198 | 195 |
panel.getPreviewBasePanel().refreshPreview(); |
199 | 196 |
return; |
200 | 197 |
} |
201 | 198 |
grayConvList.setProcessSource(clip); |
202 | 199 |
grayConvList.apply(); |
203 | 200 |
} |
204 |
|
|
201 |
} |
|
202 |
|
|
203 |
/** |
|
204 |
* Lanza el proceso de generaci?n de tramos |
|
205 |
*/ |
|
206 |
private void stretchProcess() { |
|
205 | 207 |
//Generaci?n de tramos |
206 |
if(tabIndexSelected == 2 && panel.getPreviewBasePanel().getUserPanels().get(1) instanceof StretchPanel) {
|
|
208 |
if(tabIndexSelected == 2 && panel.getPanel(1) instanceof StretchPanel) {
|
|
207 | 209 |
if(gray != null) |
208 | 210 |
if(!RasterToolsUtil.messageBoxYesOrNot("filter_raster_again", this)) { |
211 |
prevRender.setShowPreview(true); |
|
209 | 212 |
panel.getPreviewBasePanel().refreshPreview(); |
210 | 213 |
return; |
211 | 214 |
} |
212 | 215 |
stretchList.setProcessSource(clip); |
213 | 216 |
stretchList.apply(); |
214 | 217 |
} |
215 |
|
|
216 |
panel.getPreviewBasePanel().refreshPreview(); |
|
217 | 218 |
} |
218 | 219 |
|
219 | 220 |
/* |
... | ... | |
232 | 233 |
|
233 | 234 |
/* |
234 | 235 |
* (non-Javadoc) |
235 |
* @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent) |
|
236 |
*/ |
|
237 |
public void stateChanged(ChangeEvent e) { |
|
238 |
changeTabActions(); |
|
239 |
} |
|
240 |
|
|
241 |
/* |
|
242 |
* (non-Javadoc) |
|
243 | 236 |
* @see org.gvsig.raster.IProcessActions#end(java.lang.Object) |
244 | 237 |
*/ |
245 | 238 |
public void end(Object param) { |
246 | 239 |
if(param instanceof Object[] && ((Object[])param).length == 2) { |
247 | 240 |
if(((Object[])param)[0] instanceof ClipProcess) { |
248 | 241 |
clip = (FLyrRasterSE)((Object[])param)[1]; |
242 |
if(grayConvList != null) |
|
243 |
grayConvList.refreshPreview(); |
|
244 |
if(stretchList != null) |
|
245 |
stretchList.refreshPreview(); |
|
249 | 246 |
} |
250 | 247 |
if(((Object[])param)[0] instanceof GrayConversionProcess || |
251 | 248 |
((Object[])param)[0] instanceof StretchProcess) { |
Also available in: Unified diff