Statistics
| Revision:

svn-gvsig-desktop / branches / v10 / extensions / extGraph_predes / src / com / iver / cit / gvsig / project / documents / view / legend / gui / FThemeManagerWindow2.java @ 11725

History | View | Annotate | Download (20.5 KB)

1
package com.iver.cit.gvsig.project.documents.view.legend.gui;
2

    
3
import java.awt.BorderLayout;
4
import java.awt.Component;
5
import java.awt.event.ActionEvent;
6
import java.awt.event.ActionListener;
7
import java.io.File;
8
import java.io.FileNotFoundException;
9
import java.io.FileReader;
10
import java.io.FileWriter;
11
import java.text.NumberFormat;
12
import java.text.ParseException;
13

    
14
import javax.swing.JButton;
15
import javax.swing.JDialog;
16
import javax.swing.JFileChooser;
17
import javax.swing.JOptionPane;
18
import javax.swing.JPanel;
19
import javax.swing.JTabbedPane;
20

    
21
import org.exolab.castor.xml.MarshalException;
22
import org.exolab.castor.xml.Marshaller;
23
import org.exolab.castor.xml.ValidationException;
24

    
25
import com.hardcode.gdbms.engine.data.DataSource;
26
import com.hardcode.gdbms.engine.instruction.FieldNotFoundException;
27
import com.iver.andami.PluginServices;
28
import com.iver.andami.messages.NotificationManager;
29
import com.iver.andami.ui.mdiManager.IWindow;
30
import com.iver.andami.ui.mdiManager.WindowInfo;
31
import com.iver.cit.gvsig.fmap.DriverException;
32
import com.iver.cit.gvsig.fmap.MapContext;
33
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
34
import com.iver.cit.gvsig.fmap.layers.FLayer;
35
import com.iver.cit.gvsig.fmap.layers.FLayers;
36
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
37
import com.iver.cit.gvsig.fmap.layers.XMLException;
38
import com.iver.cit.gvsig.fmap.layers.layerOperations.AlphanumericData;
39
import com.iver.cit.gvsig.fmap.layers.layerOperations.ClassifiableVectorial;
40
import com.iver.cit.gvsig.fmap.rendering.ClassifiedLegend;
41
import com.iver.cit.gvsig.fmap.rendering.Legend;
42
import com.iver.cit.gvsig.fmap.rendering.LegendFactory;
43
import com.iver.cit.gvsig.fmap.rendering.SingleSymbolLegend;
44
import com.iver.cit.gvsig.fmap.rendering.VectorialLegend;
45
import com.iver.cit.gvsig.gui.panels.LinkPanel;
46
import com.iver.cit.gvsig.project.documents.view.IProjectView;
47
import com.iver.cit.gvsig.project.documents.view.legend.CreateSpatialIndexMonitorableTask;
48
import com.iver.cit.gvsig.project.documents.view.legend.scale.gui.FPanelScaleManager;
49
import com.iver.utiles.GenericFileFilter;
50
import com.iver.utiles.XMLEntity;
51
import com.iver.utiles.swing.threads.IMonitorableTask;
52
import com.iver.utiles.xmlEntity.generate.XmlTag;
53

    
54
/**
55
 * @author jmorell (jose.morell@gmail.com)
56
 * @version 24-ene-2005
57
 */
