/* -*- tab-width: 4 -*- * * Electric(tm) VLSI Design System * * File: CellProperties.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; import com.sun.electric.database.hierarchy.Cell; import com.sun.electric.database.hierarchy.Library; import com.sun.electric.database.text.TempPref; import com.sun.electric.database.text.TextUtils; import com.sun.electric.technology.Technology; import com.sun.electric.tool.Job; import com.sun.electric.tool.JobException; import com.sun.electric.tool.generator.sclibrary.SCLibraryGen; import com.sun.electric.tool.user.User; import java.awt.Frame; import java.awt.GraphicsEnvironment; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import javax.swing.DefaultListModel; import javax.swing.JList; import javax.swing.ListSelectionModel; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; /** * Class to handle the "Cell Properties" dialog. */ public class CellProperties extends EDialog { private JList cellList; private DefaultListModel cellListModel; private HashMap<Cell,PerCellValues> origValues; private boolean changing = false; private static class PerCellValues { TempPref disAllMod; TempPref disInstMod; TempPref inCellLib; TempPref useTechEditor; TempPref defExpanded; TempPref frameSize; TempPref designerName; TempPref technologyName; TempPref textCellFont; TempPref textCellSize; private PerCellValues(Cell cell) { // remember the cell's toggle flags disAllMod = TempPref.makeBooleanPref(cell.isAllLocked()); disInstMod = TempPref.makeBooleanPref(cell.isInstancesLocked()); inCellLib = TempPref.makeBooleanPref(SCLibraryGen.isStandardCell(cell)); useTechEditor = TempPref.makeBooleanPref(cell.isInTechnologyLibrary()); defExpanded = TempPref.makeBooleanPref(cell.isWantExpanded()); // remember the frame size String fSize = cell.getVarValue(User.FRAME_SIZE, String.class, ""); frameSize = TempPref.makeStringPref(fSize); // remember the designer name String dName = cell.getVarValue(User.FRAME_DESIGNER_NAME, String.class, ""); designerName = TempPref.makeStringPref(dName); // remember the technology String tName = cell.getTechnology().getTechName(); technologyName = TempPref.makeStringPref(tName); // remember text cell font/size String fontName = cell.getVarValue(Cell.TEXT_CELL_FONT_NAME, String.class, "DEFAULT FONT"); textCellFont = TempPref.makeStringPref(fontName); int fontSize = cell.getVarValue(Cell.TEXT_CELL_FONT_SIZE, Integer.class, new Integer(User.getDefaultTextCellSize())).intValue(); textCellSize = TempPref.makeIntPref(fontSize); } } /** Creates new form Cell Properties */ public CellProperties(Frame parent) { super(parent, true); initComponents(); // cache all information origValues = new HashMap<Cell,PerCellValues>(); // build the cell list cellListModel = new DefaultListModel(); cellList = new JList(cellListModel); cellList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); cellPane.setViewportView(cellList); cellList.addListSelectionListener(new javax.swing.event.ListSelectionListener() { public void valueChanged(javax.swing.event.ListSelectionEvent evt) { cellListClick(); } }); // build the technology popup for(Iterator<Technology> it = Technology.getTechnologies(); it.hasNext();) { Technology tech = it.next(); whichTechnology.addItem(tech.getTechName()); } // build the font popup GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); String [] fontNames = ge.getAvailableFontFamilyNames(); textCellFont.addItem("DEFAULT FONT"); for(int i=0; i<fontNames.length; i++) textCellFont.addItem(fontNames[i]); // initialize frame information frameSize.addItem("None"); frameSize.addItem("Half-A-Size"); frameSize.addItem("A-Size"); frameSize.addItem("B-Size"); frameSize.addItem("C-Size"); frameSize.addItem("D-Size"); frameSize.addItem("E-Size"); // make a popup of libraries List<Library> libList = Library.getVisibleLibraries(); for(Library lib : libList) { libraryPopup.addItem(lib.getName()); } int curIndex = libList.indexOf(Library.getCurrent()); if (curIndex >= 0) libraryPopup.setSelectedIndex(curIndex); frameDesigner.getDocument().addDocumentListener(new TextFieldListener(this)); textCellSize.getDocument().addDocumentListener(new TextFieldListener(this)); loadCellList(); finishInitialization(); } protected void escapePressed() { cancel(null); } /** * Method called when the library popup changes. * Reloads the list of cells. */ private void loadCellList() { String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); if (lib == null) return; boolean any = false; cellListModel.clear(); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); cellListModel.addElement(cell.noLibDescribe()); any = true; } if (any) { Library curLib = Library.getCurrent(); if (lib == curLib && curLib.getCurCell() != null) { cellList.setSelectedValue(curLib.getCurCell().noLibDescribe(), true); } else { cellList.setSelectedIndex(0); } } else { cellList.setSelectedValue(null, false); } cellListClick(); } /** * Method to figure out the current cell. * Examines the library popup and the cell list. * @return the current cell (null if none). */ private Cell getSelectedCell() { String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); String cellName = (String)cellList.getSelectedValue(); if (cellName == null) return null; Cell cell = lib.findNodeProto(cellName); return cell; } /** * Lazy caching */ private PerCellValues getPCV(Cell cell) { PerCellValues pcv = origValues.get(cell); if (pcv == null) { pcv = new PerCellValues(cell); origValues.put(cell, pcv); } return pcv; } /** * Method called when a cell name is clicked in the list. * Updates the displayed values for that cell. */ private void cellListClick() { Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); if (pcv == null) return; changing = true; disallowModAnyInCell.setSelected(pcv.disAllMod.getBoolean()); disallowModInstInCell.setSelected(pcv.disInstMod.getBoolean()); partOfCellLib.setSelected(pcv.inCellLib.getBoolean()); useTechEditor.setSelected(pcv.useTechEditor.getBoolean()); expandNewInstances.setSelected(pcv.defExpanded.getBoolean()); frameDesigner.setText(pcv.designerName.getString()); whichTechnology.setSelectedItem(pcv.technologyName.getString()); textCellFont.setSelectedItem(pcv.textCellFont.getString()); textCellSize.setText(Integer.toString(pcv.textCellSize.getInt())); frameSize.setSelectedIndex(0); frameLandscape.setSelected(true); frameTitleBox.setSelected(false); String fs = pcv.frameSize.getString(); if (fs.length() > 0) { char chr = fs.charAt(0); if (chr == 'h') frameSize.setSelectedIndex(1); else if (chr == 'a') frameSize.setSelectedIndex(2); else if (chr == 'b') frameSize.setSelectedIndex(3); else if (chr == 'c') frameSize.setSelectedIndex(4); else if (chr == 'd') frameSize.setSelectedIndex(5); else if (chr == 'e') frameSize.setSelectedIndex(6); frameTitleBox.setSelected(true); for(int i=1; i< fs.length(); i++) { chr = fs.charAt(i); if (chr == 'v') framePortrait.setSelected(true); else if (chr == 'n') frameTitleBox.setSelected(false); } } changing = false; } /** * Class to handle special changes to characteristic spacing. */ private static class TextFieldListener implements DocumentListener { CellProperties dialog; TextFieldListener(CellProperties dialog) { this.dialog = dialog; } public void changedUpdate(DocumentEvent e) { dialog.textInfoChanged(); } public void insertUpdate(DocumentEvent e) { dialog.textInfoChanged(); } public void removeUpdate(DocumentEvent e) { dialog.textInfoChanged(); } } private void textInfoChanged() { if (changing) return; Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); if (pcv == null) return; // get current text fields pcv.designerName.setString(frameDesigner.getText()); pcv.textCellSize.setInt(TextUtils.atoi(textCellSize.getText())); } private void frameInfoChanged() { if (changing) return; Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); if (pcv == null) return; // get current cell frame information String currentFrameSize = ""; int index = frameSize.getSelectedIndex(); if (index > 0) { switch (index) { case 1: currentFrameSize = "h"; break; case 2: currentFrameSize = "a"; break; case 3: currentFrameSize = "b"; break; case 4: currentFrameSize = "c"; break; case 5: currentFrameSize = "d"; break; case 6: currentFrameSize = "e"; break; } if (framePortrait.isSelected()) currentFrameSize += "v"; if (!frameTitleBox.isSelected()) currentFrameSize += "n"; } else { if (frameTitleBox.isSelected()) currentFrameSize = "x"; } pcv.frameSize.setString(currentFrameSize); } /** 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; frameOrientation = new javax.swing.ButtonGroup(); cancel = new javax.swing.JButton(); ok = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); cellPane = new javax.swing.JScrollPane(); disallowModAnyInCell = new javax.swing.JCheckBox(); setDisallowModAnyInCell = new javax.swing.JButton(); clearDisallowModAnyInCell = new javax.swing.JButton(); disallowModInstInCell = new javax.swing.JCheckBox(); setDisallowModInstInCell = new javax.swing.JButton(); clearDisallowModInstInCell = new javax.swing.JButton(); partOfCellLib = new javax.swing.JCheckBox(); setPartOfCellLib = new javax.swing.JButton(); clearPartOfCellLib = new javax.swing.JButton(); useTechEditor = new javax.swing.JCheckBox(); setUseTechEditor = new javax.swing.JButton(); clearUseTechEditor = new javax.swing.JButton(); libraryPopup = new javax.swing.JComboBox(); jPanel1 = new javax.swing.JPanel(); jLabel14 = new javax.swing.JLabel(); frameSize = new javax.swing.JComboBox(); frameLandscape = new javax.swing.JRadioButton(); framePortrait = new javax.swing.JRadioButton(); frameTitleBox = new javax.swing.JCheckBox(); jLabel18 = new javax.swing.JLabel(); frameDesigner = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); whichTechnology = new javax.swing.JComboBox(); textCells = new javax.swing.JPanel(); jLabel7 = new javax.swing.JLabel(); textCellFont = new javax.swing.JComboBox(); jLabel6 = new javax.swing.JLabel(); textCellSize = new javax.swing.JTextField(); setExpandNewInstances = new javax.swing.JButton(); clearExpandNewInstances = new javax.swing.JButton(); expandNewInstances = new javax.swing.JCheckBox(); getContentPane().setLayout(new java.awt.GridBagLayout()); setTitle("Cell Properties"); setName(""); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { closeDialog(evt); } }); cancel.setText("Cancel"); cancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancel(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 11; gridBagConstraints.gridwidth = 2; gridBagConstraints.weightx = 0.5; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(cancel, gridBagConstraints); ok.setText("OK"); ok.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ok(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 11; gridBagConstraints.gridwidth = 2; gridBagConstraints.weightx = 0.5; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(ok, gridBagConstraints); jLabel1.setText("Library:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(jLabel1, gridBagConstraints); jLabel2.setText("Every cell:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(jLabel2, gridBagConstraints); cellPane.setMinimumSize(new java.awt.Dimension(200, 250)); cellPane.setPreferredSize(new java.awt.Dimension(200, 250)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; gridBagConstraints.gridheight = 11; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(cellPane, gridBagConstraints); disallowModAnyInCell.setText("Disallow modification of anything in this cell"); disallowModAnyInCell.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { disallowModAnyInCellActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(disallowModAnyInCell, gridBagConstraints); setDisallowModAnyInCell.setText("Set"); setDisallowModAnyInCell.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { setDisallowModAnyInCellActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 1; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(setDisallowModAnyInCell, gridBagConstraints); clearDisallowModAnyInCell.setText("Clear"); clearDisallowModAnyInCell.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearDisallowModAnyInCellActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 6; gridBagConstraints.gridy = 1; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(clearDisallowModAnyInCell, gridBagConstraints); disallowModInstInCell.setText("Disallow modification of instances in this cell"); disallowModInstInCell.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { disallowModInstInCellActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(disallowModInstInCell, gridBagConstraints); setDisallowModInstInCell.setText("Set"); setDisallowModInstInCell.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { setDisallowModInstInCellActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(setDisallowModInstInCell, gridBagConstraints); clearDisallowModInstInCell.setText("Clear"); clearDisallowModInstInCell.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearDisallowModInstInCellActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 6; gridBagConstraints.gridy = 2; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(clearDisallowModInstInCell, gridBagConstraints); partOfCellLib.setText("Standard cell in a cell library"); partOfCellLib.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { partOfCellLibActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(partOfCellLib, gridBagConstraints); setPartOfCellLib.setText("Set"); setPartOfCellLib.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { setPartOfCellLibActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 3; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(setPartOfCellLib, gridBagConstraints); clearPartOfCellLib.setText("Clear"); clearPartOfCellLib.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearPartOfCellLibActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 6; gridBagConstraints.gridy = 3; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(clearPartOfCellLib, gridBagConstraints); useTechEditor.setText("Part of technology editor library"); useTechEditor.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { useTechEditorActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 4; gridBagConstraints.gridwidth = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(useTechEditor, gridBagConstraints); setUseTechEditor.setText("Set"); setUseTechEditor.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { setUseTechEditorActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 4; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(setUseTechEditor, gridBagConstraints); clearUseTechEditor.setText("Clear"); clearUseTechEditor.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearUseTechEditorActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 6; gridBagConstraints.gridy = 4; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(clearUseTechEditor, gridBagConstraints); libraryPopup.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { libraryPopupActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(libraryPopup, gridBagConstraints); jPanel1.setLayout(new java.awt.GridBagLayout()); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Cell Frame")); jLabel14.setText("Size:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridheight = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 4, 0, 0); jPanel1.add(jLabel14, gridBagConstraints); frameSize.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { frameSizeActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.gridheight = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); jPanel1.add(frameSize, gridBagConstraints); frameOrientation.add(frameLandscape); frameLandscape.setText("Landscape"); frameLandscape.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { frameLandscapeActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 4, 2, 4); jPanel1.add(frameLandscape, gridBagConstraints); frameOrientation.add(framePortrait); framePortrait.setText("Portrait"); framePortrait.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { framePortraitActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(2, 4, 0, 4); jPanel1.add(framePortrait, gridBagConstraints); frameTitleBox.setText("Title Box"); frameTitleBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { frameTitleBoxActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.gridheight = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); jPanel1.add(frameTitleBox, gridBagConstraints); jLabel18.setText("Designer Name:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(2, 4, 0, 0); jPanel1.add(jLabel18, gridBagConstraints); frameDesigner.setColumns(15); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 0.5; gridBagConstraints.insets = new java.awt.Insets(4, 4, 0, 4); jPanel1.add(frameDesigner, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 10; gridBagConstraints.gridwidth = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(jPanel1, gridBagConstraints); jLabel5.setText("Technology:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(jLabel5, gridBagConstraints); whichTechnology.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { whichTechnologyActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 8; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(whichTechnology, gridBagConstraints); textCells.setLayout(new java.awt.GridBagLayout()); textCells.setBorder(javax.swing.BorderFactory.createTitledBorder("For Textual Cells")); jLabel7.setText("Font:"); 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); textCells.add(jLabel7, gridBagConstraints); textCellFont.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { textCellFontActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); textCells.add(textCellFont, gridBagConstraints); jLabel6.setText("Size:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); textCells.add(jLabel6, gridBagConstraints); textCellSize.setColumns(8); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); textCells.add(textCellSize, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 9; gridBagConstraints.gridwidth = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(textCells, gridBagConstraints); setExpandNewInstances.setText("Set"); setExpandNewInstances.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { setExpandNewInstancesActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 5; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(setExpandNewInstances, gridBagConstraints); clearExpandNewInstances.setText("Clear"); clearExpandNewInstances.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearExpandNewInstancesActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 6; gridBagConstraints.gridy = 5; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(clearExpandNewInstances, gridBagConstraints); expandNewInstances.setText("Expand new instances of this cell"); expandNewInstances.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { expandNewInstancesActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.gridwidth = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); getContentPane().add(expandNewInstances, gridBagConstraints); pack(); }// </editor-fold>//GEN-END:initComponents private void expandNewInstancesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_expandNewInstancesActionPerformed Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); pcv.defExpanded.setBoolean(expandNewInstances.isSelected()); }//GEN-LAST:event_expandNewInstancesActionPerformed private void clearExpandNewInstancesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearExpandNewInstancesActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.defExpanded.setBoolean(false); } cellListClick(); }//GEN-LAST:event_clearExpandNewInstancesActionPerformed private void setExpandNewInstancesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_setExpandNewInstancesActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.defExpanded.setBoolean(true); } cellListClick(); }//GEN-LAST:event_setExpandNewInstancesActionPerformed private void textCellFontActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_textCellFontActionPerformed {//GEN-HEADEREND:event_textCellFontActionPerformed Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); pcv.textCellFont.setString((String)textCellFont.getSelectedItem()); }//GEN-LAST:event_textCellFontActionPerformed private void whichTechnologyActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_whichTechnologyActionPerformed {//GEN-HEADEREND:event_whichTechnologyActionPerformed Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); pcv.technologyName.setString((String)whichTechnology.getSelectedItem()); }//GEN-LAST:event_whichTechnologyActionPerformed private void frameTitleBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_frameTitleBoxActionPerformed {//GEN-HEADEREND:event_frameTitleBoxActionPerformed frameInfoChanged(); }//GEN-LAST:event_frameTitleBoxActionPerformed private void framePortraitActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_framePortraitActionPerformed {//GEN-HEADEREND:event_framePortraitActionPerformed frameInfoChanged(); }//GEN-LAST:event_framePortraitActionPerformed private void frameLandscapeActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_frameLandscapeActionPerformed {//GEN-HEADEREND:event_frameLandscapeActionPerformed frameInfoChanged(); }//GEN-LAST:event_frameLandscapeActionPerformed private void frameSizeActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_frameSizeActionPerformed {//GEN-HEADEREND:event_frameSizeActionPerformed frameInfoChanged(); }//GEN-LAST:event_frameSizeActionPerformed private void libraryPopupActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_libraryPopupActionPerformed {//GEN-HEADEREND:event_libraryPopupActionPerformed loadCellList(); }//GEN-LAST:event_libraryPopupActionPerformed private void useTechEditorActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_useTechEditorActionPerformed {//GEN-HEADEREND:event_useTechEditorActionPerformed Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); pcv.useTechEditor.setBoolean(useTechEditor.isSelected()); }//GEN-LAST:event_useTechEditorActionPerformed private void partOfCellLibActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_partOfCellLibActionPerformed {//GEN-HEADEREND:event_partOfCellLibActionPerformed Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); pcv.inCellLib.setBoolean(partOfCellLib.isSelected()); }//GEN-LAST:event_partOfCellLibActionPerformed private void disallowModInstInCellActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_disallowModInstInCellActionPerformed {//GEN-HEADEREND:event_disallowModInstInCellActionPerformed Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); pcv.disInstMod.setBoolean(disallowModInstInCell.isSelected()); }//GEN-LAST:event_disallowModInstInCellActionPerformed private void disallowModAnyInCellActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_disallowModAnyInCellActionPerformed {//GEN-HEADEREND:event_disallowModAnyInCellActionPerformed Cell cell = getSelectedCell(); if (cell == null) return; PerCellValues pcv = getPCV(cell); pcv.disAllMod.setBoolean(disallowModAnyInCell.isSelected()); }//GEN-LAST:event_disallowModAnyInCellActionPerformed private void clearUseTechEditorActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_clearUseTechEditorActionPerformed {//GEN-HEADEREND:event_clearUseTechEditorActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.useTechEditor.setBoolean(false); } cellListClick(); }//GEN-LAST:event_clearUseTechEditorActionPerformed private void setUseTechEditorActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_setUseTechEditorActionPerformed {//GEN-HEADEREND:event_setUseTechEditorActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.useTechEditor.setBoolean(true); } cellListClick(); }//GEN-LAST:event_setUseTechEditorActionPerformed private void clearPartOfCellLibActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_clearPartOfCellLibActionPerformed {//GEN-HEADEREND:event_clearPartOfCellLibActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.inCellLib.setBoolean(false); } cellListClick(); }//GEN-LAST:event_clearPartOfCellLibActionPerformed private void setPartOfCellLibActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_setPartOfCellLibActionPerformed {//GEN-HEADEREND:event_setPartOfCellLibActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.inCellLib.setBoolean(true); } cellListClick(); }//GEN-LAST:event_setPartOfCellLibActionPerformed private void clearDisallowModInstInCellActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_clearDisallowModInstInCellActionPerformed {//GEN-HEADEREND:event_clearDisallowModInstInCellActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.disInstMod.setBoolean(false); } cellListClick(); }//GEN-LAST:event_clearDisallowModInstInCellActionPerformed private void setDisallowModInstInCellActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_setDisallowModInstInCellActionPerformed {//GEN-HEADEREND:event_setDisallowModInstInCellActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.disInstMod.setBoolean(true); } cellListClick(); }//GEN-LAST:event_setDisallowModInstInCellActionPerformed private void clearDisallowModAnyInCellActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_clearDisallowModAnyInCellActionPerformed {//GEN-HEADEREND:event_clearDisallowModAnyInCellActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.disAllMod.setBoolean(false); } cellListClick(); }//GEN-LAST:event_clearDisallowModAnyInCellActionPerformed private void setDisallowModAnyInCellActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_setDisallowModAnyInCellActionPerformed {//GEN-HEADEREND:event_setDisallowModAnyInCellActionPerformed String libName = (String)libraryPopup.getSelectedItem(); Library lib = Library.findLibrary(libName); for(Iterator<Cell> it = lib.getCells(); it.hasNext(); ) { Cell cell = it.next(); PerCellValues pcv = getPCV(cell); pcv.disAllMod.setBoolean(true); } cellListClick(); }//GEN-LAST:event_setDisallowModAnyInCellActionPerformed private void cancel(java.awt.event.ActionEvent evt)//GEN-FIRST:event_cancel {//GEN-HEADEREND:event_cancel closeDialog(null); }//GEN-LAST:event_cancel private void ok(java.awt.event.ActionEvent evt)//GEN-FIRST:event_ok {//GEN-HEADEREND:event_ok List<Cell> cells = new ArrayList<Cell>(); List<Boolean> disAllMod = new ArrayList<Boolean>(); List<Boolean> disAllModFactory = new ArrayList<Boolean>(); List<Boolean> disInstMod = new ArrayList<Boolean>(); List<Boolean> disInstModFactory = new ArrayList<Boolean>(); List<Boolean> inCellLib = new ArrayList<Boolean>(); List<Boolean> inCellLibFactory = new ArrayList<Boolean>(); List<Boolean> useTechEditor = new ArrayList<Boolean>(); List<Boolean> useTechEditorFactory = new ArrayList<Boolean>(); List<Boolean> defExpanded = new ArrayList<Boolean>(); List<Boolean> defExpandedFactory = new ArrayList<Boolean>(); List<String> frameSize = new ArrayList<String>(); List<String> frameSizeFactory = new ArrayList<String>(); List<String> designerName = new ArrayList<String>(); List<String> designerNameFactory = new ArrayList<String>(); List<String> technologyName = new ArrayList<String>(); List<String> technologyNameFactory = new ArrayList<String>(); List<String> textCellFont = new ArrayList<String>(); List<String> textCellFontFactory = new ArrayList<String>(); List<Integer> textCellSize = new ArrayList<Integer>(); List<Integer> textCellSizeFactory = new ArrayList<Integer>(); for (Cell cell : origValues.keySet()) { cells.add(cell); PerCellValues pcv = getPCV(cell); disAllMod.add(Boolean.valueOf(pcv.disAllMod.getBoolean())); disAllModFactory.add(Boolean.valueOf(pcv.disAllMod.getBooleanFactoryValue())); disInstMod.add(Boolean.valueOf(pcv.disInstMod.getBoolean())); disInstModFactory.add(Boolean.valueOf(pcv.disInstMod.getBooleanFactoryValue())); inCellLib.add(Boolean.valueOf(pcv.inCellLib.getBoolean())); inCellLibFactory.add(Boolean.valueOf(pcv.inCellLib.getBooleanFactoryValue())); useTechEditor.add(Boolean.valueOf(pcv.useTechEditor.getBoolean())); useTechEditorFactory.add(Boolean.valueOf(pcv.useTechEditor.getBooleanFactoryValue())); defExpanded.add(Boolean.valueOf(pcv.defExpanded.getBoolean())); defExpandedFactory.add(Boolean.valueOf(pcv.defExpanded.getBooleanFactoryValue())); frameSize.add(pcv.frameSize.getString()); frameSizeFactory.add((String)pcv.frameSize.getFactoryValue()); String dn = pcv.designerName.getString(); if (pcv.frameSize.getString().length() != 0) { if (dn.length() == 0) dn = System.getProperty("user.name"); } designerName.add(dn); designerNameFactory.add((String)pcv.designerName.getFactoryValue()); technologyName.add(pcv.technologyName.getString()); technologyNameFactory.add((String)pcv.technologyName.getFactoryValue()); textCellFont.add(pcv.textCellFont.getString()); textCellFontFactory.add((String)pcv.textCellFont.getFactoryValue()); textCellSize.add(new Integer(pcv.textCellSize.getInt())); textCellSizeFactory.add(new Integer(pcv.textCellSize.getIntFactoryValue())); } new SetCellOptions( cells, disAllMod, disAllModFactory, disInstMod, disInstModFactory, inCellLib, inCellLibFactory, useTechEditor, useTechEditorFactory, defExpanded, defExpandedFactory, frameSize, frameSizeFactory, designerName, designerNameFactory, technologyName, technologyNameFactory, textCellFont, textCellFontFactory, textCellSize, textCellSizeFactory); closeDialog(null); }//GEN-LAST:event_ok /** * Class to set cell options. */ private static class SetCellOptions extends Job { private List<Cell> cells; private List<Boolean> disAllMod, disAllModFactory; private List<Boolean> disInstMod, disInstModFactory; private List<Boolean> inCellLib, inCellLibFactory; private List<Boolean> useTechEditor, useTechEditorFactory; private List<Boolean> defExpanded, defExpandedFactory; private List<String> frameSize, frameSizeFactory; private List<String> designerName, designerNameFactory; private List<String> technologyName, technologyNameFactory; private List<String> textCellFont, textCellFontFactory; private List<Integer> textCellSize, textCellSizeFactory; private SetCellOptions( List<Cell> cells, List<Boolean> disAllMod, List<Boolean> disAllModFactory, List<Boolean> disInstMod, List<Boolean> disInstModFactory, List<Boolean> inCellLib, List<Boolean> inCellLibFactory, List<Boolean> useTechEditor, List<Boolean> useTechEditorFactory, List<Boolean> defExpanded, List<Boolean> defExpandedFactory, List<String> frameSize, List<String> frameSizeFactory, List<String> designerName, List<String> designerNameFactory, List<String> technologyName, List<String> technologyNameFactory, List<String> textCellFont, List<String> textCellFontFactory, List<Integer> textCellSize, List<Integer> textCellSizeFactory) { super("Change Cell Options", User.getUserTool(), Job.Type.CHANGE, null, null, Job.Priority.USER); this.cells = cells; this.disAllMod = disAllMod; this.disAllModFactory = disAllModFactory; this.disInstMod = disInstMod; this.disInstModFactory = disInstModFactory; this.inCellLib = inCellLib; this.inCellLibFactory = inCellLibFactory; this.useTechEditor = useTechEditor; this.useTechEditorFactory = useTechEditorFactory; this.defExpanded = defExpanded; this.defExpandedFactory = defExpandedFactory; this.frameSize = frameSize; this.frameSizeFactory = frameSizeFactory; this.designerName = designerName; this.designerNameFactory = designerNameFactory; this.technologyName = technologyName; this.technologyNameFactory = technologyNameFactory; this.textCellFont = textCellFont; this.textCellFontFactory = textCellFontFactory; this.textCellSize = textCellSize; this.textCellSizeFactory = textCellSizeFactory; startJob(); } public boolean doIt() throws JobException { List<Cell> cellsInLib = new ArrayList<Cell>(); List<Cell> cellsNotInLib = new ArrayList<Cell>(); for (int i=0; i<cells.size(); i++) { Cell cell = cells.get(i); if (disAllMod.get(i).booleanValue() != disAllModFactory.get(i).booleanValue()) { if (disAllMod.get(i).booleanValue()) cell.setAllLocked(); else cell.clearAllLocked(); } if (disInstMod.get(i).booleanValue() != disInstModFactory.get(i).booleanValue()) { if (disInstMod.get(i).booleanValue()) cell.setInstancesLocked(); else cell.clearInstancesLocked(); } if (inCellLib.get(i).booleanValue() != inCellLibFactory.get(i).booleanValue()) { if (inCellLib.get(i).booleanValue()) { // cell.setInCellLibrary(); cellsInLib.add(cell); } else { // cell.clearInCellLibrary(); cellsNotInLib.add(cell); } } if (useTechEditor.get(i).booleanValue() != useTechEditorFactory.get(i).booleanValue()) { if (useTechEditor.get(i).booleanValue()) cell.setInTechnologyLibrary(); else cell.clearInTechnologyLibrary(); } if (defExpanded.get(i).booleanValue() != defExpandedFactory.get(i).booleanValue()) { if (defExpanded.get(i).booleanValue()) cell.setWantExpanded(); else cell.clearWantExpanded(); } if (!frameSize.get(i).equals(frameSizeFactory.get(i))) { cell.newVar(User.FRAME_SIZE, frameSize.get(i)); } if (!designerName.get(i).equals(designerNameFactory.get(i))) { cell.newVar(User.FRAME_DESIGNER_NAME, designerName.get(i)); } if (!technologyName.get(i).equals(technologyNameFactory.get(i))) { Technology tech = Technology.findTechnology(technologyName.get(i)); if (tech != null) cell.setTechnology(tech); } if (!textCellFont.get(i).equals(textCellFontFactory.get(i))) { cell.newVar(Cell.TEXT_CELL_FONT_NAME, textCellFont.get(i)); } if (textCellSize.get(i).intValue() != textCellSizeFactory.get(i).intValue()) { cell.newVar(Cell.TEXT_CELL_FONT_SIZE, textCellSize.get(i)); } } SCLibraryGen.markStandardCell(cellsInLib, cellsNotInLib); return true; } } /** 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 cancel; private javax.swing.JScrollPane cellPane; private javax.swing.JButton clearDisallowModAnyInCell; private javax.swing.JButton clearDisallowModInstInCell; private javax.swing.JButton clearExpandNewInstances; private javax.swing.JButton clearPartOfCellLib; private javax.swing.JButton clearUseTechEditor; private javax.swing.JCheckBox disallowModAnyInCell; private javax.swing.JCheckBox disallowModInstInCell; private javax.swing.JCheckBox expandNewInstances; private javax.swing.JTextField frameDesigner; private javax.swing.JRadioButton frameLandscape; private javax.swing.ButtonGroup frameOrientation; private javax.swing.JRadioButton framePortrait; private javax.swing.JComboBox frameSize; private javax.swing.JCheckBox frameTitleBox; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel14; private javax.swing.JLabel jLabel18; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JPanel jPanel1; private javax.swing.JComboBox libraryPopup; private javax.swing.JButton ok; private javax.swing.JCheckBox partOfCellLib; private javax.swing.JButton setDisallowModAnyInCell; private javax.swing.JButton setDisallowModInstInCell; private javax.swing.JButton setExpandNewInstances; private javax.swing.JButton setPartOfCellLib; private javax.swing.JButton setUseTechEditor; private javax.swing.JComboBox textCellFont; private javax.swing.JTextField textCellSize; private javax.swing.JPanel textCells; private javax.swing.JCheckBox useTechEditor; private javax.swing.JComboBox whichTechnology; // End of variables declaration//GEN-END:variables }