Statistics
| Revision:

svn-gvsig-desktop / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / DEMO / SingleView.java @ 5258

History | View | Annotate | Download (28.6 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.PolygonBehavior;
96
import com.iver.cit.gvsig.fmap.tools.Behavior.PolylineBehavior;
97
import com.iver.cit.gvsig.fmap.tools.Behavior.RectangleBehavior;
98
import com.iver.cit.gvsig.gui.IView;
99
import com.iver.cit.gvsig.gui.MapOverview;
100
import com.iver.cit.gvsig.gui.Dialogs.FInfoDialog;
101
import com.iver.cit.gvsig.gui.Panels.FPanelAbout;
102
import com.iver.cit.gvsig.gui.toc.TOC;
103
import com.iver.cit.gvsig.gui.toolListeners.AreaListener;
104
import com.iver.cit.gvsig.gui.toolListeners.InfoListener;
105
import com.iver.cit.gvsig.gui.toolListeners.MeasureListener;
106
import com.iver.cit.gvsig.gui.toolListeners.StatusBarListener;
107
import com.iver.cit.gvsig.gui.toolListeners.ZoomInListener;
108

    
109

    
110
/* import java.awt.GridBagLayout;
111
import java.awt.GridBagConstraints;
112
import java.awt.Insets;
113
import java.awt.Dimension; */
114

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

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

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

    
182
    SingleView() {
183
            m_ImageObserver = this;
184
        setSize(640, 480);
185
        initComponents();
186

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

    
202

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

    
221
                Locale loc = null;
222

    
223
                if (args.length == 0) {
224
                        loc = Locale.getDefault();
225
                } else {
226
                        loc = new Locale(args[0]);
227
                }
228

    
229
                Messages.init(loc);
230

    
231

    
232
        SingleView testApp = new SingleView();
233

    
234
        // testApp.getContentPane().add(elMapa);
235
        testApp.show();
236
        
237
    }
238

    
239
    /**
240
     * Add the tools to the tools panel.
241
     */
242
    private void addTools(JToolBar inPanel, MapControl inDisplay) {
243
        /* inPanel.setLayout(new GridBagLayout());
244
        GridBagConstraints c = new GridBagConstraints();
245
        c.fill = c.HORIZONTAL;
246
        c.insets = new Insets(1,1,1,1);
247
        c.weightx = 1;
248

249
        // set the width of the panel.
250
        inPanel.setPreferredSize(new Dimension(40,40));
251
        inPanel.setMinimumSize(new Dimension(40,10));
252

253

254

255
        c.gridy = 0;
256
        c.gridx = 0; */
257
            
258
            inPanel.setLayout(new BorderLayout());
259
            
260
            JToolBar tempPanel = new JToolBar();
261

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

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

    
295
        // tempGISButton.setSelectedIcon(new javax.swing.ImageIcon("images/zoomPrev.gif"));
296
        // tempGISButton.setRolloverIcon(tempGISButton.getSelectedIcon());
297
        tempGISButton.setRolloverEnabled(true);
298
        tempGISButton.setToolTipText(tempGISButton.getText());
299
        tempGISButton.setText("");
300
        tempGISButton.setSelected(true);
301
        tempGISButton.setActionCommand("ZOOM_MAS");
302
        tempGISButton.addActionListener(m_acL);
303

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

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

    
324
        // inPanel.add(tempGISButton, c);
325
        tempPanel.add(tempGISButton);
326

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

    
335
        ZoomOutListenerImpl zoli = new ZoomOutListenerImpl(m_MapControl);
336
        m_MapControl.addMapTool("zoomout", new PointBehavior(zoli));
337
        m_MapControl.setCursor(zoli.getCursor());
338
        
339
        // pan
340

    
341
        PanListenerImpl pli = new PanListenerImpl(m_MapControl);
342
        m_MapControl.setCursor(pli.getCursor());
343
        m_MapControl.addMapTool("pan", new MoveBehavior(pli));
344
        
345
        // info
346
        //Info por punto
347
        InfoListener il = new InfoListener(m_MapControl);
348
        //il.setModel(modelo);
349
        m_MapControl.addMapTool("info", new PointBehavior(il));
350
        
351
        //Selecci?n por rect?ngulo
352
        RectangleSelectionListener rsl = new RectangleSelectionListener(m_MapControl);
353
        m_MapControl.addMapTool("rectSelection",
354
                new RectangleBehavior(rsl));   
355
        
356
        // Medir
357

    
358
        MeasureListener mli = new MeasureListener(m_MapControl);
359
        m_MapControl.addMapTool("medicion", new Behavior[]{new PolylineBehavior(mli), new MouseMovementBehavior(sbl)});
360

    
361
        // Area
362

    
363
        AreaListener ali = new AreaListener(m_MapControl);
364
        m_MapControl.addMapTool("area", new Behavior[]{new PolygonBehavior(ali), new MouseMovementBehavior(sbl)});
365

    
366
        
367
        // tempGISButton.setSelectedIcon(getIcon("ZoomOutActive.png"));
368
        // tempGISButton.setRolloverIcon(tempGISButton.getSelectedIcon());
369
        // tempGISButton.setRolloverEnabled(true);
370
        tempGISButton.setToolTipText(tempGISButton.getText());
371
        tempGISButton.setText("");
372
        tempGISButton.setActionCommand("ZOOM_MENOS");
373
        tempGISButton.addActionListener(m_acL);
374

    
375
        myButtonGroup.add(tempGISButton);
376

    
377
        // inPanel.add(tempGISButton, c);
378
        tempPanel.add(tempGISButton);
379

    
380
        // The Pan Tool
381
        // c.gridy++;
382
        tempGISButton = new JToggleButton("Pan Around"); // , new PanCommand(this));
383
        tempGISButton.setBorder(null);
384
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/pan.png")); // getIcon("PanInactive.png"));
385

    
386
        tempGISButton.setToolTipText(tempGISButton.getText());
387
        tempGISButton.setText("");
388
        tempGISButton.setActionCommand("PAN");
389
        tempGISButton.addActionListener(m_acL);
390

    
391
        myButtonGroup.add(tempGISButton);
392
        tempPanel.add(tempGISButton);
393

    
394
        tempGISButton = new JToggleButton("Info"); // , new PanCommand(this));
395
        tempGISButton.setBorder(null);
396
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/identify.png")); // getIcon("PanInactive.png"));
397
        tempGISButton.setToolTipText(tempGISButton.getText());
398
        tempGISButton.setText("");
399
        tempGISButton.setActionCommand("INFO");
400
        tempGISButton.addActionListener(m_acL);
401

    
402
        myButtonGroup.add(tempGISButton);
403
        tempPanel.add(tempGISButton);
404

    
405
        tempGISButton = new JToggleButton("Selecci?n por rect?ngulo"); 
406
        tempGISButton.setBorder(null);
407
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/Select.png")); 
408
        tempGISButton.setToolTipText(tempGISButton.getText());
409
        tempGISButton.setText("");
410
        tempGISButton.setActionCommand("SELRECT");
411
        tempGISButton.addActionListener(m_acL);
412

    
413
        myButtonGroup.add(tempGISButton);
414
        tempPanel.add(tempGISButton);
415
        
416
        
417
        tempGISButton = new JToggleButton("Medir distancia"); // , new PanCommand(this));
418
        tempGISButton.setBorder(null);
419
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/medir.png")); // getIcon("PanInactive.png"));
420
        tempGISButton.setToolTipText(tempGISButton.getText());
421
        tempGISButton.setText("");
422
        tempGISButton.setActionCommand("MEDICION");
423
        tempGISButton.addActionListener(m_acL);
424

    
425
        myButtonGroup.add(tempGISButton);
426
        tempPanel.add(tempGISButton);
427
        
428
        tempGISButton = new JToggleButton("Medir area"); // , new PanCommand(this));
429
        tempGISButton.setBorder(null);
430
        tempGISButton.setIcon(new javax.swing.ImageIcon("images/poligono16.png")); // getIcon("PanInactive.png"));
431
        tempGISButton.setToolTipText(tempGISButton.getText());
432
        tempGISButton.setText("");
433
        tempGISButton.setActionCommand("MEDIRAREA");
434
        tempGISButton.addActionListener(m_acL);
435

    
436
        myButtonGroup.add(tempGISButton);
437
        tempPanel.add(tempGISButton);
438
        
439
        
440

    
441
        
442
        inPanel.setRollover(true);
443

    
444
        /* tempMenuButton = new GISMenuButton(tempEditNodesCommand, tempRadioButton);
445
        tempEditNodesCommand.setButton(tempMenuButton);
446
        tempMenuButton.initPanel();
447
        inPanel.add(tempMenuButton, c); */
448

    
449
        // Add a panel for the additional buttons.
450
        m_txtCoords = new JTextField();
451
        m_txtCoords.setPreferredSize(new Dimension(300,20));
452
        
453
        inPanel.add(tempPanel,BorderLayout.WEST);
454
        inPanel.add(m_txtCoords, BorderLayout.EAST);
455

    
456
        /* c.gridy++;
457
        c.anchor = c.NORTH;
458
        c.weighty = 1;
459
        c.fill = c.HORIZONTAL;
460
        inPanel.add(new JPanel(), c); */
461

    
462
        //        inPanel.add(myAuxillaryButtonPanel, c);
463

    
464
    }
465

    
466
    /** Exit the Application */
467
    private void exitForm(java.awt.event.WindowEvent evt) { //GEN-FIRST:event_exitForm
468
        System.exit(0);
469
    }
470

    
471
    //GEN-LAST:event_exitForm
472
    private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) { //GEN-FIRST:event_exitMenuItemActionPerformed
473
        System.exit(0);
474
    }
