Statistics
| Revision:

root / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / DEMO / SingleView.java @ 2183

History | View | Annotate | Download (27.9 KB)

1
/*
2
 * Created on 19-may-2003
3
 *
4
 * To change the template for this generated file go to
5
 * Window>Preferences>Java>Code Generation>Code and Comments
6
 */
7
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
8
 *
9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
10
 *
11
 * This program is free software; you can redistribute it and/or
12
 * modify it under the terms of the GNU General Public License
13
 * as published by the Free Software Foundation; either version 2
14
 * of the License, or (at your option) any later version.
15
 *
16
 * This program is distributed in the hope that it will be useful,
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 * GNU General Public License for more details.
20
 *
21
 * You should have received a copy of the GNU General Public License
22
 * along with this program; if not, write to the Free Software
23
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
24
 *
25
 * For more information, contact:
26
 *
27
 *  Generalitat Valenciana
28
 *   Conselleria d'Infraestructures i Transport
29
 *   Av. Blasco Ib??ez, 50
30
 *   46010 VALENCIA
31
 *   SPAIN
32
 *
33
 *      +34 963862235
34
 *   gvsig@gva.es
35
 *      www.gvsig.gva.es
36
 *
37
 *    or
38
 *
39
 *   IVER T.I. S.A
40
 *   Salamanca 50
41
 *   46005 Valencia
42
 *   Spain
43
 *
44
 *   +34 963163400
45
 *   dac@iver.es
46
 */
47
package com.iver.cit.gvsig.DEMO;
48

    
49
import java.awt.BorderLayout;
50
import java.awt.Color;
51
import java.awt.Dimension;
52
import java.awt.Point;
53
import java.awt.event.KeyAdapter;
54
import java.awt.event.KeyEvent;
55
import java.awt.event.MouseAdapter;
56
import java.awt.event.MouseEvent;
57
import java.awt.event.WindowEvent;
58
import java.awt.event.WindowListener;
59
import java.awt.geom.Point2D;
60
import java.awt.image.ImageObserver;
61
import java.util.Locale;
62

    
63
import javax.swing.ButtonGroup;
64
import javax.swing.JButton;
65
import javax.swing.JDialog;
66
import javax.swing.JFrame;
67
import javax.swing.JMenu;
68
import javax.swing.JMenuItem;
69
import javax.swing.JPanel;
70
import javax.swing.JScrollPane;
71
import javax.swing.JSplitPane;
72
import javax.swing.JTextArea;
73
import javax.swing.JTextField;
74
import javax.swing.JToggleButton;
75
import javax.swing.JToolBar;
76
import javax.swing.UIManager;
77

    
78
import org.apache.log4j.Logger;
79
import org.apache.log4j.PropertyConfigurator;
80

    
81
import com.iver.andami.messages.Messages;
82
import com.iver.cit.gvsig.fmap.MapControl;
83
import com.iver.cit.gvsig.fmap.ViewPort;
84
import com.iver.cit.gvsig.fmap.layers.FLayer;
85
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
86
import com.iver.cit.gvsig.fmap.tools.PanListenerImpl;
87
import com.iver.cit.gvsig.fmap.tools.RectangleSelectionListener;
88
import com.iver.cit.gvsig.fmap.tools.ZoomInListenerImpl;
89
import com.iver.cit.gvsig.fmap.tools.ZoomOutListenerImpl;
90
import com.iver.cit.gvsig.fmap.tools.ZoomOutRightButtonListener;
91
import com.iver.cit.gvsig.fmap.tools.Behavior.Behavior;
92
import com.iver.cit.gvsig.fmap.tools.Behavior.MouseMovementBehavior;
93
import com.iver.cit.gvsig.fmap.tools.Behavior.MoveBehavior;
94
import com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior;
95
import com.iver.cit.gvsig.fmap.tools.Behavior.RectangleBehavior;
96
import com.iver.cit.gvsig.gui.IView;
97
import com.iver.cit.gvsig.gui.MapOverview;
98
import com.iver.cit.gvsig.gui.Dialogs.FInfoDialog;
99
import com.iver.cit.gvsig.gui.Panels.FPanelAbout;
100
import com.iver.cit.gvsig.gui.toc.TOC;
101
import com.iver.cit.gvsig.gui.toolListeners.InfoListener;
102
import com.iver.cit.gvsig.gui.toolListeners.StatusBarListener;
103
import com.iver.cit.gvsig.gui.toolListeners.ZoomInListener;
104

    
105

    
106
/* import java.awt.GridBagLayout;
107
import java.awt.GridBagConstraints;
108
import java.awt.Insets;
109
import java.awt.Dimension; */
110

    
111
/**
112
 * @author Administrador
113
 *
114
 * To change the template for this generated type comment go to
115
 * Window>Preferences>Java>Code Generation>Code and Comments
116
 */