58
public final class FThemeManagerWindow2 extends AbstractPanel implements IWindow {
59
        private MapContext mapContext;
60
        private FLayer layer;
61
    private Legend renderer; // Le asignaremos la leyenda del primer tema activo.
62
        private FPanelScaleManager fPanelScaleManager;
63
    private FPanelLegendManager2 fPanelLegendManager;
64
    private LinkPanel linkPanel;
65
    private JTabbedPane organizador = new JTabbedPane();  //  @jve:decl-index=0:
66
    private ComandosListener m_actionListener = new ComandosListener(this);
67
        //private ProjectView view;
68
        private NumberFormat nf = NumberFormat.getInstance();
69

    
70
    /**
71
     * Creates new form JPanel
72
     */
73
    public FThemeManagerWindow2() {
74
        initialize();
75
                this.setSize(650, 420);
76
    }
77

    
78
    /**
79
     * Sobrecarga del constructor. Este se utiliza cuando se llama a este
80
     * di?logo desde la barra de comandos.
81
     *
82
     */
83
    public FThemeManagerWindow2(FLayer l, MapContext fMap) {
84
            initialize();
85
            layer = l;
86
            mapContext = fMap;
87
                try {
88
                        ClassifiableVectorial aux = (ClassifiableVectorial) layer;
89
                        renderer = (Legend) aux.getLegend().cloneLegend();
90
                        fPanelScaleManager.setMapContext(mapContext);
91
                        fPanelLegendManager.setMapContext(mapContext);
92
                } catch (XMLException e) {
93
                        // TODO Auto-generated catch block
94
                        e.printStackTrace();
95
                } catch (DriverException e1) {
96
                        // TODO Auto-generated catch block
97
                        e1.printStackTrace();
98
                }
99

    
100
        fPanelScaleManager.setLayer(layer, renderer);
101
        fPanelLegendManager.setLayer(layer, renderer);
102

    
103
        organizador.setSelectedIndex(0);
104

    
105
                this.setSize(650, 420);
106
    }
107

    
108
        /**
109
         * This method initializes this
110
         *
111
         * @return void
112
         */
113
        private  void initialize() {
114

    
115
                fPanelScaleManager = new FPanelScaleManager();
116
                fPanelLegendManager = new FPanelLegendManager2();
117

    
118
                organizador.addTab(PluginServices.getText(this,"General"), fPanelScaleManager);
119
                organizador.addTab(PluginServices.getText(this,"Simbologia"), fPanelLegendManager);
120

    
121
        JPanel panelButtons = new JPanel();
122

    
123
        JButton btnAceptar = new JButton(PluginServices.getText(this,"Aceptar"));
124
        btnAceptar.setActionCommand("OK");
125
        btnAceptar.addActionListener(m_actionListener);
126

    
127
        JButton btnApply = new JButton(PluginServices.getText(this,"Aplicar"));
128
        btnApply.setActionCommand("APPLY");
129
        btnApply.addActionListener(m_actionListener);
130

    
131
        JButton btnSaveLegend = new JButton(PluginServices.getText(this,"Guardar_leyenda")+"...");
132
        btnSaveLegend.setActionCommand("SAVE_LEGEND");
133
        btnSaveLegend.addActionListener(m_actionListener);
134

    
135
        JButton btnLoadLegend = new JButton(PluginServices.getText(this,"Recuperar_leyenda")+"...");
136
        btnLoadLegend.setActionCommand("LOAD_LEGEND");
137
        btnLoadLegend.addActionListener(m_actionListener);
138

    
139
        JButton btnCancelar = new JButton(PluginServices.getText(this,"Cerrar"));
140
        btnCancelar.setActionCommand("CANCEL");
141
        btnCancelar.addActionListener(m_actionListener);
142

    
143
        panelButtons.add(btnApply, null);
144

    
145
                setLayout(new BorderLayout());
146
                panelButtons.setLayout(null);
147
                organizador.setPreferredSize(new java.awt.Dimension(640,390));
148
                btnAceptar.setBounds(9, 5, 89, 23);
149
                btnApply.setBounds(107, 5, 89, 23);
150
                btnSaveLegend.setBounds(205, 5, 159, 23);
151
                btnLoadLegend.setBounds(373, 5, 159, 23);
152
                btnCancelar.setBounds(541, 5, 89, 23);
153
                panelButtons.setPreferredSize(new java.awt.Dimension(493,33));
154
                add(organizador, java.awt.BorderLayout.NORTH);
155
                panelButtons.add(btnAceptar, null);
156
                add(panelButtons, java.awt.BorderLayout.SOUTH);
157
                panelButtons.add(btnSaveLegend, null);
158
                panelButtons.add(btnLoadLegend, null);
159
                panelButtons.add(btnCancelar, null);
160
        }
161

    
162

    
163

    
164
    /**
165
     * En esta funci?n se coge el primer tema activo del TOC y se usa su
166
     * renderer para inicializar. Hay que llamarla SIEMPRE que se abra el
167
     * cuadro de di?logo, en el  openLegendManager() de la vista.
168
     *
169
     * @param mapContext TOC que abre este cuadro de di?logo.
170
     * @throws DriverException
171
     */
172
    public void setMapContext(MapContext mapContext) throws DriverException {
173
        this.mapContext = mapContext;
174
        layer = getFirstActiveLayerVect(mapContext.getLayers());
175
                try {
176
                        ClassifiableVectorial aux = (ClassifiableVectorial) layer;
177
                        renderer = (Legend) aux.getLegend().cloneLegend();
178
                } catch (XMLException e) {
179
                        // TODO Auto-generated catch block
180
                        e.printStackTrace();
181
                }
182
                fPanelScaleManager.setMapContext(mapContext);
183
                fPanelLegendManager.setMapContext(mapContext);
184
        actualizar();
185
    }
186

    
187
    /**
188
     * DOCUMENT ME!
189
     */
190
    private void actualizar() {
191
            FLayer lyrSelected = getFirstActiveLayerVect(mapContext.getLayers());
192

    
193
        fPanelScaleManager.setLayer(lyrSelected, renderer);
194
        fPanelLegendManager.setLayer(lyrSelected, renderer);
195

    
196
        organizador.setSelectedIndex(0);
197
    }
198

    
199
    private void btnApply_actionPerformed(ActionEvent evt) {
200
       // ClassifiableVectorial aux = (ClassifiableVectorial) layer;
201

    
202
            switch (fPanelLegendManager.getVisibleCard()) {
203
        case 0: // default symbol
204
            renderer = fPanelLegendManager.getM_defaultLegendPanel().getLegend();
205
            fPanelLegendManager.getJComboBox().getModel().setSelectedItem(layer.getName() + PluginServices.getText(this,"_(Simbolo_unico)"));
206
            break;
207
        case 1: // Unique Values
208
            renderer = fPanelLegendManager.getM_valuesLegendPanel().getLegend();
209
            fPanelLegendManager.getJComboBox().getModel().setSelectedItem(layer.getName() + "_(Valores_unicos)");
210
            break;
211
        case 2:// break values
212
                   renderer = fPanelLegendManager.getM_breaksLegendPanel().getLegend();
213
            fPanelLegendManager.getJComboBox().getModel().setSelectedItem(layer.getName() + "_(Intervalos)");
214
                   break;
215
        case 3://text
216
                fPanelLegendManager.getJComboBox().getModel().setSelectedItem(layer.getName() + "_(Etiquetas_estandar)");
217
                break;
218
        case 4://
219
                renderer = fPanelLegendManager.getPanelDotDensityLegend().getLegend();
220
                break;
221
        }
222
        // System.out.println("Color punto 1 " + renderer.getDefaultSymbol().getColor().toString());
223
            // fPanelLegendManager.getM_labelsLegendPanel().setFSymbol(renderer.getDefaultSymbol());
224
            // boolean bShapesVisibles = renderer.getDefaultSymbol().isShapeVisible();
225
            fPanelLegendManager.getM_labelsLegendPanel().updateValuesFromControls((VectorialLegend)renderer);
226
            // renderer.getDefaultSymbol().setShapeVisible(bShapesVisibles);
227
        // System.out.println("Color punto 2 " + renderer.getDefaultSymbol().getColor().toString());
228
        try {
229
                        // Intentamos aplicar la leyenda a todas
230
            // las capas activas a las que se les pueda aplicar
231
            FLayer[] activeLyrs =  mapContext.getLayers().getActives();
232
            for (int i=0; i < activeLyrs.length; i++)
233
            {
234
                    FLayer laux=activeLyrs[i];
235
                    if (activeLyrs[i] instanceof FLayers){
236
                            laux=getFirstActiveLayerVect((FLayers)activeLyrs[i]);
237
                    }
238
                if (laux instanceof ClassifiableVectorial)
239
                {
240
                    ClassifiableVectorial aux2 = (ClassifiableVectorial) laux;
241
                    if (renderer instanceof ClassifiedLegend)
242
                    {
243
                        // Es una leyenda que necesita un recordset con un
244
                        // nombre de campo. Comprobamos que ese recordset
245
                        // tiene ese nombre de campo y es del tipo esperado
246
                        ClassifiedLegend cl = (ClassifiedLegend) renderer;
247
                        if (aux2 instanceof AlphanumericData)
248
                        {
249
                            DataSource rs = ((AlphanumericData) aux2).getRecordset();
250
                            if (cl.getValues().length==0) {
251
                                    JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(),PluginServices.getText(this,"no_es_posible_aplicar_leyenda_vacia"));
252
                                    return;
253
                            }
254
                            int idField = rs.getFieldIndexByName(cl.getFieldName());
255
                            if (idField != -1)
256
                            {
257
                                //TODO: Aqu? deber?amos comprobar si el tipo de campo
258
                                // es el tipo de campo esperado.
259
                                    /*if (renderer instanceof VectorialUniqueValueLegend){
260
                                            ((VectorialUniqueValueLegend)renderer).setLabelHeightField(null);
261
                                            ((VectorialUniqueValueLegend)renderer).setLabelRotationField(null);
262
                                    }
263
                                    */
264
                                aux2.setLegend((VectorialLegend) renderer);
265
                            }
266

    
267
                        }
268
                    }
269
                    else if (renderer instanceof SingleSymbolLegend)
270
                        aux2.setLegend((VectorialLegend) renderer);
271
                }
272

    
273
            }
274
                        // aux.setLegend((VectorialLegend) m_Renderer);
275

    
276
                } catch (FieldNotFoundException e) {
277
                        // TODO Auto-generated catch block
278
                        e.printStackTrace();
279
                } catch (DriverException e) {
280
                        // TODO Auto-generated catch block
281
                        e.printStackTrace();
282
                } catch (com.hardcode.gdbms.engine.data.driver.DriverException e) {
283
            // TODO Auto-generated catch block
284
            e.printStackTrace();
285
        }
286

    
287
                if (fPanelScaleManager.getJRadioButton1().isSelected()) {
288
                        try
289
                        {
290
                                layer.setMinScale((nf.parse(fPanelScaleManager.getJTextField1().getText())).doubleValue());
291
                        }
292
                        catch (ParseException ex)
293
                        {
294
                            if (fPanelScaleManager.getJTextField1().getText().compareTo("") == 0)
295
                                layer.setMinScale(-1);
296
                            else
297
                                System.err.print(ex.getLocalizedMessage());
298
                        }
299
                        try
300
                        {
301
                            layer.setMaxScale((nf.parse(fPanelScaleManager.getJTextField2().getText())).doubleValue());
302
                        }
303
                        catch (ParseException ex)
304
                        {
305
                            if (fPanelScaleManager.getJTextField2().getText().compareTo("") == 0)
306
                                layer.setMaxScale(-1);
307
                            else
308
                                System.err.print(ex.getLocalizedMessage());
309
                        }
310

    
311
                } else {
312
                layer.setMinScale(-1);
313
                layer.setMaxScale(-1);
314
                }
315
                if (!fPanelScaleManager.getLayerName().equals(layer.getName())){
316
                        layer.setName(fPanelScaleManager.getLayerName());
317
                }
318
        if (layer instanceof FLyrVect)
319
        {
320
            FLyrVect lyrVect = (FLyrVect) layer;
321
            if (fPanelScaleManager.isSpatialIndexSelected())
322
            {
323
//                if (lyrVect.getSpatialIndex() == null)
324
                    if(lyrVect.getISpatialIndex() == null)
325
                {
326
                        //AZABALA
327
                        try {
328
                                                PluginServices.
329
                                                        cancelableBackgroundExecution(getCreateSpatialIndexTask());
330
                                        } catch (DriverIOException e) {
331
                                                // TODO Auto-generated catch block
332
                                                e.printStackTrace();
333
                                        } catch (DriverException e) {
334
                                                // TODO Auto-generated catch block
335
                                                e.printStackTrace();
336
                                        }
337
//                    lyrVect.createSpatialIndex();
338
                }
339
            }
340
            //AZABALA
341
            /*
342
             * If we unselect the spatial index checkbox...Must we delete
343
             * spatial index file, or we only have to put Spatial Index
344
             * reference to null?. I have followed the second choice
345
             */
346
            else{
347
                lyrVect.deleteSpatialIndex();
348
            }
349

    
350

    
351
        }
352
                //layer.getFMap().invalidate();
353
                layer.getMapContext().callLegendChanged();
354
    }
