svn-gvsig-desktop / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / gui / View.java @ 3718
History | View | Annotate | Download (15.6 KB)
1 | 1103 | fjp | /* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
|
---|---|---|---|
2 | *
|
||
3 | * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
|
||
4 | *
|
||
5 | * This program is free software; you can redistribute it and/or
|
||
6 | * modify it under the terms of the GNU General Public License
|
||
7 | * as published by the Free Software Foundation; either version 2
|
||
8 | * of the License, or (at your option) any later version.
|
||
9 | *
|
||
10 | * This program is distributed in the hope that it will be useful,
|
||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
13 | * GNU General Public License for more details.
|
||
14 | *
|
||
15 | * You should have received a copy of the GNU General Public License
|
||
16 | * along with this program; if not, write to the Free Software
|
||
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA.
|
||
18 | *
|
||
19 | * For more information, contact:
|
||
20 | *
|
||
21 | * Generalitat Valenciana
|
||
22 | * Conselleria d'Infraestructures i Transport
|
||
23 | * Av. Blasco Ib??ez, 50
|
||
24 | * 46010 VALENCIA
|
||
25 | * SPAIN
|
||
26 | *
|
||
27 | * +34 963862235
|
||
28 | * gvsig@gva.es
|
||
29 | * www.gvsig.gva.es
|
||
30 | *
|
||
31 | * or
|
||
32 | *
|
||
33 | * IVER T.I. S.A
|
||
34 | * Salamanca 50
|
||
35 | * 46005 Valencia
|
||
36 | * Spain
|
||
37 | *
|
||
38 | * +34 963163400
|
||
39 | * dac@iver.es
|
||
40 | */
|
||
41 | 312 | fernando | package com.iver.cit.gvsig.gui; |
42 | |||
43 | import java.awt.BorderLayout; |
||
44 | import java.awt.Color; |
||
45 | import java.awt.Dimension; |
||
46 | 596 | fernando | import java.awt.image.BufferedImage; |
47 | 644 | fernando | import java.beans.PropertyChangeEvent; |
48 | import java.beans.PropertyChangeListener; |
||
49 | 3714 | caballero | import java.util.HashMap; |
50 | import java.util.Iterator; |
||
51 | 312 | fernando | |
52 | 3714 | caballero | import javax.swing.FocusManager; |
53 | 312 | fernando | import javax.swing.JPanel; |
54 | import javax.swing.JSplitPane; |
||
55 | |||
56 | 904 | fjp | import org.cresques.cts.IProjection; |
57 | |||
58 | 596 | fernando | import com.iver.andami.PluginServices; |
59 | 755 | fernando | import com.iver.andami.messages.NotificationManager; |
60 | 596 | fernando | import com.iver.andami.ui.mdiManager.SingletonView; |
61 | import com.iver.andami.ui.mdiManager.ViewInfo; |
||
62 | 960 | vcaballero | import com.iver.andami.ui.mdiManager.ViewListener; |
63 | 1062 | fernando | import com.iver.cit.gvsig.fmap.ColorEvent; |
64 | import com.iver.cit.gvsig.fmap.ExtentEvent; |
||
65 | 312 | fernando | import com.iver.cit.gvsig.fmap.FMap; |
66 | 1223 | fernando | import com.iver.cit.gvsig.fmap.MapControl; |
67 | 1062 | fernando | import com.iver.cit.gvsig.fmap.ViewPortListener; |
68 | 899 | vcaballero | import com.iver.cit.gvsig.fmap.core.v02.FConstant; |
69 | 3714 | caballero | import com.iver.cit.gvsig.fmap.layers.FLayers; |
70 | import com.iver.cit.gvsig.fmap.layers.FLyrVect; |
||
71 | 1115 | fjp | import com.iver.cit.gvsig.fmap.tools.ZoomOutRightButtonListener; |
72 | 1221 | fernando | import com.iver.cit.gvsig.fmap.tools.Behavior.Behavior; |
73 | import com.iver.cit.gvsig.fmap.tools.Behavior.MouseMovementBehavior; |
||
74 | import com.iver.cit.gvsig.fmap.tools.Behavior.MoveBehavior; |
||
75 | import com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior; |
||
76 | 2209 | vcaballero | import com.iver.cit.gvsig.fmap.tools.Behavior.PolygonBehavior; |
77 | import com.iver.cit.gvsig.fmap.tools.Behavior.PolylineBehavior; |
||
78 | 1221 | fernando | import com.iver.cit.gvsig.fmap.tools.Behavior.RectangleBehavior; |
79 | 480 | fjp | import com.iver.cit.gvsig.gui.toc.TOC; |
80 | 775 | vcaballero | import com.iver.cit.gvsig.gui.toolListeners.AreaListener; |
81 | import com.iver.cit.gvsig.gui.toolListeners.InfoListener; |
||
82 | import com.iver.cit.gvsig.gui.toolListeners.LinkListener; |
||
83 | 666 | fernando | import com.iver.cit.gvsig.gui.toolListeners.MeasureListener; |
84 | 842 | vcaballero | import com.iver.cit.gvsig.gui.toolListeners.PanListener; |
85 | import com.iver.cit.gvsig.gui.toolListeners.PointSelectListener; |
||
86 | import com.iver.cit.gvsig.gui.toolListeners.RectangleSelectListener; |
||
87 | 2183 | fernando | import com.iver.cit.gvsig.gui.toolListeners.SaveRasterListener; |
88 | import com.iver.cit.gvsig.gui.toolListeners.SelectImageListener; |
||
89 | 1009 | vcaballero | import com.iver.cit.gvsig.gui.toolListeners.StatusBarListener; |
90 | 842 | vcaballero | import com.iver.cit.gvsig.gui.toolListeners.ZoomInListener; |
91 | import com.iver.cit.gvsig.gui.toolListeners.ZoomOutListener; |
||
92 | 2359 | igbrotru | import com.iver.cit.gvsig.gui.toolListeners.ZoomPixelCursorListener; |
93 | 1221 | fernando | import com.iver.cit.gvsig.project.ProjectView; |
94 | 3714 | caballero | import com.iver.utiles.console.JConsole; |
95 | import com.iver.utiles.console.ResponseListener; |
||
96 | 862 | fjp | import com.iver.utiles.exceptionHandling.ExceptionListener; |
97 | 312 | fernando | |
98 | |||
99 | /**
|
||
100 | * DOCUMENT ME!
|
||
101 | *
|
||
102 | * @author vcn
|
||
103 | */
|
||
104 | 904 | fjp | public class View extends JPanel implements com.iver.andami.ui.mdiManager.View, |
105 | 1367 | vcaballero | SingletonView,ViewListener, IView{ |
106 | 312 | fernando | |
107 | /** DOCUMENT ME! */
|
||
108 | 1223 | fernando | private MapControl m_MapControl;
|
109 | 655 | fjp | private MapOverview m_MapLoc;
|
110 | 312 | fernando | |
111 | /** DOCUMENT ME! */
|
||
112 | private TOC m_TOC;
|
||
113 | 359 | fjp | private ProjectView modelo;
|
114 | 3714 | caballero | private ViewExceptionListener mapControlExceptionListener = new ViewExceptionListener(); |
115 | private JConsole console;
|
||
116 | private ResponseAdapter consoleResponseAdapter = new ResponseAdapter(); |
||
117 | /**
|
||
118 | 312 | fernando | * Creates a new View object.
|
119 | */
|
||
120 | public View() { |
||
121 | //this.setName(Utilities.getMessage(this, "Vista")+ " : "+modelo.getName());
|
||
122 | 3331 | fjp | // this.setPreferredSize(new Dimension(500, 300));
|
123 | 312 | fernando | initComponents(); |
124 | 3714 | caballero | hideConsole(); |
125 | 312 | fernando | } |
126 | |||
127 | /**
|
||
128 | * DOCUMENT ME!
|
||
129 | *
|
||
130 | * @return DOCUMENT ME!
|
||
131 | */
|
||
132 | public ProjectView getModel() {
|
||
133 | return modelo;
|
||
134 | } |
||
135 | |||
136 | /**
|
||
137 | * DOCUMENT ME!
|
||
138 | *
|
||
139 | * @param model DOCUMENT ME!
|
||
140 | */
|
||
141 | public void setModel(ProjectView model) { |
||
142 | this.modelo = model;
|
||
143 | 457 | fernando | //Se registra como listener de cambios en FMap
|
144 | 312 | fernando | FMap fmap = modelo.getMapContext(); |
145 | |||
146 | 3714 | caballero | FLayers layers=fmap.getLayers(); |
147 | for (int i=0;i<layers.getLayersCount();i++){ |
||
148 | if (layers.getLayer(i).isEditing() && layers.getLayer(i) instanceof FLyrVect){ |
||
149 | this.showConsole();
|
||
150 | } |
||
151 | } |
||
152 | |||
153 | //Se configura el mapControl
|
||
154 | 312 | fernando | m_MapControl.setMapContext(fmap); |
155 | 493 | fjp | m_TOC.setMapContext(fmap); |
156 | 312 | fernando | m_MapControl.setBackground(new Color(255, 255, 255)); |
157 | 944 | vcaballero | if (modelo.getMapOverViewContext()!=null){ |
158 | m_MapLoc.setModel(modelo.getMapOverViewContext()); |
||
159 | } |
||
160 | 644 | fernando | model.addPropertyChangeListener(new PropertyChangeListener() { |
161 | public void propertyChange(PropertyChangeEvent evt) { |
||
162 | if (evt.getPropertyName().equals("name")){ |
||
163 | PluginServices.getMDIManager().getViewInfo(View.this).setTitle("Vista: " + (String)evt.getNewValue()); |
||
164 | } |
||
165 | } |
||
166 | }); |
||
167 | 1367 | vcaballero | if (m_MapControl.getViewPort() != null){ |
168 | m_MapControl.getViewPort().addViewPortListener(new ViewPortListener() {
|
||
169 | public void extentChanged(ExtentEvent e) { |
||
170 | 3714 | caballero | if (PluginServices.getMainFrame() != null){ |
171 | 1367 | vcaballero | PluginServices.getMainFrame().getStatusBar().setMessage("6", "1:"+m_MapControl.getMapContext().getScaleView()); |
172 | PluginServices.getMainFrame().getStatusBar().setMessage("7", getMapControl().getViewPort().getProjection().getAbrev());
|
||
173 | } |
||
174 | 1139 | vcaballero | } |
175 | 1062 | fernando | |
176 | 1367 | vcaballero | public void backColorChanged(ColorEvent e) { |
177 | } |
||
178 | 3714 | caballero | }); |
179 | 1367 | vcaballero | } |
180 | 312 | fernando | } |
181 | 3714 | caballero | public JConsole getConsolePanel(){
|
182 | if (console==null){ |
||
183 | console=new JConsole();
|
||
184 | } |
||
185 | return console;
|
||
186 | } |
||
187 | 312 | fernando | |
188 | 3714 | caballero | |
189 | public void addConsoleListener(String prefix, ResponseListener listener) { |
||
190 | consoleResponseAdapter.putSpaceListener(prefix, listener); |
||
191 | |||
192 | } |
||
193 | |||
194 | public void removeConsoleListener(ResponseListener listener) { |
||
195 | consoleResponseAdapter.deleteListener(listener); |
||
196 | |||
197 | } |
||
198 | |||
199 | public void focusConsole(String text) { |
||
200 | getConsolePanel().addResponseText(text); |
||
201 | FocusManager fm=FocusManager.getCurrentManager(); |
||
202 | fm.focusNextComponent(getConsolePanel()); |
||
203 | |||
204 | } |
||
205 | |||
206 | public void hideConsole() { |
||
207 | 3718 | caballero | removeAll(); |
208 | //JSplitPane split = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
|
||
209 | JSplitPane tempMainSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); |
||
210 | tempMainSplit.setPreferredSize(new Dimension(500, 300)); |
||
211 | JSplitPane tempSplitToc = new JSplitPane(JSplitPane.VERTICAL_SPLIT); |
||
212 | 3714 | caballero | |
213 | 3718 | caballero | tempSplitToc.setTopComponent((TOC) m_TOC); |
214 | tempSplitToc.setBottomComponent(m_MapLoc); |
||
215 | tempSplitToc.setResizeWeight(0.7);
|
||
216 | tempMainSplit.setLeftComponent(tempSplitToc); |
||
217 | |||
218 | m_TOC.setVisible(true);
|
||
219 | tempMainSplit.setRightComponent(m_MapControl); |
||
220 | //split.setBottomComponent(getConsolePanel());
|
||
221 | //split.setTopComponent(tempMainSplit);
|
||
222 | // split.setResizeWeight(0.9);
|
||
223 | this.setLayout(new BorderLayout()); |
||
224 | this.add(tempMainSplit, BorderLayout.CENTER); |
||
225 | |||
226 | 3714 | caballero | } |
227 | |||
228 | public void showConsole() { |
||
229 | 3718 | caballero | removeAll(); |
230 | JSplitPane split = new JSplitPane(JSplitPane.VERTICAL_SPLIT); |
||
231 | JSplitPane tempMainSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); |
||
232 | tempMainSplit.setPreferredSize(new Dimension(500, 300)); |
||
233 | JSplitPane tempSplitToc = new JSplitPane(JSplitPane.VERTICAL_SPLIT); |
||
234 | 3714 | caballero | |
235 | 3718 | caballero | tempSplitToc.setTopComponent((TOC) m_TOC); |
236 | tempSplitToc.setBottomComponent(m_MapLoc); |
||
237 | tempSplitToc.setResizeWeight(0.7);
|
||
238 | tempMainSplit.setLeftComponent(tempSplitToc); |
||
239 | |||
240 | m_TOC.setVisible(true);
|
||
241 | tempMainSplit.setRightComponent(m_MapControl); |
||
242 | split.setBottomComponent(getConsolePanel()); |
||
243 | split.setTopComponent(tempMainSplit); |
||
244 | split.setResizeWeight(0.9);
|
||
245 | this.setLayout(new BorderLayout()); |
||
246 | this.add(split, BorderLayout.CENTER); |
||
247 | |||
248 | 3714 | caballero | } |
249 | private class ResponseAdapter implements ResponseListener{ |
||
250 | |||
251 | private HashMap spaceListener = new HashMap(); |
||
252 | |||
253 | public void putSpaceListener(String namespace, ResponseListener listener){ |
||
254 | spaceListener.put(namespace, listener); |
||
255 | } |
||
256 | |||
257 | /**
|
||
258 | * @see com.iver.utiles.console.ResponseListener#acceptResponse(java.lang.String)
|
||
259 | */
|
||
260 | public void acceptResponse(String response) { |
||
261 | boolean nameSpace = false; |
||
262 | int n = -1; |
||
263 | if (response != null){ |
||
264 | if ((n = response.indexOf(':')) != -1){ |
||
265 | nameSpace = true;
|
||
266 | } |
||
267 | } |
||
268 | |||
269 | if (nameSpace){
|
||
270 | ResponseListener listener = (ResponseListener) spaceListener.get(response.substring(0, n));
|
||
271 | if (listener != null) |
||
272 | listener.acceptResponse(response.substring(n+1));
|
||
273 | }else{
|
||
274 | Iterator i = spaceListener.values().iterator();
|
||
275 | while (i.hasNext()) {
|
||
276 | ResponseListener listener = (ResponseListener) i.next(); |
||
277 | listener.acceptResponse(response); |
||
278 | } |
||
279 | } |
||
280 | } |
||
281 | |||
282 | /**
|
||
283 | * @param listener
|
||
284 | */
|
||
285 | public void deleteListener(ResponseListener listener) { |
||
286 | Iterator i = spaceListener.keySet().iterator();
|
||
287 | while (i.hasNext()) {
|
||
288 | String namespace = (String) i.next(); |
||
289 | ResponseListener l = (ResponseListener) spaceListener.get(namespace); |
||
290 | if (l == listener){
|
||
291 | spaceListener.remove(namespace); |
||
292 | } |
||
293 | } |
||
294 | } |
||
295 | |||
296 | } |
||
297 | |||
298 | |||
299 | |||
300 | |||
301 | 312 | fernando | /**
|
302 | 3714 | caballero | * DOCUMENT ME!
|
303 | */
|
||
304 | private void initComponents() { // GEN-BEGIN:initComponents |
||
305 | m_MapControl = new MapControl(); // Default is paintEnabled = false. |
||
306 | // Remember to activate it
|
||
307 | 755 | fernando | m_MapControl.addExceptionListener(mapControlExceptionListener); |
308 | 359 | fjp | // modelo.setMapContext(m_MapControl.getMapContext());
|
309 | 312 | fernando | |
310 | // m_MapControl.setAcceptEvents(true); Lo comento porque ya se hace en el setModel
|
||
311 | 493 | fjp | m_TOC = new TOC();
|
312 | 312 | fernando | |
313 | 3718 | caballero | |
314 | 312 | fernando | // Ponemos el localizador
|
315 | 377 | fjp | m_MapLoc = new MapOverview(m_MapControl);
|
316 | 312 | fernando | m_MapLoc.setPreferredSize(new Dimension(150, 200)); |
317 | 3718 | caballero | hideConsole(); |
318 | 312 | fernando | |
319 | |||
320 | |||
321 | 3714 | caballero | |
322 | 1062 | fernando | //Listener de eventos de movimiento que pone las coordenadas del rat?n en la barra de estado
|
323 | StatusBarListener sbl = new StatusBarListener(m_MapControl);
|
||
324 | 3714 | caballero | |
325 | 375 | fjp | // Zoom out (pinchas y el mapa se centra y te muestra m?s).
|
326 | // No es dibujando un rect?ngulo, es solo pinchando.
|
||
327 | |||
328 | 842 | vcaballero | ZoomOutListener zol = new ZoomOutListener(m_MapControl);
|
329 | 1221 | fernando | m_MapControl.addMapTool("zoomOut", new Behavior[]{new PointBehavior(zol), new MouseMovementBehavior(sbl)}); |
330 | 3714 | caballero | |
331 | 375 | fjp | // pan
|
332 | |||
333 | 842 | vcaballero | PanListener pl = new PanListener(m_MapControl);
|
334 | 1221 | fernando | m_MapControl.addMapTool("pan", new Behavior[]{new MoveBehavior(pl), new MouseMovementBehavior(sbl)}); |
335 | 3714 | caballero | |
336 | 375 | fjp | // Medir
|
337 | |||
338 | 666 | fernando | MeasureListener mli = new MeasureListener(m_MapControl);
|
339 | 1221 | fernando | m_MapControl.addMapTool("medicion", new Behavior[]{new PolylineBehavior(mli), new MouseMovementBehavior(sbl)}); |
340 | 375 | fjp | |
341 | // Area
|
||
342 | |||
343 | 775 | vcaballero | AreaListener ali = new AreaListener(m_MapControl);
|
344 | 1221 | fernando | m_MapControl.addMapTool("area", new Behavior[]{new PolygonBehavior(ali), new MouseMovementBehavior(sbl)}); |
345 | 3714 | caballero | |
346 | 457 | fernando | //Seleccion por punto
|
347 | 842 | vcaballero | PointSelectListener psl = new PointSelectListener(m_MapControl);
|
348 | 1221 | fernando | m_MapControl.addMapTool("pointSelection", new Behavior[]{new PointBehavior(psl), new MouseMovementBehavior(sbl)}); |
349 | 3714 | caballero | |
350 | 482 | vcaballero | //Info por punto
|
351 | InfoListener il = new InfoListener(m_MapControl);
|
||
352 | 1221 | fernando | m_MapControl.addMapTool("info", new Behavior[]{new PointBehavior(il), new MouseMovementBehavior(sbl)}); |
353 | 3714 | caballero | |
354 | 775 | vcaballero | // Link por punto
|
355 | LinkListener ll = new LinkListener(m_MapControl);
|
||
356 | 1221 | fernando | m_MapControl.addMapTool("link", new Behavior[]{new PointBehavior(ll), new MouseMovementBehavior(sbl)}); |
357 | 3714 | caballero | |
358 | 457 | fernando | //Selecci?n por rect?ngulo
|
359 | 842 | vcaballero | RectangleSelectListener rsl = new RectangleSelectListener(m_MapControl);
|
360 | 1221 | fernando | m_MapControl.addMapTool("rectSelection", new Behavior[]{new RectangleBehavior(rsl), new MouseMovementBehavior(sbl)}); |
361 | 1062 | fernando | |
362 | // Zoom por rect?ngulo
|
||
363 | 1115 | fjp | ZoomOutRightButtonListener zoil = new ZoomOutRightButtonListener(m_MapControl);
|
364 | 1062 | fernando | ZoomInListener zil = new ZoomInListener(m_MapControl);
|
365 | 1221 | fernando | m_MapControl.addMapTool("zoomIn", new Behavior[]{new RectangleBehavior(zil), |
366 | new PointBehavior(zoil), new MouseMovementBehavior(sbl)}); |
||
367 | 3714 | caballero | |
368 | 2183 | fernando | //Salvar a Raster
|
369 | SaveRasterListener srl = new SaveRasterListener(m_MapControl);
|
||
370 | m_MapControl.addMapTool("saveRaster", new Behavior[]{ |
||
371 | new RectangleBehavior(srl), new MouseMovementBehavior(sbl)}); |
||
372 | 3714 | caballero | |
373 | 2183 | fernando | SelectImageListener sil = new SelectImageListener(m_MapControl);
|
374 | m_MapControl.addMapTool("selectImage", new Behavior[]{ |
||
375 | new PointBehavior(sil), new MouseMovementBehavior(sbl)}); |
||
376 | 3714 | caballero | |
377 | 2359 | igbrotru | ZoomPixelCursorListener zp = new ZoomPixelCursorListener(m_MapControl);
|
378 | m_MapControl.addMapTool("zoom_pixel_cursor", new Behavior[]{new PointBehavior(zp), new MouseMovementBehavior(sbl)}); |
||
379 | 3714 | caballero | |
380 | 457 | fernando | m_MapControl.setTool("zoomIn"); // Por defecto |
381 | 3331 | fjp | // m_MapControl.setPaintEnabled(true);
|
382 | 312 | fernando | } |
383 | |||
384 | /**
|
||
385 | * DOCUMENT ME!
|
||
386 | */
|
||
387 | 960 | vcaballero | /*public void openPropertiesWindow() {
|
388 | 312 | fernando | }
|
389 | 960 | vcaballero | */
|
390 | 312 | fernando | /**
|
391 | * DOCUMENT ME!
|
||
392 | */
|
||
393 | 960 | vcaballero | /* public void openQueryWindow() {
|
394 | 312 | fernando | }
|
395 | 960 | vcaballero | */
|
396 | 312 | fernando | /**
|
397 | * DOCUMENT ME!
|
||
398 | *
|
||
399 | * @return DOCUMENT ME!
|
||
400 | */
|
||
401 | 655 | fjp | public MapOverview getMapOverview() {
|
402 | 312 | fernando | return m_MapLoc;
|
403 | } |
||
404 | |||
405 | /**
|
||
406 | * DOCUMENT ME!
|
||
407 | *
|
||
408 | * @return DOCUMENT ME!
|
||
409 | */
|
||
410 | 1223 | fernando | public MapControl getMapControl() {
|
411 | 312 | fernando | return m_MapControl;
|
412 | } |
||
413 | |||
414 | /**
|
||
415 | * DOCUMENT ME!
|
||
416 | *
|
||
417 | * @return DOCUMENT ME!
|
||
418 | */
|
||
419 | public TOC getTOC() {
|
||
420 | return m_TOC;
|
||
421 | } |
||
422 | |||
423 | /**
|
||
424 | * DOCUMENT ME!
|
||
425 | */
|
||
426 | public void repaintMap() { |
||
427 | 3422 | fjp | m_MapControl.drawMap(false);
|
428 | 312 | fernando | } |
429 | |||
430 | /* (non-Javadoc)
|
||
431 | * @see com.iver.mdiApp.ui.MDIManager.SingletonView#getModel()
|
||
432 | */
|
||
433 | public Object getViewModel() { |
||
434 | return modelo;
|
||
435 | } |
||
436 | |||
437 | /**
|
||
438 | * @see com.iver.mdiApp.ui.MDIManager.View#getViewInfo()
|
||
439 | */
|
||
440 | public ViewInfo getViewInfo() {
|
||
441 | 596 | fernando | ViewInfo m_viewInfo = new ViewInfo(ViewInfo.ICONIFIABLE | ViewInfo.RESIZABLE |
|
442 | 312 | fernando | ViewInfo.MAXIMIZABLE); |
443 | |||
444 | m_viewInfo.setWidth(500);
|
||
445 | m_viewInfo.setHeight(300);
|
||
446 | 596 | fernando | m_viewInfo.setTitle(PluginServices.getText(this, "Vista") + " : " + |
447 | 312 | fernando | modelo.getName()); |
448 | 3714 | caballero | |
449 | 312 | fernando | return m_viewInfo;
|
450 | 3714 | caballero | |
451 | 312 | fernando | } |
452 | |||
453 | /**
|
||
454 | * @see com.iver.mdiApp.ui.MDIManager.View#viewActivated()
|
||
455 | */
|
||
456 | public void viewActivated() { |
||
457 | 899 | vcaballero | PluginServices.getMainFrame().getStatusBar().setMessage("1",
|
458 | 2544 | caballero | FConstant.NAMES[getMapControl().getMapContext().getViewPort().getDistanceUnits()]); |
459 | 1367 | vcaballero | PluginServices.getMainFrame().getStatusBar().setMessage("6", "1:"+m_MapControl.getMapContext().getScaleView()); |
460 | 2685 | fjp | PluginServices.getMainFrame().getStatusBar().setMessage("7", getMapControl().getViewPort().getProjection().getAbrev());
|
461 | 1367 | vcaballero | } |
462 | 312 | fernando | |
463 | /**
|
||
464 | * @return
|
||
465 | */
|
||
466 | 596 | fernando | public BufferedImage getImage() { |
467 | 312 | fernando | return m_MapControl.getImage();
|
468 | } |
||
469 | 3714 | caballero | |
470 | 904 | fjp | public void setProjection(IProjection proj) |
471 | { |
||
472 | getMapControl().setProjection(proj); |
||
473 | } |
||
474 | public IProjection getProjection()
|
||
475 | { |
||
476 | return getMapControl().getProjection();
|
||
477 | } |
||
478 | 3714 | caballero | |
479 | 755 | fernando | public class ViewExceptionListener implements ExceptionListener { |
480 | |||
481 | /**
|
||
482 | * @see com.iver.cit.gvsig.fmap.ExceptionListener#exceptionThrown(java.lang.Throwable)
|
||
483 | */
|
||
484 | public void exceptionThrown(Throwable t) { |
||
485 | NotificationManager.addError(t.getMessage(), t); |
||
486 | } |
||
487 | 3714 | caballero | |
488 | 755 | fernando | } |
489 | 899 | vcaballero | |
490 | /**
|
||
491 | * @see com.iver.andami.ui.mdiManager.ViewListener#viewClosed()
|
||
492 | */
|
||
493 | public void viewClosed() { |
||
494 | ///PluginServices.getMainFrame().getStatusBar().setMessage("1","");
|
||
495 | } |
||
496 | 3714 | caballero | |
497 | 312 | fernando | } |