475
    
476
        private void info(Point pScreen){
477
                ViewPort vp = m_MapControl.getMapContext().getViewPort();
478
                Point2D pReal = vp.toMapPoint(pScreen);
479

    
480
                FLayer[] sel = m_MapControl.getMapContext().getLayers().getActives();
481

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

    
487
                JDialog dlg = new JDialog();
488
                m_dlgInfo.setPreferredSize(m_dlgInfo.getSize());
489
                m_dlgInfo.clearAll();
490
                                
491
                // if (strResul == "" ) return;
492
                String strResul;
493

    
494
                for (int i=0; i< sel.length; i++)
495
                {
496
                        FLayer laCapa = sel[i];
497

    
498
                        /* if (laCapa instanceof FLyrWMS)
499
                        {
500
                                strResul = laCapa.QueryByPoint(pScreen,m_MapControl.toMapDistance(3),"" );
501
                                // System.out.println("LWS: strResul="+strResul);
502
                                m_dlgInfo.addLayerInfo(laCapa.getName(), strResul);
503
                        }
504
                        else
505
                        {
506
                                strResul = laCapa.QueryByPoint(pReal,m_MapControl.toMapDistance(3),"" );
507
                                
508
                        String[] arraySplit = null;
509
                        arraySplit = strResul.split("\n");
510

511
                                if (arraySplit.length > 1)
512
                                {
513
                                        // System.out.println("LWS: strResul="+strResul);
514
                                        String descrip = "";
515
                                        if (laCapa.getParentLayer() != null)
516
                                                descrip = laCapa.getParentLayer().getName() + "_";
517
                                        m_dlgInfo.addLayerInfo(descrip + laCapa.getName(), strResul);
518
                                }
519
                                
520
                        } */                        
521
                }
522
                m_dlgInfo.refresh();
523
                dlg.getContentPane().add(m_dlgInfo);
524
                dlg.setModal(true);                        
525
                dlg.pack();
526
                dlg.show();
527

    
528
        }
