1 19 20 package org.netbeans.modules.debugger.jpda.projects; 21 22 import java.beans.PropertyChangeListener ; 23 import java.beans.PropertyChangeSupport ; 24 import javax.swing.Action ; 25 import org.netbeans.api.project.Project; 26 import org.netbeans.spi.project.ui.support.MainProjectSensitiveActions; 27 import org.netbeans.spi.project.ui.support.ProjectActionPerformer; 28 29 33 public class MainProjectManager implements ProjectActionPerformer { 34 35 private static MainProjectManager mainProjectManager = new MainProjectManager (); 36 37 public static MainProjectManager getDefault () { 38 return mainProjectManager; 39 } 40 41 42 private Action a; 43 private Project mainProject; 44 private PropertyChangeSupport pcs; 45 46 47 private MainProjectManager () { 48 pcs = new PropertyChangeSupport (this); 49 a = MainProjectSensitiveActions.mainProjectSensitiveAction ( 50 this, null, null 51 ); 52 a.isEnabled (); 53 } 54 55 public Project getMainProject () { 56 return mainProject; 57 } 58 59 public void perform (Project p) { 60 assert false : "Fake action should never really be called"; 61 } 62 63 public boolean enable (Project p) { 64 if (mainProject != p) { 65 Project o = mainProject; 66 mainProject = p; 67 pcs.firePropertyChange ("mainProject", o, mainProject); 68 } 69 return true; } 71 72 public void addPropertyChangeListener (PropertyChangeListener l) { 73 pcs.addPropertyChangeListener (l); 74 } 75 76 public void removePropertyChangeListener (PropertyChangeListener l) { 77 pcs.removePropertyChangeListener (l); 78 } 79 } 80 | Popular Tags |