355

    
356

    
357
    /**
358
     * Instanciates a ITask (@see com.iver.utiles.swing.threads.ITask)
359
     * to create a spatial index for the selected layer in background.
360
     * This task also allow to monitor process evolution, and to cancel
361
     * this process.
362
     * @throws DriverException
363
     * @throws DriverIOException
364
     */
365
    public IMonitorableTask getCreateSpatialIndexTask() throws DriverIOException,
366
                                                                                                                            DriverException{
367

    
368
//              FIXME REVISAR ESTO (Quizas lanzar TaskException)
369
                        return new CreateSpatialIndexMonitorableTask((FLyrVect)layer);
370
    }
371

    
372
    /**
373
     * DOCUMENT ME!
374
     *
375
     * @author Fernando Gonz?lez Cort?s
376
     */
377
    private class ComandosListener implements ActionListener {
378
        private FThemeManagerWindow2 fLayerPropertiesWindow;
379

    
380
        /**
381
         * Creates a new ComandosListener object.
382
         *
383
         * @param lg DOCUMENT ME!
384
         */
385
        public ComandosListener(FThemeManagerWindow2 fLayerPropertiesWindow) {
386
                this.fLayerPropertiesWindow = fLayerPropertiesWindow;
387
        }
388

    
389
        /* (non-Javadoc)
390
         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
391
         */
392
        public void actionPerformed(ActionEvent e) {
393
            if (e.getActionCommand() == "OK") {
394
                // Implementaci?n para hacer funcionar el hyperlink ...
395
                //com.iver.cit.gvsig.gui.View theView = (com.iver.cit.gvsig.gui.View)PluginServices.getMDIManager().getActiveView();
396
                //ProjectView view = theView.getModel();
397
                    if (PluginServices.getMainFrame() != null)
398
                    {
399
                            IProjectView view = fPanelScaleManager.getView();
400
                            view.setTypeLink(fPanelScaleManager.getLinkType());
401
                            if (fPanelScaleManager.getSelectedLinkField()!=null)
402
                            {
403
                                    view.setSelectedField(fPanelScaleManager.getSelectedLinkField().toString().trim());
404
                                    view.setExtLink(fPanelScaleManager.getExtensionLink());
405
                            }
406
                    }
407
                //
408
                fLayerPropertiesWindow.btnApply_actionPerformed(e);
409
                    if (PluginServices.getMainFrame() == null)
410
                            ((JDialog) (getParent().getParent().getParent().getParent())).dispose();
411
                    else
412
                            PluginServices.getMDIManager().closeWindow(FThemeManagerWindow2.this);
413
                System.out.println("Ok");
414
            } else if (e.getActionCommand() == "CANCEL") {
415
                    if (PluginServices.getMainFrame() == null)
416
                            ((JDialog) (getParent().getParent().getParent().getParent())).dispose();
417
                    else
418
                            PluginServices.getMDIManager().closeWindow(FThemeManagerWindow2.this);
419
                System.out.println("CANCEL");
420
            } else if (e.getActionCommand() == "APPLY") {
421
                fLayerPropertiesWindow.btnApply_actionPerformed(e);
422
                System.out.println("APPLY");
423
            } else if (e.getActionCommand() == "LOAD_LEGEND") {
424
                        JFileChooser jfc = new JFileChooser();
425
                            jfc.addChoosableFileFilter(new GenericFileFilter("gvl",
426
                                            PluginServices.getText(this, "tipo_de_leyenda")));
427
                            //jfc.addChoosableFileFilter(new GenericFileFilter("sld","sld"));
428

    
429
                            if (jfc.showOpenDialog((Component) PluginServices.getMainFrame()) == JFileChooser.APPROVE_OPTION) {
430
                                    File file=jfc.getSelectedFile();
431
                                    if (!(file.getPath().endsWith(".gvl") || file.getPath().endsWith(".GVL")))
432
                                    {
433
                                            file=new File(file.getPath()+".gvl");
434
                                    }
435
                                    readLegend(file);
436
                                    fPanelLegendManager.setRenderer(renderer);
437
                                    fPanelLegendManager.actualizar();
438
                            }
439
            } else if (e.getActionCommand() == "SAVE_LEGEND") {
440
                                fLayerPropertiesWindow.btnApply_actionPerformed(e);
441
                                JFileChooser jfc = new JFileChooser();
442
                                jfc.addChoosableFileFilter(new GenericFileFilter("sld","*.sld"));
443
                                jfc.addChoosableFileFilter(new GenericFileFilter("gvl",
444
                                                PluginServices.getText(this, "tipo_de_leyenda")));
445

    
446

    
447
                                if (jfc.showSaveDialog((Component) PluginServices.getMainFrame()) == JFileChooser.APPROVE_OPTION)
448
                                {
449
                                        File file=jfc.getSelectedFile();
450
                                        if (jfc.getFileFilter().accept(new File("dummy.sld")))
451
                                        {
452
                                                if (!(file.getPath().toLowerCase().endsWith(".sld"))){
453
                                                        file=new File(file.getPath()+".sld");
454
                                                }
455
                                                export2SLD(file);
456
                                        }
457
                                        else{
458
                                                if (!(file.getPath().toLowerCase().endsWith(".gvl"))){
459
                                                        file=new File(file.getPath()+".gvl");
460
                                                }
461
                                                writeLegend(file);
462
                                        }
463
                                }
464
            } else {}
465
        }
466
    }