529
 
530
    //GEN-LAST:event_exitMenuItemActionPerformed
531
    private void initComponents() { //GEN-BEGIN:initComponents
532
        jToolBar1 = new javax.swing.JToolBar();
533
        btn_FullExtent = new javax.swing.JButton();
534
        jLabel1 = new javax.swing.JLabel();
535
        jTextField1 = new javax.swing.JTextField();
536
        
537
        jPanel1 = new javax.swing.JPanel();
538
        menuBar = new javax.swing.JMenuBar();
539
        fileMenu = new javax.swing.JMenu();
540
        openMenuItem = new javax.swing.JMenuItem();
541
        saveMenuItem = new javax.swing.JMenuItem();
542
        saveAsMenuItem = new javax.swing.JMenuItem();
543
        exportMenuItem = new javax.swing.JMenuItem();
544
        exitMenuItem = new javax.swing.JMenuItem();
545
        editMenu = new javax.swing.JMenu();
546
        cutMenuItem = new javax.swing.JMenuItem();
547
        copyMenuItem = new javax.swing.JMenuItem();
548
        pasteMenuItem = new javax.swing.JMenuItem();
549
        deleteMenuItem = new javax.swing.JMenuItem();
550
        helpMenu = new javax.swing.JMenu();
551
        contentsMenuItem = new javax.swing.JMenuItem();
552
        aboutMenuItem = new javax.swing.JMenuItem();
553
     
554
        VistaMenu = new JMenu();
555
        CapaMenu = new JMenu();
556
        verTabla = new JMenuItem();
557
        
558
        m_txt = new JTextArea(0,0);
559
                // jToolBar1.add(m_txt);
560
                // m_txt.addKeyListener(m_OrejaTeclado);        
561

    
562
        addWindowListener(new java.awt.event.WindowAdapter() {
563
                public void windowClosing(java.awt.event.WindowEvent evt) {
564
                    exitForm(evt);
565
                }
566
            });
567

    
568
        jLabel1.setText("Escala:");
569

    
570
        // jToolBar1.add(jLabel1);
571
        jTextField1.setText("jTextField1");
572

    
573
        // jToolBar1.add(jTextField1);
574

    
575
                m_MapControl = new MapControl();
576

    
577
                m_MapControl.getMapContext().getViewPort()
578
                                .setBackColor(new Color(220,220,255));
579
                
580
                m_TOC = new TOC();
581
                m_TOC.setMapContext(m_MapControl.getMapContext());
582
                m_MapLoc = new MapOverview(m_MapControl);
583
                m_MapLoc.setPreferredSize(new Dimension(150,200));
584
                JSplitPane tempMainSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
585
                tempMainSplit.setPreferredSize(new Dimension(500, 300));
586
                // jscrollTOC = new JScrollPane(m_TOC);
587

    
588
                //jscrollTOC.setPreferredSize(new Dimension(200, 1000));
589
                // jscrollTOC.setSize(300, 600);
590

    
591
                //jscrollTOC.setAutoscrolls(true);
592
                //jscrollTOC.setVisible(true);
593
                // tempMainSplit.setLeftComponent(jscrollTOC);
594
                
595
                // Ponemos el localizador
596
                JSplitPane tempSplitToc = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
597
                
598
                tempSplitToc.setTopComponent(m_TOC);
599
                tempSplitToc.setBottomComponent(m_MapLoc);
600
                tempSplitToc.setResizeWeight(0.7);
601
                tempMainSplit.setLeftComponent(tempSplitToc);
602

    
603
                m_TOC.setVisible(true);
604
                
605
                tempMainSplit.setRightComponent(m_MapControl);
606

    
607
                this.getContentPane().setLayout(new BorderLayout());
608

    
609
                getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
610

    
611
                // getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
612

    
613

    
614
                this.getContentPane().add(tempMainSplit, BorderLayout.CENTER);
615

    
616

    
617
        m_acL = new ComandosListener(m_MapControl, this);
618

    
619
        fileMenu.setText("Fichero");
620
        openMenuItem.setText("A?adir capa...");
621
        openMenuItem.setActionCommand("ADD_LAYER");
622
        openMenuItem.addActionListener(m_acL);
623
        fileMenu.add(openMenuItem);
624

    
625
                JMenuItem abrirEnMemoria = new JMenuItem(); 
626
                abrirEnMemoria.setText("A?adir capa en memoria...");
627
                abrirEnMemoria.setActionCommand("ADD_MEMORY_LAYER");
628
                abrirEnMemoria.addActionListener(m_acL);
629
                fileMenu.add(abrirEnMemoria);
630
                
631

    
632
//                a submenu
633
                JMenu abrirGT2 = new JMenu();
634
                abrirGT2.setText("Abrir capa GT2");
635
                
636
                JMenuItem abrirGT2_Shp = new JMenuItem(); 
637
                abrirGT2_Shp.setText("Shp");
638
                abrirGT2_Shp.setActionCommand("ADD_GT2_SHP");
639
                abrirGT2_Shp.addActionListener(m_acL);                
640
                abrirGT2.add(abrirGT2_Shp);
641

    
642
                JMenuItem abrirGT2_PostGIS_propio = new JMenuItem(); 
643
                abrirGT2_PostGIS_propio.setText("PostGIS propio");
644
                abrirGT2_PostGIS_propio.setActionCommand("ADD_GT2_POSTGIS_PROPIO");
645
                abrirGT2_PostGIS_propio.addActionListener(m_acL);                
646
                abrirGT2.add(abrirGT2_PostGIS_propio);
647
                
648
                // ADD_GT2_MYSQL_PROPIO
649
                JMenuItem abrirGT2_MySQL_propio = new JMenuItem(); 
650
                abrirGT2_MySQL_propio.setText("mySQL propio");
651
                abrirGT2_MySQL_propio.setActionCommand("ADD_GT2_MYSQL_PROPIO");
652
                abrirGT2_MySQL_propio.addActionListener(m_acL);                
653
                abrirGT2.add(abrirGT2_MySQL_propio);
654
                
655
        // ADD_GT2_ARCSDE_PROPIO
656
        JMenuItem abrirGT2_ArcSDE_propio = new JMenuItem(); 
657
        abrirGT2_ArcSDE_propio.setText("ArcSDE propio");
658
        abrirGT2_ArcSDE_propio.setActionCommand("ADD_GT2_ARCSDE_PROPIO");
659
        abrirGT2_ArcSDE_propio.addActionListener(m_acL);     
660
        abrirGT2.add(abrirGT2_ArcSDE_propio);
661
                
662
                JMenuItem abrirGT2_PostGIS = new JMenuItem(); 
663
                abrirGT2_PostGIS.setText("PostGIS");
664
                abrirGT2_PostGIS.setActionCommand("ADD_GT2_POSTGIS");
665
                abrirGT2_PostGIS.addActionListener(m_acL);                
666
                abrirGT2.add(abrirGT2_PostGIS);
667

    
668
                JMenuItem abrirGT2_ArcSDE = new JMenuItem(); 
669
                abrirGT2_ArcSDE.setText("ArcSDE");
670
                abrirGT2_ArcSDE.setActionCommand("ADD_GT2_ARCSDE");
671
                abrirGT2_ArcSDE.addActionListener(m_acL);                
672
                abrirGT2.add(abrirGT2_ArcSDE);
673
                
674
                fileMenu.add(abrirGT2);
675

    
676
                fileMenu.addSeparator();
677
        
678
                JMenuItem prueba = new JMenuItem(); 
679
                prueba.setText("Probar breaks");
680
                prueba.setActionCommand("PRUEBA");
681
                prueba.addActionListener(m_acL);
682
                fileMenu.add(prueba);
683

    
684
        /* saveMenuItem.setText("Guardar");
685
         fileMenu.add(saveMenuItem);
686
         saveAsMenuItem.setText("Guardar como ...");
687
         fileMenu.add(saveAsMenuItem);
688
         */
689
        exportMenuItem.setText("Exportar vista a...");
690
        exportMenuItem.setActionCommand("EXPORT");
691
        exportMenuItem.addActionListener(m_acL);
692
        fileMenu.add(exportMenuItem);
693

    
694
        exitMenuItem.setText("Salir");
695
        exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
696
                public void actionPerformed(java.awt.event.ActionEvent evt) {
697
                    exitMenuItemActionPerformed(evt);
698
                }
699
            });
