⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitstab.java

📁 The ElectricTM VLSI Design System is an open-source Electronic Design Automation (EDA) system that c
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* -*- tab-width: 4 -*- * * Electric(tm) VLSI Design System * * File: UnitsTab.java * * Copyright (c) 2004 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.user.dialogs.options;import com.sun.electric.database.text.TextUtils;import com.sun.electric.tool.user.User;import javax.swing.JPanel;/** * Class to handle the "Units" tab of the Preferences dialog. */public class UnitsTab extends PreferencePanel{	/** Creates new form Units Options */	public UnitsTab(java.awt.Frame parent, boolean modal)	{		super(parent, modal);		initComponents();	}	/** return the panel to use for this preferences tab. */	public JPanel getPanel() { return units; }	/** return the name of this preferences tab. */	public String getName() { return "Units"; }	private static final int DISTANCE_OFFSET = TextUtils.UnitScale.MILLI.getIndex();	private static final int RESISTANCE_OFFSET = TextUtils.UnitScale.GIGA.getIndex();	private static final int CAPACITANCE_OFFSET = TextUtils.UnitScale.NONE.getIndex();	private static final int INDUCTANCE_OFFSET = TextUtils.UnitScale.NONE.getIndex();	private static final int CURRENT_OFFSET = TextUtils.UnitScale.NONE.getIndex();	private static final int VOLTAGE_OFFSET = TextUtils.UnitScale.KILO.getIndex();	private static final int TIME_OFFSET = TextUtils.UnitScale.NONE.getIndex();	private TextUtils.UnitScale initialUnitsDistance;	private TextUtils.UnitScale initialUnitsResistance;	private TextUtils.UnitScale initialUnitsCapacitance;	private TextUtils.UnitScale initialUnitsInductance;	private TextUtils.UnitScale initialUnitsAmperage;	private TextUtils.UnitScale initialUnitsVoltage;	private TextUtils.UnitScale initialUnitsTime;	/**	 * Method called at the start of the dialog.	 * Caches current values and displays them in the Units tab.	 */	public void init()	{		unitsDistance.addItem("Millimeters");		unitsDistance.addItem("Microns");		unitsDistance.addItem("Nanometers");		initialUnitsDistance = User.getDistanceUnits();		int index = initialUnitsDistance.getIndex() - DISTANCE_OFFSET;		if (index < 0) index = 0;		if (index >= unitsDistance.getItemCount()) index = unitsDistance.getItemCount() - 1;		unitsDistance.setSelectedIndex(index);		unitsResistance.addItem("Giga-ohms");		unitsResistance.addItem("Mega-ohms");		unitsResistance.addItem("Kilo-ohms");		unitsResistance.addItem("Ohms");		initialUnitsResistance = User.getResistanceUnits();		index = initialUnitsResistance.getIndex() - RESISTANCE_OFFSET;		if (index < 0) index = 0;		if (index >= unitsDistance.getItemCount()) index = unitsDistance.getItemCount() - 1;		unitsResistance.setSelectedIndex(index);		unitsCapacitance.addItem("Farads");		unitsCapacitance.addItem("Milli-farads");		unitsCapacitance.addItem("Micro-farads");		unitsCapacitance.addItem("Nano-farads");		unitsCapacitance.addItem("Pico-farads");		unitsCapacitance.addItem("Femto-farads");		initialUnitsCapacitance = User.getCapacitanceUnits();		index = initialUnitsCapacitance.getIndex() - CAPACITANCE_OFFSET;		if (index < 0) index = 0;		if (index >= unitsDistance.getItemCount()) index = unitsDistance.getItemCount() - 1;		unitsCapacitance.setSelectedIndex(index);		unitsInductance.addItem("Henrys");		unitsInductance.addItem("Milli-henrys");		unitsInductance.addItem("Micro-henrys");		unitsInductance.addItem("Nano-henrys");		initialUnitsInductance = User.getInductanceUnits();		index = initialUnitsInductance.getIndex() - INDUCTANCE_OFFSET;		if (index < 0) index = 0;		if (index >= unitsDistance.getItemCount()) index = unitsDistance.getItemCount() - 1;		unitsInductance.setSelectedIndex(index);		unitsCurrent.addItem("Amps");		unitsCurrent.addItem("Milli-amps");		unitsCurrent.addItem("Micro-amps");		initialUnitsAmperage = User.getAmperageUnits();		index = initialUnitsAmperage.getIndex() - CURRENT_OFFSET;		if (index < 0) index = 0;		if (index >= unitsDistance.getItemCount()) index = unitsDistance.getItemCount() - 1;		unitsCurrent.setSelectedIndex(index);		unitsVoltage.addItem("Kilo-volts");		unitsVoltage.addItem("Volts");		unitsVoltage.addItem("Milli-volts");		unitsVoltage.addItem("Micro-volts");		initialUnitsVoltage = User.getVoltageUnits();		index = initialUnitsVoltage.getIndex() - VOLTAGE_OFFSET;		if (index < 0) index = 0;		if (index >= unitsDistance.getItemCount()) index = unitsDistance.getItemCount() - 1;		unitsVoltage.setSelectedIndex(index);		unitsTime.addItem("Seconds");		unitsTime.addItem("Milli-seconds");		unitsTime.addItem("Micro-seconds");		unitsTime.addItem("Nano-seconds");		unitsTime.addItem("Pico-seconds");		unitsTime.addItem("Femto-seconds");		initialUnitsTime = User.getTimeUnits();		index = initialUnitsTime.getIndex() - TIME_OFFSET;		if (index < 0) index = 0;		if (index >= unitsDistance.getItemCount()) index = unitsDistance.getItemCount() - 1;		unitsTime.setSelectedIndex(index);		// Units no longer mean anything - all numbers are in real units, and are		// displayed scaled with appropriate post-fix.		index = TextUtils.UnitScale.NONE.getIndex();		unitsResistance.setSelectedIndex(-1);		unitsResistance.setEnabled(false);		unitsCapacitance.setSelectedIndex(-1);		unitsCapacitance.setEnabled(false);		unitsInductance.setSelectedIndex(-1);		unitsInductance.setEnabled(false);		unitsCurrent.setSelectedIndex(-1);		unitsCurrent.setEnabled(false);		unitsVoltage.setSelectedIndex(-1);		unitsVoltage.setEnabled(false);		unitsTime.setSelectedIndex(-1);		unitsTime.setEnabled(false);	}	/**	 * Method called when the "OK" panel is hit.	 * Updates any changed fields in the Units tab.	 */	public void term()	{		TextUtils.UnitScale currentDistance = TextUtils.UnitScale.findFromIndex(unitsDistance.getSelectedIndex() + DISTANCE_OFFSET);		if (currentDistance != initialUnitsDistance)			User.setDistanceUnits(currentDistance);		TextUtils.UnitScale currentResistance = TextUtils.UnitScale.findFromIndex(unitsResistance.getSelectedIndex() + RESISTANCE_OFFSET);		if (currentResistance != initialUnitsResistance)			User.setResistanceUnits(currentResistance);		TextUtils.UnitScale currentCapacitance = TextUtils.UnitScale.findFromIndex(unitsCapacitance.getSelectedIndex() + CAPACITANCE_OFFSET);		if (currentCapacitance != initialUnitsCapacitance)			User.setCapacitanceUnits(currentCapacitance);		TextUtils.UnitScale currentInductance = TextUtils.UnitScale.findFromIndex(unitsInductance.getSelectedIndex() + INDUCTANCE_OFFSET);		if (currentInductance != initialUnitsInductance)			User.setInductanceUnits(currentInductance);		TextUtils.UnitScale currentAmperage = TextUtils.UnitScale.findFromIndex(unitsCurrent.getSelectedIndex() + CURRENT_OFFSET);		if (currentAmperage != initialUnitsAmperage)			User.setAmperageUnits(currentAmperage);		TextUtils.UnitScale currentVoltage = TextUtils.UnitScale.findFromIndex(unitsVoltage.getSelectedIndex() + VOLTAGE_OFFSET);		if (currentVoltage != initialUnitsVoltage)			User.setVoltageUnits(currentVoltage);		TextUtils.UnitScale currentTime = TextUtils.UnitScale.findFromIndex(unitsTime.getSelectedIndex() + TIME_OFFSET);		if (currentTime != initialUnitsTime)			User.setTimeUnits(currentTime);	}	/**	 * Method called when the factory reset is requested.	 */	public void reset()	{		if (!User.getFactoryDistanceUnits().equals(User.getDistanceUnits()))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -