protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Options); var seplet = FindViewById <CheckBox>(Resource.Id.separate_letters); var singleword = FindViewById <CheckBox>(Resource.Id.single_word); var corrector = FindViewById <CheckBox>(Resource.Id.autocorrector); var learner = FindViewById <CheckBox>(Resource.Id.autolearner); var userdict = FindViewById <CheckBox>(Resource.Id.user_dictionary); var dictwords = FindViewById <CheckBox>(Resource.Id.dict_words); var recoFlags = WritePadAPI.recoGetFlags(); seplet.Checked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_SEPLET); singleword.Checked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_SINGLEWORDONLY); learner.Checked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_ANALYZER); userdict.Checked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_USERDICT); dictwords.Checked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_ONLYDICT); corrector.Checked = WritePadAPI.isRecoFlagSet(recoFlags, WritePadAPI.FLAG_CORRECTOR); seplet.Click += (o, e) => { recoFlags = WritePadAPI.setRecoFlag(recoFlags, seplet.Checked, WritePadAPI.FLAG_SEPLET); WritePadAPI.recoSetFlags(recoFlags); }; singleword.Click += (o, e) => { recoFlags = WritePadAPI.setRecoFlag(recoFlags, singleword.Checked, WritePadAPI.FLAG_SINGLEWORDONLY); WritePadAPI.recoSetFlags(recoFlags); }; learner.Click += (o, e) => { recoFlags = WritePadAPI.setRecoFlag(recoFlags, learner.Checked, WritePadAPI.FLAG_ANALYZER); WritePadAPI.recoSetFlags(recoFlags); }; userdict.Click += (o, e) => { recoFlags = WritePadAPI.setRecoFlag(recoFlags, userdict.Checked, WritePadAPI.FLAG_USERDICT); WritePadAPI.recoSetFlags(recoFlags); }; dictwords.Click += (o, e) => { recoFlags = WritePadAPI.setRecoFlag(recoFlags, dictwords.Checked, WritePadAPI.FLAG_ONLYDICT); WritePadAPI.recoSetFlags(recoFlags); }; corrector.Click += (o, e) => { recoFlags = WritePadAPI.setRecoFlag(recoFlags, corrector.Checked, WritePadAPI.FLAG_CORRECTOR); WritePadAPI.recoSetFlags(recoFlags); }; }
public string Recognize(bool bLearn) { var res = ""; var resultStringList = new List <string>(); var wordList = new List <List <WordAlternative> >(); var count = WritePadAPI.recoStrokeCount(); string defaultResult = WritePadAPI.recoInkData(count, false, false, false, false); // can also use the default result resultStringList.Add(defaultResult); var wordCount = WritePadAPI.recoResultColumnCount(); for (var i = 0; i < wordCount; i++) { var wordAlternativesList = new List <WordAlternative>(); var altCount = WritePadAPI.recoResultRowCount(i); for (var j = 0; j < altCount; j++) { var word = WritePadAPI.recoResultWord(i, j); if (word == "<--->") { word = "*Error*"; } if (string.IsNullOrEmpty(word)) { continue; } var weight = WritePadAPI.recoResultWeight(i, j); var flags = WritePadAPI.recoGetFlags(); if (j == 0 && bLearn && weight > 75 && 0 != (flags & WritePadAPI.FLAG_ANALYZER)) { WritePadAPI.recoLearnWord(word, weight); } if (wordAlternativesList.All(x => x.Word != word)) { wordAlternativesList.Add(new WordAlternative { Word = word, Weight = weight }); } while (resultStringList.Count < j + 2) { resultStringList.Add(""); } if (resultStringList[j + 1].Length > 0) { resultStringList[j + 1] += "\t\t"; } resultStringList[j + 1] += word + "\t[" + weight + "%]"; } wordList.Add(wordAlternativesList); } foreach (var line in resultStringList) { if (string.IsNullOrEmpty(line)) { continue; } if (res.Length > 0) { res += Environment.NewLine; } res += line; } return(res); }