Exemplo n.º 1
0
        private void ShowTmpQ()
        {
            SolidColorBrush evenbg = Theme.s._[(int)BrushId.BG];
            SolidColorBrush oddbg  = Theme.s._[(int)BrushId.Q_BG];
            SolidColorBrush difbg  = Theme.s._[(int)BrushId.Ans_TopLine];
            SolidColorBrush bg;
            bool            even = false;
            int             x    = -1;
            double          w    = svwrTmpQ.Width;

            svwrTmpQ.Content = null;
            StackPanel sp = new StackPanel();

            foreach (Question q in mTmpQS.ShallowCopy())
            {
                TextBlock i = new TextBlock();
                i.Text         = (++x + 1) + ". " + q.Stmt;
                i.Width        = w;
                i.TextWrapping = TextWrapping.Wrap;

                /*if (q.bDiff)
                 *  bg = difbg;
                 * else*/if (even)
                {
                    bg = evenbg;
                }
                else
                {
                    bg = oddbg;
                }
                even         = !even;
                i.Background = bg;
                sp.Children.Add(i);
                for (int idx = 0; idx < Question.N_ANS; ++idx)
                {
                    TextBlock j = new TextBlock();
                    j.Text         = ((char)('A' + idx)).ToString() + ") " + q.vAns[idx];
                    j.Width        = w;
                    j.TextWrapping = TextWrapping.Wrap;
                    if (q.vKeys[idx])
                    {
                        j.FontWeight = FontWeights.Bold;
                    }
                    j.Background = bg;
                    sp.Children.Add(j);
                }
            }
            svwrTmpQ.Content = sp;
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat(Txt.s._[(int)TxI.Q_TMP], mTmpQS.Count, mTmpQS.CountD);
            tbiTmpQ.Header = sb.ToString();
        }
