Beispiel #1
0
        private void RefreshListView()
        {
            String letter;
            String memo;
            String meaning;

            instance = new List <ListViewMainItem>();

            for (int i = 0; i < wordGroup.GetExamWordNum(); i++)
            {
                if (wordGroup.GetIsRetakeTarget(i))
                {
                    wordGroup.GetWordInfoForRetake(i, out letter, out meaning, out memo);
                    if (memoSplashBack)
                    {
                        memo = "";
                    }
                    if (wordSplashBack)
                    {
                        letter = "";
                    }
                    if (meaningSplashBack)
                    {
                        meaning = "";
                    }

                    instance.Add(new ListViewMainItem(letter, memo, meaning));
                    hasNoRetakeWord = false;
                }
            }

            listViewMain.ItemsSource = instance;
            listViewMain.Items.Refresh();
        }
Beispiel #2
0
        private void BtnExamStart_Click(object sender, RoutedEventArgs e)
        {
            wordGroup.SelectWordForExam();
            GroupInfo.ExamType   examType;
            ExamTypeMeanWindow   etmw;
            ExamTypeLetterWIndow etlw;

            gridMain.Visibility = Visibility.Hidden;
            String rightAnswer, hint, meaning, letter;
            bool   isAutoScore = wordGroup.CurrentSetting.IsAutoScore;
            bool   isFirstWord = true;
            bool   hasNoRetakeWord;

            for (int i = 0; i < wordGroup.GetExamWordNum(); i++)
            {
                examType = wordGroup.GetWordExamType(i);
                examType = GroupInfo.ExamType.MeanOnly; //토익 시험을 위한 임시

                if (examType == GroupInfo.ExamType.LetterOnly)
                {
                    wordGroup.GetWordInfoForLetterExam(i, out rightAnswer, out hint, out meaning);
                    etlw                       = new ExamTypeLetterWIndow(rightAnswer, hint, meaning, isRightAnswer, isFirstWord);
                    etlw.AnswerEvent          += new ExamTypeLetterWIndow.AnswerEventHandler(GetStateFromChild);
                    etlw.Owner                 = this;
                    etlw.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    etlw.ShowDialog();
                    etlw.AnswerEvent -= new ExamTypeLetterWIndow.AnswerEventHandler(GetStateFromChild);
                    wordGroup.ProcessWordAfterExam(this.isRightAnswer, i);
                }
                else
                {
                    wordGroup.GetWordInfoForMeanExam(i, out rightAnswer, out letter);
                    etmw                       = new ExamTypeMeanWindow(isAutoScore, rightAnswer, letter, isRightAnswer, isFirstWord);
                    etmw.AnswerEvent          += new ExamTypeMeanWindow.AnswerEventHandler(GetStateFromChild);
                    etmw.Owner                 = this;
                    etmw.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    etmw.ShowDialog();
                    etmw.AnswerEvent -= new ExamTypeMeanWindow.AnswerEventHandler(GetStateFromChild);
                    wordGroup.ProcessWordAfterExam(this.isRightAnswer, i);
                }

                isFirstWord = false;
            }

            if (wordGroup.CurrentSetting.IsRetake)
            {
                RetakeWindow rw = null;
                while (true)
                {
                    rw = new RetakeWindow(wordGroup, out hasNoRetakeWord);

                    if (hasNoRetakeWord)
                    {
                        break;
                    }

                    rw.AnswerEvent          += new RetakeWindow.AnswerEventHandler(GetStateFromChild);
                    rw.Owner                 = this;
                    rw.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    rw.ShowDialog();
                    rw.AnswerEvent -= new RetakeWindow.AnswerEventHandler(GetStateFromChild);

                    if (!isRightAnswer)
                    {
                        break;
                    }

                    isFirstWord = true;

                    for (int i = 0; i < wordGroup.GetExamWordNum(); i++)
                    {
                        if (wordGroup.GetIsRetakeTarget(i))
                        {
                            examType = wordGroup.GetWordExamType(i);
                            examType = GroupInfo.ExamType.MeanOnly; //토익 시험을 위한 임시
                            if (examType == GroupInfo.ExamType.LetterOnly)
                            {
                                wordGroup.GetWordInfoForLetterExam(i, out rightAnswer, out hint, out meaning);
                                etlw                       = new ExamTypeLetterWIndow(rightAnswer, hint, meaning, isRightAnswer, isFirstWord);
                                etlw.AnswerEvent          += new ExamTypeLetterWIndow.AnswerEventHandler(GetStateFromChild);
                                etlw.Owner                 = this;
                                etlw.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                                etlw.ShowDialog();
                                etlw.AnswerEvent -= new ExamTypeLetterWIndow.AnswerEventHandler(GetStateFromChild);
                                wordGroup.ProcessWordAfterRetake(isRightAnswer, i);
                            }
                            else
                            {
                                wordGroup.GetWordInfoForMeanExam(i, out rightAnswer, out letter);
                                etmw                       = new ExamTypeMeanWindow(isAutoScore, rightAnswer, letter, isRightAnswer, isFirstWord);
                                etmw.AnswerEvent          += new ExamTypeMeanWindow.AnswerEventHandler(GetStateFromChild);
                                etmw.Owner                 = this;
                                etmw.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                                etmw.ShowDialog();
                                etmw.AnswerEvent -= new ExamTypeMeanWindow.AnswerEventHandler(GetStateFromChild);
                                wordGroup.ProcessWordAfterRetake(isRightAnswer, i);
                            }

                            isFirstWord = false;
                        }
                    }
                }
            }

            gridMain.Visibility = Visibility.Visible;
            RefreshMainListView();
        }