import javax.swing.table.AbstractTableModel;

/*
 * AdvancedWeightSpecification.java
 *
 * Created on October 19, 2003, 1:38 PM
 */

/**
 *
 * @author  Matt
 */
public class AdvancedWeightSpecification extends javax.swing.JFrame {
    
    /** Creates new form AdvancedWeightSpecification */
    public AdvancedWeightSpecification() {
        initComponents();
    }
    
    /** 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.
     */
    private void initComponents() {//GEN-BEGIN:initComponents
        java.awt.GridBagConstraints gridBagConstraints;

        useWeightButtonGroup = new javax.swing.ButtonGroup();
        outerPanel = new javax.swing.JPanel();
        specifyWeightRadio = new javax.swing.JRadioButton();
        useNilWeightsRadio = new javax.swing.JRadioButton();
        innerPanel = new javax.swing.JPanel();
        weightListLabel = new javax.swing.JLabel();
        weightFieldLabel = new javax.swing.JLabel();
        weightField = new javax.swing.JTextField();
        weightTablePane = new javax.swing.JScrollPane();
        weightTable = new javax.swing.JTable();
        buttonPanel = new javax.swing.JPanel();
        btnReset = new javax.swing.JButton();
        okayCancelPanel = new javax.swing.JPanel();
        btnOkay = new javax.swing.JButton();
        btnCancel = new javax.swing.JButton();

        getContentPane().setLayout(new java.awt.BorderLayout(0, 15));

        setTitle("Advanced Weight Specification");
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        outerPanel.setLayout(new java.awt.BorderLayout());

        specifyWeightRadio.setText("Specify relative weights");
        useWeightButtonGroup.add(specifyWeightRadio);
        outerPanel.add(specifyWeightRadio, java.awt.BorderLayout.NORTH);

        useNilWeightsRadio.setText("Use \"don't care\" weights");
        useWeightButtonGroup.add(useNilWeightsRadio);
        outerPanel.add(useNilWeightsRadio, java.awt.BorderLayout.SOUTH);

        innerPanel.setLayout(new java.awt.GridBagLayout());

        weightListLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        weightListLabel.setText("Weights");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.weightx = 0.8;
        gridBagConstraints.insets = new java.awt.Insets(0, 10, 5, 0);
        innerPanel.add(weightListLabel, gridBagConstraints);

        weightFieldLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        weightFieldLabel.setText("Enter weight:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.weightx = 0.5;
        gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 5);
        innerPanel.add(weightFieldLabel, gridBagConstraints);

        weightField.setText("30");
        weightField.setPreferredSize(new java.awt.Dimension(40, 20));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.weightx = 0.5;
        gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
        innerPanel.add(weightField, gridBagConstraints);

        weightTablePane.setMinimumSize(new java.awt.Dimension(320, 240));
        weightTablePane.setPreferredSize(new java.awt.Dimension(400, 300));
        weightTable.setModel(new AbstractTableModel() {
            public int getRowCount() {return 2;}
            public int getColumnCount() {return 2;}

            private final String[][] data = {
                {"Design", "10"},
                {"Requirements", "30"}
            };

            public Object getValueAt(int row, int column) {
                return data[row][column];
            }

            public String getColumnName(int index) {
                return 0 == index ? "Question topic" : "Weight";
            }
        }
    );
    weightTablePane.setViewportView(weightTable);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.gridwidth = 3;
    gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.weighty = 1.0;
    innerPanel.add(weightTablePane, gridBagConstraints);

    outerPanel.add(innerPanel, java.awt.BorderLayout.CENTER);

    getContentPane().add(outerPanel, java.awt.BorderLayout.CENTER);

    buttonPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT, 10, 5));

    btnReset.setLabel("Reset to default...");
    buttonPanel.add(btnReset);

    okayCancelPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT, 3, 5));

    btnOkay.setText("OK");
    okayCancelPanel.add(btnOkay);

    btnCancel.setText("Cancel");
    okayCancelPanel.add(btnCancel);

    buttonPanel.add(okayCancelPanel);

    getContentPane().add(buttonPanel, java.awt.BorderLayout.SOUTH);

    pack();
    }//GEN-END:initComponents
    
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
        System.exit(0);
    }//GEN-LAST:event_exitForm
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        new AdvancedWeightSpecification().show();
    }
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnCancel;
    private javax.swing.JButton btnOkay;
    private javax.swing.JButton btnReset;
    private javax.swing.JPanel buttonPanel;
    private javax.swing.JPanel innerPanel;
    private javax.swing.JPanel okayCancelPanel;
    private javax.swing.JPanel outerPanel;
    private javax.swing.JRadioButton specifyWeightRadio;
    private javax.swing.JRadioButton useNilWeightsRadio;
    private javax.swing.ButtonGroup useWeightButtonGroup;
    private javax.swing.JTextField weightField;
    private javax.swing.JLabel weightFieldLabel;
    private javax.swing.JLabel weightListLabel;
    private javax.swing.JTable weightTable;
    private javax.swing.JScrollPane weightTablePane;
    // End of variables declaration//GEN-END:variables
    
}