467

    
468
    private void export2SLD(File file) {
469
                try {
470
                        FileWriter writer = new FileWriter(file.getAbsolutePath());
471
                        writer.write( renderer.getSLDString(layer.getName()));
472
                        writer.close();
473

    
474
//                        Marshaller m = new Marshaller(writer);
475
//                        m.setEncoding("ISO-8859-1");
476
//                        m.marshal(renderer.getSLDString());
477
                } catch (Exception e) {
478
                        NotificationManager.addError(PluginServices.getText(this, "Error_exportando_SLD"), e);
479
                }
480
        }
481

    
482
    private void writeLegend(File file) {
483
                try {
484
                        FileWriter writer = new FileWriter(file.getAbsolutePath());
485
                        Marshaller m = new Marshaller(writer);
486
                        m.setEncoding("ISO-8859-1");
487
                        m.marshal(renderer.getXMLEntity().getXmlTag());
488
                } catch (Exception e) {
489
                        NotificationManager.addError(PluginServices.getText(this, "Error_guardando_la_leyenda"), e);
490
                }
491
        }
492

    
493
        public void readLegend(File file) {
494
                try {
495
                        File xmlFile = new File(file.getAbsolutePath());
496
                        FileReader reader;
497
                        reader = new FileReader(xmlFile);
498

    
499
                        XmlTag tag = (XmlTag) XmlTag.unmarshal(reader);
500
                        renderer = LegendFactory.createFromXML(new XMLEntity(tag));
501
                        //fPanelLegendManager.setRenderer(LegendFactory.createFromXML(new XMLEntity(tag)));
502
                } catch (FileNotFoundException e) {
503
                        NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e);
504
                } catch (MarshalException e) {
505
                        NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e);