117
public class SingleView extends JFrame implements IView, WindowListener {
118
        public static ImageObserver m_ImageObserver = null;
119
        private static Logger logger = Logger.getLogger(SingleView.class.getName());
120
        
121
        public JPanel panelvista = null;
122

    
123
        //public FLegend jLeyenda;
124
        //private TOC vTOC;
125
        public MapControl m_MapControl;
126
        public FInfoDialog m_dlgInfo;
127
//         public FProjection m_Projection;
128
        private JScrollPane jscrollTOC;
129
        private TOC m_TOC;
130
        private MapOverview m_MapLoc;
131
        private String m_Name = null;
132
        // private com.iver.cit.opensig.project.View modelo;
133
        
134
    private javax.swing.JMenuItem aboutMenuItem;
135
    private javax.swing.JButton btn_FullExtent;
136
    private javax.swing.JMenuItem contentsMenuItem;
137
    private javax.swing.JMenuItem copyMenuItem;
138
    private javax.swing.JMenuItem cutMenuItem;
139
    private javax.swing.JMenuItem deleteMenuItem;
140
    private javax.swing.JMenu editMenu;
141
    private javax.swing.JMenuItem exitMenuItem;
142
    private javax.swing.JMenu fileMenu;
143
    private javax.swing.JMenu helpMenu;
144
    private javax.swing.JLabel jLabel1;
145
    private javax.swing.JPanel jPanel1;
146
    private javax.swing.JTextField jTextField1;
147
    private javax.swing.JToolBar jToolBar1;
148
    public Export jExport;
149
    private ComandosListener m_acL;
150
    
151
    private javax.swing.JMenuBar menuBar;
152
    
153
    private class myKeyAdapter extends KeyAdapter {
154
                    /* (non-Javadoc)
155
                 * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
156
                 */
157
                public void keyReleased(KeyEvent arg0) {
158
                        System.out.println("Hola colega");
159
                        super.keyReleased(arg0);
160
                }
161

    
162
        }
163
        private myKeyAdapter m_OrejaTeclado = new myKeyAdapter();
164
    /** Button group for pan, zoom, and all exclusive tools */
165
    private ButtonGroup myButtonGroup = new ButtonGroup();
166
    private javax.swing.JMenuItem openMenuItem;
167
    private javax.swing.JMenuItem exportMenuItem;
168
    private javax.swing.JMenuItem pasteMenuItem;
169
    private javax.swing.JMenuItem saveAsMenuItem;
170
    private javax.swing.JMenuItem saveMenuItem;
171
    private javax.swing.JMenu TemaMenu;
172
    private javax.swing.JMenuItem verTabla;
173
    private javax.swing.JMenu VistaMenu;
174
    private JTextArea m_txt;
175
    private JTextField m_txtCoords;
176
    
177

    
178
    SingleView() {
179
            m_ImageObserver = this;
180
        setSize(640, 480);
181
        initComponents();
182

    
183
        // setExtendedState(MAXIMIZED_BOTH);
184
        addWindowListener((WindowListener) this);
185
        // m_Map.addMouseListener(this);
186
        m_dlgInfo = new FInfoDialog();
187
        // addMouseListener(this);
188
        // addKeyListener((KeyListener) this);
189
        addKeyListener(m_OrejaTeclado);
190
        
191
                LayerFactory.setDriversPath("D:/java/eclipse30/eclipse/workspace/Andami/gvSIG/extensiones/com.iver.cit.gvsig/drivers");        
192
        // m_MapControl.addTool(MapControl.ZOOM_MAS);
193
        // m_MapControl.addCoordsListener(this);
194
        
195
    }
196

    
197

    
198
        public MapControl getMapControl()
199
        {
200
                return m_MapControl;
201
        }
202
        public MapControl getMapOverview()
203
        {
204
                return m_MapLoc;
205
        } 
206
        
207
    public static void main(String[] args) {
208
                try {
209
                        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());                        
210
                } catch (Exception e) {
211
                        System.out.println(UIManager.getCrossPlatformLookAndFeelClassName()); 
212
                } 
213
                PropertyConfigurator.configure(SingleView.class.getClassLoader()
214
                                                                                                                 .getResource("log4j.properties"));
215

    
216
                Locale loc = null;
217

    
218
                if (args.length == 0) {
219
                        loc = Locale.getDefault();
220
                } else {
221
                        loc = new Locale(args[0]);
222
                }
223

    
224
                Messages.init(loc);
225

    
226

    
227
        SingleView testApp = new SingleView();
228

    
229
        // testApp.getContentPane().add(elMapa);
230
        testApp.show();
231
        
232
    }
