designrulespanel.java

来自「The ElectricTM VLSI Design System is an 」· Java 代码 · 共 1,361 行 · 第 1/4 页

JAVA
1,361
字号
        gridBagConstraints.gridx = 2;        gridBagConstraints.gridy = 1;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.insets = new java.awt.Insets(0, 14, 0, 0);        bottom.add(drLayerWLabel, gridBagConstraints);        drLayerWidth.setColumns(6);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 3;        gridBagConstraints.gridy = 1;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 0);        bottom.add(drLayerWidth, gridBagConstraints);        drLayerWidthRule.setColumns(9);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 4;        gridBagConstraints.gridy = 1;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 4);        bottom.add(drLayerWidthRule, gridBagConstraints);        wideNameLabel.setText("Wide rules:");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 2;        gridBagConstraints.gridy = 11;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        bottom.add(wideNameLabel, gridBagConstraints);        wideValueLabel.setText("Distance");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 3;        gridBagConstraints.gridy = 11;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        bottom.add(wideValueLabel, gridBagConstraints);        wideRuleLabel.setText("Rule");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 4;        gridBagConstraints.gridy = 11;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        bottom.add(wideRuleLabel, gridBagConstraints);        multiCutValueLabel.setText("Distance");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 3;        gridBagConstraints.gridy = 17;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        bottom.add(multiCutValueLabel, gridBagConstraints);        multiCutRuleLabel.setText("Rule");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 4;        gridBagConstraints.gridy = 17;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        bottom.add(multiCutRuleLabel, gridBagConstraints);        drAddRule.setText("Add Wide Rule");        drAddRule.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                drAddRuleActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 4;        gridBagConstraints.gridy = 15;        gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 4);        bottom.add(drAddRule, gridBagConstraints);        drDeleteRule.setText("Delete Wide Rule");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 2;        gridBagConstraints.gridy = 15;        gridBagConstraints.gridwidth = 2;        gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 4);        bottom.add(drDeleteRule, gridBagConstraints);        drLayerALabel.setText("Area:");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 2;        gridBagConstraints.gridy = 2;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.insets = new java.awt.Insets(0, 14, 0, 4);        bottom.add(drLayerALabel, gridBagConstraints);        drLayerAreaRule.setColumns(9);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 4;        gridBagConstraints.gridy = 2;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 4);        bottom.add(drLayerAreaRule, gridBagConstraints);        ruleLabel.setText("Rule");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 4;        gridBagConstraints.gridy = 0;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        bottom.add(ruleLabel, gridBagConstraints);        drLayerArea.setColumns(6);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 3;        gridBagConstraints.gridy = 2;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 0);        bottom.add(drLayerArea, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 4;        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.RELATIVE;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(4, 0, 4, 0);        bottom.add(normalSeparator, gridBagConstraints);        valueLabel.setText("Min. Value");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 3;        gridBagConstraints.gridy = 0;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        bottom.add(valueLabel, gridBagConstraints);        drLayerEALabel.setText("Enclosure Area:");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 2;        gridBagConstraints.gridy = 3;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(0, 14, 0, 4);        bottom.add(drLayerEALabel, gridBagConstraints);        drLayerEAreaRule.setColumns(9);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 4;        gridBagConstraints.gridy = 3;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 4);        bottom.add(drLayerEAreaRule, gridBagConstraints);        drLayerEnclosure.setColumns(6);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 3;        gridBagConstraints.gridy = 3;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 0);        bottom.add(drLayerEnclosure, gridBagConstraints);        drNormalUnconnectedRule.setColumns(9);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 4;        gridBagConstraints.gridy = 8;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 4);        bottom.add(drNormalUnconnectedRule, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 1;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 0.5;        add(bottom, gridBagConstraints);        top.setLayout(new java.awt.GridBagLayout());        top.setBorder(javax.swing.BorderFactory.createTitledBorder("Node Rules"));        top.setAlignmentX(0.0F);        top.setAlignmentY(0.0F);        top.setPreferredSize(new java.awt.Dimension(167, 104));        drNodeList.setOpaque(false);        drNodeList.setPreferredSize(new java.awt.Dimension(200, 100));        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.gridheight = 6;        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.weightx = 0.5;        gridBagConstraints.weighty = 1.0;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        top.add(drNodeList, gridBagConstraints);        jLabel4.setText("Width:");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 1;        gridBagConstraints.gridy = 1;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        top.add(jLabel4, gridBagConstraints);        jLabel5.setText("Height:");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 1;        gridBagConstraints.gridy = 2;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        top.add(jLabel5, gridBagConstraints);        jLabel7.setText("Min. Size");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 2;        gridBagConstraints.gridy = 0;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        top.add(jLabel7, gridBagConstraints);        jLabel8.setText("Rule");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 3;        gridBagConstraints.gridy = 0;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        top.add(jLabel8, gridBagConstraints);        drNodeWidth.setColumns(6);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 2;        gridBagConstraints.gridy = 1;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.weightx = 0.25;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        top.add(drNodeWidth, gridBagConstraints);        drNodeRule.setColumns(9);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 3;        gridBagConstraints.gridy = 1;        gridBagConstraints.gridheight = 2;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.weightx = 0.25;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        top.add(drNodeRule, gridBagConstraints);        drNodeHeight.setColumns(6);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 2;        gridBagConstraints.gridy = 2;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);        top.add(drNodeHeight, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 0.5;        add(top, gridBagConstraints);    }// </editor-fold>//GEN-END:initComponents    private void drAddRuleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_drAddRuleActionPerformed        int dindex = getLayerFromToIndex();        if (dindex == -1) return;		int soFar = drSpacingsList.getItemCount();        double maxW = TextUtils.atof(drWidths.getText().trim());        double minLen = TextUtils.atof(drLengths.getText().trim());        double value = TextUtils.atof(drSpacings.getText());        String ruleText = drSpacingsRule.getText();        if (ruleText.length() > 0 && value > 0 && (maxW > 0 || minLen > 0))        {		    drSpacingsList.addItem("Rule " + (soFar+1));		    DRCTemplate wr = new DRCTemplate(drSpacingsRule.getText(), foundry.getMode(), DRCTemplate.DRCRuleType.CONSPA,                    maxW, minLen, null, null, new double[]{value}, -1);            drRules.addRule(dindex, wr, DRCTemplate.DRCRuleType.SPACING, true);            wideSpacingRules.add(wr);            // to be consistent, now adding the unconnected one            wr.ruleType = DRCTemplate.DRCRuleType.UCONSPA;            drRules.addRule(dindex, wr, DRCTemplate.DRCRuleType.SPACING, true);        }        else            soFar = 0; // reset to first element ;        if (wideSpacingRules.size() > 0) drSpacingsList.setSelectedIndex(soFar);        drAddRule.setEnabled(drRules.doesAllowMultipleWideRules(getLayerFromToIndex()));    }//GEN-LAST:event_drAddRuleActionPerformed    // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JPanel bottom;    private javax.swing.JButton drAddRule;    private javax.swing.JButton drDeleteRule;    private javax.swing.JScrollPane drFromList;    private javax.swing.JLabel drLayerALabel;    private javax.swing.JTextField drLayerArea;    private javax.swing.JTextField drLayerAreaRule;    private javax.swing.JLabel drLayerEALabel;    private javax.swing.JTextField drLayerEAreaRule;    private javax.swing.JTextField drLayerEnclosure;    private javax.swing.JLabel drLayerWLabel;    private javax.swing.JTextField drLayerWidth;    private javax.swing.JTextField drLayerWidthRule;    private javax.swing.JTextField drLengths;    private javax.swing.JLabel drLengthsLabel;    private javax.swing.JTextField drMultiUnconnected;    private javax.swing.JTextField drMultiUnconnectedRule;    private javax.swing.JTextField drNodeHeight;    private javax.swing.JScrollPane drNodeList;    private javax.swing.JTextField drNodeRule;    private javax.swing.JTextField drNodeWidth;    private javax.swing.JTextField drNormalConnected;    private javax.swing.JLabel drNormalConnectedLabel;    private javax.swing.JTextField drNormalConnectedRule;    private javax.swing.JTextField drNormalEdge;    private javax.swing.JLabel drNormalEdgeLabel;    private javax.swing.JTextField drNormalEdgeRule;    private javax.swing.JTextField drNormalUnconnected;    private javax.swing.JLabel drNormalUnconnectedLabel;    private javax.swing.JTextField drNormalUnconnectedRule;    private javax.swing.JCheckBox drShowOnlyLinesWithRules;    private javax.swing.JTextField drSpacings;    private javax.swing.JComboBox drSpacingsList;    private javax.swing.JTextField drSpacingsRule;    private javax.swing.JScrollPane drToList;    private javax.swing.JTextField drWidths;    private javax.swing.JLabel drWidthsLabel;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel4;    private javax.swing.JLabel jLabel5;    private javax.swing.JLabel jLabel7;    private javax.swing.JLabel jLabel8;    private javax.swing.JLabel multiCutNameLabel;    private javax.swing.JLabel multiCutRuleLabel;    private javax.swing.JLabel multiCutValueLabel;    private javax.swing.JSeparator multiSeparator;    private javax.swing.JLabel normalNameLabel;    private javax.swing.JLabel normalRuleLabel;    private javax.swing.JSeparator normalSeparator;    private javax.swing.JLabel normalValueLabel;    private javax.swing.JLabel ruleLabel;    private javax.swing.JLabel toLabel;    private javax.swing.JPanel top;    private javax.swing.JLabel valueLabel;    private javax.swing.JLabel wideNameLabel;    private javax.swing.JLabel wideRuleLabel;    private javax.swing.JSeparator wideSeparator;    private javax.swing.JLabel wideValueLabel;    // End of variables declaration//GEN-END:variables}

⌨️ 快捷键说明

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