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

📄 displaycontroltab.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: DisplayControl.java * * Copyright (c) 2006 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.Pref;import com.sun.electric.database.text.TextUtils;import com.sun.electric.technology.Technology;import com.sun.electric.tool.Job;import com.sun.electric.tool.user.User;import com.sun.electric.tool.user.dialogs.EDialog;import com.sun.electric.tool.user.ui.EditWindow;import java.awt.Frame;import java.util.Iterator;import javax.swing.JPanel;/** * Class to handle the "Display Control" tab of the Preferences dialog. */public class DisplayControlTab extends PreferencePanel{	private boolean resetAllOpacity = false;	/** Creates new form Display Control */	public DisplayControlTab(Frame parent, boolean modal)	{		super(parent, modal);		initComponents();		// make all text fields select-all when entered	    EDialog.makeTextFieldSelectAllOnTab(generalGreekLimit);	    EDialog.makeTextFieldSelectAllOnTab(generalGreekCellLimit);	    EDialog.makeTextFieldSelectAllOnTab(patternScaleLimit);	    EDialog.makeTextFieldSelectAllOnTab(alphaBlendingOvercolorLimit);	}	/** return the panel to use for this preferences tab. */	public JPanel getPanel() { return general; }	/** return the name of this preferences tab. */	public String getName() { return "Display Control"; }	/**	 * Method called at the start of the dialog.	 * Caches current values and displays them in the General tab.	 */	public void init()	{		// top half (miscellaneous controls)		generalShowCursorCoordinates.setSelected(User.isShowHierarchicalCursorCoordinates());		dimUpperWhenDownInPlace.setSelected(User.isDimUpperLevelWhenDownInPlace());		sideBarOnRight.setSelected(User.isSideBarOnRight());		generalPanningDistance.addItem("Small");		generalPanningDistance.addItem("Medium");		generalPanningDistance.addItem("Large");		generalPanningDistance.setSelectedIndex(User.getPanningDistance());		displayStyle.addItem("Operating-System default");		displayStyle.addItem("Multiple Document (MDI)");		displayStyle.addItem("Single Document (SDI)");		displayStyle.setSelectedIndex(User.getDisplayStyle());		// bottom half (display algorithm)		int da = User.getDisplayAlgorithm();		switch (da)		{			case 0:	pixelDisplay.setSelected(true);   break;			case 1:	vectorDisplay.setSelected(true);  break;			case 2:	layerDisplay.setSelected(true);   break;		}		generalUseGreekImages.setSelected(User.isUseCellGreekingImages());		generalGreekLimit.setText(Double.toString(User.getGreekSizeLimit()));		generalGreekCellLimit.setText(Double.toString(User.getGreekCellSizeLimit() * 100.0));		patternScaleLimit.setText(Double.toString(User.getPatternedScaleLimit()));		useNewBlending.setSelected(!User.isLegacyComposite());		alphaBlendingOvercolorLimit.setText(Double.toString(User.getAlphaBlendingOvercolorLimit()));	}	/**	 * Method called when the "OK" panel is hit.	 */	public void term()	{		// top half (miscellaneous controls)		boolean currBoolean = generalShowCursorCoordinates.isSelected();		if (currBoolean != User.isShowHierarchicalCursorCoordinates())			User.setShowHierarchicalCursorCoordinates(currBoolean);		currBoolean = dimUpperWhenDownInPlace.isSelected();		if (currBoolean != User.isDimUpperLevelWhenDownInPlace())			User.setDimUpperLevelWhenDownInPlace(currBoolean);		currBoolean = sideBarOnRight.isSelected();		if (currBoolean != User.isSideBarOnRight())			User.setSideBarOnRight(currBoolean);		int currInt = generalPanningDistance.getSelectedIndex();		if (currInt != User.getPanningDistance())			User.setPanningDistance(currInt);		currInt = displayStyle.getSelectedIndex();		if (currInt != User.getDisplayStyle())		{			User.setDisplayStyle(currInt);			Job.getUserInterface().showInformationMessage("Changes to the display style take effect when Electric next starts",				"Note");		}		// bottom half (display algorithm)		if (pixelDisplay.isSelected()) currInt = 0; else			if (vectorDisplay.isSelected()) currInt = 1; else				if (layerDisplay.isSelected()) currInt = 2;		if (currInt != User.getDisplayAlgorithm()) {			User.setDisplayAlgorithm(currInt);			EditWindow.displayAlgorithmChanged();		}		currBoolean = generalUseGreekImages.isSelected();		if (currBoolean != User.isUseCellGreekingImages())			User.setUseCellGreekingImages(currBoolean);		double currDouble = TextUtils.atof(generalGreekLimit.getText());		if (currDouble != User.getGreekSizeLimit())			User.setGreekSizeLimit(currDouble);		currDouble = TextUtils.atof(generalGreekCellLimit.getText()) / 100.0;		if (currDouble != User.getGreekCellSizeLimit())			User.setGreekCellSizeLimit(currDouble);		currDouble = TextUtils.atof(patternScaleLimit.getText());		if (currDouble != User.getPatternedScaleLimit())			User.setPatternedScaleLimit(currDouble);		currBoolean = !useNewBlending.isSelected();		if (currBoolean != User.isLegacyComposite())			User.setLegacyComposite(currBoolean);		currDouble = TextUtils.atof(alphaBlendingOvercolorLimit.getText());		if (currDouble != User.getAlphaBlendingOvercolorLimit())			User.setAlphaBlendingOvercolorLimit(currDouble);		if (resetAllOpacity)		{			Pref.delayPrefFlushing();			for(Iterator<Technology> it = Technology.getTechnologies(); it.hasNext(); )			{				Technology tech = it.next();				EditWindow.setDefaultOpacity(tech);			}			Pref.resumePrefFlushing();		}	}	/**	 * Method called when the factory reset is requested.	 */	public void reset()	{		if (User.isFactoryShowHierarchicalCursorCoordinates() != User.isShowHierarchicalCursorCoordinates())			User.setShowHierarchicalCursorCoordinates(User.isFactoryShowHierarchicalCursorCoordinates());		if (User.isFactoryDimUpperLevelWhenDownInPlace() != User.isDimUpperLevelWhenDownInPlace())			User.setDimUpperLevelWhenDownInPlace(User.isFactoryDimUpperLevelWhenDownInPlace());		if (User.isFactorySideBarOnRight() != User.isSideBarOnRight())			User.setSideBarOnRight(User.isFactorySideBarOnRight());		if (User.getFactoryPanningDistance() != User.getPanningDistance())			User.setPanningDistance(User.getFactoryPanningDistance());		if (User.getFactoryDisplayStyle() != User.getDisplayStyle())			User.setDisplayStyle(User.getFactoryDisplayStyle());		// bottom half (display algorithm)		if (User.getFactoryDisplayAlgorithm() != User.getDisplayAlgorithm())			User.setDisplayAlgorithm(User.getFactoryDisplayAlgorithm());		if (User.isFactoryUseCellGreekingImages() != User.isUseCellGreekingImages())			User.setUseCellGreekingImages(User.isFactoryUseCellGreekingImages());		if (User.getFactoryGreekSizeLimit() != User.getGreekSizeLimit())			User.setGreekSizeLimit(User.getFactoryGreekSizeLimit());		if (User.getFactoryGreekCellSizeLimit() != User.getGreekCellSizeLimit())			User.setGreekCellSizeLimit(User.getFactoryGreekCellSizeLimit());		if (User.getFactoryPatternedScaleLimit() != User.getPatternedScaleLimit())			User.setPatternedScaleLimit(User.getFactoryPatternedScaleLimit());		if (User.isFactoryLegacyComposite() != User.isLegacyComposite())			User.setLegacyComposite(User.isFactoryLegacyComposite());		if (User.getFactoryAlphaBlendingOvercolorLimit() != User.getAlphaBlendingOvercolorLimit())			User.setAlphaBlendingOvercolorLimit(User.getFactoryAlphaBlendingOvercolorLimit());		for(Iterator<Technology> it = Technology.getTechnologies(); it.hasNext(); )		{			Technology tech = it.next();			EditWindow.setDefaultOpacity(tech);		}	}	/** This method is called from within the constructor to	 * initialize the form.	 * WARNING: Do NOT modify this code. The content of this method is	 * always regenerated by the Form Editor.	 */    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents    private void initComponents() {        java.awt.GridBagConstraints gridBagConstraints;        displayAlgorithm = new javax.swing.ButtonGroup();        general = new javax.swing.JPanel();        generalShowCursorCoordinates = new javax.swing.JCheckBox();        sideBarOnRight = new javax.swing.JCheckBox();        jLabel1 = new javax.swing.JLabel();        generalPanningDistance = new javax.swing.JComboBox();        jPanel1 = new javax.swing.JPanel();        pixelDisplay = new javax.swing.JRadioButton();        vectorDisplay = new javax.swing.JRadioButton();        generalUseGreekImages = new javax.swing.JCheckBox();        jLabel4 = new javax.swing.JLabel();        jLabel6 = new javax.swing.JLabel();        layerDisplay = new javax.swing.JRadioButton();        jLabel8 = new javax.swing.JLabel();        useNewBlending = new javax.swing.JCheckBox();        alphaBlendingLimitLabel = new javax.swing.JLabel();        resetOpacity = new javax.swing.JButton();        alphaBlendingOvercolorLimit = new javax.swing.JTextField();        patternScaleLimit = new javax.swing.JTextField();        generalGreekCellLimit = new javax.swing.JTextField();        generalGreekLimit = new javax.swing.JTextField();        jLabel5 = new javax.swing.JLabel();        jLabel7 = new javax.swing.JLabel();        jLabel2 = new javax.swing.JLabel();        displayStyle = new javax.swing.JComboBox();        dimUpperWhenDownInPlace = new javax.swing.JCheckBox();        getContentPane().setLayout(new java.awt.GridBagLayout());        setTitle("Edit Options");        setName("");        addWindowListener(new java.awt.event.WindowAdapter() {            public void windowClosing(java.awt.event.WindowEvent evt) {                closeDialog(evt);            }        });        general.setLayout(new java.awt.GridBagLayout());        generalShowCursorCoordinates.setText("Show hierarchical cursor coordinates in status bar");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.gridwidth = 2;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 2, 4);        general.add(generalShowCursorCoordinates, gridBagConstraints);        sideBarOnRight.setText("Side Bar defaults to the right side");

⌨️ 快捷键说明

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