コード例 #1
0
 public sealed override bool Equals(object obj)
 {
     return(Importer.ReferenceEquals(this, obj));
 }
コード例 #2
0
ファイル: FormImport.cs プロジェクト: Jaren14/unitimetable
        private void Next()
        {
            if (CurrentPage_ == 1)
            {
                // if there's no selected format, skip
                if (listBoxFormats.SelectedItem == null)
                    return;

                // load selected importer
                Importer_ = (Importer)listBoxFormats.SelectedItem;
                // clear importer files
                Importer_.File1Dialog.FileName = "";
                Importer_.File2Dialog.FileName = "";
                Importer_.File3Dialog.FileName = "";

                // bring up panel 2 (file import) information
                // file 1
                if (Importer_.File1Description != null)
                {
                    lblFile1.Text = Importer_.File1Description;
                    lblFile1.Visible = true;
                    btnBrowse1.Visible = true;
                    txtFile1.Visible = true;
                }
                else
                {
                    lblFile1.Visible = false;
                    btnBrowse1.Visible = false;
                    txtFile1.Visible = false;
                }
                // file 2
                if (Importer_.File2Description != null)
                {
                    lblFile2.Text = Importer_.File2Description;
                    lblFile2.Visible = true;
                    btnBrowse2.Visible = true;
                    txtFile2.Visible = true;
                }
                else
                {
                    lblFile2.Visible = false;
                    btnBrowse2.Visible = false;
                    txtFile2.Visible = false;
                }
                // file 3
                if (Importer_.File3Description != null)
                {
                    lblFile3.Text = Importer_.File3Description;
                    lblFile3.Visible = true;
                    btnBrowse3.Visible = true;
                    txtFile3.Visible = true;
                }
                else
                {
                    lblFile3.Visible = false;
                    btnBrowse3.Visible = false;
                    txtFile3.Visible = false;
                }
                // file instructions
                if (Importer_.FileInstructions != null)
                {
                    txtFileInstructions.Text = Importer_.FileInstructions;
                }
                else
                {
                    txtFileInstructions.Text = "No instructions provided for " + Importer_.FormatName + ".";
                }

                // bring up panel 2
                panel1.Visible = false;
                panel2.Visible = true;
                // enable back button
                btnBack.Enabled = true;
            }
            else if (CurrentPage_ == 2)
            {
                // try and parse files
                Timetable_ = Importer_.Import();

                // if it failed, alert the user and stay on the current page
                if (Timetable_ == null)
                {
                    MessageBox.Show("Failed to import timetable data.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                // build relational data
                Timetable_.BuildEquivalency();
                Timetable_.BuildCompatibility();
                //Timetable_.UpdateStates();

                // build tree
                Timetable_.BuildTreeView(treePreview);
                // and scroll back to the top
                treePreview.Nodes[0].EnsureVisible();
                // clear details box
                txtTreeDetails.Text = "";
                timetableControl1.Clear();

                // bring up panel 3
                panel2.Visible = false;
                panel3.Visible = true;
            }
            else if (CurrentPage_ == 3)
            {
                // clear ignored/required lists
                listViewIgnored.Items.Clear();
                listViewIgnored.Groups.Clear();
                listViewRequired.Items.Clear();
                listViewRequired.Groups.Clear();

                // populate ignored/required lists
                foreach (Subject subject in Timetable_.SubjectList)
                {
                    // create and add groups for the subjects
                    ListViewGroup ignoredSubjectGroup = new ListViewGroup(subject.Name);
                    ignoredSubjectGroup.Tag = subject;
                    listViewIgnored.Groups.Add(ignoredSubjectGroup);

                    ListViewGroup requiredSubjectGroup = new ListViewGroup(subject.Name);
                    requiredSubjectGroup.Tag = subject;
                    listViewRequired.Groups.Add(requiredSubjectGroup);

                    // add stream types to subject groups
                    foreach (Type type in subject.Types)
                    {
                        // create ListViewItem without group
                        ListViewItem item = new ListViewItem(new string[] { type.Code.ToString(), type.Name });
                        item.Tag = type;

                        // add it to the current group in the correct box
                        if (type.Required)
                        {
                            // set group and add to list
                            item.Group = requiredSubjectGroup;
                            listViewRequired.Items.Add(item);
                        }
                        else
                        {
                            // set group and add to list
                            item.Group = ignoredSubjectGroup;
                            listViewIgnored.Items.Add(item);
                        }
                    }
                }

                UpdateClashHighlight();

                btnRequire.Enabled = false;
                btnIgnore.Enabled = false;

                // bring up panel 4
                panel3.Visible = false;
                panel4.Visible = true;
                // swap next button for finish
                btnNext.Visible = false;
                btnFinish.Visible = true;

                // need to refresh to get red highlighter
                listViewIgnored.Refresh();
                listViewRequired.Refresh();
            }
            CurrentPage_++;
        }
コード例 #3
0
ファイル: FormImport.cs プロジェクト: jvlmdr/timetable
        private void Next()
        {
            if (CurrentPage_ == 1)
            {
                // if there's no selected format, skip
                if (listBoxFormats.SelectedItem == null)
                {
                    return;
                }

                // load selected importer
                Importer_ = (Importer)listBoxFormats.SelectedItem;
                // clear importer files
                Importer_.File1Dialog.FileName = "";
                Importer_.File2Dialog.FileName = "";
                Importer_.File3Dialog.FileName = "";

                // bring up panel 2 (file import) information
                // file 1
                if (Importer_.File1Description != null)
                {
                    lblFile1.Text      = Importer_.File1Description;
                    lblFile1.Visible   = true;
                    btnBrowse1.Visible = true;
                    txtFile1.Visible   = true;
                }
                else
                {
                    lblFile1.Visible   = false;
                    btnBrowse1.Visible = false;
                    txtFile1.Visible   = false;
                }
                // file 2
                if (Importer_.File2Description != null)
                {
                    lblFile2.Text      = Importer_.File2Description;
                    lblFile2.Visible   = true;
                    btnBrowse2.Visible = true;
                    txtFile2.Visible   = true;
                }
                else
                {
                    lblFile2.Visible   = false;
                    btnBrowse2.Visible = false;
                    txtFile2.Visible   = false;
                }
                // file 3
                if (Importer_.File3Description != null)
                {
                    lblFile3.Text      = Importer_.File3Description;
                    lblFile3.Visible   = true;
                    btnBrowse3.Visible = true;
                    txtFile3.Visible   = true;
                }
                else
                {
                    lblFile3.Visible   = false;
                    btnBrowse3.Visible = false;
                    txtFile3.Visible   = false;
                }
                // file instructions
                if (Importer_.FileInstructions != null)
                {
                    txtFileInstructions.Text = Importer_.FileInstructions;
                }
                else
                {
                    txtFileInstructions.Text = "No instructions provided for " + Importer_.FormatName + ".";
                }

                // bring up panel 2
                panel1.Visible = false;
                panel2.Visible = true;
                // enable back button
                btnBack.Enabled = true;
            }
            else if (CurrentPage_ == 2)
            {
                // try and parse files
                Timetable_ = Importer_.Import();

                // if it failed, alert the user and stay on the current page
                if (Timetable_ == null)
                {
                    MessageBox.Show("Failed to import timetable data.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                // build relational data
                Timetable_.BuildEquivalency();
                Timetable_.BuildCompatibility();
                //Timetable_.UpdateStates();

                // build tree
                Timetable_.BuildTreeView(treePreview);
                // and scroll back to the top
                treePreview.Nodes[0].EnsureVisible();
                // clear details box
                txtTreeDetails.Text = "";
                timetableControl1.Clear();

                // bring up panel 3
                panel2.Visible = false;
                panel3.Visible = true;
            }
            else if (CurrentPage_ == 3)
            {
                // clear ignored/required lists
                listViewIgnored.Items.Clear();
                listViewIgnored.Groups.Clear();
                listViewRequired.Items.Clear();
                listViewRequired.Groups.Clear();

                // populate ignored/required lists
                foreach (Subject subject in Timetable_.SubjectList)
                {
                    // create and add groups for the subjects
                    ListViewGroup ignoredSubjectGroup = new ListViewGroup(subject.Name);
                    ignoredSubjectGroup.Tag = subject;
                    listViewIgnored.Groups.Add(ignoredSubjectGroup);

                    ListViewGroup requiredSubjectGroup = new ListViewGroup(subject.Name);
                    requiredSubjectGroup.Tag = subject;
                    listViewRequired.Groups.Add(requiredSubjectGroup);

                    // add stream types to subject groups
                    foreach (Type type in subject.Types)
                    {
                        // create ListViewItem without group
                        ListViewItem item = new ListViewItem(new string[] { type.Code.ToString(), type.Name });
                        item.Tag = type;

                        // add it to the current group in the correct box
                        if (type.Required)
                        {
                            // set group and add to list
                            item.Group = requiredSubjectGroup;
                            listViewRequired.Items.Add(item);
                        }
                        else
                        {
                            // set group and add to list
                            item.Group = ignoredSubjectGroup;
                            listViewIgnored.Items.Add(item);
                        }
                    }
                }

                UpdateClashHighlight();

                btnRequire.Enabled = false;
                btnIgnore.Enabled  = false;

                // bring up panel 4
                panel3.Visible = false;
                panel4.Visible = true;
                // swap next button for finish
                btnNext.Visible   = false;
                btnFinish.Visible = true;

                // need to refresh to get red highlighter
                listViewIgnored.Refresh();
                listViewRequired.Refresh();
            }
            CurrentPage_++;
        }