233

    
234
    /**
235
     * Add the tools to the tools panel.
236
     */
237
    private void addTools(JToolBar inPanel, MapControl inDisplay) {
238
        /* inPanel.setLayout(new GridBagLayout());
239
        GridBagConstraints c = new GridBagConstraints();
240
        c.fill = c.HORIZONTAL;
241
        c.insets = new Insets(1,1,1,1);
242
        c.weightx = 1;
243

244
        // set the width of the panel.
245
        inPanel.setPreferredSize(new Dimension(40,40));
246
        inPanel.setMinimumSize(new Dimension(40,10));
247

248

249

250
        c.gridy = 0;
251
        c.gridx = 0; */
252
            
253
            inPanel.setLayout(new BorderLayout());
254
            
255
            JToolBar tempPanel = new JToolBar();
256

    
257
        JButton  btnSymbolManager = new JButton();
258
        btnSymbolManager.setIcon(new javax.swing.ImageIcon(
259
                        "images/Link.png"));
260
        btnSymbolManager.setActionCommand("SYMBOL_MANAGER");
261
        btnSymbolManager.addActionListener(m_acL);
262
        tempPanel.add(btnSymbolManager);
263
            
264
            
265
        btn_FullExtent.setIcon(new javax.swing.ImageIcon(
266
                "images/MapContents.png"));
267
        btn_FullExtent.setActionCommand("ZOOM_TODO");
268
        btn_FullExtent.addActionListener(m_acL);
269
        tempPanel.add(btn_FullExtent);
270
        
271
        JButton  btnZoomPrevio = new JButton();
272
        btnZoomPrevio.setIcon(new javax.swing.ImageIcon(
273
                        "images/ZoomPrevio.png"));
274
        btnZoomPrevio.setActionCommand("ZOOM_PREVIO");
275
        btnZoomPrevio.addActionListener(m_acL);
276
        tempPanel.add(btnZoomPrevio);
277
        
278
        tempPanel.add(new JToolBar.Separator(new java.awt.Dimension(16,16)));
279
                // inPanel.add(new JToolBar.Separator());
280

    
281
        // the select tool not that it does anything
282
        // the zoom in tool
283
        // c.gridy++;
284
        // JRadioButton tempGISButton = new JRadioButton("Zoom In", ? new ZoomInCommand(this));
285
        // JRadioButton tempGISButton = new JRadioButton("Zoom In");
286
        JToggleButton tempGISButton = new JToggleButton("Zoom por rect?ngulo");
287
        tempGISButton.setBorder(null);
288
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/zoomIn.png"));
289

    
290
        // tempGISButton.setSelectedIcon(new javax.swing.ImageIcon("images/zoomPrev.gif"));
291
        // tempGISButton.setRolloverIcon(tempGISButton.getSelectedIcon());
292
        tempGISButton.setRolloverEnabled(true);
293
        tempGISButton.setToolTipText(tempGISButton.getText());
294
        tempGISButton.setText("");
295
        tempGISButton.setSelected(true);
296
        tempGISButton.setActionCommand("ZOOM_MAS");
297
        tempGISButton.addActionListener(m_acL);
298

    
299
        //Listener de eventos de movimiento que pone las coordenadas del rat?n en la barra de estado
300
        StatusBarListener sbl = new StatusBarListener(m_MapControl);
301

    
302
        // Zoom por rect?ngulo
303
        ZoomOutRightButtonListener zoil = new ZoomOutRightButtonListener(m_MapControl);
304
        ZoomInListener zil = new ZoomInListener(m_MapControl);
305
        m_MapControl.addMapTool("zoomIn", new Behavior[]{new RectangleBehavior(zil),
306
                                        new PointBehavior(zoil), new MouseMovementBehavior(sbl)});
307
        
308
        m_MapControl.setTool("zoomIn"); // Por defecto
309
        
310
        //TODO: Antes funcionaba con esto
311
       /*      ZoomInListenerImpl zili = new ZoomInListenerImpl(m_MapControl);
312
            m_MapControl.setCursor(zili.getCursor());
313
            m_MapControl.addMapTool("zoomrect",
314
                    new RectangleBehavior(zili));
315
            m_MapControl.setTool("zoomrect");
316
            */ 
317
        myButtonGroup.add(tempGISButton);
318

    
319
        // inPanel.add(tempGISButton, c);
320
        tempPanel.add(tempGISButton);
321

    
322
        // the zoom out tool
323
        // c.gridy++;
324
        tempGISButton = new JToggleButton("Alejar"); //, new ZoomOutCommand(this));
325
        tempGISButton.setBorder(null);
326
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/zoomOut.png"));
327
        // Zoom out (pinchas y el mapa se centra y te muestra m?s).
328
        // No es dibujando un rect?ngulo, es solo pinchando.
329

    
330
        ZoomOutListenerImpl zoli = new ZoomOutListenerImpl(m_MapControl);
331
        m_MapControl.addMapTool("zoomout", new PointBehavior(zoli));
332
        m_MapControl.setCursor(zoli.getCursor());
333
        
334
        // pan
335

    
336
        PanListenerImpl pli = new PanListenerImpl(m_MapControl);
337
        m_MapControl.setCursor(pli.getCursor());
338
        m_MapControl.addMapTool("pan", new MoveBehavior(pli));
339
        
340
        // info
341
        //Info por punto
342
        InfoListener il = new InfoListener(m_MapControl);
343
        //il.setModel(modelo);
344
        m_MapControl.addMapTool("info", new PointBehavior(il));
345
        
346
        //Selecci?n por rect?ngulo
347
        RectangleSelectionListener rsl = new RectangleSelectionListener(m_MapControl);
348
        m_MapControl.addMapTool("rectSelection",
349
                new RectangleBehavior(rsl));        
350
        
351
        // tempGISButton.setSelectedIcon(getIcon("ZoomOutActive.png"));
352
        // tempGISButton.setRolloverIcon(tempGISButton.getSelectedIcon());
353
        // tempGISButton.setRolloverEnabled(true);
354
        tempGISButton.setToolTipText(tempGISButton.getText());
355
        tempGISButton.setText("");
356
        tempGISButton.setActionCommand("ZOOM_MENOS");
357
        tempGISButton.addActionListener(m_acL);
358

    
359
        myButtonGroup.add(tempGISButton);
360

    
361
        // inPanel.add(tempGISButton, c);
362
        tempPanel.add(tempGISButton);
363

    
364
        // The Pan Tool
365
        // c.gridy++;
366
        tempGISButton = new JToggleButton("Pan Around"); // , new PanCommand(this));
367
        tempGISButton.setBorder(null);
368
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/pan.png")); // getIcon("PanInactive.png"));
369

    
370
        tempGISButton.setToolTipText(tempGISButton.getText());
371
        tempGISButton.setText("");
372
        tempGISButton.setActionCommand("PAN");
373
        tempGISButton.addActionListener(m_acL);
374

    
375
        myButtonGroup.add(tempGISButton);
376
        tempPanel.add(tempGISButton);
377

    
378
        tempGISButton = new JToggleButton("Info"); // , new PanCommand(this));
379
        tempGISButton.setBorder(null);
380
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/identify.png")); // getIcon("PanInactive.png"));
381
        tempGISButton.setToolTipText(tempGISButton.getText());
382
        tempGISButton.setText("");
383
        tempGISButton.setActionCommand("INFO");
384
        tempGISButton.addActionListener(m_acL);
385

    
386
        myButtonGroup.add(tempGISButton);
387
        tempPanel.add(tempGISButton);
388

    
389
        tempGISButton = new JToggleButton("Selecci?n por rect?ngulo"); 
390
        tempGISButton.setBorder(null);
391
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/Select.png")); 
392
        tempGISButton.setToolTipText(tempGISButton.getText());
393
        tempGISButton.setText("");
394
        tempGISButton.setActionCommand("SELRECT");
395
        tempGISButton.addActionListener(m_acL);
396

    
397
        myButtonGroup.add(tempGISButton);
398
        tempPanel.add(tempGISButton);
399
        
400
        
401
        tempGISButton = new JToggleButton("Medir distancia"); // , new PanCommand(this));
402
        tempGISButton.setBorder(null);
403
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/medir.png")); // getIcon("PanInactive.png"));
404
        tempGISButton.setToolTipText(tempGISButton.getText());
405
        tempGISButton.setText("");
406
        tempGISButton.setActionCommand("MEDICION");
407
        tempGISButton.addActionListener(m_acL);
408

    
409
        myButtonGroup.add(tempGISButton);
410
        tempPanel.add(tempGISButton);
411
        
412
        tempGISButton = new JToggleButton("Medir area"); // , new PanCommand(this));
413
        tempGISButton.setBorder(null);
414
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/poligono16.png")); // getIcon("PanInactive.png"));
415
        tempGISButton.setToolTipText(tempGISButton.getText());
416
        tempGISButton.setText("");
417
        tempGISButton.setActionCommand("MEDIRAREA");
418
        tempGISButton.addActionListener(m_acL);
419

    
420
        myButtonGroup.add(tempGISButton);
421
        tempPanel.add(tempGISButton);
422
        
423
        
424

    
425
        
426
        inPanel.setRollover(true);
427

    
428
        /* tempMenuButton = new GISMenuButton(tempEditNodesCommand, tempRadioButton);
429
        tempEditNodesCommand.setButton(tempMenuButton);
430
        tempMenuButton.initPanel();
431
        inPanel.add(tempMenuButton, c); */
432

    
433
        // Add a panel for the additional buttons.
434
        m_txtCoords = new JTextField();
435
        m_txtCoords.setPreferredSize(new Dimension(300,20));
436
        
437
        inPanel.add(tempPanel,BorderLayout.WEST);
438
        inPanel.add(m_txtCoords, BorderLayout.EAST);
439

    
440
        /* c.gridy++;
441
        c.anchor = c.NORTH;
442
        c.weighty = 1;
443
        c.fill = c.HORIZONTAL;
444
        inPanel.add(new JPanel(), c); */
445

    
446
        //        inPanel.add(myAuxillaryButtonPanel, c);
447

    
448
    }
