internal bool FindNext(FindField field, string str) { if (_words.Count == 0) { ResetSearch(); return(false); } if (_selectedWords.Count == 0) { _startWord = _wordsView.Cast <WordViewModel>().Last(); } else if (_startWord == null) { _startWord = _selectedWords[0]; } else if (_selectedWords.Contains(_startWord)) { ResetSearch(); return(false); } List <WordViewModel> words = _wordsView.Cast <WordViewModel>().ToList(); WordViewModel curWord = _selectedWords.Count == 0 ? _startWord : _selectedWords[0]; int wordIndex = words.IndexOf(curWord); do { wordIndex = (wordIndex + 1) % words.Count; curWord = words[wordIndex]; bool match = false; switch (field) { case FindField.Form: match = curWord.StrRep.Contains(str); break; case FindField.Gloss: match = curWord.Meaning.Gloss.Contains(str); break; } if (match) { using (_selectedWordsMonitor.Enter()) { _selectedWords.Clear(); _selectedWords.Add(curWord); } return(true); } }while (_startWord != curWord); ResetSearch(); return(false); }
void ReleaseDesignerOutlets() { if (FindField != null) { FindField.Dispose(); FindField = null; } if (ProductTableView != null) { ProductTableView.Dispose(); ProductTableView = null; } }
//вывод погоды из комбобокса private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { var selectedItem = comboBox.SelectedItem as TextBlock; if (selectedItem != null) { OutputByAsync((int)selectedItem.Tag); FindField.Clear(); comboBox.Visibility = Visibility.Collapsed; label.Visibility = Visibility.Collapsed; DataCity.Visibility = Visibility.Visible; imgTxbl.Visibility = Visibility.Collapsed; } }
internal bool FindNext(FindField field, string str, bool wrap, bool startAtBeginning) { if (_wordPairs.Count == 0) { if (wrap) { ResetSearch(); } return(false); } if (!startAtBeginning && _selectedWordPairs.Count == 0) { _startWordPair = _wordPairsView.Cast <WordPairViewModel>().Last(); } else if (_startWordPair == null) { _startWordPair = _selectedWordPairs[0]; } else if (!startAtBeginning && _selectedWordPairs.Contains(_startWordPair)) { if (wrap) { ResetSearch(); } return(false); } List <WordPairViewModel> wordPairs = _wordPairsView.Cast <WordPairViewModel>().ToList(); WordPairViewModel curWordPair; if (startAtBeginning) { curWordPair = wordPairs[wordPairs.Count - 1]; if (_startWordPair == curWordPair) { ResetSearch(); return(false); } } else { curWordPair = _selectedWordPairs.Count == 0 ? _startWordPair : _selectedWordPairs[0]; } int wordPairIndex = wordPairs.IndexOf(curWordPair); do { wordPairIndex++; if (wordPairIndex == wordPairs.Count) { if (!wrap && !startAtBeginning && _startWordPair != curWordPair) { return(false); } wordPairIndex = 0; } curWordPair = wordPairs[wordPairIndex]; bool match = false; switch (field) { case FindField.Form: match = curWordPair.DomainWordPair.Word1.StrRep.Contains(str) || curWordPair.DomainWordPair.Word2.StrRep.Contains(str); break; case FindField.Gloss: match = curWordPair.Meaning.Gloss.Contains(str); break; } if (match) { using (_selectedWordPairsMonitor.Enter()) { _selectedWordPairs.Clear(); _selectedWordPairs.Add(curWordPair); } return(true); } }while (_startWordPair != curWordPair); if (wrap) { ResetSearch(); } return(false); }
internal bool FindNext(FindField field, string str) { if (_words.Count == 0) { ResetSearch(); return false; } if (_selectedWords.Count == 0) { _startWord = _wordsView.Cast<WordViewModel>().Last(); } else if (_startWord == null) { _startWord = _selectedWords[0]; } else if (_selectedWords.Contains(_startWord)) { ResetSearch(); return false; } List<WordViewModel> words = _wordsView.Cast<WordViewModel>().ToList(); WordViewModel curWord = _selectedWords.Count == 0 ? _startWord : _selectedWords[0]; int wordIndex = words.IndexOf(curWord); do { wordIndex = (wordIndex + 1) % words.Count; curWord = words[wordIndex]; bool match = false; switch (field) { case FindField.Form: match = curWord.StrRep.Contains(str); break; case FindField.Gloss: match = curWord.Meaning.Gloss.Contains(str); break; } if (match) { using (_selectedWordsMonitor.Enter()) { _selectedWords.Clear(); _selectedWords.Add(curWord); } return true; } } while (_startWord != curWord); ResetSearch(); return false; }
internal bool FindNext(FindField field, string str, bool wrap, bool startAtBeginning) { if (_wordPairs.Count == 0) { if (wrap) ResetSearch(); return false; } if (!startAtBeginning && _selectedWordPairs.Count == 0) { _startWordPair = _wordPairsView.Cast<WordPairViewModel>().Last(); } else if (_startWordPair == null) { _startWordPair = _selectedWordPairs[0]; } else if (!startAtBeginning && _selectedWordPairs.Contains(_startWordPair)) { if (wrap) ResetSearch(); return false; } List<WordPairViewModel> wordPairs = _wordPairsView.Cast<WordPairViewModel>().ToList(); WordPairViewModel curWordPair; if (startAtBeginning) { curWordPair = wordPairs[wordPairs.Count - 1]; if (_startWordPair == curWordPair) { ResetSearch(); return false; } } else { curWordPair = _selectedWordPairs.Count == 0 ? _startWordPair : _selectedWordPairs[0]; } int wordPairIndex = wordPairs.IndexOf(curWordPair); do { wordPairIndex++; if (wordPairIndex == wordPairs.Count) { if (!wrap && !startAtBeginning && _startWordPair != curWordPair) return false; wordPairIndex = 0; } curWordPair = wordPairs[wordPairIndex]; bool match = false; switch (field) { case FindField.Form: match = curWordPair.DomainWordPair.Word1.StrRep.Contains(str) || curWordPair.DomainWordPair.Word2.StrRep.Contains(str); break; case FindField.Gloss: match = curWordPair.Meaning.Gloss.Contains(str); break; } if (match) { using (_selectedWordPairsMonitor.Enter()) { _selectedWordPairs.Clear(); _selectedWordPairs.Add(curWordPair); } return true; } } while (_startWordPair != curWordPair); if (wrap) ResetSearch(); return false; }