Revision 43888 branches/org.gvsig.desktop-2018a/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/ProjectManager.java
ProjectManager.java | ||
---|---|---|
27 | 27 |
import java.util.ArrayList; |
28 | 28 |
import java.util.Collections; |
29 | 29 |
import java.util.Comparator; |
30 |
import java.util.EventListener; |
|
30 | 31 |
import java.util.HashMap; |
31 | 32 |
import java.util.Iterator; |
32 | 33 |
import java.util.List; |
... | ... | |
43 | 44 |
import org.gvsig.app.project.documents.DocumentActionGroup; |
44 | 45 |
import org.gvsig.app.project.documents.DocumentManager; |
45 | 46 |
import org.gvsig.app.project.documents.gui.ProjectWindow; |
46 |
import org.gvsig.fmap.mapcontrol.MapControlLocator; |
|
47 |
import org.gvsig.propertypage.PropertiesPage; |
|
48 |
import org.gvsig.propertypage.PropertiesPageFactory; |
|
49 |
import org.gvsig.propertypage.PropertiesPageManager; |
|
50 | 47 |
import org.gvsig.tools.ToolsLocator; |
51 | 48 |
import org.gvsig.tools.extensionpoint.ExtensionPoint; |
52 | 49 |
import org.gvsig.tools.extensionpoint.ExtensionPoint.Extension; |
53 | 50 |
import org.gvsig.tools.extensionpoint.ExtensionPointManager; |
54 | 51 |
import org.gvsig.tools.observer.impl.BaseWeakReferencingObservable; |
52 |
import org.gvsig.tools.util.BaseListenerSupport; |
|
53 |
import org.gvsig.tools.util.BaseListenerSupport.NotificationListener; |
|
55 | 54 |
|
56 | 55 |
public class ProjectManager extends BaseWeakReferencingObservable { |
57 | 56 |
|
... | ... | |
68 | 67 |
|
69 | 68 |
private Map<String, DocumentActionGroup> documentActionGroups; |
70 | 69 |
|
70 |
private final BaseListenerSupport newProjectListeners; |
|
71 |
|
|
72 |
public interface ProjectEvent extends EventListener { |
|
73 |
public Project getProject(); |
|
74 |
} |
|
75 |
|
|
76 |
public interface NewProjectEvent extends ProjectEvent { |
|
77 |
|
|
78 |
} |
|
79 |
|
|
80 |
public interface ProjectLoadedEvent extends ProjectEvent { |
|
81 |
|
|
82 |
} |
|
83 |
|
|
71 | 84 |
public static ProjectManager getInstance() { |
72 | 85 |
if (factory == null) { |
73 | 86 |
factory = new ProjectManager(); |
... | ... | |
77 | 90 |
|
78 | 91 |
private ProjectManager() { |
79 | 92 |
this.documentActionGroups = new HashMap<String, DocumentActionGroup>(); |
93 |
this.newProjectListeners = new BaseListenerSupport(); |
|
80 | 94 |
} |
81 | 95 |
|
82 | 96 |
|
... | ... | |
294 | 308 |
public ProjectPreferences getProjectPreferences() { |
295 | 309 |
return DefaultProject.getPreferences(); |
296 | 310 |
} |
311 |
|
|
312 |
public void addProjectListener(NotificationListener listener) { |
|
313 |
this.newProjectListeners.addListener(listener); |
|
314 |
} |
|
315 |
|
|
316 |
public NotificationListener[] getProjectListeners() { |
|
317 |
return (NotificationListener[]) this.newProjectListeners.getListeners(); |
|
318 |
} |
|
319 |
|
|
320 |
public boolean hasProjectListeners() { |
|
321 |
return this.newProjectListeners.hasListeners(); |
|
322 |
} |
|
297 | 323 |
|
324 |
public void removeProjectListener(NotificationListener listener) { |
|
325 |
this.newProjectListeners.removeListener(listener); |
|
326 |
} |
|
327 |
|
|
328 |
public void removeAllProjectListener() { |
|
329 |
this.newProjectListeners.removeAllListener(); |
|
330 |
} |
|
331 |
|
|
332 |
public void notifyProjectEvent(ProjectEvent event) { |
|
333 |
this.newProjectListeners.notifyEvent(event); |
|
334 |
} |
|
298 | 335 |
} |
Also available in: Unified diff