1 19 package org.netbeans.modules.pdf; 20 21 import java.io.File ; 22 import java.util.Properties ; 23 import java.beans.PropertyChangeSupport ; 24 import java.beans.PropertyChangeListener ; 25 import org.openide.ErrorManager; 26 27 import org.openide.util.Lookup; 28 29 30 36 public class Settings { 37 public static final String PROP_PDF_VIEWER = "PDFViewer"; private File viewer; 39 private PropertyChangeSupport supp = new PropertyChangeSupport (this); 40 41 42 public static Settings getDefault() { 43 return (Settings) Lookup.getDefault().lookup(Settings.class); 44 } 45 46 public File getPDFViewer() { 47 return viewer; 48 } 49 50 public void setPDFViewer(File viewer) { 51 ErrorManager.getDefault() 52 .getInstance("org.netbeans.modules.pdf") .log("Settings [" + this + "].setPDFViewer: " + viewer); 55 File old = this.viewer; 56 this.viewer = viewer; 57 supp.firePropertyChange(PROP_PDF_VIEWER, old, viewer); 58 } 59 60 63 private void readProperties(Properties p) { 64 String fileName = p.getProperty(PROP_PDF_VIEWER); 65 if (fileName != null && fileName.length() != 0) { 66 viewer = new File (fileName); 67 } else { 68 viewer = null; 69 } 70 } 71 72 75 private void writeProperties(Properties p) { 76 p.setProperty(PROP_PDF_VIEWER, 77 viewer != null ? viewer.toString() : null); 78 } 79 80 81 public void addPropertyChangeListener(PropertyChangeListener l) { 82 ErrorManager.getDefault() 83 .getInstance("org.netbeans.modules.pdf") .log("Settings [" + this + "].addPropertyChangeListener: " + l); 86 87 supp.addPropertyChangeListener(l); 88 } 89 90 public void removePropertyChangeListener (PropertyChangeListener l) { 91 ErrorManager.getDefault() 92 .getInstance("org.netbeans.modules.pdf") .log("Settings [" + this + "].removePropertyChangeListener: " + l); 95 96 supp.removePropertyChangeListener(l); 97 } 98 99 } 100 | Popular Tags |