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 + -
显示快捷键?