Exemplo n.º 2
0
        private void lbxNee_Selected(object sender, RoutedEventArgs e)
        {
            ListBoxItem i = sender as ListBoxItem;

            if (i == null)
            {
                return;
            }
            ExamineeS0     nee = new ExamineeS0();
            List <TabItem> l   = new List <TabItem>();

            foreach (TabItem ti in tbcSl.Items)
            {
                if (!nee.ParseLvId(ti.Header as string))
                {
                    l.Add(ti);
                }
            }
            foreach (TabItem ti in l)
            {
                tbcSl.Items.Remove(ti);
            }
            if (nee.ParseLvId(i.Content as string))
            {
                return;
            }
            TabItem tbi = new TabItem();

            tbi.Header = i.Content;
            //
            nee.mDt = mBrd.mDt;
            int qsid = nee.DBGetQSId();

            if (qsid < 0)
            {
                return;
            }
            QuestSheet qs = null;

            foreach (ExamSlot sl in mBrd.vSl.Values)
            {
                if (sl.vQPack[nee.eLv].vSheet.ContainsKey(qsid))
                {
                    qs = sl.vQPack[nee.eLv].vSheet[qsid];
                    break;
                }
                else if (sl.vQPackAlt[nee.eLv].vSheet.ContainsKey(qsid))
                {
                    qs = sl.vQPackAlt[nee.eLv].vSheet[qsid];
                    break;
                }
            }
            if (qs == null)
            {
                string t = nee.DBGetT();
                if (!mBrd.vSl.ContainsKey(t))
                {
                    ExamSlot sl = new ExamSlot();
                    DateTime dati;
                    DT.To_(mBrd.mDt.ToString(DT._) + ' ' + t, DT.HS, out dati);
                    sl.Dt = dati;
                    string emsg;
                    if ((emsg = sl.DBSelRoomId()) != null)
                    {
                        WPopup.s.ShowDialog(emsg);
                        return;
                    }
                    sl.DBSelStt();
                    sl.DBSelQPkR();
                    sl.DBSelNee();
                    if (sl.DBSelArchieve(out emsg))
                    {
                        WPopup.s.ShowDialog(emsg);
                        return;
                    }
                    mBrd.vSl.Add(t.Substring(0, 5), sl);
                    //
                    if (sl.vQPack[nee.eLv].vSheet.ContainsKey(qsid))
                    {
                        qs = sl.vQPack[nee.eLv].vSheet[qsid];
                    }
                    else if (sl.vQPackAlt[nee.eLv].vSheet.ContainsKey(qsid))
                    {
                        qs = sl.vQPackAlt[nee.eLv].vSheet[qsid];
                    }
                }
            }
            if (qs == null)
            {
                return;
            }
            nee.DBSelGrade();
            StackPanel spl = new StackPanel();
            TextBlock  tx  = new TextBlock();

            tx.Text = Txt.s._[(int)TxI.QS_ID] + ' ' + qs.tId + ", ";
            spl.Children.Add(tx);
            tx      = new TextBlock();
            tx.Text = Txt.s._[(int)TxI.MARK] + ' ' + nee.Grade;
            spl.Children.Add(tx);
            ScrollViewer svwr = new ScrollViewer();

            svwr.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
            StackPanel      sp     = new StackPanel();
            int             x      = 0;
            SolidColorBrush evenbg = Theme.s._[(int)BrushId.BG];
            SolidColorBrush oddbg  = Theme.s._[(int)BrushId.Q_BG];
            SolidColorBrush difbg  = Theme.s._[(int)BrushId.Ans_TopLine];
            SolidColorBrush bg;
            bool            even = false;

            char[] ans = nee.DBGetAns();
            int    k   = -1;

            foreach (Question q in qs.ShallowCopy())
            {
                /*if (q.bDiff)
                 *  bg = difbg;
                 * else*/if (even)
                {
                    bg = evenbg;
                }
                else
                {
                    bg = oddbg;
                }
                even = !even;
                TextBlock j = new TextBlock();
                j.Width        = tbcSl.Width - SystemParameters.ScrollWidth;
                j.TextWrapping = TextWrapping.Wrap;
                j.Text         = ++x + ". " + q.Stmt;
                j.Background   = bg;
                sp.Children.Add(j);
                for (int idx = 0; idx < Question.N_ANS; ++idx)
                {
                    j              = new TextBlock();
                    j.Width        = tbcSl.Width - SystemParameters.ScrollWidth;
                    j.TextWrapping = TextWrapping.Wrap;
                    j.Text         = ((char)('A' + idx)).ToString() + ") " + q.vAns[idx];
                    j.Background   = bg;
                    if (q.vKeys[idx])
                    {
                        j.FontWeight = FontWeights.Bold;
                    }
                    if (ans[++k] == Question.C1)
                    {
                        j.Background = Theme.s._[(int)BrushId.Ans_Highlight];
                    }
                    sp.Children.Add(j);
                }
            }
            svwr.Content = sp;
            svwr.Height  = 560;
            spl.Children.Add(svwr);
            tbi.Content = spl;
            //
            tbcSl.Items.Add(tbi);
        }
