svn-gvsig-desktop / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / gui / FLegendManagerWindow.java @ 312
History | View | Annotate | Download (18.5 KB)
1 |
/*
|
---|---|
2 |
* Created on 24-jun-2003
|
3 |
*
|
4 |
* Copyright (c) 2003
|
5 |
* Francisco Jos? Pe?arrubia Mart?nez
|
6 |
* IVER Tecnolog?as de la Informaci?n S.A.
|
7 |
* Salamanca 50
|
8 |
* 46005 Valencia ( SPAIN )
|
9 |
* +34 963163400
|
10 |
* mailto:fran@iver.es
|
11 |
* http://www.iver.es
|
12 |
*/
|
13 |
package com.iver.cit.gvsig.gui; |
14 |
|
15 |
import java.awt.BorderLayout; |
16 |
import java.awt.event.ActionEvent; |
17 |
import java.awt.event.ActionListener; |
18 |
import java.io.File; |
19 |
import java.util.ArrayList; |
20 |
|
21 |
import javax.swing.JButton; |
22 |
import javax.swing.JDialog; |
23 |
import javax.swing.JPanel; |
24 |
import javax.swing.JTabbedPane; |
25 |
import javax.xml.transform.TransformerFactory; |
26 |
import javax.xml.transform.sax.SAXTransformerFactory; |
27 |
import javax.xml.transform.sax.TransformerHandler; |
28 |
import javax.xml.transform.stream.StreamResult; |
29 |
|
30 |
import org.xml.sax.SAXNotSupportedException; |
31 |
import org.xml.sax.XMLReader; |
32 |
import org.xml.sax.helpers.XMLReaderFactory; |
33 |
|
34 |
import com.iver.cit.gvsig.fmap.FConstant; |
35 |
import com.iver.cit.gvsig.fmap.FLabel; |
36 |
import com.iver.cit.gvsig.fmap.FLyrVect; |
37 |
import com.iver.cit.gvsig.fmap.FRecordset; |
38 |
import com.iver.cit.gvsig.fmap.FRenderer; |
39 |
import com.iver.cit.gvsig.fmap.MapControl; |
40 |
import com.iver.cit.gvsig.gui.Panels.FPanelLegendBreaks; |
41 |
import com.iver.cit.gvsig.gui.Panels.FPanelLegendDefault; |
42 |
import com.iver.cit.gvsig.gui.Panels.FPanelLegendLabels; |
43 |
import com.iver.cit.gvsig.gui.Panels.FPanelLegendValues; |
44 |
import com.iver.cit.gvsig.project.RendererReader; |
45 |
import com.iver.cit.gvsig.project.XMLEntityXMLHandler; |
46 |
import com.iver.mdiApp.App; |
47 |
import com.iver.mdiApp.Utilities; |
48 |
import com.iver.mdiApp.plugins.files.FileExtension; |
49 |
import com.iver.mdiApp.plugins.files.SelectedFile; |
50 |
import com.iver.mdiApp.ui.MDIApplicationContext; |
51 |
import com.iver.mdiApp.ui.MDIManager.View; |
52 |
import com.iver.mdiApp.ui.MDIManager.ViewInfo; |
53 |
|
54 |
|
55 |
/**
|
56 |
* DOCUMENT ME!
|
57 |
*
|
58 |
* @author Administrador To change the template for this generated type comment
|
59 |
* go to Window>Preferences>Java>Code Generation>Code and Comments
|
60 |
*/
|
61 |
public final class FLegendManagerWindow extends JPanel implements View, FileExtension { |
62 |
private MapControl m_MapControl;
|
63 |
private FLyrVect m_Lyr;
|
64 |
private TOC m_Toc;
|
65 |
private FRenderer m_Renderer; // Le asignaremos la leyenda del primer tema activo. |
66 |
private JTabbedPane organizador = new JTabbedPane(); |
67 |
private FPanelLegendDefault m_defaultLegendPanel;
|
68 |
private FPanelLegendValues m_valuesLegendPanel;
|
69 |
private FPanelLegendBreaks m_breaksLegendPanel;
|
70 |
private FPanelLegendLabels m_labelsLegendPanel;
|
71 |
private JButton btnApply; |
72 |
private JButton btnCancelar; |
73 |
|
74 |
// private FRenderer m_Renderer;
|
75 |
// private TOC toc;
|
76 |
// private FSymbolTable m_panelTable = new FSymbolTable();
|
77 |
// Variables declaration - do not modify
|
78 |
// private javax.swing.JSplitPane jSplitPane1;
|
79 |
private JPanel m_panelBotones = new JPanel(); |
80 |
private ComandosListener m_actionListener = new ComandosListener(this); |
81 |
private ViewInfo m_viewinfo=null; |
82 |
/**
|
83 |
* Creates new form JPanel
|
84 |
*/
|
85 |
public FLegendManagerWindow() {
|
86 |
initComponents(); |
87 |
// this.setLayout(null);
|
88 |
this.setSize(500, 360); |
89 |
this.setPreferredSize(new java.awt.Dimension(500,360)); |
90 |
|
91 |
} |
92 |
|
93 |
/**
|
94 |
* This method is called from within the constructor to initialize the
|
95 |
* form. WARNING: Do NOT modify this code. The content of this method is
|
96 |
* always regenerated by the Form Editor.
|
97 |
*/
|
98 |
private void initComponents() { |
99 |
/* addWindowListener(new java.awt.event.WindowAdapter() {
|
100 |
public void windowClosing(java.awt.event.WindowEvent evt) {
|
101 |
closeDialog(evt);
|
102 |
}
|
103 |
});
|
104 |
*/
|
105 |
//Createmos los paneles.
|
106 |
m_defaultLegendPanel = new FPanelLegendDefault();
|
107 |
m_valuesLegendPanel = new FPanelLegendValues();
|
108 |
m_breaksLegendPanel = new FPanelLegendBreaks();
|
109 |
m_labelsLegendPanel = new FPanelLegendLabels(this); |
110 |
|
111 |
//Add the scroll panes to a split pane.
|
112 |
organizador.addTab(Utilities.getMessage(this,"Simbolo_unico"), m_defaultLegendPanel); |
113 |
organizador.addTab(Utilities.getMessage(this,"Valores_unicos"), m_valuesLegendPanel); |
114 |
organizador.addTab(Utilities.getMessage(this,"Intervalos"), m_breaksLegendPanel); |
115 |
organizador.addTab(Utilities.getMessage(this,"Etiquetado"), m_labelsLegendPanel); |
116 |
|
117 |
/* JScrollPane tableView = new JScrollPane(m_grid);
|
118 |
// tableView.setBackground(java.awt.Color.WHITE);
|
119 |
jSplitPane1.setRightComponent(tableView);
|
120 |
*/
|
121 |
java.awt.Dimension minimumSize = new java.awt.Dimension(100, 50); |
122 |
|
123 |
// m_grid.setMinimumSize(minimumSize);
|
124 |
// treeView.setMinimumSize(minimumSize);
|
125 |
// splitPane.setDividerLocation(100); //XXX: ignored in some releases
|
126 |
//of Swing. bug 4101306
|
127 |
//workaround for bug 4101306:
|
128 |
//treeView.setPreferredSize(new Dimension(100, 100));
|
129 |
// jSplitPane1.setPreferredSize(new java.awt.Dimension(300, 200));
|
130 |
JPanel panelButtons = new JPanel(); |
131 |
JButton btnAceptar = new JButton(Utilities.getMessage(this,"Aceptar")); |
132 |
btnAceptar.setActionCommand("OK");
|
133 |
btnAceptar.addActionListener(m_actionListener); |
134 |
|
135 |
btnApply = new JButton(Utilities.getMessage(this,"Aplicar")); |
136 |
btnApply.setActionCommand("APPLY");
|
137 |
btnApply.addActionListener(m_actionListener); |
138 |
|
139 |
// BOTONES PARA GUARDAR Y CARGAR LEYENDAS
|
140 |
JButton btnSaveLegend = new JButton(Utilities.getMessage(this,"Guardar_leyenda")+"..."); |
141 |
btnSaveLegend.setActionCommand("SAVE_LEGEND");
|
142 |
btnSaveLegend.addActionListener(m_actionListener); |
143 |
|
144 |
JButton btnLoadLegend = new JButton(Utilities.getMessage(this,"Recuperar_leyenda")+"..."); |
145 |
btnLoadLegend.setActionCommand("LOAD_LEGEND");
|
146 |
btnLoadLegend.addActionListener(m_actionListener); |
147 |
|
148 |
///////////////////////////////////////////////////////
|
149 |
btnCancelar = new JButton(Utilities.getMessage(this,"Cerrar")); |
150 |
btnCancelar.setActionCommand("CANCEL");
|
151 |
btnCancelar.addActionListener(m_actionListener); |
152 |
|
153 |
panelButtons.add(btnAceptar); |
154 |
panelButtons.add(btnApply); |
155 |
panelButtons.add(btnSaveLegend); |
156 |
panelButtons.add(btnLoadLegend); |
157 |
panelButtons.add(btnCancelar); |
158 |
setLayout(new BorderLayout()); |
159 |
add(organizador, java.awt.BorderLayout.NORTH); |
160 |
add(panelButtons, java.awt.BorderLayout.SOUTH); |
161 |
|
162 |
//pack();
|
163 |
} |
164 |
|
165 |
|
166 |
|
167 |
/**
|
168 |
* En esta funci?n se coge el primer tema activo del TOC y se usa su
|
169 |
* renderer para inicializar. Hay que llamarla SIEMPRE que se abra el
|
170 |
* cuadro de di?logo, en el openLegendManager() de la vista.
|
171 |
*
|
172 |
* @param associatedToc TOC que abre este cuadro de di?logo.
|
173 |
*/
|
174 |
public void setToc(TOC associatedToc) { |
175 |
m_Toc = associatedToc; |
176 |
|
177 |
// Comprobar en openLegendManager que hay alg?n tema activo!
|
178 |
FLyrVect lyr = m_Toc.getFirstLyrVectSelected(); |
179 |
|
180 |
if (lyr == null) { |
181 |
System.out.println(Utilities.getMessage(this,"Por_favor_active_el_tema")+"."); |
182 |
|
183 |
return;
|
184 |
} |
185 |
|
186 |
m_Renderer = (FRenderer) lyr.getRenderer().cloneRenderer(); |
187 |
actualizar(); |
188 |
} |
189 |
|
190 |
/**
|
191 |
* Esto solo lo usa el localizador para las leyendas
|
192 |
*
|
193 |
* @param m
|
194 |
* @param lyr
|
195 |
*/
|
196 |
public void setMapControl(MapControl m, FLyrVect lyr) |
197 |
{ |
198 |
m_MapControl = m; |
199 |
m_Lyr = lyr; |
200 |
m_Renderer = lyr.getRenderer().cloneRenderer(); |
201 |
m_Toc = null;
|
202 |
|
203 |
actualizar(); |
204 |
} |
205 |
|
206 |
/**
|
207 |
* DOCUMENT ME!
|
208 |
*/
|
209 |
private void actualizar() { |
210 |
// Avisar si no es Vectorial
|
211 |
FLyrVect lyrSelected = null;
|
212 |
if (m_Toc != null) |
213 |
lyrSelected = (FLyrVect) m_Toc.getFirstLyrVectSelected(); |
214 |
else
|
215 |
lyrSelected = m_Lyr; |
216 |
|
217 |
m_defaultLegendPanel.setFSymbol(m_Renderer.getDefaultSymbol()); |
218 |
m_valuesLegendPanel.setLayer(lyrSelected, m_Renderer); |
219 |
m_breaksLegendPanel.setLayer(lyrSelected, m_Renderer); |
220 |
m_labelsLegendPanel.setLayer(lyrSelected, m_Renderer); |
221 |
|
222 |
switch (m_Renderer.getLegendType()) {
|
223 |
case FConstant.LEGEND_TYPE_DEFAULT:
|
224 |
organizador.setSelectedIndex(0);
|
225 |
|
226 |
break;
|
227 |
|
228 |
case FConstant.LEGEND_TYPE_VALUE:
|
229 |
organizador.setSelectedIndex(1);
|
230 |
|
231 |
break;
|
232 |
|
233 |
case FConstant.LEGEND_TYPE_BREAK:
|
234 |
organizador.setSelectedIndex(2);
|
235 |
|
236 |
break;
|
237 |
} |
238 |
} |
239 |
|
240 |
/**
|
241 |
* DOCUMENT ME!
|
242 |
*
|
243 |
* @param evt DOCUMENT ME!
|
244 |
*/
|
245 |
private void btnApply_actionPerformed(ActionEvent evt) { |
246 |
FLyrVect lyr; |
247 |
ArrayList listSelLayers = new ArrayList(); |
248 |
if (m_Toc == null) |
249 |
{ |
250 |
listSelLayers.add(m_Lyr); |
251 |
} |
252 |
else
|
253 |
{ |
254 |
listSelLayers= m_Toc.getSelectedLayers(); |
255 |
} |
256 |
|
257 |
switch (organizador.getSelectedIndex()) {
|
258 |
case 0: // default symbol |
259 |
|
260 |
if (m_defaultLegendPanel.getFSymbol().m_symbolType == FConstant.SYMBOL_TYPE_POINT) {
|
261 |
m_defaultLegendPanel.updateControls(); // Para que lo que haya en
|
262 |
} |
263 |
|
264 |
// ese momento en los controles pase al m_FSymbol
|
265 |
m_Renderer.setLegendType(FConstant.LEGEND_TYPE_DEFAULT); |
266 |
m_Renderer.setDefaultSymbol(m_defaultLegendPanel.getFSymbol()); |
267 |
|
268 |
break;
|
269 |
|
270 |
case 1: // Unique Values |
271 |
m_Renderer.setLegendType(FConstant.LEGEND_TYPE_VALUE); |
272 |
m_valuesLegendPanel.fillSymbolListFromTable(); |
273 |
|
274 |
break;
|
275 |
|
276 |
case 2: // Breaks |
277 |
m_Renderer.setLegendType(FConstant.LEGEND_TYPE_BREAK); |
278 |
m_breaksLegendPanel.fillSymbolListFromTable(); |
279 |
|
280 |
break;
|
281 |
|
282 |
case 3: // Etiquetado |
283 |
m_labelsLegendPanel.updateValuesFromControls(); |
284 |
if (m_Renderer.getLabelField() != null) |
285 |
{ |
286 |
for (int i = 0; i < listSelLayers.size(); i++) { |
287 |
lyr = (FLyrVect) listSelLayers.get(i); |
288 |
|
289 |
FRecordset rs = lyr.getRecordset(); |
290 |
int idFieldText = lyr.getFieldID(m_Renderer.getLabelField());
|
291 |
// int idFieldRotationText = lyr.getFieldID(m_Renderer.getLabelRotationField());
|
292 |
// int idFieldHeightText = lyr.getFieldID(m_Renderer.getLabelHeightField());
|
293 |
|
294 |
lyr.m_labels.clear(); |
295 |
for (int j = 0; j < lyr.m_NumShapes; j++) { |
296 |
rs.moveTo(j); |
297 |
FLabel theLabel = new FLabel(rs.getFieldValueAsString(idFieldText));
|
298 |
// Valor por defecto de las etiquetas
|
299 |
theLabel.setHeight(m_Renderer.getDefaultSymbol().m_FontSize); |
300 |
|
301 |
// Si el campo de heightfield est? definido, rellenamos el height del label
|
302 |
// con su valor
|
303 |
/* if (m_Renderer.getLabelHeightField() != null)
|
304 |
theLabel.setHeight(rs.getFieldValueAsNumber(idFieldRotationText).doubleValue());
|
305 |
// idem para el de rotaci?n
|
306 |
if (m_Renderer.getLabelRotationField() != null)
|
307 |
theLabel.setHeight(rs.getFieldValueAsNumber(idFieldHeightText).doubleValue()); */
|
308 |
|
309 |
lyr.m_labels.add(theLabel); |
310 |
} |
311 |
} |
312 |
} |
313 |
|
314 |
break;
|
315 |
} |
316 |
|
317 |
for (int i = 0; i < listSelLayers.size(); i++) { |
318 |
if (listSelLayers.get(i) instanceof FLyrVect) { |
319 |
lyr = (FLyrVect) listSelLayers.get(i); |
320 |
|
321 |
if ((m_Renderer.getLegendType() == FConstant.LEGEND_TYPE_VALUE) ||
|
322 |
(m_Renderer.getLegendType() == FConstant.LEGEND_TYPE_BREAK)) { |
323 |
int idField = lyr.getFieldID(m_Renderer.getFieldName());
|
324 |
|
325 |
if ((i == 0) && |
326 |
((!m_valuesLegendPanel.m_bCacheDirty) || |
327 |
(!m_breaksLegendPanel.m_bCacheDirty))) // la primera capa la cogemos del arrayCache
|
328 |
{ |
329 |
if (m_Renderer.getLegendType() == FConstant.LEGEND_TYPE_VALUE) {
|
330 |
for (int j = 0; j < lyr.m_NumShapes; j++) { |
331 |
lyr.m_legendValues[j] = m_valuesLegendPanel.m_keysCache[j]; |
332 |
} |
333 |
} else {
|
334 |
for (int j = 0; j < lyr.m_NumShapes; j++) { |
335 |
lyr.m_legendValues[j] = m_breaksLegendPanel.m_valuesCache[j]; |
336 |
} |
337 |
} |
338 |
} else {
|
339 |
FRecordset rs = lyr.getRecordset(); |
340 |
int fieldType = rs.getFieldType(idField);
|
341 |
|
342 |
for (int j = 0; j < lyr.m_NumShapes; j++) { |
343 |
rs.moveTo(j); |
344 |
|
345 |
/*switch (fieldType) {
|
346 |
case FRecordset.STRING: */
|
347 |
lyr.m_legendValues[j] = rs.getFieldValueAsString(idField); |
348 |
/*
|
349 |
break;
|
350 |
|
351 |
case FRecordset.DECIMAL:
|
352 |
case FRecordset.INTEGER:
|
353 |
lyr.m_legendValues[j] = rs.getFieldValueAsNumber(idField);
|
354 |
|
355 |
break;
|
356 |
}*/
|
357 |
} |
358 |
} |
359 |
} |
360 |
|
361 |
lyr.setRenderer(m_Renderer); |
362 |
} |
363 |
// if es vectorial
|
364 |
} |
365 |
|
366 |
// closeDialog(null);
|
367 |
if (m_Toc != null) |
368 |
{ |
369 |
m_Toc.getView().repaintMap(); |
370 |
m_Toc.refresh(); |
371 |
} |
372 |
else
|
373 |
m_MapControl.drawMap(); |
374 |
} |
375 |
|
376 |
/* (non-Javadoc)
|
377 |
* @see com.iver.mdiApp.FileListener#readFile(java.io.File)
|
378 |
*/
|
379 |
public Object read(File file) { |
380 |
FRenderer ret = null;
|
381 |
try {
|
382 |
TransformerFactory transFact = TransformerFactory.newInstance(); |
383 |
|
384 |
if (transFact.getFeature(SAXTransformerFactory.FEATURE)) { |
385 |
SAXTransformerFactory saxTransFact = (SAXTransformerFactory) transFact; |
386 |
|
387 |
XMLReader reader = XMLReaderFactory.createXMLReader(); |
388 |
|
389 |
// attach the XSLT processor to the CSVXMLReader
|
390 |
XMLEntityXMLHandler handler = new XMLEntityXMLHandler();
|
391 |
reader.setContentHandler(handler); |
392 |
reader.parse(file.getPath()); |
393 |
|
394 |
ret = FRenderer.createFRenderer(handler.getXMLEntity()); |
395 |
} else {
|
396 |
throw new SAXNotSupportedException("SAX no soportado"); |
397 |
} |
398 |
} catch (Exception exc) { |
399 |
App.instance.getNm().addError("Error leyendo la leyenda", exc);
|
400 |
} |
401 |
|
402 |
return ret;
|
403 |
} |
404 |
|
405 |
/* (non-Javadoc)
|
406 |
* @see com.iver.mdiApp.FileListener#writeFile(java.io.File)
|
407 |
*/
|
408 |
public void write(File file, Object object) { |
409 |
FRenderer renderer = (FRenderer) object; |
410 |
try {
|
411 |
TransformerFactory transFact = TransformerFactory.newInstance(); |
412 |
|
413 |
if (transFact.getFeature(SAXTransformerFactory.FEATURE)) { |
414 |
SAXTransformerFactory saxTransFact = (SAXTransformerFactory) transFact; |
415 |
TransformerHandler transHand = null; |
416 |
|
417 |
transHand = saxTransFact.newTransformerHandler(); |
418 |
transHand.setResult(new StreamResult(file.getPath())); |
419 |
|
420 |
RendererReader reader = new RendererReader();
|
421 |
|
422 |
// attach the XSLT processor to the CSVXMLReader
|
423 |
reader.setContentHandler(transHand); |
424 |
reader.parse(renderer); |
425 |
} else {
|
426 |
throw new SAXNotSupportedException("SAX no soportado"); |
427 |
} |
428 |
} catch (Exception exc) { |
429 |
App.instance.getNm().addError("Error escribiendo la leyenda", exc);
|
430 |
} |
431 |
} |
432 |
|
433 |
/**
|
434 |
* DOCUMENT ME!
|
435 |
*
|
436 |
* @author Fernando Gonz?lez Cort?s
|
437 |
*/
|
438 |
private class ComandosListener implements ActionListener { |
439 |
private FLegendManagerWindow m_lg;
|
440 |
|
441 |
/**
|
442 |
* Creates a new ComandosListener object.
|
443 |
*
|
444 |
* @param lg DOCUMENT ME!
|
445 |
*/
|
446 |
public ComandosListener(FLegendManagerWindow lg) {
|
447 |
m_lg = lg; |
448 |
} |
449 |
|
450 |
/* (non-Javadoc)
|
451 |
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
|
452 |
*/
|
453 |
public void actionPerformed(ActionEvent e) { |
454 |
if (e.getActionCommand() == "OK") { |
455 |
m_lg.btnApply_actionPerformed(e); |
456 |
if (App.instance == null) |
457 |
((JDialog) (getParent().getParent().getParent().getParent())).dispose();
|
458 |
else
|
459 |
App.instance.getMDIContext().closeView(FLegendManagerWindow.this); |
460 |
System.out.println("Ok del FLegendManager"); |
461 |
} else if (e.getActionCommand() == "CANCEL") { |
462 |
if (App.instance == null) |
463 |
((JDialog) (getParent().getParent().getParent().getParent())).dispose();
|
464 |
else
|
465 |
App.instance.getMDIContext().closeView(FLegendManagerWindow.this); |
466 |
} else if (e.getActionCommand() == "APPLY") { |
467 |
m_lg.btnApply_actionPerformed(e); |
468 |
} else if (e.getActionCommand() == "SAVE_LEGEND") { |
469 |
m_lg.btnApply_actionPerformed(e); |
470 |
SelectedFile sf = App.instance.getMDIContext().showFileChooser(m_lg, |
471 |
new String[] { "xml" }, |
472 |
new String[] { |
473 |
Utilities.getMessage(this, "tipo_leyenda") |
474 |
}, Utilities.getMessage(this, "guardar_leyenda"), true, |
475 |
MDIApplicationContext.FILES_ONLY); |
476 |
if (sf != null){ |
477 |
try {
|
478 |
sf.write(m_Renderer); |
479 |
} catch (Exception e1) { |
480 |
App.instance.getNm().addError("Error escribiendo la leyenda", e1);
|
481 |
} |
482 |
} |
483 |
} else if (e.getActionCommand() == "LOAD_LEGEND") { |
484 |
SelectedFile sf = App.instance.getMDIContext().showFileChooser(m_lg, |
485 |
new String[] { "xml" }, |
486 |
new String[] { |
487 |
Utilities.getMessage(this, "tipo_leyenda") |
488 |
}, Utilities.getMessage(this, "cargar_leyenda"), false, |
489 |
MDIApplicationContext.FILES_ONLY); |
490 |
|
491 |
if (sf != null){ |
492 |
try {
|
493 |
m_Renderer = (FRenderer) sf.read(); |
494 |
} catch (Exception e1) { |
495 |
App.instance.getNm().addError("Error leyendo la leyenda", e1);
|
496 |
} |
497 |
actualizar(); |
498 |
} |
499 |
} |
500 |
} |
501 |
} |
502 |
/* (non-Javadoc)
|
503 |
* @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
|
504 |
*/
|
505 |
public ViewInfo getViewInfo() {
|
506 |
if (m_viewinfo==null){ |
507 |
m_viewinfo=new ViewInfo();
|
508 |
m_viewinfo.setWidth(500);
|
509 |
m_viewinfo.setHeight(360);
|
510 |
m_viewinfo.setFeatures(ViewInfo.MODALDIALOG); |
511 |
//vi.setResizable(false);
|
512 |
m_viewinfo.setTitle(Utilities.getMessage(this,"Cambio_de_estilo")); |
513 |
} |
514 |
return m_viewinfo;
|
515 |
} |
516 |
|
517 |
/**
|
518 |
* @see com.iver.mdiApp.ui.MDIManager.View#viewActivated()
|
519 |
*/
|
520 |
public void viewActivated() { |
521 |
} |
522 |
|
523 |
|
524 |
} |