/* -*- tab-width: 4 -*-
*
* Electric(tm) VLSI Design System
*
* File: NccPreferences.java
*
* Copyright (c) 2003 Sun Microsystems and Static Free Software
*
* Electric(tm) is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* Electric(tm) is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Electric(tm); see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, Mass 02111-1307, USA.
*/
package com.sun.electric.tool.ncc;
import com.sun.electric.database.text.Pref;
/**
* The NCC preferences are user specified preferences that
* persist across multiple runs of Electric.
*
* The class:
*
* com.sun.electric.tool.user.dialogs.options.NCCTab
*
* implements the GUI that allows the user to examine and
* modify his preferences.
*
* When NCC is launched from the GUI, the class NccOptions
* examines the NccPreferences and creates an NccOptions
* object that reflects the users preferences. NccPreferences
* is not touched by any other NCC code.
*
* The NCC preferences are documented in the Electric user guide.
*/
public class NccPreferences {
public static NccPreferences tool = new NccPreferences();
// per-package namespace for preferences
private Pref.Group prefs = Pref.groupForPackage(this.getClass());
private static Pref checkSizes =
Pref.makeBooleanPref("CheckSizes", NccPreferences.tool.prefs, false);
public static boolean getCheckSizes() {
return checkSizes.getBoolean();
}
public static void setCheckSizes(boolean on) {
checkSizes.setBoolean(on);
}
public static boolean getFactoryCheckSizes() {
return checkSizes.getBooleanFactoryValue();
}
private static Pref relativeSizeTolerance =
Pref.makeDoublePref("RelativeSizeTolerance", NccPreferences.tool.prefs, 0.0);
public static double getRelativeSizeTolerance() {
return relativeSizeTolerance.getDouble();
}
public static void setRelativeSizeTolerance(double d) {
relativeSizeTolerance.setDouble(d);
}
public static double getFactoryRelativeSizeTolerance() {
return relativeSizeTolerance.getDoubleFactoryValue();
}
private static Pref absoluteSizeTolerance =
Pref.makeDoublePref("AbsoluteSizeTolerance", NccPreferences.tool.prefs, 0.0);
public static double getAbsoluteSizeTolerance() {
return absoluteSizeTolerance.getDouble();
}
public static void setAbsoluteSizeTolerance(double d) {
absoluteSizeTolerance.setDouble(d);
}
public static double getFactoryAbsoluteSizeTolerance() {
return absoluteSizeTolerance.getDoubleFactoryValue();
}
private static Pref checkBody =
Pref.makeBooleanPref("CheckBody", NccPreferences.tool.prefs, false);
public static boolean getCheckBody() {
return checkBody.getBoolean();
}
public static void setCheckBody(boolean on) {
checkBody.setBoolean(on);
}
public static boolean getFactoryCheckBody() {
return checkBody.getBooleanFactoryValue();
}
private static Pref haltAfterFirstMismatch =
Pref.makeBooleanPref("HaltAfterFirstMismatch", NccPreferences.tool.prefs, true);
public static boolean getHaltAfterFirstMismatch() {
return haltAfterFirstMismatch.getBoolean();
}
public static void setHaltAfterFirstMismatch(boolean on) {
haltAfterFirstMismatch.setBoolean(on);
}
public static boolean getFactoryHaltAfterFirstMismatch() {
return haltAfterFirstMismatch.getBooleanFactoryValue();
}
private static Pref skipPassed =
Pref.makeBooleanPref("SkipPassed", NccPreferences.tool.prefs, false);
public static boolean getSkipPassed() {
return skipPassed.getBoolean();
}
public static void setSkipPassed(boolean on) {
skipPassed.setBoolean(on);
}
public static boolean getFactorySkipPassed() {
return skipPassed.getBooleanFactoryValue();
}
private static Pref maxMatchedClasses =
Pref.makeIntPref("MaxMatchedClasses", NccPreferences.tool.prefs, 10);
public static int getMaxMatchedClasses() {
return maxMatchedClasses.getInt();
}
public static void setMaxMatchedClasses(int i) {
maxMatchedClasses.setInt(i);
}
public static int getFactoryMaxMatchedClasses() {
return maxMatchedClasses.getIntFactoryValue();
}
private static Pref maxMismatchedClasses =
Pref.makeIntPref("MaxMismatchedClasses", NccPreferences.tool.prefs, 10);
public static int getMaxMismatchedClasses() {
return maxMismatchedClasses.getInt();
}
public static void setMaxMismatchedClasses(int i) {
maxMismatchedClasses.setInt(i);
}
public static int getFactoryMaxMismatchedClasses() {
return maxMismatchedClasses.getIntFactoryValue();
}
private static Pref maxClassMembers =
Pref.makeIntPref("MaxClassMembers", NccPreferences.tool.prefs, 10);
public static int getMaxClassMembers() {
return maxClassMembers.getInt();
}
public static void setMaxClassMembers(int i) {
maxClassMembers.setInt(i);
}
public static int getFactoryMaxClassMembers() {
return maxClassMembers.getIntFactoryValue();
}
private static Pref operation =
Pref.makeIntPref("Operation", NccPreferences.tool.prefs, NccOptions.HIER_EACH_CELL);
public static int getOperation() {
int op = operation.getInt();
// guard against corrupted preferences
if (op<NccOptions.HIER_EACH_CELL || op>NccOptions.LIST_ANNOTATIONS) return NccOptions.HIER_EACH_CELL;
return op;
}
public static void setOperation(int i) {
operation.setInt(i);
}
public static int getFactoryOperation() {
int op = operation.getIntFactoryValue();
// guard against corrupted preferences
if (op<NccOptions.HIER_EACH_CELL || op>NccOptions.LIST_ANNOTATIONS) return NccOptions.HIER_EACH_CELL;
return op;
}
private static int boundStatus(int s) {
s = Math.max(s, 0);
s = Math.min(s, 3);
return s;
}
private static Pref howMuchStatus =
Pref.makeIntPref("HowMuchStatus", NccPreferences.tool.prefs, 0);
public static int getHowMuchStatus() {
return boundStatus(howMuchStatus.getInt());
}
public static void setHowMuchStatus(int i) {
howMuchStatus.setInt(boundStatus(i));
}
public static int getFactoryHowMuchStatus() {
return boundStatus(howMuchStatus.getIntFactoryValue());
}
}