Exemplo n.º 3
0
        private void tbiQ_GotFocus(object sender, RoutedEventArgs e)
        {
            TabItem tbi = sender as TabItem;

            if (tbi == null || tbi.Content != null)
            {
                return;
            }
            TabControl tbc = tbi.Parent as TabControl;

            if (tbc == null)
            {
                return;
            }
            ExamLv lv;
            int    id;

            if (QuestSheet.ParseLvId((tbi.Header as TextBlock).Text, out lv, out id))
            {
                return;
            }
            QuestSheet qs = null;

            if (mSl.vQPack[lv].vSheet.ContainsKey(id))
            {
                qs = mSl.vQPack[lv].vSheet[id];
            }
            else if (mSl.vQPackAlt[lv].vSheet.ContainsKey(id))
            {
                qs = mSl.vQPackAlt[lv].vSheet[id];
            }
            if (qs == null)
            {
                return;
            }
            ScrollViewer svwr = new ScrollViewer();

            svwr.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
            StackPanel      sp     = new StackPanel();
            int             x      = 0;
            SolidColorBrush evenbg = Theme.s._[(int)BrushId.BG];
            SolidColorBrush oddbg  = Theme.s._[(int)BrushId.Q_BG];
            SolidColorBrush difbg  = Theme.s._[(int)BrushId.Ans_TopLine];
            SolidColorBrush bg;
            bool            even = false;

            foreach (Question q in qs.ShallowCopy())
            {
                /*if (q.bDiff)
                 *  bg = difbg;
                 * else*/if (even)
                {
                    bg = evenbg;
                }
                else
                {
                    bg = oddbg;
                }
                even = !even;
                TextBlock i = new TextBlock();
                i.Width        = tbc.Width - SystemParameters.ScrollWidth;
                i.TextWrapping = TextWrapping.Wrap;
                i.Text         = ++x + ". " + q.Stmt;
                i.Background   = bg;
                sp.Children.Add(i);
                for (int idx = 0; idx < Question.N_ANS; ++idx)
                {
                    TextBlock j = new TextBlock();
                    j.Width        = tbc.Width - SystemParameters.ScrollWidth;
                    j.TextWrapping = TextWrapping.Wrap;
                    j.Text         = ((char)('A' + idx)).ToString() + ") " + q.vAns[idx];
                    j.Background   = bg;
                    if (q.vKeys[idx])
                    {
                        j.FontWeight = FontWeights.Bold;
                    }
                    sp.Children.Add(j);
                }
            }
            svwr.Content = sp;
            svwr.Height  = 560;
            tbi.Content  = svwr;
        }
Exemplo n.º 4
0
        private void ShowDBQ()
        {
            SolidColorBrush evenbg = Theme.s._[(int)BrushId.BG];
            SolidColorBrush oddbg  = Theme.s._[(int)BrushId.Q_BG];
            SolidColorBrush difbg  = Theme.s._[(int)BrushId.Ans_TopLine];
            SolidColorBrush bg;
            bool            even = false;
            int             x    = -1;

            gDBQuest.Children.Clear();
            gDBQuest.RowDefinitions.Clear();
            vChk.Clear();
            double w = gDBQuest.ColumnDefinitions.First().Width.Value;

            foreach (Question q in mDBQS.ShallowCopy())
            {
                TextBlock i = new TextBlock();
                i.Text         = (++x + 1) + ". " + q.Stmt;
                i.Width        = w;
                i.TextWrapping = TextWrapping.Wrap;
                StackPanel sp = new StackPanel();
                sp.Children.Add(i);
                for (int idx = 0; idx < Question.N_ANS; ++idx)
                {
                    TextBlock j = new TextBlock();
                    j.Text         = ((char)('A' + idx)).ToString() + ") " + q.vAns[idx];
                    j.Width        = w;
                    j.TextWrapping = TextWrapping.Wrap;
                    if (q.vKeys[idx])
                    {
                        j.FontWeight = FontWeights.Bold;
                    }
                    sp.Children.Add(j);
                }

                /*if (q.bDiff)
                 *  bg = difbg;
                 * else*/if (even)
                {
                    bg = evenbg;
                }
                else
                {
                    bg = oddbg;
                }
                even          = !even;
                sp.Background = bg;
                RowDefinition rd = new RowDefinition();
                gDBQuest.RowDefinitions.Add(rd);
                Grid.SetRow(sp, x);
                gDBQuest.Children.Add(sp);
                CheckBox chk = new CheckBox();
                chk.Name = "c" + q.uId;
                chk.VerticalAlignment = VerticalAlignment.Center;
                Grid.SetColumn(chk, 1);
                Grid.SetRow(chk, x);
                gDBQuest.Children.Add(chk);
                vChk.Add(chk);
            }
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat(Txt.s._[(int)TxI.Q_DB], mDBQS.Count, QuestSheet.DBGetND(mSelQCat));
            tbiDBQ.Header = sb.ToString();
        }