/*
 * ADminUI.java
 * @author Shawn Robertson
 * Created on Nov 17, 2009, 4:41:06 PM
 */

package admin;

/**
 *
 * @author Shawn Robertson
 */
public class ADminUI extends javax.swing.JFrame {

    /** Creates new form ADminUI */
    public ADminUI() {
        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() {

        Server = new javax.swing.JPanel();
        ServerScroll = new javax.swing.JScrollBar();
        ServerList = new javax.swing.JList();
        ServerLabel = new java.awt.Label();
        NewServer = new java.awt.Button();
        Course = new javax.swing.JPanel();
        CourseScroll = new javax.swing.JScrollBar();
        CourseList = new javax.swing.JList();
        CourseLabel = new java.awt.Label();
        NewCourse = new java.awt.Button();
        Professor = new javax.swing.JPanel();
        ProfessorScroll = new javax.swing.JScrollBar();
        ProfessorList = new javax.swing.JList();
        ProfessorLabel = new java.awt.Label();
        NewProfessor = new java.awt.Button();
        Tutorial = new javax.swing.JPanel();
        TutorialScroll = new javax.swing.JScrollBar();
        TutorialList = new javax.swing.JList();
        TutorialLabel = new java.awt.Label();
        DeletionButton = new java.awt.Button();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("CSTutor - Manage File System");
        setName("Admin"); // NOI18N
        setResizable(false);

        ServerScroll.setMaximumSize(new java.awt.Dimension(17, 57));

        ServerList.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        ServerList.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "LOCAL", "Vogon", "SLERobertson" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        ServerList.setSelectedIndices(new int[] {-1});
        ServerList.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                ServerListMouseReleased(evt);
            }
        });

        ServerLabel.setFont(new java.awt.Font("Dialog", 0, 18));
        ServerLabel.setText("Server");

        NewServer.setLabel("N");
        NewServer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                NewServerActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout ServerLayout = new javax.swing.GroupLayout(Server);
        Server.setLayout(ServerLayout);
        ServerLayout.setHorizontalGroup(
            ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(ServerLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, ServerLayout.createSequentialGroup()
                        .addComponent(ServerLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE)
                        .addComponent(NewServer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(ServerList, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(ServerScroll, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        ServerLayout.setVerticalGroup(
            ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(ServerLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(NewServer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ServerLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(ServerScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE)
                    .addComponent(ServerList, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        Course.setEnabled(false);

        CourseScroll.setMaximumSize(new java.awt.Dimension(17, 57));

        CourseList.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        CourseList.setEnabled(false);
        CourseList.setSelectedIndices(new int[] {-1});
        CourseList.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                CourseListMouseReleased(evt);
            }
        });

        CourseLabel.setFont(new java.awt.Font("Dialog", 0, 18));
        CourseLabel.setText("Course");

        NewCourse.setEnabled(false);
        NewCourse.setLabel("N");
        NewCourse.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                NewCourseActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout CourseLayout = new javax.swing.GroupLayout(Course);
        Course.setLayout(CourseLayout);
        CourseLayout.setHorizontalGroup(
            CourseLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CourseLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(CourseLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(CourseLayout.createSequentialGroup()
                        .addComponent(CourseLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(46, 46, 46)
                        .addComponent(NewCourse, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(CourseLayout.createSequentialGroup()
                        .addComponent(CourseList, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(CourseScroll, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        CourseLayout.setVerticalGroup(
            CourseLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CourseLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(CourseLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(NewCourse, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(CourseLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(CourseLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(CourseScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE)
                    .addComponent(CourseList, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        Professor.setEnabled(false);

        ProfessorScroll.setMaximumSize(new java.awt.Dimension(17, 57));

        ProfessorList.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        ProfessorList.setEnabled(false);
        ProfessorList.setSelectedIndices(new int[] {-1});
        ProfessorList.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                ProfessorListMouseReleased(evt);
            }
        });

        ProfessorLabel.setFont(new java.awt.Font("Dialog", 0, 18));
        ProfessorLabel.setText("Professor");

        NewProfessor.setEnabled(false);
        NewProfessor.setLabel("N");
        NewProfessor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                NewProfessorActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout ProfessorLayout = new javax.swing.GroupLayout(Professor);
        Professor.setLayout(ProfessorLayout);
        ProfessorLayout.setHorizontalGroup(
            ProfessorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(ProfessorLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(ProfessorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(ProfessorLayout.createSequentialGroup()
                        .addComponent(ProfessorLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(NewProfessor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(ProfessorList, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(ProfessorScroll, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(12, Short.MAX_VALUE))
        );
        ProfessorLayout.setVerticalGroup(
            ProfessorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(ProfessorLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(ProfessorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(ProfessorLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(NewProfessor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(ProfessorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(ProfessorScroll, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ProfessorList, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        Tutorial.setEnabled(false);

        TutorialScroll.setMaximumSize(new java.awt.Dimension(17, 57));

        TutorialList.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        TutorialList.setEnabled(false);

        TutorialLabel.setFont(new java.awt.Font("Dialog", 0, 18));
        TutorialLabel.setText("Tutorial");

        javax.swing.GroupLayout TutorialLayout = new javax.swing.GroupLayout(Tutorial);
        Tutorial.setLayout(TutorialLayout);
        TutorialLayout.setHorizontalGroup(
            TutorialLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(TutorialLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(TutorialLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(TutorialLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(TutorialList, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(TutorialScroll, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(12, Short.MAX_VALUE))
        );
        TutorialLayout.setVerticalGroup(
            TutorialLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(TutorialLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(TutorialLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(TutorialLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(TutorialScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE)
                    .addComponent(TutorialList, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        DeletionButton.setLabel("Delete");
        DeletionButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                DeletionButtonActionPerformed(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()
                        .addComponent(Server, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(Course, javax.swing.GroupLayout.DEFAULT_SIZE, 183, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(Professor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(Tutorial, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(DeletionButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(22, 22, 22))))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(Server, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Course, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Professor, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Tutorial, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(DeletionButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

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

    private void NewServerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NewServerActionPerformed
        newServerWin = new admin.newserver_ui.NewServerUI();
        newServerWin.setVisible(true);
    }//GEN-LAST:event_NewServerActionPerformed

    private void NewCourseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NewCourseActionPerformed
         newCourseWin = new admin.newcourse_ui.NewCourseUI();
        newCourseWin.setVisible(true);
    }//GEN-LAST:event_NewCourseActionPerformed

    private void NewProfessorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NewProfessorActionPerformed
        newProfessorWin = new admin.newprofessor_ui.NewProfessorUI();
        newProfessorWin.setVisible(true);
    }//GEN-LAST:event_NewProfessorActionPerformed

    private void DeletionButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DeletionButtonActionPerformed
        System.out.println("Delete button pressed");
    }//GEN-LAST:event_DeletionButtonActionPerformed

    private void ServerListMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_ServerListMouseReleased
        // Selected index has changed
        String[] local_list = new String[1];
        String[] vogon_list = new String[3];
        String[] SLER_list = new String[1];
        String[] mtList = new String[0];

        local_list[0] = "Local Items";
        vogon_list[0] = "CSC 101";
        vogon_list[1] = "CSC 102";
        vogon_list[2] = "CSC 103";
        SLER_list[0] = "Custom Server Items";

        // Server has been changed, populate course list correctly and delete everything else
        if (ServerList.getMinSelectionIndex() == 0) {
            CourseList.setListData(local_list);
            ProfessorList.setListData(mtList);
            TutorialList.setListData(mtList);
            NewCourse.setEnabled(true);
            NewProfessor.setEnabled(false);
            CourseList.setEnabled(true);
            ProfessorList.setEnabled(false);
            TutorialList.setEnabled(false);
        }
        else if (ServerList.getMinSelectionIndex() == 1) {
            CourseList.setListData(vogon_list);
            ProfessorList.setListData(mtList);
            TutorialList.setListData(mtList);
            NewCourse.setEnabled(true);
            NewProfessor.setEnabled(false);
            CourseList.setEnabled(true);
            ProfessorList.setEnabled(false);
            TutorialList.setEnabled(false);
        }
        else if (ServerList.getMinSelectionIndex() == 2) {
            CourseList.setListData(SLER_list);
            ProfessorList.setListData(mtList);
            TutorialList.setListData(mtList);
            NewCourse.setEnabled(true);
            NewProfessor.setEnabled(false);
            CourseList.setEnabled(true);
            ProfessorList.setEnabled(false);
            TutorialList.setEnabled(false);
        }
        else { // no server selected
            CourseList.setListData(mtList);
            ProfessorList.setListData(mtList);
            TutorialList.setListData(mtList);
            NewCourse.setEnabled(false);
            NewProfessor.setEnabled(false);
            CourseList.setEnabled(false);
            ProfessorList.setEnabled(false);
            TutorialList.setEnabled(false);
        }
    }//GEN-LAST:event_ServerListMouseReleased

    private void ProfessorListMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_ProfessorListMouseReleased
        // Selected index has changed
        String[] Fisher = new String[4];
        String[] other_list = new String[1];
        String[] mtList = new String[0];

        other_list[0] = "Other Tutorials";
        Fisher[0] = "Data Representations";
        Fisher[1] = "Arithmetic Operations";
        Fisher[2] = "For Loops";
        Fisher[3] = "While Loops";

        // Server has been changed, populate course list correctly and delete everything else
        if (ServerList.getMinSelectionIndex() == 1) { // Vogon
            if (CourseList.getMinSelectionIndex() == -1) { // empty Course
                ProfessorList.setListData(mtList);
                TutorialList.setListData(mtList);
                ProfessorList.setEnabled(false);
                NewProfessor.setEnabled(false);
                TutorialList.setEnabled(false);
            }
            else {
                if (CourseList.getMinSelectionIndex() == 1) { // 102
                    if (ProfessorList.getMinSelectionIndex() == -1) { //mt
                        TutorialList.setListData(mtList);
                        TutorialList.setEnabled(false);
                    }
                    else {
                        if (ProfessorList.getMinSelectionIndex() == 1) { //Fisher
                            TutorialList.setListData(Fisher);
                        }
                        else {
                            TutorialList.setListData(other_list);
                        }
                        TutorialList.setEnabled(true);
                    }
                }
                else { // other Course
                    TutorialList.setListData(other_list);
                }
            }
        }
        else if (ProfessorList.getMinSelectionIndex() != -1){ // Other
            TutorialList.setListData(other_list);
            TutorialList.setEnabled(true);
        }

    }//GEN-LAST:event_ProfessorListMouseReleased

    private void CourseListMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_CourseListMouseReleased
        // Selected index has changed
        String[] list102 = new String[4];
        String[] other_list = new String[1];
        String[] mtList = new String[0];

        other_list[0] = "Other Professors";
        list102[0] = "clements";
        list102[1] = "cfisher";
        list102[2] = "cstaley";
        list102[3] = "csturner";

        // Server has been changed, populate course list correctly and delete everything else
        if (ServerList.getMinSelectionIndex() == 1) { // Vogon
            if (CourseList.getMinSelectionIndex() == -1) { // empty
                ProfessorList.setListData(mtList);
                TutorialList.setListData(mtList);
                NewProfessor.setEnabled(false);
                ProfessorList.setEnabled(false);
                TutorialList.setEnabled(false);
            }
            else { // Not empty
                if (CourseList.getMinSelectionIndex() == 1) {
                    ProfessorList.setListData(list102);
                }
                else {
                    ProfessorList.setListData(other_list);
                }
                TutorialList.setListData(mtList);
                NewProfessor.setEnabled(true);
                ProfessorList.setEnabled(true);
                TutorialList.setEnabled(false);
            }
        }
        else if (ServerList.getMinSelectionIndex() != -1) { // Other
            ProfessorList.setListData(other_list);
            TutorialList.setListData(mtList);
            NewProfessor.setEnabled(true);
            ProfessorList.setEnabled(true);
            Tutorial.setEnabled(false);
        }
    }//GEN-LAST:event_CourseListMouseReleased

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new ADminUI().setVisible(true);
            }
        });
    }

    protected admin.newprofessor_ui.NewProfessorUI newProfessorWin;
    protected admin.newserver_ui.NewServerUI newServerWin;
    protected admin.newcourse_ui.NewCourseUI newCourseWin;
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel Course;
    private java.awt.Label CourseLabel;
    private javax.swing.JList CourseList;
    private javax.swing.JScrollBar CourseScroll;
    private java.awt.Button DeletionButton;
    private java.awt.Button NewCourse;
    private java.awt.Button NewProfessor;
    private java.awt.Button NewServer;
    private javax.swing.JPanel Professor;
    private java.awt.Label ProfessorLabel;
    private javax.swing.JList ProfessorList;
    private javax.swing.JScrollBar ProfessorScroll;
    private javax.swing.JPanel Server;
    private java.awt.Label ServerLabel;
    private javax.swing.JList ServerList;
    private javax.swing.JScrollBar ServerScroll;
    private javax.swing.JPanel Tutorial;
    private java.awt.Label TutorialLabel;
    private javax.swing.JList TutorialList;
    private javax.swing.JScrollBar TutorialScroll;
    // End of variables declaration//GEN-END:variables

}