Revision 14900

View differences:

import/ext3D/trunk/ext3D/src/com/iver/ai2/gvsig3d/gui/View3D.java
1
/* Generated by Together */
2

  
3
package com.iver.ai2.gvsig3d.gui;
4

  
5
import java.awt.BorderLayout;
6
import java.awt.Color;
7
import java.awt.Dimension;
8
import java.beans.PropertyChangeEvent;
9
import java.beans.PropertyChangeListener;
10

  
11
import javax.swing.JSplitPane;
12
import javax.swing.JOptionPane;
13

  
14
import com.iver.andami.PluginServices;
15
import com.iver.andami.ui.mdiManager.WindowInfo;
16
import com.iver.cit.gvsig.fmap.ColorEvent;
17
import com.iver.cit.gvsig.fmap.ExtentEvent;
18
import com.iver.cit.gvsig.fmap.MapContext;
19
import com.iver.cit.gvsig.fmap.MapControl;
20
import com.iver.cit.gvsig.fmap.ProjectionEvent;
21
import com.iver.cit.gvsig.fmap.ViewPortListener;
22
import com.iver.cit.gvsig.fmap.core.v02.FConstant;
23
import com.iver.cit.gvsig.fmap.layers.CancelationException;
24
import com.iver.cit.gvsig.fmap.layers.FLayers;
25
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
26
import com.iver.cit.gvsig.fmap.layers.LayerCollectionEvent;
27
import com.iver.cit.gvsig.fmap.layers.LayerCollectionListener;
28
import com.iver.cit.gvsig.fmap.layers.LayerPositionEvent;
29
import com.iver.cit.gvsig.fmap.tools.ZoomOutRightButtonListener;
30
import com.iver.cit.gvsig.fmap.tools.Behavior.Behavior;
31
import com.iver.cit.gvsig.fmap.tools.Behavior.MouseMovementBehavior;
32
import com.iver.cit.gvsig.fmap.tools.Behavior.MoveBehavior;
33
import com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior;
34
import com.iver.cit.gvsig.fmap.tools.Behavior.PolygonBehavior;
35
import com.iver.cit.gvsig.fmap.tools.Behavior.PolylineBehavior;
36
import com.iver.cit.gvsig.fmap.tools.Behavior.RectangleBehavior;
37
import com.iver.cit.gvsig.gui.toolListeners.AreaListener;
38
import com.iver.cit.gvsig.gui.toolListeners.InfoListener;
39
import com.iver.cit.gvsig.gui.toolListeners.LinkListener;
40
import com.iver.cit.gvsig.gui.toolListeners.MeasureListener;
41
import com.iver.cit.gvsig.gui.toolListeners.PanListener;
42
import com.iver.cit.gvsig.gui.toolListeners.PointSelectListener;
43
import com.iver.cit.gvsig.gui.toolListeners.PolygonSelectListener;
44
import com.iver.cit.gvsig.gui.toolListeners.RectangleSelectListener;
45
import com.iver.cit.gvsig.gui.toolListeners.SelectImageListener;
46
import com.iver.cit.gvsig.gui.toolListeners.StatusBarListener;
47
import com.iver.cit.gvsig.gui.toolListeners.ZoomInListener;
48
import com.iver.cit.gvsig.gui.toolListeners.ZoomOutListener;
49
import com.iver.cit.gvsig.gui.toolListeners.ZoomPixelCursorListener;
50
import com.iver.cit.gvsig.project.documents.view.MapOverview;
51
import com.iver.cit.gvsig.project.documents.view.ProjectView;
52
import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
53
import com.iver.cit.gvsig.project.documents.view.gui.View;
54
import com.iver.cit.gvsig.project.documents.view.toc.gui.TOC;
55
import com.iver.ai2.gvsig3d.ProjectView3D;
56
import com.iver.ai2.gvsig3d.layers.FLayers3D;
57

  
58
//import java.awt.BorderLayout;
59

  
60
//import javax.swing.JPanel;
61
//import javax.swing.JPopupMenu;
62

  
63
//import com.iver.andami.PluginServices;
64
//import com.iver.andami.ui.mdiManager.IWindow;
65
//import com.iver.andami.ui.mdiManager.WindowInfo;
66

  
67
import es.upv.ai2.libjosg.planets.Planet;
68
import es.upv.ai2.libjosg.planets.TileListener;
69
import es.upv.ai2.libjosg.viewer.Viewer;
70

  
71
public class View3D extends BaseView {
72

  
73
    private static final long serialVersionUID = 1L;
74

  
75
	private Viewer m_canvas3d;
76
	private Planet m_planet;
77

  
78
	private FLayers m_layers;
79

  
80
	public View3D() {
81
		this.setName("View3D");
82
        //this.setName(Utilities.getMessage(this, "Vista")+ " : "+modelo.getName());
83
        // this.setPreferredSize(new Dimension(500, 300));
84

  
85
		// AI2 objects
86
		m_canvas3d = new Viewer();
87

  
88
		m_canvas3d.startAnimator();
89
		m_planet = new Planet();
90
		m_planet.createPlanet();
91
		m_canvas3d.setSceneData(m_planet);
92
		m_canvas3d.setEnabledLighting(true);
93

  
94
        initComponents();
95
	}
96

  
97
	protected void finalize() throws Throwable {
98
		m_canvas3d.stopAnimator();
99
		m_planet.dispose();
100
	 	m_canvas3d.dispose();
101
	}
102

  
103
	public void setModel(ProjectView3D model) {
104
        this.modelo = model;
105
        //Se registra como listener de cambios en FMap
106
        MapContext fmap = modelo.getMapContext();
107

  
108
        m_layers = fmap.getLayers();
109
		/*for (int i=0;i<layers.getLayersCount();i++){
110
			if (layers.getLayer(i).isEditing() && layers.getLayer(i) instanceof FLyrVect){
111
				this.showConsole();
112
			}
113
		}*/
114
		model.setAndamiView(this);
115

  
116
		// Make layers listen to tile requests
117
		m_planet.setTileListener((TileListener)m_layers);
118

  
119
		// Pass JOSG objects to FLayers3D
120
		FLayers3D layers3D = (FLayers3D)m_layers;
121
		layers3D.setPlanet(m_planet);
122
		layers3D.setViewer(m_canvas3d);
123

  
124
		//Se configura el mapControl
125
        m_MapControl.setMapContext(fmap);
126
        m_TOC.setMapContext(fmap);
127
        m_MapControl.setBackground(new Color(255, 255, 255));
128
        if (modelo.getMapOverViewContext()!=null){
129
        	m_MapLoc.setModel(modelo.getMapOverViewContext());
130
        }
131
        model.addPropertyChangeListener(new PropertyChangeListener() {
132
			public void propertyChange(PropertyChangeEvent evt) {
133
				if (evt.getPropertyName().equals("name")){
134
					PluginServices.getMDIManager().getWindowInfo(View3D.this).setTitle("Vista 3D: " + (String)evt.getNewValue());
135
				}
136
			}
137
		});
138
        if (m_MapControl.getViewPort() != null){
139
	        m_MapControl.getViewPort().addViewPortListener(new ViewPortListener() {
140
				public void extentChanged(ExtentEvent e) {
141
					/*if (PluginServices.getMainFrame() != null){
142
						PluginServices.getMainFrame().getStatusBar().setControlValue("scale",String.valueOf(m_MapControl.getMapContext().getScaleView()));
143
						PluginServices.getMainFrame().getStatusBar().setMessage("projection", getMapControl().getViewPort().getProjection().getAbrev());
144
					}*/
145
				}
146

  
147
				public void backColorChanged(ColorEvent e) {
148
				}
149

  
150
				public void projectionChanged(ProjectionEvent e) {
151
					m_MapLoc.setProjection(e.getNewProjection());
152
				}
153
			});
154
	      }
155
    }
156

  
157
	/**
158
	 * DOCUMENT ME!
159
	 */
160
	// FALTA CONVERTIR QUE CANVAS3D HAGA EL PAPEL DE m_MapControl
161

  
162
    protected void initComponents() { // GEN-BEGIN:initComponents
163
        m_MapControl = new MapControl(); // Default is paintEnabled = false.
164
											// Remember to activate it
165
        m_MapControl.addExceptionListener(mapControlExceptionListener);
166
        // modelo.setMapContext(m_MapControl.getMapContext());
167

  
168
        // m_MapControl.setAcceptEvents(true); Lo comento porque ya se hace en el setModel
169
        m_TOC = new TOC();
170

  
171
        // Ponemos el localizador
172
        m_MapLoc = new MapOverview(m_MapControl);
173
        m_MapLoc.setPreferredSize(new Dimension(150, 200));
174
		removeAll();
175
		//JSplitPane split = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
176
		tempMainSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
177
		tempMainSplit.setPreferredSize(new Dimension(500, 300));
178
		if (!isPalette()){
179
			JSplitPane tempSplitToc = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
180
			tempSplitToc.setTopComponent(m_TOC);
181
			tempSplitToc.setBottomComponent(m_MapLoc);
182
			tempSplitToc.setResizeWeight(0.7);
183
			tempMainSplit.setLeftComponent(tempSplitToc);
184
		}else{
185
			tempMainSplit.setLeftComponent(m_TOC);
186
		}
187
		m_TOC.setVisible(true);
188
		tempMainSplit.setRightComponent(m_canvas3d /*m_MapControl*/);
189
		//split.setBottomComponent(getConsolePanel());
190
		//split.setTopComponent(tempMainSplit);
191
		// split.setResizeWeight(0.9);
192
		this.setLayout(new BorderLayout());
193
		this.add(tempMainSplit, BorderLayout.CENTER);
194

  
195
        // hideConsole();
196

  
197
        //Listener de eventos de movimiento que pone las coordenadas del rat?n en la barra de estado
198
        /*StatusBarListener sbl = new StatusBarListener(m_MapControl);
199

  
200
        // Zoom out (pinchas y el mapa se centra y te muestra m?s).
201
        // No es dibujando un rect?ngulo, es solo pinchando.
202

  
203
        ZoomOutListener zol = new ZoomOutListener(m_MapControl);
204
        m_MapControl.addMapTool("zoomOut", new Behavior[]{new PointBehavior(zol), new MouseMovementBehavior(sbl)});
205

  
206
        // pan
207

  
208
        PanListener pl = new PanListener(m_MapControl);
209
        m_MapControl.addMapTool("pan", new Behavior[]{new MoveBehavior(pl), new MouseMovementBehavior(sbl)});
210

  
211
        // Medir
212

  
213
        MeasureListener mli = new MeasureListener(m_MapControl);
214
        m_MapControl.addMapTool("medicion", new Behavior[]{new PolylineBehavior(mli), new MouseMovementBehavior(sbl)});
215

  
216
        // Area
217

  
218
        AreaListener ali = new AreaListener(m_MapControl);
219
        m_MapControl.addMapTool("area", new Behavior[]{new PolygonBehavior(ali), new MouseMovementBehavior(sbl)});
220

  
221
        //Seleccion por punto
222
        PointSelectListener psl = new PointSelectListener(m_MapControl);
223
        m_MapControl.addMapTool("pointSelection", new Behavior[]{new PointBehavior(psl), new MouseMovementBehavior(sbl)});
224

  
225
        //Info por punto
226
        InfoListener il = new InfoListener(m_MapControl);
227
        m_MapControl.addMapTool("info", new Behavior[]{new PointBehavior(il), new MouseMovementBehavior(sbl)});
228

  
229
//      Link por punto
230
        LinkListener ll = new LinkListener(m_MapControl);
231
        m_MapControl.addMapTool("link", new Behavior[]{new PointBehavior(ll), new MouseMovementBehavior(sbl)});
232

  
233
        //Selecci?n por rect?ngulo
234
        RectangleSelectListener rsl = new RectangleSelectListener(m_MapControl);
235
        m_MapControl.addMapTool("rectSelection", new Behavior[]{new RectangleBehavior(rsl), new MouseMovementBehavior(sbl)});
236

  
237
        //Selecci?n por pol?gono
238
        PolygonSelectListener poligSel = new PolygonSelectListener(m_MapControl);
239
        m_MapControl.addMapTool("polSelection", new Behavior[]{new PolygonBehavior(poligSel), new MouseMovementBehavior(sbl)});
240

  
241
        // Zoom por rect?ngulo
242
        ZoomOutRightButtonListener zoil = new ZoomOutRightButtonListener(m_MapControl);
243
        ZoomInListener zil = new ZoomInListener(m_MapControl);
244
        m_MapControl.addMapTool("zoomIn", new Behavior[]{new RectangleBehavior(zil),
245
        				new PointBehavior(zoil), new MouseMovementBehavior(sbl)});
246

  
247
        SelectImageListener sil = new SelectImageListener(m_MapControl);
248
        m_MapControl.addMapTool("selectImage", new Behavior[]{
249
				new PointBehavior(sil), new MouseMovementBehavior(sbl)});
250

  
251
        ZoomPixelCursorListener zp = new ZoomPixelCursorListener(m_MapControl);
252
        m_MapControl.addMapTool("zoom_pixel_cursor", new Behavior[]{new PointBehavior(zp), new MouseMovementBehavior(sbl)});
253

  
254
        m_MapControl.setTool("zoomIn"); // Por defecto
255
        // m_MapControl.setPaintEnabled(true);*/
256
    }
257

  
258
	public WindowInfo getWindowInfo() {
259
		WindowInfo wInfo = new WindowInfo(WindowInfo.ICONIFIABLE |
260
				WindowInfo.MAXIMIZABLE |
261
				WindowInfo.RESIZABLE);
262
		// TODO : seguir ejemplo BaseView para utilizar el nombre del modelo
263
		wInfo.setTitle(PluginServices.getText(this,"title"));
264
		wInfo.setHeight(300);
265
		wInfo.setWidth(400);
266
		return wInfo;
267
	}
268

  
269
	public Viewer getCanvas3d() {
270
		return m_canvas3d;
271
	}
272

  
273
	public void setCanvas3d(Viewer canvas3d) {
274
		m_canvas3d = canvas3d;
275
	}
276

  
277
	public Planet getPlanet() {
278
		return m_planet;
279
	}
280

  
281
	public void setPlanet(Planet planet) {
282
		if(m_canvas3d == null) return;
283
		m_planet = planet;
284
		m_canvas3d.setSceneData(m_planet);
285
	}
286

  
287
	public void windowActivated() {
288
		m_canvas3d.getContext().makeCurrent();
289

  
290
	}
291

  
292
	public void windowClosed() {
293

  
294
	}
295

  
296
}
1
/* Generated by Together */
2

  
3
package com.iver.ai2.gvsig3d.gui;
4

  
5
import java.awt.BorderLayout;
6
import java.awt.Color;
7
import java.awt.Dimension;
8
import java.beans.PropertyChangeEvent;
9
import java.beans.PropertyChangeListener;
10

  
11
import javax.swing.JSplitPane;
12
import javax.swing.JOptionPane;
13

  
14
import com.iver.andami.PluginServices;
15
import com.iver.andami.ui.mdiManager.WindowInfo;
16
import com.iver.cit.gvsig.fmap.ColorEvent;
17
import com.iver.cit.gvsig.fmap.ExtentEvent;
18
import com.iver.cit.gvsig.fmap.MapContext;
19
import com.iver.cit.gvsig.fmap.MapControl;
20
import com.iver.cit.gvsig.fmap.ProjectionEvent;
21
import com.iver.cit.gvsig.fmap.ViewPortListener;
22
import com.iver.cit.gvsig.fmap.core.v02.FConstant;
23
import com.iver.cit.gvsig.fmap.layers.CancelationException;
24
import com.iver.cit.gvsig.fmap.layers.FLayers;
25
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
26
import com.iver.cit.gvsig.fmap.layers.LayerCollectionEvent;
27
import com.iver.cit.gvsig.fmap.layers.LayerCollectionListener;
28
import com.iver.cit.gvsig.fmap.layers.LayerPositionEvent;
29
import com.iver.cit.gvsig.fmap.tools.ZoomOutRightButtonListener;
30
import com.iver.cit.gvsig.fmap.tools.Behavior.Behavior;
31
import com.iver.cit.gvsig.fmap.tools.Behavior.MouseMovementBehavior;
32
import com.iver.cit.gvsig.fmap.tools.Behavior.MoveBehavior;
33
import com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior;
34
import com.iver.cit.gvsig.fmap.tools.Behavior.PolygonBehavior;
35
import com.iver.cit.gvsig.fmap.tools.Behavior.PolylineBehavior;
36
import com.iver.cit.gvsig.fmap.tools.Behavior.RectangleBehavior;
37
import com.iver.cit.gvsig.gui.toolListeners.AreaListener;
38
import com.iver.cit.gvsig.gui.toolListeners.InfoListener;
39
import com.iver.cit.gvsig.gui.toolListeners.LinkListener;
40
import com.iver.cit.gvsig.gui.toolListeners.MeasureListener;
41
import com.iver.cit.gvsig.gui.toolListeners.PanListener;
42
import com.iver.cit.gvsig.gui.toolListeners.PointSelectListener;
43
import com.iver.cit.gvsig.gui.toolListeners.PolygonSelectListener;
44
import com.iver.cit.gvsig.gui.toolListeners.RectangleSelectListener;
45
import com.iver.cit.gvsig.gui.toolListeners.SelectImageListener;
46
import com.iver.cit.gvsig.gui.toolListeners.StatusBarListener;
47
import com.iver.cit.gvsig.gui.toolListeners.ZoomInListener;
48
import com.iver.cit.gvsig.gui.toolListeners.ZoomOutListener;
49
import com.iver.cit.gvsig.gui.toolListeners.ZoomPixelCursorListener;
50
import com.iver.cit.gvsig.project.documents.view.MapOverview;
51
import com.iver.cit.gvsig.project.documents.view.ProjectView;
52
import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
53
import com.iver.cit.gvsig.project.documents.view.gui.View;
54
import com.iver.cit.gvsig.project.documents.view.toc.gui.TOC;
55
import com.iver.ai2.gvsig3d.ProjectView3D;
56
import com.iver.ai2.gvsig3d.map3d.layers.FLayers3D;
57

  
58
//import java.awt.BorderLayout;
59

  
60
//import javax.swing.JPanel;
61
//import javax.swing.JPopupMenu;
62

  
63
//import com.iver.andami.PluginServices;
64
//import com.iver.andami.ui.mdiManager.IWindow;
65
//import com.iver.andami.ui.mdiManager.WindowInfo;
66

  
67
import es.upv.ai2.libjosg.planets.Planet;
68
import es.upv.ai2.libjosg.planets.TileListener;
69
import es.upv.ai2.libjosg.viewer.Viewer;
70

  
71
public class View3D extends BaseView {
72

  
73
    private static final long serialVersionUID = 1L;
74

  
75
	private Viewer m_canvas3d;
76
	private Planet m_planet;
77

  
78
	private FLayers m_layers;
79

  
80
	public View3D() {
81
		this.setName("View3D");
82
        //this.setName(Utilities.getMessage(this, "Vista")+ " : "+modelo.getName());
83
        // this.setPreferredSize(new Dimension(500, 300));
84

  
85
		// AI2 objects
86
		m_canvas3d = new Viewer();
87

  
88
		m_canvas3d.startAnimator();
89
		m_planet = new Planet();
90
		m_planet.createPlanet();
91
		m_canvas3d.setSceneData(m_planet);
92
		m_canvas3d.setEnabledLighting(true);
93

  
94
        initComponents();
95
	}
96

  
97
	protected void finalize() throws Throwable {
98
		m_canvas3d.stopAnimator();
99
		m_planet.dispose();
100
	 	m_canvas3d.dispose();
101
	}
102

  
103
	public void setModel(ProjectView3D model) {
104
        this.modelo = model;
105
        //Se registra como listener de cambios en FMap
106
        MapContext fmap = modelo.getMapContext();
107

  
108
        m_layers = fmap.getLayers();
109
		/*for (int i=0;i<layers.getLayersCount();i++){
110
			if (layers.getLayer(i).isEditing() && layers.getLayer(i) instanceof FLyrVect){
111
				this.showConsole();
112
			}
113
		}*/
114

  
115
		// Make layers listen to tile requests
116
		m_planet.setTileListener((TileListener)m_layers);
117

  
118
		// Pass JOSG objects to FLayers3D
119
		FLayers3D layers3D = (FLayers3D)m_layers;
120
		layers3D.setPlanet(m_planet);
121
		layers3D.setViewer(m_canvas3d);
122

  
123
		//Se configura el mapControl
124
        m_MapControl.setMapContext(fmap);
125
        m_TOC.setMapContext(fmap);
126
        m_MapControl.setBackground(new Color(255, 255, 255));
127
        if (modelo.getMapOverViewContext()!=null){
128
        	m_MapLoc.setModel(modelo.getMapOverViewContext());
129
        }
130
        model.addPropertyChangeListener(new PropertyChangeListener() {
131
			public void propertyChange(PropertyChangeEvent evt) {
132
				if (evt.getPropertyName().equals("name")){
133
					PluginServices.getMDIManager().getWindowInfo(View3D.this).setTitle("Vista 3D: " + (String)evt.getNewValue());
134
				}
135
			}
136
		});
137
        if (m_MapControl.getViewPort() != null){
138
	        m_MapControl.getViewPort().addViewPortListener(new ViewPortListener() {
139
				public void extentChanged(ExtentEvent e) {
140
					/*if (PluginServices.getMainFrame() != null){
141
						PluginServices.getMainFrame().getStatusBar().setControlValue("scale",String.valueOf(m_MapControl.getMapContext().getScaleView()));
142
						PluginServices.getMainFrame().getStatusBar().setMessage("projection", getMapControl().getViewPort().getProjection().getAbrev());
143
					}*/
144
				}
145

  
146
				public void backColorChanged(ColorEvent e) {
147
				}
148

  
149
				public void projectionChanged(ProjectionEvent e) {
150
					m_MapLoc.setProjection(e.getNewProjection());
151
				}
152
			});
153
	      }
154
    }
155

  
156
	/**
157
	 * DOCUMENT ME!
158
	 */
159
	// FALTA CONVERTIR QUE CANVAS3D HAGA EL PAPEL DE m_MapControl
160

  
161
    protected void initComponents() { // GEN-BEGIN:initComponents
162
        m_MapControl = new MapControl(); // Default is paintEnabled = false.
163
											// Remember to activate it
164
        m_MapControl.addExceptionListener(mapControlExceptionListener);
165
        // modelo.setMapContext(m_MapControl.getMapContext());
166

  
167
        // m_MapControl.setAcceptEvents(true); Lo comento porque ya se hace en el setModel
168
        m_TOC = new TOC();
169

  
170
        // Ponemos el localizador
171
        m_MapLoc = new MapOverview(m_MapControl);
172
        m_MapLoc.setPreferredSize(new Dimension(150, 200));
173
		removeAll();
174
		//JSplitPane split = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
175
		tempMainSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
176
		tempMainSplit.setPreferredSize(new Dimension(500, 300));
177
		if (!isPalette()){
178
			JSplitPane tempSplitToc = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
179
			tempSplitToc.setTopComponent(m_TOC);
180
			tempSplitToc.setBottomComponent(m_MapLoc);
181
			tempSplitToc.setResizeWeight(0.7);
182
			tempMainSplit.setLeftComponent(tempSplitToc);
183
		}else{
184
			tempMainSplit.setLeftComponent(m_TOC);
185
		}
186
		m_TOC.setVisible(true);
187
		tempMainSplit.setRightComponent(m_canvas3d /*m_MapControl*/);
188
		//split.setBottomComponent(getConsolePanel());
189
		//split.setTopComponent(tempMainSplit);
190
		// split.setResizeWeight(0.9);
191
		this.setLayout(new BorderLayout());
192
		this.add(tempMainSplit, BorderLayout.CENTER);
193

  
194
        // hideConsole();
195

  
196
        //Listener de eventos de movimiento que pone las coordenadas del rat?n en la barra de estado
197
        /*StatusBarListener sbl = new StatusBarListener(m_MapControl);
198

  
199
        // Zoom out (pinchas y el mapa se centra y te muestra m?s).
200
        // No es dibujando un rect?ngulo, es solo pinchando.
201

  
202
        ZoomOutListener zol = new ZoomOutListener(m_MapControl);
203
        m_MapControl.addMapTool("zoomOut", new Behavior[]{new PointBehavior(zol), new MouseMovementBehavior(sbl)});
204

  
205
        // pan
206

  
207
        PanListener pl = new PanListener(m_MapControl);
208
        m_MapControl.addMapTool("pan", new Behavior[]{new MoveBehavior(pl), new MouseMovementBehavior(sbl)});
209

  
210
        // Medir
211

  
212
        MeasureListener mli = new MeasureListener(m_MapControl);
213
        m_MapControl.addMapTool("medicion", new Behavior[]{new PolylineBehavior(mli), new MouseMovementBehavior(sbl)});
214

  
215
        // Area
216

  
217
        AreaListener ali = new AreaListener(m_MapControl);
218
        m_MapControl.addMapTool("area", new Behavior[]{new PolygonBehavior(ali), new MouseMovementBehavior(sbl)});
219

  
220
        //Seleccion por punto
221
        PointSelectListener psl = new PointSelectListener(m_MapControl);
222
        m_MapControl.addMapTool("pointSelection", new Behavior[]{new PointBehavior(psl), new MouseMovementBehavior(sbl)});
223

  
224
        //Info por punto
225
        InfoListener il = new InfoListener(m_MapControl);
226
        m_MapControl.addMapTool("info", new Behavior[]{new PointBehavior(il), new MouseMovementBehavior(sbl)});
227

  
228
//      Link por punto
229
        LinkListener ll = new LinkListener(m_MapControl);
230
        m_MapControl.addMapTool("link", new Behavior[]{new PointBehavior(ll), new MouseMovementBehavior(sbl)});
231

  
232
        //Selecci?n por rect?ngulo
233
        RectangleSelectListener rsl = new RectangleSelectListener(m_MapControl);
234
        m_MapControl.addMapTool("rectSelection", new Behavior[]{new RectangleBehavior(rsl), new MouseMovementBehavior(sbl)});
235

  
236
        //Selecci?n por pol?gono
237
        PolygonSelectListener poligSel = new PolygonSelectListener(m_MapControl);
238
        m_MapControl.addMapTool("polSelection", new Behavior[]{new PolygonBehavior(poligSel), new MouseMovementBehavior(sbl)});
239

  
240
        // Zoom por rect?ngulo
241
        ZoomOutRightButtonListener zoil = new ZoomOutRightButtonListener(m_MapControl);
242
        ZoomInListener zil = new ZoomInListener(m_MapControl);
243
        m_MapControl.addMapTool("zoomIn", new Behavior[]{new RectangleBehavior(zil),
244
        				new PointBehavior(zoil), new MouseMovementBehavior(sbl)});
245

  
246
        SelectImageListener sil = new SelectImageListener(m_MapControl);
247
        m_MapControl.addMapTool("selectImage", new Behavior[]{
248
				new PointBehavior(sil), new MouseMovementBehavior(sbl)});
249

  
250
        ZoomPixelCursorListener zp = new ZoomPixelCursorListener(m_MapControl);
251
        m_MapControl.addMapTool("zoom_pixel_cursor", new Behavior[]{new PointBehavior(zp), new MouseMovementBehavior(sbl)});
252

  
253
        m_MapControl.setTool("zoomIn"); // Por defecto
254
        // m_MapControl.setPaintEnabled(true);*/
255
    }
256

  
257
	public WindowInfo getWindowInfo() {
258
		WindowInfo wInfo = new WindowInfo(WindowInfo.ICONIFIABLE |
259
				WindowInfo.MAXIMIZABLE |
260
				WindowInfo.RESIZABLE);
261
		// TODO : seguir ejemplo BaseView para utilizar el nombre del modelo
262
		wInfo.setTitle(PluginServices.getText(this,"title"));
263
		wInfo.setHeight(300);
264
		wInfo.setWidth(400);
265
		return wInfo;
266
	}
267

  
268
	public Viewer getCanvas3d() {
269
		return m_canvas3d;
270
	}
271

  
272
	public void setCanvas3d(Viewer canvas3d) {
273
		m_canvas3d = canvas3d;
274
	}
275

  
276
	public Planet getPlanet() {
277
		return m_planet;
278
	}
279

  
280
	public void setPlanet(Planet planet) {
281
		if(m_canvas3d == null) return;
282
		m_planet = planet;
283
		m_canvas3d.setSceneData(m_planet);
284
	}
285

  
286
	public void windowActivated() {
287
		m_canvas3d.getContext().makeCurrent();
288

  
289
	}
290

  
291
	public void windowClosed() {
292

  
293
	}
294

  
295
}

Also available in: Unified diff