449

    
450
    /** Exit the Application */
451
    private void exitForm(java.awt.event.WindowEvent evt) { //GEN-FIRST:event_exitForm
452
        System.exit(0);
453
    }
454

    
455
    //GEN-LAST:event_exitForm
456
    private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) { //GEN-FIRST:event_exitMenuItemActionPerformed
457
        System.exit(0);
458
    }
459
    
460
        private void info(Point pScreen){
461
                ViewPort vp = m_MapControl.getMapContext().getViewPort();
462
                Point2D pReal = vp.toMapPoint(pScreen);
463

    
464
                FLayer[] sel = m_MapControl.getMapContext().getLayers().getActives();
465

    
466
                // Denro de queryByPoint tenemos que separar los registros que vienen asociados a una 
467
                // capa o a otra. Supongo que lo correcto ser?a que montaramos un XML y usar el visor
468
                // de XML que ha empezado Fernando.
469
                // String strResul = m_MapControl.queryByPoint(pScreen,m_MapControl.toMapDistance(3),"");
470

    
471
                JDialog dlg = new JDialog();
472
                m_dlgInfo.setPreferredSize(m_dlgInfo.getSize());
473
                m_dlgInfo.clearAll();
474
                                
475
                // if (strResul == "" ) return;
476
                String strResul;
477

    
478
                for (int i=0; i< sel.length; i++)
479
                {
480
                        FLayer laCapa = sel[i];
481

    
482
                        /* if (laCapa instanceof FLyrWMS)
483
                        {
484
                                strResul = laCapa.QueryByPoint(pScreen,m_MapControl.toMapDistance(3),"" );
485
                                // System.out.println("LWS: strResul="+strResul);
486
                                m_dlgInfo.addLayerInfo(laCapa.getName(), strResul);
487
                        }
488
                        else
489
                        {
490
                                strResul = laCapa.QueryByPoint(pReal,m_MapControl.toMapDistance(3),"" );
491
                                
492
                        String[] arraySplit = null;
493
                        arraySplit = strResul.split("\n");
494

495
                                if (arraySplit.length > 1)
496
                                {
497
                                        // System.out.println("LWS: strResul="+strResul);
498
                                        String descrip = "";
499
                                        if (laCapa.getParentLayer() != null)
500
                                                descrip = laCapa.getParentLayer().getName() + "_";
501
                                        m_dlgInfo.addLayerInfo(descrip + laCapa.getName(), strResul);
502
                                }
503
                                
504
                        } */                        
505
                }
506
                m_dlgInfo.refresh();
507
                dlg.getContentPane().add(m_dlgInfo);
508
                dlg.setModal(true);                        
509
                dlg.pack();
510
                dlg.show();
511

    
512
        }
