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); }
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); }
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); }
/// <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); }
/// <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); }