700

    
701
        fileMenu.add(exitMenuItem);
702

    
703
        menuBar.add(fileMenu);
704

    
705
        /*editMenu.setText("Editar");
706
         cutMenuItem.setText("Cortar");
707
         editMenu.add(cutMenuItem);
708
         copyMenuItem.setText("Copiar");
709
         editMenu.add(copyMenuItem);
710
         pasteMenuItem.setText("Pegar");
711
         editMenu.add(pasteMenuItem);
712
         deleteMenuItem.setText("Borrar");
713
         editMenu.add(deleteMenuItem);
714
         menuBar.add(editMenu);
715
        */
716
        VistaMenu.setText("Vista");
717
        
718
                JMenuItem mnuOpenLocator = new JMenuItem(); 
719
                mnuOpenLocator.setText("Abrir localizador");
720
                mnuOpenLocator.setActionCommand("OPEN_LOCATOR");
721
                mnuOpenLocator.addActionListener(m_acL);
722
                VistaMenu.add(mnuOpenLocator);
723
        
724
        menuBar.add(VistaMenu);
725

    
726
        CapaMenu.setText("Capaa");
727
        verTabla.setText("Ver tabla de la capa activa...");
728
        verTabla.setActionCommand("VIEW_TABLE");
729
        verTabla.addActionListener(m_acL);