513
 
514
    //GEN-LAST:event_exitMenuItemActionPerformed
515
    private void initComponents() { //GEN-BEGIN:initComponents
516
        jToolBar1 = new javax.swing.JToolBar();
517
        btn_FullExtent = new javax.swing.JButton();
518
        jLabel1 = new javax.swing.JLabel();
519
        jTextField1 = new javax.swing.JTextField();
520
        
521
        jPanel1 = new javax.swing.JPanel();
522
        menuBar = new javax.swing.JMenuBar();
523
        fileMenu = new javax.swing.JMenu();
524
        openMenuItem = new javax.swing.JMenuItem();
525
        saveMenuItem = new javax.swing.JMenuItem();
526
        saveAsMenuItem = new javax.swing.JMenuItem();
527
        exportMenuItem = new javax.swing.JMenuItem();
528
        exitMenuItem = new javax.swing.JMenuItem();
529
        editMenu = new javax.swing.JMenu();
530
        cutMenuItem = new javax.swing.JMenuItem();
531
        copyMenuItem = new javax.swing.JMenuItem();
532
        pasteMenuItem = new javax.swing.JMenuItem();
533
        deleteMenuItem = new javax.swing.JMenuItem();
534
        helpMenu = new javax.swing.JMenu();
535
        contentsMenuItem = new javax.swing.JMenuItem();
536
        aboutMenuItem = new javax.swing.JMenuItem();
537

    
538
        VistaMenu = new JMenu();
539
        TemaMenu = new JMenu();
540
        verTabla = new JMenuItem();
541
        
542
        m_txt = new JTextArea(0,0);
543
                // jToolBar1.add(m_txt);
544
                // m_txt.addKeyListener(m_OrejaTeclado);        
545

    
546
        addWindowListener(new java.awt.event.WindowAdapter() {
547
                public void windowClosing(java.awt.event.WindowEvent evt) {
548
                    exitForm(evt);
549
                }
550
            });
551

    
552
        jLabel1.setText("Escala:");
553

    
554
        // jToolBar1.add(jLabel1);
555
        jTextField1.setText("jTextField1");
556

    
557
        // jToolBar1.add(jTextField1);
558

    
559
                m_MapControl = new MapControl();
560

    
561
                m_MapControl.getMapContext().getViewPort()
562
                                .setBackColor(new Color(220,220,255));
563
                
564
                m_TOC = new TOC();
565
                m_TOC.setMapContext(m_MapControl.getMapContext());
566
                m_MapLoc = new MapOverview(m_MapControl);
567
                m_MapLoc.setPreferredSize(new Dimension(150,200));
568
                JSplitPane tempMainSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
569
                tempMainSplit.setPreferredSize(new Dimension(500, 300));
570
                // jscrollTOC = new JScrollPane(m_TOC);
571

    
572
                //jscrollTOC.setPreferredSize(new Dimension(200, 1000));
573
                // jscrollTOC.setSize(300, 600);
574

    
575
                //jscrollTOC.setAutoscrolls(true);
576
                //jscrollTOC.setVisible(true);
577
                // tempMainSplit.setLeftComponent(jscrollTOC);
578
                
579
                // Ponemos el localizador
580
                JSplitPane tempSplitToc = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
581
                
582
                tempSplitToc.setTopComponent(m_TOC);
583
                tempSplitToc.setBottomComponent(m_MapLoc);
584
                tempSplitToc.setResizeWeight(0.7);
585
                tempMainSplit.setLeftComponent(tempSplitToc);
586

    
587
                m_TOC.setVisible(true);
588
                
589
                tempMainSplit.setRightComponent(m_MapControl);
590

    
591
                this.getContentPane().setLayout(new BorderLayout());
592

    
593
                getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
594

    
595
                // getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
596

    
597

    
598
                this.getContentPane().add(tempMainSplit, BorderLayout.CENTER);
599

    
600

    
601
        m_acL = new ComandosListener(m_MapControl, this);
602

    
603
        fileMenu.setText("Fichero");
604
        openMenuItem.setText("A?adir capa...");
605
        openMenuItem.setActionCommand("ADD_LAYER");
606
        openMenuItem.addActionListener(m_acL);
607
        fileMenu.add(openMenuItem);
608

    
609
                JMenuItem abrirEnMemoria = new JMenuItem(); 
610
                abrirEnMemoria.setText("A?adir capa en memoria...");
611
                abrirEnMemoria.setActionCommand("ADD_MEMORY_LAYER");
612
                abrirEnMemoria.addActionListener(m_acL);
613
                fileMenu.add(abrirEnMemoria);
614
                
615

    
616
//                a submenu
617
                JMenu abrirGT2 = new JMenu();
618
                abrirGT2.setText("Abrir capa GT2");
619
                
620
                JMenuItem abrirGT2_Shp = new JMenuItem(); 
621
                abrirGT2_Shp.setText("Shp");
622
                abrirGT2_Shp.setActionCommand("ADD_GT2_SHP");
623
                abrirGT2_Shp.addActionListener(m_acL);                
624
                abrirGT2.add(abrirGT2_Shp);
625

    
626
                JMenuItem abrirGT2_PostGIS_propio = new JMenuItem(); 
627
                abrirGT2_PostGIS_propio.setText("PostGIS propio");
628
                abrirGT2_PostGIS_propio.setActionCommand("ADD_GT2_POSTGIS_PROPIO");
629
                abrirGT2_PostGIS_propio.addActionListener(m_acL);                
630
                abrirGT2.add(abrirGT2_PostGIS_propio);
631
                
632
                // ADD_GT2_MYSQL_PROPIO
633
                JMenuItem abrirGT2_MySQL_propio = new JMenuItem(); 
634
                abrirGT2_MySQL_propio.setText("mySQL propio");
635
                abrirGT2_MySQL_propio.setActionCommand("ADD_GT2_MYSQL_PROPIO");
636
                abrirGT2_MySQL_propio.addActionListener(m_acL);                
637
                abrirGT2.add(abrirGT2_MySQL_propio);
638
                
639
        // ADD_GT2_ARCSDE_PROPIO
640
        JMenuItem abrirGT2_ArcSDE_propio = new JMenuItem(); 
641
        abrirGT2_ArcSDE_propio.setText("ArcSDE propio");
642
        abrirGT2_ArcSDE_propio.setActionCommand("ADD_GT2_ARCSDE_PROPIO");
643
        abrirGT2_ArcSDE_propio.addActionListener(m_acL);     
644
        abrirGT2.add(abrirGT2_ArcSDE_propio);
645
                
646
                JMenuItem abrirGT2_PostGIS = new JMenuItem(); 
647
                abrirGT2_PostGIS.setText("PostGIS");
648
                abrirGT2_PostGIS.setActionCommand("ADD_GT2_POSTGIS");
649
                abrirGT2_PostGIS.addActionListener(m_acL);                
650
                abrirGT2.add(abrirGT2_PostGIS);
651

    
652
                JMenuItem abrirGT2_ArcSDE = new JMenuItem(); 
653
                abrirGT2_ArcSDE.setText("ArcSDE");
654
                abrirGT2_ArcSDE.setActionCommand("ADD_GT2_ARCSDE");
655
                abrirGT2_ArcSDE.addActionListener(m_acL);                
656
                abrirGT2.add(abrirGT2_ArcSDE);
657
                
658
                fileMenu.add(abrirGT2);
659

    
660
                fileMenu.addSeparator();
661
        
662
                JMenuItem prueba = new JMenuItem(); 
663
                prueba.setText("Probar breaks");
664
                prueba.setActionCommand("PRUEBA");
665
                prueba.addActionListener(m_acL);
666
                fileMenu.add(prueba);
667

    
668
        /* saveMenuItem.setText("Guardar");
669
         fileMenu.add(saveMenuItem);
670
         saveAsMenuItem.setText("Guardar como ...");
671
         fileMenu.add(saveAsMenuItem);
672
         */
673
        exportMenuItem.setText("Exportar vista a...");
674
        exportMenuItem.setActionCommand("EXPORT");
675
        exportMenuItem.addActionListener(m_acL);
676
        fileMenu.add(exportMenuItem);
677

    
678
        exitMenuItem.setText("Salir");
679
        exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
680
                public void actionPerformed(java.awt.event.ActionEvent evt) {
681
                    exitMenuItemActionPerformed(evt);
682
                }
683
            });
