Ejemplo n.º 1
0
        private void miRandomSetOfTestsSelectCount_Click(object sender, EventArgs e)
        {
            var         treeNode    = tvItems.SelectedNode;
            ISequencing tagSeq      = (ISequencing)treeNode.Tag;
            int         selectCount = 0;

            RandomSetSequencingPattern.GetSelectCount(treeNode.Tag, ref selectCount);
            RandomSetSequencingPattern.SetSelectCount(treeNode.Tag, ref selectCount);
            UpdateTreeContextMenu(treeNode.Tag as IManifestNode, treeNode);
        }
Ejemplo n.º 2
0
        private void miRandomPostTestTryNumber_Click(object sender, EventArgs e)
        {
            var         treeNode     = tvItems.SelectedNode;
            ISequencing tagSeq       = (ISequencing)treeNode.Tag;
            int         attemptLimit = 0;

            RandomPostTestSequencingPattern.GetAttemptLimit(treeNode.Tag, ref attemptLimit);
            RandomPostTestSequencingPattern.SetAttemptLimit(treeNode.Tag, ref attemptLimit);
            UpdateTreeContextMenu(treeNode.Tag as IManifestNode, treeNode);
        }
Ejemplo n.º 3
0
        private void miSequencingPatternClick(ISequencingPattern pattern)
        {
            var         treeNode = tvItems.SelectedNode;
            ISequencing tagSeq   = (ISequencing)treeNode.Tag;

            if (tagSeq.SequencingPatterns.ContainsPattern(pattern.GetType()))
            {
                tagSeq.SequencingPatterns.Remove(pattern.GetType());
            }
            else
            {
                tagSeq.SequencingPatterns.Add(pattern);
            }
            UpdateTreeContextMenu(treeNode.Tag as IManifestNode, treeNode);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Updates context menu items concerning for specified node
        /// </summary>
        /// <param name="node">Node according to which menu should be turned</param>
        /// <param name="sn"></param>
        private void UpdateTreeContextMenu([NotNull] IManifestNode node, [NotNull] TreeNode sn)
        {
            var page           = miAddExamination.Visible = miAddTheory.Visible = PossibilityManager.CanAddPage(node);
            var summary        = miAddSummaryPage.Visible = PossibilityManager.CanAddSummaryPage(node);
            var chapter        = miAddChapter.Visible = PossibilityManager.CanAddChapter(node);
            var controlChapter = miAddControlChapter.Visible = PossibilityManager.CanAddChapter(node);
            var insertGrouping = PossibilityManager.CanInsertGroupingItem(node);

            miInsertGroupingChapter.Visible        = insertGrouping;
            miInsertGroupingControlChapter.Visible = insertGrouping;
            miInsert.Visible = insertGrouping;
            var removeMerge = miRemoveMerge.Visible = PossibilityManager.CanRemoveMerge(node);

            miGrouping.Visible = insertGrouping || removeMerge;

            #region Sequencing

            var forcedSequentialOrder           = (new ForcedSequentialOrderSequencingPattern()).CanApplyPattern(node);
            var forcedForwardOnlyOrder          = (new ForcedForwardOnlySequencingPattern()).CanApplyPattern(node);
            var organizationDefaultSequencing   = (new OrganizationDefaultSequencingPattern()).CanApplyPattern(node);
            var chapterDefaultSequencing        = (new ChapterDefaultSequencingPattern()).CanApplyPattern(node);
            var controlChapterDefaultSequencing = (new ControlChapterDefaultSequencingPattern()).CanApplyPattern(node);
            var postTestSequencing = (new PostTestSequencingPattern()).CanApplyPattern(node);
            var randomSetOfTest    = (new RandomSetSequencingPattern()).CanApplyPattern(node);
            var prePostTest        = (new PrePostTestSequencingPattern()).CanApplyPattern(node);
            var randomPostTest     = (new RandomPostTestSequencingPattern()).CanApplyPattern(node);
            //-> Place for new one

            miForcedSequentialOrder.Visible        = forcedSequentialOrder;
            miForcedForwardOnlyOrder.Visible       = forcedForwardOnlyOrder;
            miOrganizationDefaultPattern.Visible   = organizationDefaultSequencing;
            miChapterDefaultPattern.Visible        = chapterDefaultSequencing;
            miControlChapterDefaultPattern.Visible = controlChapterDefaultSequencing;
            miPostTestSequencingPattern.Visible    = postTestSequencing;
            miRandomSetOfTests.Visible             = randomSetOfTest;
            miPrePostTest.Visible    = prePostTest;
            miRandomPostTest.Visible = false;
            //-> Place for new one

            miApplyPatterns.Visible = miSequencing.Visible = forcedSequentialOrder || forcedForwardOnlyOrder || organizationDefaultSequencing || chapterDefaultSequencing || controlChapterDefaultSequencing || postTestSequencing || randomSetOfTest || prePostTest || randomPostTest || false;//<- Place for new one

            if (node is ISequencing)
            {
                ISequencing nodeSeq = (node as ISequencing);
                miForcedSequentialOrder.Checked        = nodeSeq.SequencingPatterns.ContainsPattern(typeof(ForcedSequentialOrderSequencingPattern));
                miForcedForwardOnlyOrder.Checked       = nodeSeq.SequencingPatterns.ContainsPattern(typeof(ForcedForwardOnlySequencingPattern));
                miOrganizationDefaultPattern.Checked   = nodeSeq.SequencingPatterns.ContainsPattern(typeof(OrganizationDefaultSequencingPattern));
                miChapterDefaultPattern.Checked        = nodeSeq.SequencingPatterns.ContainsPattern(typeof(ChapterDefaultSequencingPattern));
                miControlChapterDefaultPattern.Checked = nodeSeq.SequencingPatterns.ContainsPattern(typeof(ControlChapterDefaultSequencingPattern));
                miPostTestSequencingPattern.Checked    = nodeSeq.SequencingPatterns.ContainsPattern(typeof(PostTestSequencingPattern));
                miRandomSetOfTests.Checked             = miRandomSetOfTestsSelectCount.Visible = nodeSeq.SequencingPatterns.ContainsPattern(typeof(RandomSetSequencingPattern));
                miPrePostTest.Checked    = nodeSeq.SequencingPatterns.ContainsPattern(typeof(PrePostTestSequencingPattern));
                miRandomPostTest.Checked = miRandomPostTestTryNumber.Visible = nodeSeq.SequencingPatterns.ContainsPattern(typeof(RandomPostTestSequencingPattern));
                //-> Place for new one
            }

            #endregion

            var n    = node as ItemType;
            var word = miEditInMSWord.Visible = n != null && n.PageType == PageType.Theory;
            miNew.Visible = page || summary || chapter || controlChapter;

            var delete = miDelete.Enabled = PossibilityManager.CanRemove(node);

            _AddExaminationActiveNotifier(page);
            _AddTheoryActiveNotifier(page);
            _AddSummaryPageActiveNotifier(summary);
            _AddChapterActiveNotifier(chapter);
            _AddControlChapterActiveNotifier(controlChapter);
            _EditInMSWordActiveNotifier(word);
            _DeleteActiveNotifier(delete);
            _UpActiveNotifier(sn.PrevNode != null);
            _DownActiveNotifier(sn.NextNode != null);
            _InsertGroupingChapterActiveNotifier(insertGrouping);
            _InsertGroupingControlChapterActiveNotifier(insertGrouping);
            _RemoveMergeActiveNotifier(removeMerge);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Simply creates new instance of SequencingType object for item's sequencing property.
 /// </summary>
 /// <param name="item">Item to clear sequecing in.</param>
 public static SequencingType ClearSequencing([NotNull] ISequencing item)
 {
     item.Sequencing = new SequencingType();
     return(item.Sequencing);
 }