730

    
731
        CapaMenu.add(verTabla);
732
        menuBar.add(CapaMenu);
733

    
734
        helpMenu.setText("Ayuda");
735
              contentsMenuItem.setText("Temas de Ayuda");
736
        helpMenu.add(contentsMenuItem);
737

    
738
        aboutMenuItem.setText("Acerca de...");
739
        aboutMenuItem.addActionListener(new java.awt.event.ActionListener() {
740
            public void actionPerformed(java.awt.event.ActionEvent evt) {
741
                JDialog dlg = new JDialog();
742
                FPanelAbout panelAbout = new FPanelAbout();
743
                panelAbout.setPreferredSize(panelAbout.getSize());                
744
                dlg.getContentPane().add(panelAbout);
745
                dlg.pack();
746
                dlg.setResizable(false);
747
                dlg.setModal(true);
748
                dlg.show();
749
            }
750
        });
751
        
752
        helpMenu.add(aboutMenuItem);
753
        menuBar.add(helpMenu);
754
        
755
        setJMenuBar(menuBar);
756

    
757

    
758
                // m_TOC.refresh();
759

    
760

    
761
        addTools(jToolBar1, m_MapControl);
762
    }
763

    
764
    //GEN-END:initComponents
765

    
766
    /* (non-Javadoc)
767
     * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
768
     */
