Revision 41104

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/impl/MapControlDrawer2D.java
102 102
		         * Since we are simply drawing a handler, we will ignore this
103 103
		         * error and simply write a line in the log file.. 
104 104
		         */
105
		        LOG.info("Unexpected error while drawing handler: " + th.getMessage());
105
		        LOG.warn("Unexpected error while drawing handler: " + th.getMessage(), th);
106 106
		    }
107 107
		}
108 108
	}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/ViewControls.java
26 26

  
27 27
import javax.swing.JOptionPane;
28 28

  
29
import org.slf4j.Logger;
30
import org.slf4j.LoggerFactory;
31

  
32 29
import org.gvsig.andami.IconThemeHelper;
33 30
import org.gvsig.andami.PluginServices;
34 31
import org.gvsig.andami.plugins.Extension;
35 32
import org.gvsig.andami.preferences.IPreference;
36 33
import org.gvsig.andami.preferences.IPreferenceExtension;
34
import org.gvsig.app.ApplicationLocator;
35
import org.gvsig.app.ApplicationManager;
37 36
import org.gvsig.app.gui.preferencespage.GridPage;
38 37
import org.gvsig.app.gui.preferencespage.ViewPage;
39 38
import org.gvsig.app.project.Project;
40 39
import org.gvsig.app.project.documents.view.Encuadrator;
41 40
import org.gvsig.app.project.documents.view.ViewDocument;
41
import org.gvsig.app.project.documents.view.ViewManager;
42 42
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
43 43
import org.gvsig.app.project.documents.view.gui.ExtentListSelectorModel;
44 44
import org.gvsig.app.project.documents.view.gui.FPanelExtentSelector;
45 45
import org.gvsig.app.project.documents.view.gui.FPanelLocConfig;
46
import org.gvsig.app.project.documents.view.gui.IView;
46 47
import org.gvsig.app.project.documents.view.toc.gui.FPopupMenu;
47 48
import org.gvsig.app.project.documents.view.toolListeners.snapping.Snapping;
48 49
import org.gvsig.fmap.mapcontext.MapContext;
......
52 53
import org.gvsig.tools.ToolsLocator;
53 54
import org.gvsig.tools.dataTypes.DataTypes;
54 55
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
56
import org.slf4j.Logger;
57
import org.slf4j.LoggerFactory;
55 58

  
56 59

  
57 60

  
58
//import com.iver.utiles.FPanelExtentSelector;
59

  
60 61
/**
61 62
 * Extensi?n que controla las operaciones b?sicas realizadas sobre la vista.
62 63
 *
63
 * @author vcn
64 64
 */
65 65
public class ViewControls extends Extension implements IPreferenceExtension{
66 66
    private static final Logger logger = LoggerFactory
67 67
            .getLogger(ViewInvertSelection.class);
68 68
    
69 69
	private static ViewPage viewPropertiesPage = null;
70
	// private DefaultViewPanel vista;
71 70
	/**
72 71
	 * @see com.iver.mdiApp.plugins.IExtension#updateUI(java.lang.String)
73 72
	 */
......
76 75
	}
77 76
	