684

    
685
        fileMenu.add(exitMenuItem);
686

    
687
        menuBar.add(fileMenu);
688

    
689
        /*editMenu.setText("Editar");
690
         cutMenuItem.setText("Cortar");
691
         editMenu.add(cutMenuItem);
692
         copyMenuItem.setText("Copiar");
693
         editMenu.add(copyMenuItem);
694
         pasteMenuItem.setText("Pegar");
695
         editMenu.add(pasteMenuItem);
696
         deleteMenuItem.setText("Borrar");
697
         editMenu.add(deleteMenuItem);
698
         menuBar.add(editMenu);
699
        */
700
        VistaMenu.setText("Vista");
701
        
702
                JMenuItem mnuOpenLocator = new JMenuItem(); 
703
                mnuOpenLocator.setText("Abrir localizador");
704
                mnuOpenLocator.setActionCommand("OPEN_LOCATOR");
705
                mnuOpenLocator.addActionListener(m_acL);
706
                VistaMenu.add(mnuOpenLocator);
707
        
708
        menuBar.add(VistaMenu);
709

    
710
        TemaMenu.setText("Tema");
711
        verTabla.setText("Ver tabla del tema activo...");
712
        verTabla.setActionCommand("VIEW_TABLE");
713
        verTabla.addActionListener(m_acL);
