예제 #1
0
 private void RegisterClicks(ClassListUI view)
 {
     foreach (System.Windows.Controls.ListView control in view.ListViews)
     {
         control.PreviewMouseMove           += new System.Windows.Input.MouseEventHandler(lstCourses_PreviewMouseMove);
         control.DragEnter                  += new System.Windows.DragEventHandler(lstCourses_DragEnter);
         control.DragLeave                  += new System.Windows.DragEventHandler(lstCourses_DragLeave);
         control.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(lstCourses_PreviewMouseLeftButtonDown);
     }
 }
예제 #2
0
        private void lstCourses_Drop(object sender, System.Windows.DragEventArgs e)
        {
            try
            {
                if (e.Data.GetDataPresent("ListViewItem"))
                {
                    ListViewItem    courseItem = e.Data.GetData("ListViewItem") as ListViewItem;
                    ListView        listView   = sender as ListView;
                    SemesterControl control    = GetSemesterControlFromListView(listView);
                    int             indexOf    = mSemesters.IndexOf(control);
                    string          course     = CourseCanBeTaken(courseItem.Content.ToString(), indexOf);
                    if (course == "")
                    {
                        try
                        {
                            ListView    parent1 = courseItem.Parent as ListView;
                            Expander    parent2 = parent1.Parent as Expander;
                            ClassListUI parent3 = parent2.Parent as ClassListUI;

                            parent1.Items.Remove(courseItem);
                        }
                        catch
                        {
                            //means it is another semester
                        }
                        listView.Items.Add(courseItem);
                        int end = mSemesters.IndexOf(control);

                        int start = mSemesters.IndexOf(GetSemesterControlFromListView(mDraggedParent));
                        if (Verify())
                        {
                            MessageBox.Show("Warning:  Degree now contains a schedule in which course(s) are taken before prerequisite.  Schedule may be impossible." + Environment.NewLine +
                                            "Invalid course selections will be marked in yellow.");
                        }
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show("Course cannot be moved to that semester.  Prerequisite class " + course + " has not yet been taken.");
                        mDraggedParent.Items.Add(mDraggedClass);
                    }

                    // contact.Background = System.Windows.Media.Brushes.Aqua;
                }
            }
            catch { }
        }
예제 #3
0
        //contructor
        public GenerateSchedulesForm(String degreeType, Degree degree, DBClass db)
        {
            InitializeComponent();
            //setup the class list
            uiClassList             = new ClassListUI(this);
            this.elementHost3.Child = uiClassList;
            mDb = db;
            //setup the degree and taken list
            mDegree = degree;
            // removes classes taken from the default schedule

            mCoursesTaken = degree.TakenCourses;
            uiClassList.SetTakenClass(mCoursesTaken);
            // RegisterClicks();
            //add the degree control to the tab

            while (mDegree.Semesters.Count < mDegree.MaxSemesters)
            {
                mDegree.Semesters.Add(new Semester());
            }

            DegreeControl page = new DegreeControl(mDegree, mCoursesTaken, this, "Default");

            mTabs = new System.Windows.Controls.TabControl();
            mTabs.Items.Add(page);
            elementHost1.Child      = mTabs;
            mTabs.SelectionChanged += new WPF.SelectionChangedEventHandler(mTabs_SelectionChanged);
            uiClassList.lstElectives.SelectionChanged += new WPF.SelectionChangedEventHandler(lstElectives_SelectionChanged);
            //UpdateCourseList(mDegree, control);
            //mDegreeControls.Add(control);

            List <string> codes = db.GetDegreeCodes();

            this.cmboDegreeSwitch.Items.Clear();
            foreach (string code in codes)
            {
                cmboDegreeSwitch.Items.Add(code);
            }
        }