/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package thegrader;

/**
 *
 * @author Mike
 */
public class Filtering extends javax.swing.JFrame {
    /** Creates new form Filtering */
    public Filtering() {
        setTitle("Column Filters");
        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.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        studentInfo = new javax.swing.JCheckBox();
        inclassActivities = new javax.swing.JCheckBox();
        homework = new javax.swing.JCheckBox();
        exams = new javax.swing.JCheckBox();
        name = new javax.swing.JCheckBox();
        empl = new javax.swing.JCheckBox();
        major = new javax.swing.JCheckBox();
        standing = new javax.swing.JCheckBox();
        assignment1 = new javax.swing.JCheckBox();
        assignment2 = new javax.swing.JCheckBox();
        homework1 = new javax.swing.JCheckBox();
        test1 = new javax.swing.JCheckBox();
        finalExam = new javax.swing.JCheckBox();
        selectAll = new javax.swing.JButton();
        clearAll = new javax.swing.JButton();
        ok = new javax.swing.JButton();
        cancel = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        studentInfo.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        studentInfo.setSelected(true);
        studentInfo.setText("Student Info");
        studentInfo.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                studentInfoItemStateChanged(evt);
            }
        });

        inclassActivities.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        inclassActivities.setSelected(true);
        inclassActivities.setText("In-Class Activities");
        inclassActivities.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                inclassActivitiesItemStateChanged(evt);
            }
        });

        homework.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        homework.setSelected(true);
        homework.setText("Homework");
        homework.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                homeworkItemStateChanged(evt);
            }
        });

        exams.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        exams.setSelected(true);
        exams.setText("Exams");
        exams.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                examsItemStateChanged(evt);
            }
        });

        name.setSelected(true);
        name.setText("Name");

        empl.setSelected(true);
        empl.setText("EMPL ID");

        major.setSelected(true);
        major.setText("Major");

        standing.setSelected(true);
        standing.setText("Standing");

        assignment1.setSelected(true);
        assignment1.setText("Assignment 1");

        assignment2.setSelected(true);
        assignment2.setText("Assignment 2");

        homework1.setSelected(true);
        homework1.setText("Homework 1");

        test1.setSelected(true);
        test1.setText("Test 1");

        finalExam.setSelected(true);
        finalExam.setText("Final");

        selectAll.setText("Select All");
        selectAll.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                selectAllActionPerformed(evt);
            }
        });

        clearAll.setText("Clear All");
        clearAll.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                clearAllActionPerformed(evt);
            }
        });

        ok.setText("Cancel");
        ok.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                okActionPerformed(evt);
            }
        });

        cancel.setText("OK");
        cancel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cancelActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(studentInfo)
                            .addComponent(name)
                            .addComponent(empl))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(inclassActivities)
                                    .addComponent(assignment1))
                                .addGap(18, 18, 18)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(homework)
                                    .addComponent(homework1)))
                            .addComponent(assignment2))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(test1)
                            .addComponent(exams)
                            .addComponent(finalExam)))
                    .addComponent(major)
                    .addComponent(standing)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(selectAll)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(clearAll)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 150, Short.MAX_VALUE)
                        .addComponent(cancel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(ok)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(studentInfo)
                    .addComponent(inclassActivities)
                    .addComponent(homework)
                    .addComponent(exams))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(homework1)
                                .addComponent(assignment1))
                            .addComponent(test1))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(assignment2)
                            .addComponent(finalExam)))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(name)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(empl)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(major)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(standing)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(selectAll)
                    .addComponent(ok)
                    .addComponent(cancel)
                    .addComponent(clearAll))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void studentInfoItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_studentInfoItemStateChanged
        // TODO add your handling code here:
        boolean isSelected;
        isSelected = (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED);

        if(!isSelected){
            name.setEnabled(false);
            empl.setEnabled(false);
            major.setEnabled(false);
            standing.setEnabled(false);

            name.setSelected(false);
            empl.setSelected(false);
            major.setSelected(false);
            standing.setSelected(false);
        }
        else{
            name.setEnabled(true);
            empl.setEnabled(true);
            major.setEnabled(true);
            standing.setEnabled(true);
        }
    }//GEN-LAST:event_studentInfoItemStateChanged

    private void inclassActivitiesItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_inclassActivitiesItemStateChanged
        // TODO add your handling code here:
        boolean isSelected;
        isSelected = (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED);

        if(!isSelected){
            assignment1.setEnabled(false);
            assignment2.setEnabled(false);

            assignment1.setSelected(false);
            assignment2.setSelected(false);
        }
        else{
            assignment1.setEnabled(true);
            assignment2.setEnabled(true);
        }
    }//GEN-LAST:event_inclassActivitiesItemStateChanged

    private void homeworkItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_homeworkItemStateChanged
        // TODO add your handling code here:
        boolean isSelected;
        isSelected = (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED);

        if(!isSelected){
            homework1.setEnabled(false);
            homework1.setSelected(false);
        }
        else{
            homework1.setEnabled(true);
        }
    }//GEN-LAST:event_homeworkItemStateChanged

    private void examsItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_examsItemStateChanged
        // TODO add your handling code here:
        boolean isSelected;
        isSelected = (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED);

        if(!isSelected){
            test1.setEnabled(false);
            finalExam.setEnabled(false);

            test1.setSelected(false);
            finalExam.setSelected(false);
        }
        else{
            test1.setEnabled(true);
            finalExam.setEnabled(true);
        }
    }//GEN-LAST:event_examsItemStateChanged

    private void selectAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_selectAllActionPerformed
        // TODO add your handling code here:
        studentInfo.setSelected(true);
        inclassActivities.setSelected(true);
        homework.setSelected(true);
        exams.setSelected(true);
        name.setSelected(true);
        empl.setSelected(true);
        major.setSelected(true);
        standing.setSelected(true);
        assignment1.setSelected(true);
        assignment2.setSelected(true);
        homework1.setSelected(true);
        test1.setSelected(true);
        finalExam.setSelected(true);
    }//GEN-LAST:event_selectAllActionPerformed

    private void clearAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearAllActionPerformed
        // TODO add your handling code here:
        studentInfo.setSelected(false);
        inclassActivities.setSelected(false);
        homework.setSelected(false);
        exams.setSelected(false);
        name.setSelected(false);
        empl.setSelected(false);
        major.setSelected(false);
        standing.setSelected(false);
        assignment1.setSelected(false);
        assignment2.setSelected(false);
        homework1.setSelected(false);
        test1.setSelected(false);
        finalExam.setSelected(false);
    }//GEN-LAST:event_clearAllActionPerformed

    private void cancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelActionPerformed
        // TODO add your handling code here:
        Filtering.this.setVisible(false);
    }//GEN-LAST:event_cancelActionPerformed

    private void okActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okActionPerformed
        // TODO add your handling code here:
        Filtering.this.setVisible(false);
    }//GEN-LAST:event_okActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JCheckBox assignment1;
    private javax.swing.JCheckBox assignment2;
    private javax.swing.JButton cancel;
    private javax.swing.JButton clearAll;
    private javax.swing.JCheckBox empl;
    private javax.swing.JCheckBox exams;
    private javax.swing.JCheckBox finalExam;
    private javax.swing.JCheckBox homework;
    private javax.swing.JCheckBox homework1;
    private javax.swing.JCheckBox inclassActivities;
    private javax.swing.JCheckBox major;
    private javax.swing.JCheckBox name;
    private javax.swing.JButton ok;
    private javax.swing.JButton selectAll;
    private javax.swing.JCheckBox standing;
    private javax.swing.JCheckBox studentInfo;
    private javax.swing.JCheckBox test1;
    // End of variables declaration//GEN-END:variables
}