networktab.java

来自「The ElectricTM VLSI Design System is an 」· Java 代码 · 共 337 行

JAVA
337
字号
/* -*- tab-width: 4 -*- * * Electric(tm) VLSI Design System * * File: NetworkTab.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.network.NetworkTool;import com.sun.electric.database.text.TextUtils;import com.sun.electric.tool.extract.Extract;import com.sun.electric.tool.user.dialogs.EDialog;import java.awt.Frame;import javax.swing.JPanel;/** * Class to handle the "Network" tab of the Preferences dialog. */public class NetworkTab extends PreferencePanel{	/** Creates new form NetworkTab */	public NetworkTab(Frame parent, boolean modal)	{		super(parent, modal);		initComponents();		// make all text fields select-all when entered	    EDialog.makeTextFieldSelectAllOnTab(extractSmallestPolygonSize);	    EDialog.makeTextFieldSelectAllOnTab(extractCellPattern);	}	/** return the panel to use for this preferences tab. */	public JPanel getPanel() { return network; }	/** return the name of this preferences tab. */	public String getName() { return "Network"; }	/**	 * Method called at the start of the dialog.	 * Caches current values and displays them in the Network tab.	 */	public void init()	{		// networks		if (NetworkTool.isBusAscending()) netAscending.setSelected(true); else			netDescending.setSelected(true);		// node extraction		extractGridAlign.setSelected(Extract.isGridAlignExtraction());		switch (Extract.getActiveHandling())		{			case 0: extractNeedProperActive.setSelected(true);   break;			case 1: extractUnifyNandP.setSelected(true);         break;			case 2: extractIgnoreWellSelect.setSelected(true);   break;		}		extractApproximateCuts.setSelected(Extract.isApproximateCuts());		extractSmallestPolygonSize.setText(Double.toString(Extract.getSmallestPolygonSize()));		extractCellPattern.setText(Extract.getCellExpandPattern());	}	public void term()	{		boolean nowBoolean = netAscending.isSelected();		if (NetworkTool.isBusAscending() != nowBoolean) NetworkTool.setBusAscending(nowBoolean);		nowBoolean = extractGridAlign.isSelected();		if (Extract.isGridAlignExtraction() != nowBoolean) Extract.setGridAlignExtraction(nowBoolean);		int nowInt = 0;		if (extractUnifyNandP.isSelected()) nowInt = 1; else			if (extractIgnoreWellSelect.isSelected()) nowInt = 2;		if (Extract.getActiveHandling() != nowInt) Extract.setActiveHandling(nowInt);		nowBoolean = extractApproximateCuts.isSelected();		if (Extract.isApproximateCuts() != nowBoolean) Extract.setApproximateCuts(nowBoolean);		double nowDouble = TextUtils.atof(extractSmallestPolygonSize.getText());		if (nowDouble != Extract.getSmallestPolygonSize())			Extract.setSmallestPolygonSize(nowDouble);		String nowString = extractCellPattern.getText();		if (!Extract.getCellExpandPattern().equals(nowString)) Extract.setCellExpandPattern(nowString);	}	/**	 * Method called when the factory reset is requested.	 */	public void reset()	{		if (NetworkTool.isFactoryBusAscending() != NetworkTool.isBusAscending())			NetworkTool.setBusAscending(NetworkTool.isFactoryBusAscending());		// node extraction		if (Extract.isFactoryGridAlignExtraction() != Extract.isGridAlignExtraction())			Extract.setGridAlignExtraction(Extract.isFactoryGridAlignExtraction());		if (Extract.isFactoryApproximateCuts() != Extract.isApproximateCuts())			Extract.setApproximateCuts(Extract.isFactoryApproximateCuts());		if (Extract.getFactoryActiveHandling() != Extract.getActiveHandling())			Extract.setActiveHandling(Extract.getFactoryActiveHandling());		if (Extract.getFactorySmallestPolygonSize() != Extract.getSmallestPolygonSize())			Extract.setSmallestPolygonSize(Extract.getFactorySmallestPolygonSize());		if (!Extract.getFactoryCellExpandPattern().equals(Extract.getCellExpandPattern()))			Extract.setCellExpandPattern(Extract.getFactoryCellExpandPattern());	}	/** 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;        netDefaultOrder = new javax.swing.ButtonGroup();        activeHandling = new javax.swing.ButtonGroup();        network = new javax.swing.JPanel();        jPanel1 = new javax.swing.JPanel();        netOrderingLabel = new javax.swing.JLabel();        netAscending = new javax.swing.JRadioButton();        netDescending = new javax.swing.JRadioButton();        jPanel3 = new javax.swing.JPanel();        extractGridAlign = new javax.swing.JCheckBox();        jLabel1 = new javax.swing.JLabel();        extractCellPattern = new javax.swing.JTextField();        jLabel3 = new javax.swing.JLabel();        extractSmallestPolygonSize = new javax.swing.JTextField();        extractApproximateCuts = new javax.swing.JCheckBox();        jPanel2 = new javax.swing.JPanel();        extractNeedProperActive = new javax.swing.JRadioButton();        extractUnifyNandP = new javax.swing.JRadioButton();        extractIgnoreWellSelect = new javax.swing.JRadioButton();        getContentPane().setLayout(new java.awt.GridBagLayout());        setTitle("Tool Options");        setName("");        addWindowListener(new java.awt.event.WindowAdapter() {            public void windowClosing(java.awt.event.WindowEvent evt) {                closeDialog(evt);            }        });        network.setLayout(new java.awt.GridBagLayout());        jPanel1.setLayout(new java.awt.GridBagLayout());        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Networks"));        netOrderingLabel.setText("Default bus order:");        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, 4, 4);        jPanel1.add(netOrderingLabel, gridBagConstraints);        netDefaultOrder.add(netAscending);        netAscending.setText("Ascending (0:N)");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 1;        gridBagConstraints.gridwidth = 2;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(4, 20, 4, 4);        jPanel1.add(netAscending, gridBagConstraints);        netDefaultOrder.add(netDescending);        netDescending.setText("Descending (N:0)");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 2;        gridBagConstraints.gridwidth = 2;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(4, 20, 4, 4);        jPanel1.add(netDescending, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.weightx = 1.0;        network.add(jPanel1, gridBagConstraints);        jPanel3.setLayout(new java.awt.GridBagLayout());        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Node Extraction"));        extractGridAlign.setText("Grid-align geometry before extraction");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        jPanel3.add(extractGridAlign, gridBagConstraints);        jLabel1.setText("Flatten cells whose names match this:");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 6;        gridBagConstraints.gridwidth = 2;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 1, 4);        jPanel3.add(jLabel1, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 7;        gridBagConstraints.gridwidth = 2;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(1, 4, 4, 4);        jPanel3.add(extractCellPattern, gridBagConstraints);        jLabel3.setText("Smallest extracted polygon (square units):");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 5;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        jPanel3.add(jLabel3, gridBagConstraints);        extractSmallestPolygonSize.setColumns(8);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 1;        gridBagConstraints.gridy = 5;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        jPanel3.add(extractSmallestPolygonSize, gridBagConstraints);        extractApproximateCuts.setText("Approximate cut placement");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 1;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        jPanel3.add(extractApproximateCuts, gridBagConstraints);        jPanel2.setLayout(new java.awt.GridBagLayout());        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Active Handling", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION));        activeHandling.add(extractNeedProperActive);        extractNeedProperActive.setText("Require separate N and P active; require proper select/well");        extractNeedProperActive.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(1, 2, 1, 2);        jPanel2.add(extractNeedProperActive, gridBagConstraints);        activeHandling.add(extractUnifyNandP);        extractUnifyNandP.setText("Ignore N vs. P active; require proper select/well");        extractUnifyNandP.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));        extractUnifyNandP.setMargin(new java.awt.Insets(0, 0, 0, 0));        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 1;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(1, 2, 1, 2);        jPanel2.add(extractUnifyNandP, gridBagConstraints);        activeHandling.add(extractIgnoreWellSelect);        extractIgnoreWellSelect.setText("Require separate N and P active; ignore select/well");        extractIgnoreWellSelect.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));        extractIgnoreWellSelect.setMargin(new java.awt.Insets(0, 0, 0, 0));        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 2;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(1, 2, 1, 2);        jPanel2.add(extractIgnoreWellSelect, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 2;        gridBagConstraints.gridwidth = 2;        gridBagConstraints.insets = new java.awt.Insets(0, 2, 4, 2);        jPanel3.add(jPanel2, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 1;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        network.add(jPanel3, gridBagConstraints);        getContentPane().add(network, new java.awt.GridBagConstraints());        pack();    }// </editor-fold>//GEN-END:initComponents	/** Closes the dialog */	private void closeDialog(java.awt.event.WindowEvent evt)//GEN-FIRST:event_closeDialog	{		setVisible(false);		dispose();	}//GEN-LAST:event_closeDialog    // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.ButtonGroup activeHandling;    private javax.swing.JCheckBox extractApproximateCuts;    private javax.swing.JTextField extractCellPattern;    private javax.swing.JCheckBox extractGridAlign;    private javax.swing.JRadioButton extractIgnoreWellSelect;    private javax.swing.JRadioButton extractNeedProperActive;    private javax.swing.JTextField extractSmallestPolygonSize;    private javax.swing.JRadioButton extractUnifyNandP;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel3;    private javax.swing.JPanel jPanel1;    private javax.swing.JPanel jPanel2;    private javax.swing.JPanel jPanel3;    private javax.swing.JRadioButton netAscending;    private javax.swing.ButtonGroup netDefaultOrder;    private javax.swing.JRadioButton netDescending;    private javax.swing.JLabel netOrderingLabel;    private javax.swing.JPanel network;    // End of variables declaration//GEN-END:variables}

⌨️ 快捷键说明

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