/*
 * questionBank.java
 *
 * Created on October 18, 2003, 3:39 PM
 */

import javax.swing.*;

/**
 *
 * @author  Chris
 */
public class questionBank extends javax.swing.JInternalFrame {
    
    /** Creates new form questionBank */
    public questionBank(int mode) {
        initComponents();
        this.mode = mode;
        if(mode == SHARED)
        {
            transferButton.setText("Download");
            setTitle("Question Bank - Shared");
            deleteButton.setEnabled(false);
            editButton.setEnabled(false);
            createButton.setVisible(false);
        }
    }
    
    /** 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
        jScrollPane1 = new javax.swing.JScrollPane();
        questionTable = new javax.swing.JTable();
        panelButtons = new javax.swing.JPanel();
        jPanel1 = new javax.swing.JPanel();
        createButton = new javax.swing.JButton();
        editButton = new javax.swing.JButton();
        transferButton = new javax.swing.JButton();
        deleteButton = new javax.swing.JButton();
        jPanel4 = new javax.swing.JPanel();
        filtersButton = new javax.swing.JButton();
        panelDetails = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jPanel8 = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        jPanel9 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        jTextField5 = new javax.swing.JTextField();
        jPanel13 = new javax.swing.JPanel();
        jLabel9 = new javax.swing.JLabel();
        jTextField7 = new javax.swing.JTextField();
        jPanel3 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jPanel12 = new javax.swing.JPanel();
        jLabel8 = new javax.swing.JLabel();
        jTextField6 = new javax.swing.JTextField();
        jPanel5 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        jTextField2 = new javax.swing.JTextField();
        jPanel6 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        jTextField3 = new javax.swing.JTextField();
        jPanel7 = new javax.swing.JPanel();
        jLabel5 = new javax.swing.JLabel();
        jTextField4 = new javax.swing.JTextField();
        jPanel10 = new javax.swing.JPanel();
        jLabel7 = new javax.swing.JLabel();
        jPanel11 = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTextArea2 = new javax.swing.JTextArea();

        setClosable(true);
        setIconifiable(true);
        setMaximizable(true);
        setResizable(true);
        setTitle("Question Bank - Local");
        setPreferredSize(new java.awt.Dimension(640, 480));
        questionTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Type", "Question", "Difficulty", "Time"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane1.setViewportView(questionTable);

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

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

        createButton.setText("Create New");
        createButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                createButtonActionPerformed(evt);
            }
        });

        jPanel1.add(createButton);

        editButton.setText("Edit");
        editButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                editButtonActionPerformed(evt);
            }
        });

        jPanel1.add(editButton);

        transferButton.setText("Upload");
        transferButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                transferButtonActionPerformed(evt);
            }
        });

        jPanel1.add(transferButton);

        deleteButton.setText("Delete");
        deleteButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                deleteButtonActionPerformed(evt);
            }
        });

        jPanel1.add(deleteButton);

        panelButtons.add(jPanel1, java.awt.BorderLayout.CENTER);

        filtersButton.setText("Filters");
        filtersButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                filtersButtonActionPerformed(evt);
            }
        });

        jPanel4.add(filtersButton);

        panelButtons.add(jPanel4, java.awt.BorderLayout.WEST);

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

        panelDetails.setLayout(new javax.swing.BoxLayout(panelDetails, javax.swing.BoxLayout.Y_AXIS));

        panelDetails.setBorder(new javax.swing.border.TitledBorder("Question Details"));
        panelDetails.setPreferredSize(new java.awt.Dimension(165, 276));
        jPanel2.setLayout(new java.awt.BorderLayout());

        jPanel2.setPreferredSize(new java.awt.Dimension(81, 91));
        jLabel1.setText("Answer");
        jPanel2.add(jLabel1, java.awt.BorderLayout.NORTH);

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

        jPanel8.setPreferredSize(new java.awt.Dimension(75, 75));
        jTextArea1.setEditable(false);
        jScrollPane2.setViewportView(jTextArea1);

        jPanel8.add(jScrollPane2, java.awt.BorderLayout.CENTER);

        jPanel2.add(jPanel8, java.awt.BorderLayout.CENTER);

        panelDetails.add(jPanel2);

        jPanel9.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jLabel6.setText("Class");
        jPanel9.add(jLabel6);

        jTextField5.setEditable(false);
        jTextField5.setPreferredSize(new java.awt.Dimension(75, 20));
        jPanel9.add(jTextField5);

        panelDetails.add(jPanel9);

        jPanel13.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jLabel9.setText("Topics");
        jPanel13.add(jLabel9);

        jTextField7.setEditable(false);
        jTextField7.setPreferredSize(new java.awt.Dimension(75, 20));
        jPanel13.add(jTextField7);

        panelDetails.add(jPanel13);

        jPanel3.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jLabel2.setText("Author");
        jPanel3.add(jLabel2);

        jTextField1.setEditable(false);
        jTextField1.setPreferredSize(new java.awt.Dimension(75, 20));
        jPanel3.add(jTextField1);

        panelDetails.add(jPanel3);

        jPanel12.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jLabel8.setText("Avg. Score");
        jPanel12.add(jLabel8);

        jTextField6.setEditable(false);
        jTextField6.setPreferredSize(new java.awt.Dimension(75, 20));
        jPanel12.add(jTextField6);

        panelDetails.add(jPanel12);

        jPanel5.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jLabel3.setText("Created");
        jPanel5.add(jLabel3);

        jTextField2.setEditable(false);
        jTextField2.setPreferredSize(new java.awt.Dimension(75, 20));
        jPanel5.add(jTextField2);

        panelDetails.add(jPanel5);

        jPanel6.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jLabel4.setText("Modified");
        jPanel6.add(jLabel4);

        jTextField3.setEditable(false);
        jTextField3.setPreferredSize(new java.awt.Dimension(75, 20));
        jPanel6.add(jTextField3);

        panelDetails.add(jPanel6);

        jPanel7.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jLabel5.setText("Last Used");
        jPanel7.add(jLabel5);

        jTextField4.setEditable(false);
        jTextField4.setPreferredSize(new java.awt.Dimension(75, 20));
        jPanel7.add(jTextField4);

        panelDetails.add(jPanel7);

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

        jPanel10.setPreferredSize(new java.awt.Dimension(81, 91));
        jLabel7.setText("Notes");
        jPanel10.add(jLabel7, java.awt.BorderLayout.NORTH);

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

        jPanel11.setPreferredSize(new java.awt.Dimension(75, 75));
        jTextArea2.setEditable(false);
        jScrollPane3.setViewportView(jTextArea2);

        jPanel11.add(jScrollPane3, java.awt.BorderLayout.CENTER);

        jPanel10.add(jPanel11, java.awt.BorderLayout.CENTER);

        panelDetails.add(jPanel10);

        getContentPane().add(panelDetails, java.awt.BorderLayout.EAST);

        pack();
    }//GEN-END:initComponents

    private void filtersButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_filtersButtonActionPerformed
        // Add your handling code here:
        JInternalFrame frame = new QuestionBankFilter();
        frame.pack();
        getDesktopPane().add(frame);
        frame.setVisible(true);
    }//GEN-LAST:event_filtersButtonActionPerformed

    private void transferButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_transferButtonActionPerformed
        // Add your handling code here:
        if(mode == LOCAL)
            JOptionPane.showInternalMessageDialog(this, "The question has been uploaded to the Shared QuestionBank.", "Upload Complete", JOptionPane.INFORMATION_MESSAGE);
        else if(mode == SHARED)
            JOptionPane.showInternalMessageDialog(this, "The question has been downloaded to the Local QuestionBank.", "Download Complete", JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_transferButtonActionPerformed

    private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteButtonActionPerformed
        // Add your handling code here:
        JOptionPane.showInternalConfirmDialog(this, "Are you sure you want to permantly delete this question?", "Confirm Delete", JOptionPane.YES_NO_OPTION);
    }//GEN-LAST:event_deleteButtonActionPerformed

    private void editButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editButtonActionPerformed
        // Add your handling code here:
        JInternalFrame frame = new questionCreate(questionCreate.EDIT);
        frame.pack();
        getDesktopPane().add(frame);
        frame.setVisible(true);
    }//GEN-LAST:event_editButtonActionPerformed

    private void createButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_createButtonActionPerformed
        // Add your handling code here:
        JInternalFrame frame = new questionCreate(questionCreate.CREATE);
        frame.pack();
        getDesktopPane().add(frame);
        frame.setVisible(true);
    }//GEN-LAST:event_createButtonActionPerformed
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton createButton;
    private javax.swing.JButton deleteButton;
    private javax.swing.JButton editButton;
    private javax.swing.JButton filtersButton;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel10;
    private javax.swing.JPanel jPanel11;
    private javax.swing.JPanel jPanel12;
    private javax.swing.JPanel jPanel13;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JPanel jPanel9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JTextArea jTextArea1;
    private javax.swing.JTextArea jTextArea2;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JTextField jTextField4;
    private javax.swing.JTextField jTextField5;
    private javax.swing.JTextField jTextField6;
    private javax.swing.JTextField jTextField7;
    private javax.swing.JPanel panelButtons;
    private javax.swing.JPanel panelDetails;
    private javax.swing.JTable questionTable;
    private javax.swing.JButton transferButton;
    // End of variables declaration//GEN-END:variables

    public static final int LOCAL = 1;
    public static final int SHARED = 2;
    
    private int mode;
    
}