--- /dev/null
+package net.sourceforge.phpeclipse.overlaypages;
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+import net.sourceforge.phpeclipse.preferences.PHPMiscProjectPreferences;
+import net.sourceforge.phpeclipse.preferences.PHPPreviewProjectPreferences;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.QualifiedName;
+
+public class Util {
+ public static String getMiscProjectsPreferenceValue(IResource resource, String key) {
+ return getOverlayedPrefProjectValue(resource,
+ PHPMiscProjectPreferences.PREF_ID, key);
+ }
+ public static String getOverlayedPrefProjectValue(IResource resource,
+ String pageId, String key) {
+ IProject project = resource.getProject();
+ String value = null;
+ if (useProjectSettings(project, pageId)) {
+ value = getProperty(resource, pageId, key);
+ }
+ if (value != null)
+ return value;
+ return PHPeclipsePlugin.getDefault().getPreferenceStore().getString(key);
+ }
+ public static String getOverlayedPrefResourceValue(IResource resource,
+ String pageId, String key) {
+ String value = null;
+ if (useProjectSettings(resource, pageId)) {
+ value = getProperty(resource, pageId, key);
+ }
+ if (value != null)
+ return value;
+ return PHPeclipsePlugin.getDefault().getPreferenceStore().getString(key);
+ }
+ public static boolean getPreviewBooleanValue(IResource resource, String key) {
+ return getOverlayedPrefResourceValue(resource,
+ PHPPreviewProjectPreferences.PREF_ID, key).equals("true");
+ }
+ public static String getPreviewStringValue(IResource resource, String key) {
+ return getOverlayedPrefResourceValue(resource,
+ PHPPreviewProjectPreferences.PREF_ID, key);
+ }
+ private static String getProperty(IResource resource, String pageId,
+ String key) {
+ try {
+ return resource.getPersistentProperty(new QualifiedName(pageId, key));
+ } catch (CoreException e) {
+ }
+ return null;
+ }
+ private static boolean useProjectSettings(IResource resource, String pageId) {
+ String use = getProperty(resource, pageId,
+ FieldEditorOverlayPage.USEPROJECTSETTINGS);
+ return "true".equals(use);
+ }
+}