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