714

    
715
        TemaMenu.add(verTabla);
716
        menuBar.add(TemaMenu);
717

    
718
        helpMenu.setText("Ayuda");
719
              contentsMenuItem.setText("Temas de Ayuda");
720
        helpMenu.add(contentsMenuItem);
721

    
722
        aboutMenuItem.setText("Acerca de...");
723
        aboutMenuItem.addActionListener(new java.awt.event.ActionListener() {
724
            public void actionPerformed(java.awt.event.ActionEvent evt) {
725
                JDialog dlg = new JDialog();
726
                FPanelAbout panelAbout = new FPanelAbout();
727
                panelAbout.setPreferredSize(panelAbout.getSize());                
728
                dlg.getContentPane().add(panelAbout);
729
                dlg.pack();
730
                dlg.setResizable(false);
731
                dlg.setModal(true);
732
                dlg.show();
733
            }
734
        });
735
        
736
        helpMenu.add(aboutMenuItem);
737
        menuBar.add(helpMenu);
738
        
739
        setJMenuBar(menuBar);
740

    
741

    
742
                // m_TOC.refresh();
743

    
744

    
745
        addTools(jToolBar1, m_MapControl);
746
    }
747

    
748
    //GEN-END:initComponents
749

    
750
    /* (non-Javadoc)
751
     * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
752
     */