769
    /* public void mouseClicked(MouseEvent E) {
770
        if (m_Map.m_Estado == FMap.INFO) {
771
            if (m_Map.m_Layers.size() == 0) {
772
                return;
773
            }
774

775
            Point pScreen = E.getPoint();
776
            Point2D.Double pReal = m_Map.ToMapPoint(pScreen);
777
            FLyrVect laCapa = m_TOC.getFirstLayerSelected(); // m_Mapa.GetLayer(0);
778
            String strResul = laCapa.QueryByPoint(pReal, 10);
779

780
            // System.out.println(pScreen);
781
            // System.out.println(pReal);
782
            System.out.println("strResul = " + strResul);
783

784
            // DlgInfo dlgInfo = new DlgInfo(this, true);
785
            m_dlgInfo.clearAll();
786
            m_dlgInfo.addLayerInfo(laCapa.m_LayerName, strResul);
787
            m_dlgInfo.refresh();
788
            m_dlgInfo.show();
789
        }
790
    } */
791
    
792
        public void repaintMap() {
793
                m_MapControl.drawMap(false);
794
                repaint();
795
                // m_Map.refresh();
796
        }
797

    
798

    
799

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

    
803
    public void windowClosed(WindowEvent e) {
804
        System.out.println("Salgo");
805
    }
806

    
807
    /**
808
     * class for handling messages from the window expecially the window closing event to end
809
     * the process when the window closes.
810
     */
811
    public void windowClosing(WindowEvent e) {
812
        System.out.println("Salgo");
813
        System.exit(0);
814
    }
815

    
816
    public void windowDeactivated(WindowEvent e) {
817
    }
818

    
819
    public void windowDeiconified(WindowEvent e) {
820
    }
821

    
822
    public void windowIconified(WindowEvent e) {
823
    }
824

    
825
    public void windowOpened(WindowEvent e) {
826
    }
827

    
828

    
829
        /* (non-Javadoc)
830
         * @see com.iver.cit.opensig.gui.IView#getTOC()
831
         */
832
        /*public IToc getTOC() {
833
                return m_TOC;
834
        } */
835

    
836
        public void showCoords(double x, double y)
837
        {
838
                m_txtCoords.setText("x= " + x + " y= " + y);
839
        }
840

    
841
        /* (non-Javadoc)
842
         * @see com.iver.cit.opensig.gui.IView#getViewName()
843
         */
844
        public String getViewName() {                
845
                return "Ejemplo de Visor sencillo";
846
        }
847

    
848

    
849
        /* (non-Javadoc)
850
         * @see com.iver.cit.opensig.gui.IView#setViewName(java.lang.String)
851
         */
852
        public void setViewName(String viewName) {
853
                m_Name = viewName;
854
                
855
        }
856

    
857

    
858
        /* (non-Javadoc)
859
         * @see com.iver.cit.gvsig.fmap.ICoordsListener#coordsChanged(double, double)
860
         */
861
        public void coordsChanged(double x, double y) {
862
                showCoords(x, y);
863
                
864
        }
865

    
866

    
867

    
868
        public TOC getTOC() {
869
                return m_TOC;
870
        }
871
}