manipulateports.java
来自「The ElectricTM VLSI Design System is an 」· Java 代码 · 共 677 行 · 第 1/2 页
JAVA
677 行
// characteristic case 2: return pe.getPort().getPortProto().getCharacteristic().getName(); // connections case 3: return pe.getConnections(); // arcs case 4: return Integer.toString(pe.getNumArcs()); // exports case 5: return pe.getExports(); } return null; } /** Method to get a column's header name. */ public String getColumnName(int col) { String colName = columnNames[col]; if (col == sortColumn) { if (sortAscending) colName += " \u21D3"; else colName += " \u21D1"; } return colName; } /** Method to determine whether a cell is editable. */ public boolean isCellEditable(int row, int col) { if (col == 0) return true; return false; } /** Method to set a value. */ public void setValueAt(Object aValue, int row, int col) { PortEntry ve = ports.get(row); if (ve == null) return; if (col != 0) return; Boolean b = (Boolean)aValue; if (ve.isSelected() != b.booleanValue()) { ve.setSelected(b.booleanValue()); fireTableCellUpdated(row, col); } } public Class<?> getColumnClass(int col) { if (col == 0) return Boolean.class; return String.class; } } private PortsTable portTable; private int sortColumn; private boolean sortAscending; public static void showDialog() { EditWindow wnd = EditWindow.needCurrent(); if (wnd == null) return; Highlighter h = wnd.getHighlighter(); NodeInst ni = (NodeInst)h.getOneElectricObject(NodeInst.class); if (ni == null) return; ManipulatePorts dialog = new ManipulatePorts(TopLevel.getCurrentJFrame(), ni); dialog.setVisible(true); } /** Creates new form Manipulate Ports */ private ManipulatePorts(Frame parent, NodeInst ni) { super(parent, true); initComponents(); getRootPane().setDefaultButton(done); title.setText("Ports on node " + ni.describe(false)); sortColumn = 1; sortAscending = true; portTable = new PortsTable(ni); JTableHeader header = portTable.getTableHeader(); header.addMouseListener(new ColumnListener()); portPane.setViewportView(portTable); finishInitialization(); } private class ColumnListener extends MouseAdapter { public ColumnListener() {} public void mouseClicked(MouseEvent e) { TableColumnModel colModel = portTable.getColumnModel(); int colNumber = colModel.getColumnIndexAtX(e.getX()); int modelIndex = colModel.getColumn(colNumber).getModelIndex(); if (modelIndex < 0) return; if (sortColumn == modelIndex) sortAscending = !sortAscending; else sortColumn = modelIndex; PortTableModel model = portTable.getModel(); model.sortTable(modelIndex, sortAscending); model.fireTableStructureChanged(); } } protected void escapePressed() { doneActionPerformed(null); } /** 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; done = new javax.swing.JButton(); title = new javax.swing.JLabel(); portPane = new javax.swing.JScrollPane(); selectAll = new javax.swing.JButton(); deselectAll = new javax.swing.JButton(); reExportPorts = new javax.swing.JButton(); jSeparator1 = new javax.swing.JSeparator(); deleteExports = new javax.swing.JButton(); showPorts = new javax.swing.JButton(); toggleSelection = new javax.swing.JButton(); getContentPane().setLayout(new java.awt.GridBagLayout()); setTitle("Manipulate Ports"); setName(""); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { closeDialog(evt); } }); done.setText("Done"); done.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { doneActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.gridwidth = 2; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(done, gridBagConstraints); title.setText("Ports on node"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(title, gridBagConstraints); portPane.setMinimumSize(new java.awt.Dimension(200, 200)); portPane.setPreferredSize(new java.awt.Dimension(200, 200)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; getContentPane().add(portPane, gridBagConstraints); selectAll.setText("Select All Ports"); selectAll.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { selectAllActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(selectAll, gridBagConstraints); deselectAll.setText("Deselect All Ports"); deselectAll.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { deselectAllActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(deselectAll, gridBagConstraints); reExportPorts.setText("ReExport Selected Ports"); reExportPorts.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { reExportPortsActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(reExportPorts, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; getContentPane().add(jSeparator1, gridBagConstraints); deleteExports.setText("Delect Exports on Selected Ports"); deleteExports.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { deleteExportsActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(deleteExports, gridBagConstraints); showPorts.setText("Show Selected Ports"); showPorts.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { showPortsActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(showPorts, gridBagConstraints); toggleSelection.setText("Toggle Selection"); toggleSelection.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { toggleSelectionActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(toggleSelection, gridBagConstraints); pack(); } // </editor-fold>//GEN-END:initComponents private void toggleSelectionActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_toggleSelectionActionPerformed {//GEN-HEADEREND:event_toggleSelectionActionPerformed portTable.toggleSelection(); }//GEN-LAST:event_toggleSelectionActionPerformed private void showPortsActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_showPortsActionPerformed {//GEN-HEADEREND:event_showPortsActionPerformed portTable.showSelected(); }//GEN-LAST:event_showPortsActionPerformed private void deleteExportsActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_deleteExportsActionPerformed {//GEN-HEADEREND:event_deleteExportsActionPerformed portTable.unExportSelected(); closeDialog(null); }//GEN-LAST:event_deleteExportsActionPerformed private void reExportPortsActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_reExportPortsActionPerformed {//GEN-HEADEREND:event_reExportPortsActionPerformed portTable.reExportSelected(); closeDialog(null); }//GEN-LAST:event_reExportPortsActionPerformed private void deselectAllActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_deselectAllActionPerformed {//GEN-HEADEREND:event_deselectAllActionPerformed portTable.deselectAll(); }//GEN-LAST:event_deselectAllActionPerformed private void selectAllActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_selectAllActionPerformed {//GEN-HEADEREND:event_selectAllActionPerformed portTable.selectAll(); }//GEN-LAST:event_selectAllActionPerformed private void doneActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_doneActionPerformed {//GEN-HEADEREND:event_doneActionPerformed closeDialog(null); }//GEN-LAST:event_doneActionPerformed /** 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.JButton deleteExports; private javax.swing.JButton deselectAll; private javax.swing.JButton done; private javax.swing.JSeparator jSeparator1; private javax.swing.JScrollPane portPane; private javax.swing.JButton reExportPorts; private javax.swing.JButton selectAll; private javax.swing.JButton showPorts; private javax.swing.JLabel title; private javax.swing.JButton toggleSelection; // End of variables declaration//GEN-END:variables}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?