package cytoscape.editor.cyAnnotator.createAnnotation; import javax.swing.BorderFactory; import javax.swing.JFrame; import cytoscape.editor.cyAnnotator.Annotations.ShapeAnnotation; public class cShapeAnnotationPanel extends javax.swing.JPanel { public cShapeAnnotationPanel() { initComponents(); } private void initComponents() { jLabel5 = new javax.swing.JLabel(); jScrollPane4 = new javax.swing.JScrollPane(); sList = new javax.swing.JList(); fillColor = new javax.swing.JCheckBox(); edgeColor = new javax.swing.JCheckBox(); jLabel6 = new javax.swing.JLabel(); eThickness = new javax.swing.JComboBox(); sECButton = new javax.swing.JButton(); sFCButton = new javax.swing.JButton(); jPanel1 = new javax.swing.JPanel(); setMaximumSize(new java.awt.Dimension(470, 400)); setMinimumSize(new java.awt.Dimension(470, 400)); setLayout(null); setBorder(BorderFactory.createLoweredBevelBorder()); jLabel5.setFont(new java.awt.Font("Tahoma", 1, 12)); jLabel5.setText("Shape:"); add(jLabel5); jLabel5.setBounds(40, 39, jLabel5.getPreferredSize().width, 15); sList.setModel(new javax.swing.AbstractListModel() { String[] strings = { "Rectangle", "Rounded Rectangle", "Oval" }; public int getSize() { return strings.length; } public Object getElementAt(int i) { return strings[i]; } }); sList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); sList.setSelectedIndex(1); jScrollPane4.setViewportView(sList); add(jScrollPane4); jScrollPane4.setBounds(40, 65, 119, 87); fillColor.setText("Fill Color"); add(fillColor); fillColor.setBounds(188, 39, fillColor.getPreferredSize().width, 23); edgeColor.setText("Edge Color"); add(edgeColor); edgeColor.setBounds(188, 88, edgeColor.getPreferredSize().width, 23); jLabel6.setText("Edge Thickness"); add(jLabel6); jLabel6.setBounds(188, 135, jLabel6.getPreferredSize().width, 14); eThickness.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13" })); eThickness.setSelectedIndex(1); add(eThickness); eThickness.setBounds(376, 132, eThickness.getPreferredSize().width, 20); sECButton.setText("Select Edge Color"); sECButton.setEnabled(false); add(sECButton); sECButton.setBounds(296, 88, sECButton.getPreferredSize().width, 23); sFCButton.setText("Select Fill Color"); sFCButton.setEnabled(false); add(sFCButton); sFCButton.setBounds(296, 39, sFCButton.getPreferredSize().width, 23); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Preview")); jPanel1.setLayout(null); add(jPanel1); jPanel1.setBounds(30, 179, 415, 215); preview=new ShapeAnnotation(415, 215); jPanel1.add(preview); preview.setBounds(1, 1, jPanel1.getWidth(), jPanel1.getHeight()); preview.usedForPreviews=true; preview.cornersAdjusted=true; modifySAPreview(); sFCButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sFCButtonActionPerformed(evt); } }); sECButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sECButtonActionPerformed(evt); } }); eThickness.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { eThicknessActionPerformed(evt); } }); edgeColor.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { edgeColorActionPerformed(evt); } }); fillColor.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { fillColorActionPerformed(evt); } }); sList.addListSelectionListener(new javax.swing.event.ListSelectionListener() { public void valueChanged(javax.swing.event.ListSelectionEvent evt) { sListValueChanged(evt); } }); } public ShapeAnnotation getPreview(){ return preview; } public void modifySAPreview(){ preview.setEdgeThickness( Integer.parseInt( (String)(eThickness.getModel().getSelectedItem()) ) ); preview.setShapeType(sList.getSelectedIndex()); jPanel1.repaint(); } private void sListValueChanged(javax.swing.event.ListSelectionEvent evt) { modifySAPreview(); } private void fillColorActionPerformed(java.awt.event.ActionEvent evt) { //fill Color if(fillColor.isSelected()) sFCButton.setEnabled(true); else sFCButton.setEnabled(false); } private void edgeColorActionPerformed(java.awt.event.ActionEvent evt) { //Edge Color if(edgeColor.isSelected()) sECButton.setEnabled(true); else sECButton.setEnabled(false); } private void eThicknessActionPerformed(java.awt.event.ActionEvent evt) { //Edge Thickness modifySAPreview(); } private void sECButtonActionPerformed(java.awt.event.ActionEvent evt) { //sECButton SelectColor sASelectColor=new SelectColor(preview, 2, this.jPanel1); sASelectColor.setVisible(true); sASelectColor.setSize(435, 420); //2 -> EdgeColor } private void sFCButtonActionPerformed(java.awt.event.ActionEvent evt) { //Set Fill Color Button SelectColor sASelectColor=new SelectColor(preview, 1, this.jPanel1); sASelectColor.setVisible(true); sASelectColor.setSize(435, 420); //1 -> FillColor } private javax.swing.JComboBox eThickness; private javax.swing.JCheckBox edgeColor; private javax.swing.JCheckBox fillColor; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane4; private javax.swing.JButton sECButton; private javax.swing.JButton sFCButton; private javax.swing.JList sList; private ShapeAnnotation preview; }