78 77
	public void execute(String command, Object[] args) {
78
	    ApplicationManager application = ApplicationLocator.getManager();
79 79
	    
80
	    DefaultViewPanel vista = getView();
81
	    if (vista==null) {
82
	        return;
80
	    ViewDocument document = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
81
	    if( document == null ) {
82
	    	return;
83 83
	    }
84 84

  
85
	    
86
		ViewDocument document = vista.getViewDocument();
85
	    IView vista = (IView) document.getMainWindow();
87 86
		MapContext mapa = document.getMapContext();
88 87
		MapControl mapCtrl = vista.getMapControl();
89 88

  
90 89
		if (command.equalsIgnoreCase("view-navigation-zoom-all") ) {
91
			// mapa.beginAtomicEvent();
92 90
			mapa.getViewPort().setEnvelope(mapa.getLayers().getFullEnvelope());
93 91
			document.setModified(true);
94
			// mapa.endAtomicEvent();
95 92
			
96 93
		} else if (command.equalsIgnoreCase("view-navigation-frame-manager") ) {
97 94
			FPanelExtentSelector l = new FPanelExtentSelector();
......
99 96
			ProjectExtension p = (ProjectExtension) PluginServices.getExtension(org.gvsig.app.extension.ProjectExtension.class);
100 97
			Project project = p.getProject();
101 98
			ExtentListSelectorModel modelo = new ExtentListSelectorModel(project);
102
			//ProjectExtent[] extents = project.getExtents();
103 99
			project.addPropertyChangeListener(modelo);
104 100
			l.setModel(modelo);
105 101
			l.addSelectionListener(new Encuadrator(project, mapa, vista));
......
107 103
			PluginServices.getMDIManager().addWindow(l);
108 104
			
109 105
		} else if (command.equalsIgnoreCase("view-locator-setup") ) {
110
			//Set up the map overview
111
			FPanelLocConfig m_panelLoc = new FPanelLocConfig(vista.getMapOverview());
106
			FPanelLocConfig m_panelLoc = new FPanelLocConfig(((DefaultViewPanel)vista).getMapOverview());
112 107
			PluginServices.getMDIManager().addCentredWindow(m_panelLoc);
113 108
			document.setModified(true);
114 109
			
......
127 122
		} else if (command.equalsIgnoreCase("layer-set-visible") ) {
128 123
			setVisibles(true, mapa.getLayers());
129 124
			document.setModified(true);
130
            PluginServices.getMainFrame().enableControls();
125
            application.refreshMenusAndToolBars();
131 126
			
132 127
		} else if (command.equalsIgnoreCase("layer-set-hide") ) {
133 128
			setVisibles(false, mapa.getLayers());
134 129
			document.setModified(true);
135
            PluginServices.getMainFrame().enableControls();
130
            application.refreshMenusAndToolBars();
136 131
			
137 132
		} else if (command.equalsIgnoreCase("layer-set-active") ) {
138 133
			setActives(true, mapa.getLayers());
139 134
			document.setModified(true);
140
            PluginServices.getMainFrame().enableControls();
135
            application.refreshMenusAndToolBars();
141 136
			
142 137
		} else if (command.equalsIgnoreCase("layer-set-inactive") ) {
143 138
			setActives(false, mapa.getLayers());
144 139
			document.setModified(true);
145
            PluginServices.getMainFrame().enableControls();
140
            application.refreshMenusAndToolBars();
146 141
			
147 142
		} else if (command.equalsIgnoreCase("view-navigation-zoom-in-center") ) {
148 143
			mapCtrl.zoomIn();
......
159 154
				document.setModified(true);
160 155
			} catch(Throwable ex) {
161 156
				logger.info("Can't change scale of view.", ex);
162
				PluginServices.getMainFrame().getStatusBar().message("Can't change scale of view.", JOptionPane.ERROR_MESSAGE);
157
				application.message("Can't change scale of view.", JOptionPane.ERROR_MESSAGE);
163 158
			}
164 159
		}
165 160
	}
......
207 202
	 * @see com.iver.mdiApp.plugins.IExtension#isVisible()
208 203
	 */
209 204
	public boolean isVisible() {
205
	    ApplicationManager application = ApplicationLocator.getManager();
210 206
	    
211
	    DefaultViewPanel vista = getView();
212
	    
213
		if (vista!=null) {
214
			ViewDocument model = vista.getViewDocument();
215
			MapContext mapa = model.getMapContext();
216

  
217
			return mapa.getLayers().getLayersCount() > 0;
218
		}
219
			return false;
207
	    ViewDocument document = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
208
	    if( document == null ) {
209
	    	return false;
210
	    }
211
		MapContext mapa = document.getMapContext();
212
		return mapa.getLayers().getLayersCount() > 0;
220 213
	}
221 214
	
222
	private DefaultViewPanel getView() {
223
	    
224

  
225
        org.gvsig.andami.ui.mdiManager.IWindow f = PluginServices.getMDIManager()
226
                                                             .getActiveWindow();
227

  
228
        if (f!=null && f instanceof DefaultViewPanel) {
229
            return (DefaultViewPanel) f;
230
        }
231
        return null;
232
	    
233
	}
234

  
235 215
	/**
236 216
	 * @see org.gvsig.andami.plugins.IExtension#initialize()
237 217
	 */
238 218
	public void initialize() {
239

  
240
		ExtensionPointManager epManager = ToolsLocator.getExtensionPointManager();
241

  
242
		if (!epManager.has("View_TocActions")) {
243
			epManager.add(
244
					"View_TocActions",
245
					"Context menu options of the TOC " +
246
						" in the view window "+
247
						"(register instances of " +
248
						"org.gvsig.app.gui.toc.AbstractTocContextMenuAction)"
249
			);
250
		}
251

  
252
		FPopupMenu.registerExtensionPoint();
253

  
254 219
		registerIcons();
255 220
		Snapping.register();
256 221
	}
