def get_preference(path, key, default=None): """ """ service = Platform.getPreferencesService() root = service.getRootNode() pref = root.node(path) return pref.get(key, default)
def set_preference(path, key, value, type="string"): """ Set a preference. http://help.eclipse.org/galileo/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/preferences/package-summary.html NOTE: Workbench must be restarted to make changes effective - looks like Preference dialog keeps its own cached copy of preference somewhere and ignores changes here. """ service = Platform.getPreferencesService() root = service.getRootNode() pref = root.node(path) # Java and static typing bites here... if type=="string": pref.put(key, value) elif type=="boolean": pref.putBoolean(key, value) elif type=="integer": pref.putInt(key, value) else: raise RuntimeError("Unknown type:" + type) pref.flush()
print preference.absolutePath() + " dumping" print preference.__class__ dump_keys(preference) for child_name in preference.childrenNames(): #print "Got:" + child_name if child_name.startswith("_") or child_name == preference.name(): # Looks like there is magical node _SELF_ continue child = preference.node(child_name) #continue #print child.childrenNames() #dump_keys(child) dump_preference(child) service = Platform.getPreferencesService() root = service.getRootNode() dump_preference(root)