//Input current degree nav progress to update icons (checkmark or X) private void SetDegreeNavIcons(DegreeNav progress) { Image[] images = new Image[14] { Row1Img, Row2Img, Row3Img, Row4Img, Row5Img, Row6Img, Row7Img, Row8Img, Row9Img, Row10Img, Row11Img, Row12Img, Row13Img, Row14Img }; for (int i = 0; i < progress.degreeNavRows.Length; i++) { var imageName = progress.CheckRow(progress.degreeNavRows[i].Count, i) ? "checkmark.png" : "x-mark.png"; Uri uri = new Uri(System.AppDomain.CurrentDomain.BaseDirectory + "../../" + imageName); images[i].Source = new BitmapImage(uri); } }
public MainWindow() { InitializeComponent(); initFilterCombos(); this.SubjectCombo.ItemsSource = CourseDB.Instance.COURSE_VALUES; //degreeProgress is used to check if a requirement is completed in degree navigator degreeProgress = new DegreeNav(); //schedule is responsed for schedule data schedule = new Schedule(); //Initializes the degree navigator with default completed classes PopulateDegreeNavRequirements(degreeProgress); //Sets the icons in degree navigator (checkmarks and X's) SetDegreeNavIcons(degreeProgress); // initialize schedule updateCalendar(); //Updates the credits in the top right of the main window based on degree nav UpdateCreditsPassed(); RandomClasses derp = new RandomClasses(); m_pCourseDB.addCourses(derp.InterestingCourses); m_pCourseDB.loadDefault(); List <CourseListItemControl> pCLICList = m_pCourseDB.getAllControls(); foreach (CourseListItemControl pObj in pCLICList) { this.SearchResultStackPanel.Children.Add(pObj); pObj.window = this; } triggerNoSearchOverlay(); this.Calendar1.Visibility = Visibility.Hidden; this.Calendar2.Visibility = Visibility.Hidden; this.Calendar3.Visibility = Visibility.Hidden; this.Calendar4.Visibility = Visibility.Hidden; this.Calendar5.Visibility = Visibility.Hidden; ReviewClass.Add("CPSC-233"); ReviewClass.Add("CPSC-355"); }
//Adds taken classes to degree navigator private void PopulateDegreeNavRequirements(DegreeNav progress) { DataTable degreeReq = new DataTable(); DataColumn[] columns = { new DataColumn("Requirements"), new DataColumn("Applied") }; Object[] row1 = { "CPSC 231/233", ClassListToString(progress.degreeNavRows[0]) }; Object[] row2 = { "CPSC 355/359", ClassListToString(progress.degreeNavRows[1]) }; Object[] row3 = { "CPSC 313/413", ClassListToString(progress.degreeNavRows[2]) }; Object[] row4 = { "CPSC 449/457", ClassListToString(progress.degreeNavRows[3]) }; Object[] row5 = { "CPSC 331", ClassListToString(progress.degreeNavRows[4]) }; Object[] row6 = { "SENG 300", ClassListToString(progress.degreeNavRows[5]) }; Object[] row7 = { "1 course at 300 level and above", ClassListToString(progress.degreeNavRows[6]) }; Object[] row8 = { "4 courses at 400 level and above", ClassListToString(progress.degreeNavRows[7]) }; Object[] row9 = { "3 courses at 500 level and above", ClassListToString(progress.degreeNavRows[8]) }; Object[] row10 = { "STAT 213", ClassListToString(progress.degreeNavRows[9]) }; Object[] row11 = { "MATH 211/249/271", ClassListToString(progress.degreeNavRows[10]) }; Object[] row12 = { "PHIL 279", ClassListToString(progress.degreeNavRows[11]) }; Object[] row13 = { "2 courses from Faculty of Arts", ClassListToString(progress.degreeNavRows[12]) }; Object[] row14 = { "2 courses selected freely", ClassListToString(progress.degreeNavRows[13]) }; degreeReq.Columns.AddRange(columns); degreeReq.Rows.Add(row1); degreeReq.Rows.Add(row2); degreeReq.Rows.Add(row3); degreeReq.Rows.Add(row4); degreeReq.Rows.Add(row5); degreeReq.Rows.Add(row6); degreeReq.Rows.Add(row7); degreeReq.Rows.Add(row8); degreeReq.Rows.Add(row9); degreeReq.Rows.Add(row10); degreeReq.Rows.Add(row11); degreeReq.Rows.Add(row12); degreeReq.Rows.Add(row13); degreeReq.Rows.Add(row14); ReqTable.MinRowHeight = 35; ReqTable.DataContext = degreeReq.DefaultView; foreach (DataGridColumn col in ReqTable.Columns) { col.CanUserSort = false; } }