/// <summary> /// A settings dialog to change the comparison rules for one wordpair. /// </summary> /// <param name="comparisonRules">The current comparison rules</param> public SmartComparisonSettings(StringComp.Rules comparisonRules) { InitializeComponent(); SetTheme(); Rules = comparisonRules; }
private Quiz ConstructQuiz() { var quiz = new Quiz(cmb_lang1.Text, cmb_lang2.Text, MetaData.QUIZ_FILE_FORMAT_VERSION); quiz.GUID = QuizGuid; ulong i = 0; foreach (var cardControl in flp_cards.Controls.OfType <QuizEditorCard>().Where(x => !CardEmpty(x))) { cardControl.RemoveSynonymsEqualToWords(); StringComp.Rules comparisonRules = cardControl.ComparisonRules.Data; var card = new Card(cardControl.txt_front.Text, cardControl.txt_back.Text, comparisonRules, cardControl.FrontSynonyms, cardControl.BackSynonyms); card.Guid = cardControl.Guid; quiz.Cards.Add(card); ++i; } return(quiz); }
private UndoRedoActionPair SetGlobalRuleState(StringComp.Rules rules, bool enabled) { var undoActions = new List <Action>(); var redoActions = new List <Action>(); foreach (var wprules in flp_cards.Controls.OfType <QuizEditorCard>().Select(x => x.ComparisonRules)) { StringComp.Rules newval; StringComp.Rules oldval = wprules.Data; if (enabled) { newval = wprules.Data | rules; } else { newval = wprules.Data & ~rules; } if (newval == oldval) { continue; } undoActions.Add(wprules.SetSemiSilentUR(oldval)); redoActions.Add(wprules.SetSemiSilentUR(newval)); wprules.SetSemiSilent(newval); } return(new UndoRedoActionPair( undoActions.ToArray(), redoActions.ToArray(), "Global set comparison rules state", new OwnerControlData(this, this.Parent) )); }
private static void ChkAddWordPair(this IList <Card> wpList, string word1, string word2, StringComp.Rules rules, bool multipleTranslationsAsDifferentWordPairs) { foreach (var wp in wpList) { if (word1 == wp.Front) { if (word2 == wp.Back) { return; } else if (!multipleTranslationsAsDifferentWordPairs) { wp.BackSynonyms.Add(word2); return; } } else if (word2 == wp.Back && !multipleTranslationsAsDifferentWordPairs) { wp.FrontSynonyms.Add(word1); return; } } var wordPair = new Card(word1, word2, rules); wpList.Add(wordPair); }