506
                } catch (ValidationException e) {
507
                        NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e);
508
                } catch (XMLException e) {
509
                        NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e);
510
                }
511
        }
512

    
513
        /* (non-Javadoc)
514
         * @see com.iver.andami.ui.mdiManager.View#getViewInfo()
515
         */
516
        public WindowInfo getWindowInfo() {
517
                // Solo se llama una vez
518
                WindowInfo viewInfo = new WindowInfo(WindowInfo.MODELESSDIALOG);
519
                viewInfo.setWidth(650);
520
                viewInfo.setHeight(420);
521
                viewInfo.setTitle(PluginServices.getText(this,"propiedades_de_la_capa"));
522
                return viewInfo;
523
        }
524

    
525
        /**
526
         * @see com.iver.mdiApp.ui.MDIManager.View#viewActivated()
527
         */
528
        /*public void viewActivated() {
529
        }
530

531
        public FMap getMapContext() {
532
                return mapContext;
533
        }
534
        public FLayer getLayer() {
535
                return layer;
536
        }
537
        public Legend getRenderer() {
538
                return renderer;
539
        }*/
540

    
541
        /**
542
         * @return Returns the organizador.
543
         */
544
        public JTabbedPane getOrganizador() {
545
                return organizador;
546
        }
547
        /**
548
         * @param organizador The organizador to set.
549
         */
550
        public void setOrganizador(JTabbedPane organizador) {
551
                this.organizador = organizador;
552
        }
553
}