257 222

  
223
	public void postInitialize() {
224
		FPopupMenu.registerExtensionPoint();
225
	}
226
	
258 227
	private void registerIcons(){
259 228
		IconThemeHelper.registerIcon("action", "view-navigation-zoom-in-topoint", this);
260 229
		IconThemeHelper.registerIcon("action", "view-navigation-zoom-out-topoint", this);
......
274 243
	 * @see org.gvsig.andami.plugins.IExtension#isEnabled()
275 244
	 */
276 245
    public boolean isEnabled() {
277

  
278
        DefaultViewPanel vista = getView();
279

  
280
        if (vista != null) {
281

  
282
            ViewDocument model = vista.getViewDocument();
283
            MapContext mapa = model.getMapContext();
284

  
285
            FLayers layers = mapa.getLayers();
286
            for (int i = 0; i < layers.getLayersCount(); i++) {
287
                if (layers.getLayer(i).isAvailable()) {
288
                    return true;
289
                }
246
	    ApplicationManager application = ApplicationLocator.getManager();
247
	    
248
	    ViewDocument document = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
249
	    if( document == null ) {
250
	    	return false;
251
	    }
252
        MapContext mapa = document.getMapContext();
253
        FLayers layers = mapa.getLayers();
254
        for (int i = 0; i < layers.getLayersCount(); i++) {
255
            if (layers.getLayer(i).isAvailable()) {
256
                return true;
290 257
            }
291 258
        }
292 259
        return false;
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/ViewManager.java
44 44
import org.gvsig.app.project.documents.gui.WindowLayout;
45 45
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
46 46
import org.gvsig.app.project.documents.view.gui.ViewProperties;
47
import org.gvsig.app.project.documents.view.toc.gui.FPopupMenu;
47 48
import org.gvsig.fmap.mapcontext.MapContext;
48 49
import org.gvsig.fmap.mapcontext.MapContextLocator;
49 50
import org.gvsig.fmap.mapcontext.MapContextManager;
......
51 52
import org.gvsig.tools.dynobject.DynStruct;
52 53
import org.gvsig.tools.extensionpoint.ExtensionBuilder;
53 54
import org.gvsig.tools.extensionpoint.ExtensionPoint;
55
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
54 56
import org.gvsig.tools.persistence.PersistenceManager;
55 57
import org.slf4j.Logger;
56 58
import org.slf4j.LoggerFactory;
......
169 171
    }
170 172
    
171 173
    public void addTOCContextAction(String id, IContextMenuAction action) {
174
    	initializeRegisterTOCActions();
172 175
    	ExtensionPoint exPoint = ToolsLocator.getExtensionPointManager().add(
173 176
    			"View_TocActions", "");
174 177
    	if( action instanceof ExtensionBuilder ) {
......
194 197
		}
195 198
    }
196 199
    
200
    private static void initializeRegisterTOCActions() {
201
		ExtensionPointManager epManager = ToolsLocator.getExtensionPointManager();
202

  
203
		if (!epManager.has("View_TocActions")) {
204
			epManager.add(
205
					"View_TocActions",
206
					"Context menu options of the TOC " +
207
						" in the view window "+
208
						"(register instances of " +
209
						"org.gvsig.app.gui.toc.AbstractTocContextMenuAction)"
210
			);
211
		}
212
    }
213
    
197 214
    /**
198 215
     * Registers in the points of extension the Factory with alias.
199 216
     *
......
205 222
        PersistenceManager manager = ToolsLocator.getPersistenceManager();
206 223
        manager.registerFactory(factory);
207 224

  
208

  
225
        initializeRegisterTOCActions();
226
        
209 227
        ProjectManager.getInstance().registerDocumentAction(TYPENAME,new CopyDocumentAction());
210 228
        ProjectManager.getInstance().registerDocumentAction(TYPENAME,new CutDocumentAction());
211 229
        ProjectManager.getInstance().registerDocumentAction(TYPENAME,new PasteDocumentAction());
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/toc/gui/FPopupMenu.java
37 37
import javax.swing.tree.DefaultMutableTreeNode;
38 38

  
39 39
import org.gvsig.andami.messages.NotificationManager;
40
import org.gvsig.app.project.ProjectManager;
40 41
import org.gvsig.app.project.documents.view.IContextMenuAction;
42
import org.gvsig.app.project.documents.view.ViewManager;
41 43
import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
42 44
import org.gvsig.app.project.documents.view.toc.ITocItem;
43 45
import org.gvsig.app.project.documents.view.toc.TocItemBranch;
......
82 84
    private FLayer[] selecteds;
83 85

  
84 86
    public static void registerExtensionPoint() {
85
        ExtensionPoint exPoint =
86
            ToolsLocator.getExtensionPointManager().add("View_TocActions", "");
87
        exPoint
88
            .append("FSymbolChangeColor", "", new ChangeSymbolTocMenuEntry());
89
        exPoint.append("ChangeName", "", new ChangeNameTocMenuEntry());
90
        exPoint.append("FLyrVectEditProperties", "",
91
            new FLyrVectEditPropertiesTocMenuEntry());
92
        exPoint.append("ZoomAlTema", "", new ZoomAlTemaTocMenuEntry());
93
        exPoint.append("EliminarCapa", "", new EliminarCapaTocMenuEntry());
94
        exPoint.append("VerErroresCapa", "", new ShowLayerErrorsTocMenuEntry());
95
        exPoint.append("ReloadLayer", "", new ReloadLayerTocMenuEntry());
96
        exPoint.append("LayersGroup", "", new LayersGroupTocMenuEntry());
97
        exPoint.append("LayersUngroup", "", new LayersUngroupTocMenuEntry());
98
        exPoint.append("FirstLayer", "", new FirstLayerTocMenuEntry());
87
    	ProjectManager projectManager = ProjectManager.getInstance(); 
88
    	ViewManager viewManager = (ViewManager) projectManager.getDocumentManager(ViewManager.TYPENAME);
99 89

  
100
        exPoint.append("Copy", "", new CopyLayersTocMenuEntry());
101
        exPoint.append("Cut", "", new CutLayersTocMenuEntry());
102
        exPoint.append("Paste", "", new PasteLayersTocMenuEntry());
90
    	viewManager.addTOCContextAction("FSymbolChangeColor", new ChangeSymbolTocMenuEntry());
91
        viewManager.addTOCContextAction("ChangeName", new ChangeNameTocMenuEntry());
92
        viewManager.addTOCContextAction("FLyrVectEditProperties", new FLyrVectEditPropertiesTocMenuEntry());
93
        viewManager.addTOCContextAction("ZoomAlTema", new ZoomAlTemaTocMenuEntry());
94
        viewManager.addTOCContextAction("EliminarCapa", new EliminarCapaTocMenuEntry());
95
        viewManager.addTOCContextAction("VerErroresCapa", new ShowLayerErrorsTocMenuEntry());
96
        viewManager.addTOCContextAction("ReloadLayer", new ReloadLayerTocMenuEntry());
97
        viewManager.addTOCContextAction("LayersGroup", new LayersGroupTocMenuEntry());
98
        viewManager.addTOCContextAction("LayersUngroup", new LayersUngroupTocMenuEntry());
99
        viewManager.addTOCContextAction("FirstLayer", new FirstLayerTocMenuEntry());
100

  
101
        viewManager.addTOCContextAction("Copy", new CopyLayersTocMenuEntry());
102
        viewManager.addTOCContextAction("Cut", new CutLayersTocMenuEntry());
103
        viewManager.addTOCContextAction("Paste", new PasteLayersTocMenuEntry());
103 104
    }
104 105

  
105 106
    /**
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/Encuadrator.java
26 26
import org.gvsig.app.project.Project;
27 27
import org.gvsig.app.project.ProjectExtent;
28 28
import org.gvsig.app.project.ProjectManager;
29
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
29
import org.gvsig.app.project.documents.view.gui.IView;
30 30
import org.gvsig.fmap.mapcontext.MapContext;
31 31

  
32 32

  
......
37 37
//	private View vista;
38 38
	private MapContext mapa;
39 39

  
40
	public Encuadrator(Project project, MapContext map, DefaultViewPanel vista){
40
	public Encuadrator(Project project, MapContext map, IView vista){
41 41
		this.project = project;
42 42
//		this.vista = vista;
43 43
		mapa = map;

Also available in: Unified diff