package IBA_J.Prefs;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import java.util.prefs.Preferences;
import ij.*;
/**
*
* @author deves
*/
public class PrefsManager {
public Preferences prefs;
public Prefs ijPrefs;
public void setPreference() {
prefs = Preferences.userRoot().node(this.getClass().getName());
}
//Setters
public void saveValue(String key, String value){
prefs.put(key,value);
}
public void saveValue(String key, int value){
prefs.putInt(key,value);
}
public void saveValue(String key, boolean value){
prefs.putBoolean(key,value);
}
public void saveDirectory(String value){
prefs.put("LAST_USED_DIR",value);
}
public void ijPrefsSaveValue(String key, String value){
Prefs.set(key,value);
}
public void ijPrefsSaveValue(String key, int value){
Prefs.set(key,value);
}
public void ijPrefsSaveValue(String key, boolean value){
Prefs.set(key,value);
}
public void ijPrefsSaveDirectory(String value){
Prefs.set("IBA.LAST_USED_DIR",value);
}
public void ijPrefsSaveStates(boolean[] states){
int nROI=states.length;
for (int i=0;i<nROI;i++){
ijPrefsSaveValue("IBA.roi"+String.valueOf(i+1)+".isActive", states[i]);
}
}
//Getter
public int getValue(String key, int def){
return prefs.getInt(key,def);
}
public boolean getValue(String key, boolean def){
return prefs.getBoolean(key,def);
}
public String getValue(String key, String def){
return prefs.get(key,def);
}
public String getLastUsedDirectory(){
return prefs.get("LAST_USED_DIR", System.getProperty("user.dir"));
}
public int ijGetIntValue(String key, int def){
return ijPrefs.getInt(key,def);
}
public boolean ijGetBoolValue(String key, boolean def){
return Boolean.valueOf(ijPrefs.getBoolean(key,def));
}
public String ijGetValue(String key, String def){
return ijPrefs.get(key,def);
}
public String ijGetLastUsedDirectory(){
return ijPrefs.get("IBA.LAST_USED_DIR", System.getProperty("user.dir"));
}
public boolean getROIState(int roi){
return ijGetValue("IBA.roi"+String.valueOf(roi)+".isActive","").equals("true");
}
public boolean[] getROIStates (){
int nROI=ijGetIntValue("IBA.nROI",0);
boolean [] activeROIs=new boolean[nROI];
for (int i=0;i<nROI;i++){
activeROIs[i]=ijGetBoolValue("IBA.roi"+String.valueOf(i)+".isActive",false);
}
return activeROIs;
}
public int getNroi(){
return ijGetIntValue("IBA.nROI",0);
}
}