753
    /* public void mouseClicked(MouseEvent E) {
754
        if (m_Map.m_Estado == FMap.INFO) {
755
            if (m_Map.m_Layers.size() == 0) {
756
                return;
757
            }
758

759
            Point pScreen = E.getPoint();
760
            Point2D.Double pReal = m_Map.ToMapPoint(pScreen);
761
            FLyrVect laCapa = m_TOC.getFirstLayerSelected(); // m_Mapa.GetLayer(0);
762
            String strResul = laCapa.QueryByPoint(pReal, 10);
763

764
            // System.out.println(pScreen);
765
            // System.out.println(pReal);
766
            System.out.println("strResul = " + strResul);
767

768
            // DlgInfo dlgInfo = new DlgInfo(this, true);
769
            m_dlgInfo.clearAll();
770
            m_dlgInfo.addLayerInfo(laCapa.m_LayerName, strResul);
771
            m_dlgInfo.refresh();
772
            m_dlgInfo.show();
773
        }
774
    } */
775
    
776
        public void repaintMap() {
777
                m_MapControl.drawMap(false);
778
                repaint();
779
                // m_Map.refresh();
780
        }
781

    
782

    
783

    
784
    public void windowActivated(WindowEvent e) {
785
    }
786

    
787
    public void windowClosed(WindowEvent e) {
788
        System.out.println("Salgo");
789
    }
790

    
791
    /**
792
     * class for handling messages from the window expecially the window closing event to end
793
     * the process when the window closes.
794
     */
795
    public void windowClosing(WindowEvent e) {
796
        System.out.println("Salgo");
797
        System.exit(0);
798
    }
799

    
800
    public void windowDeactivated(WindowEvent e) {
801
    }
802

    
803
    public void windowDeiconified(WindowEvent e) {
804
    }
805

    
806
    public void windowIconified(WindowEvent e) {
807
    }
808

    
809
    public void windowOpened(WindowEvent e) {
810
    }
811

    
812

    
813
        /* (non-Javadoc)
814
         * @see com.iver.cit.opensig.gui.IView#getTOC()
815
         */
816
        /*public IToc getTOC() {
817
                return m_TOC;
818
        } */
819

    
820
        public void showCoords(double x, double y)
821
        {
822
                m_txtCoords.setText("x= " + x + " y= " + y);
823
        }
824

    
825
        /* (non-Javadoc)
826
         * @see com.iver.cit.opensig.gui.IView#getViewName()
827
         */
828
        public String getViewName() {                
829
                return "Ejemplo de Visor sencillo";
830
        }
831

    
832

    
833
        /* (non-Javadoc)
834
         * @see com.iver.cit.opensig.gui.IView#setViewName(java.lang.String)
835
         */
836
        public void setViewName(String viewName) {
837
                m_Name = viewName;
838
                
839
        }
840

    
841

    
842
        /* (non-Javadoc)
843
         * @see com.iver.cit.gvsig.fmap.ICoordsListener#coordsChanged(double, double)
844
         */
845
        public void coordsChanged(double x, double y) {
846
                showCoords(x, y);
847
                
848
        }
849

    
850

    
851

    
852
        public TOC getTOC() {
853
                return m_TOC;
854
        }
855
}