internal void PopulateDefaultAutoCompleteCandidates() { if (PortViewModel.PortModel.PortType == PortType.Input) { switch (PortViewModel.PortModel.GetInputPortType()) { case "int": FilteredResults = DefaultResults.Where(e => e.Name == "Number Slider" || e.Name == "Integer Slider").ToList(); break; case "double": FilteredResults = DefaultResults.Where(e => e.Name == "Number Slider" || e.Name == "Integer Slider").ToList(); break; case "string": FilteredResults = DefaultResults.Where(e => e.Name == "String").ToList(); break; case "bool": FilteredResults = DefaultResults.Where(e => e.Name == "Boolean").ToList(); break; default: FilteredResults = DefaultResults.Where(e => e.Name == "String" || e.Name == "Number Slider" || e.Name == "Integer Slider" || e.Name == "Number" || e.Name == "Boolean"); break; } } else { FilteredResults = DefaultResults.Where(e => e.Name == "Watch" || e.Name == "Watch 3D" || e.Name == "Python Script").ToList(); } defaultSearchElementsCache = FilteredResults.Select(x => x.Model).ToList(); }
/// <summary> /// When down key is pressed, selected element should move forward. /// When up key is pressed, selected element should move back. /// </summary> public void MoveSelection(Direction direction) { var oldItem = FilteredResults.FirstOrDefault(item => item.IsSelected); if (oldItem == null) { return; } int newItemIndex = FilteredResults.IndexOf(oldItem); if ((newItemIndex <= 0 && direction == Direction.Up) || (newItemIndex >= FilteredResults.Count() - 1 && direction == Direction.Down)) { return; } if (direction == Direction.Down) { newItemIndex++; } else { newItemIndex--; } oldItem.IsSelected = false; var newItem = FilteredResults.ElementAt(newItemIndex); newItem.IsSelected = true; }
/// <summary> /// Executes selected item in search UI. /// </summary> public void ExecuteSelectedItem() { var selected = FilteredResults.FirstOrDefault(item => item.IsSelected); if (selected != null) { selected.ClickedCommand.Execute(null); } }
public void Clear() { FilteredResults.Clear(); _allResults.Clear(); ActiveFilters.Clear(); foreach (var filter in _allFilters) { filter.Clear(); } }
private void ShowResults() { SearchResultsList.SuspendLayout(); SearchResultsList.Items.Clear(); if (AlwaysShowList || !IsSearchBoxEmpty()) { var topResults = FilteredResults.Count() > MaxResults?FilteredResults.Take(MaxResults).ToList() : FilteredResults; bool first = true; foreach (var item in topResults) { var name = GetNameForObject(item); var hintText = GetHintForObject(item); var emphasis = GetHintEmphasisRangeForObject(item); var image = OnGetIconForItem != null?OnGetIconForItem(item) : null; var menuItem = new ToolStripButtonWithHint(name, image, hintText); menuItem.EmphasisStart = emphasis.X; menuItem.EmphasisEnd = emphasis.Y; SearchResultsList.Items.Add(menuItem); if (first) { menuItem.Select(); first = false; } menuItem.Click += MenuItemClick; } var unshownCount = FilteredResults.Count() - topResults.Count(); if (unshownCount > 0) { SearchResultsList.Items.Add(new ToolStripLabel(String.Format(" + {0} more (continue typing to filter further)", unshownCount)) { ForeColor = Color.Gray }); } SearchResultsList.ResumeLayout(); if (!SearchResultsList.Visible) { SearchResultsList.Show(new Point(Left, Bottom)); } } else { SearchResultsList.ResumeLayout(); SearchResultsList.Hide(); } }
public void ApplyFilters() { var activeFilters = _allFilters.SelectMany(i => i.Where(e => e.IsChecked)); FilteredResults.AddRemoveRange(activeFilters.SelectMany(i => i.Parents).Distinct()); if (FilteredResults.Count == 0 && _allFilters.SelectMany(i => i.Where(e => e.IsChecked)).Count() == 0) { FilteredResults.AddRemoveRange(_allResults); } ActiveFilters.AddRemoveRange(activeFilters); }
public void DoFilter() { Records = DataContext.Schedule.ToList(); if (string.IsNullOrEmpty(Pattern)) { FilteredResults = Records; } else { Regex aRegex = new Regex(Pattern); List <Schedule> Results = new List <Schedule>(); for (int i = 0; i < Records.Count; i++) { string Words = (Records[i].Id).ToString() + " " + Records[i].Name + " " + Records[i].BeginDate + " " + Records[i].BeginTime + " " + Records[i].EndDate + " " + Records[i].EndTime + " " + Records[i].Place + " " + Records[i].Memo; MatchCollection aMatches = aRegex.Matches(Words); for (int j = 0; j < aMatches.Count; j++) { if (aMatches[j].Success) { Results.Add(Records[i]); } } } FilteredResults = Results; } for (int i = 0; i < FilteredResults.Count; i++) { for (int j = FilteredResults.Count - 1; j > i; j--) { if (FilteredResults[i] == FilteredResults[j]) { FilteredResults.RemoveAt(j); } } } }
public void SearchStr() { Records = DataContext.Conts.ToList(); if (string.IsNullOrEmpty(Pattern)) { FilteredResults = Records; } else { Regex aRegex = new Regex(Pattern); List <Conts> Results = new List <Conts>(); for (int i = 0; i < Records.Count; i++) { string Words = Records[i].name + " " + Records[i].mobile + " " + Records[i].memo + " " + Records[i].sex + " " + Records[i].birth; MatchCollection aMatches = aRegex.Matches(Words); for (int j = 0; j < aMatches.Count; j++) { if (aMatches[j].Success) { Results.Add(Records[i]); } } } FilteredResults = Results; } for (int i = 0; i < FilteredResults.Count; i++) { for (int j = FilteredResults.Count - 1; j > i; j--) { if (FilteredResults[i] == FilteredResults[j]) { FilteredResults.RemoveAt(j); } } } }
public async Task AddImage(ImageInsights insights) { // Load image from file BitmapImage bitmapImage = new BitmapImage(); if (insights.ImageUri.IsFile) { await bitmapImage.SetSourceAsync((await(await StorageFile.GetFileFromPathAsync(insights.ImageUri.AbsoluteUri)).OpenStreamForReadAsync()).AsRandomAccessStream()); } else { bitmapImage.UriSource = insights.ImageUri; } //load smaller image - for performace bitmapImage.DecodePixelHeight = 270; // Create the view models ImageInsightsViewModel insightsViewModel = new ImageInsightsViewModel() { Insights = insights, ImageSource = bitmapImage }; //tags foreach (var entity in insights.VisionInsights?.Tags ?? Array.Empty <string>()) { AddFilter(TagFilters, entity, entity, insightsViewModel); } //faces foreach (var entity in insights.FaceInsights ?? Array.Empty <FaceInsights>()) { var key = entity.UniqueFaceId == Guid.Empty ? Guid.NewGuid() : entity.UniqueFaceId; var imageScale = bitmapImage.PixelHeight < bitmapImage.DecodePixelHeight ? 1d : (double)bitmapImage.DecodePixelHeight / (double)bitmapImage.PixelHeight; var filter = AddFilter(FaceFilters, entity, key, insightsViewModel, bitmapImage, entity.FaceRectangle.ToRect().Scale(imageScale).Inflate(2)); //rescale face rect if image has been rescaled if (filter.Count == 1 && bitmapImage.PixelHeight == 0) { bitmapImage.ImageOpened += (sender, e) => { var bitmap = sender as BitmapImage; if (bitmap.DecodePixelHeight != 0 && bitmap.DecodePixelHeight < bitmap.PixelHeight) { var imageFilter = filter as ImageFilterViewModel; imageFilter.ImageCrop = entity.FaceRectangle.ToRect().Scale((double)bitmap.DecodePixelHeight / (double)bitmap.PixelHeight).Inflate(2); } }; } } //emotions insightsViewModel.Emotions = insights.FaceInsights?.Select(i => Util.EmotionToRankedList(i.FaceAttributes.Emotion).First().Key).Distinct().ToArray() ?? Array.Empty <string>(); foreach (var entity in insightsViewModel.Emotions) { AddFilter(EmotionFilters, entity, entity, insightsViewModel); } //objects foreach (var entity in insights.VisionInsights?.Objects ?? Array.Empty <string>()) { AddFilter(ObjectFilters, entity, entity, insightsViewModel); } //landmarks foreach (var entity in insights.VisionInsights?.Landmarks ?? Array.Empty <string>()) { AddFilter(LandmarkFilters, entity, entity, insightsViewModel); } //celebrities foreach (var entity in insights.VisionInsights?.Celebrities ?? Array.Empty <string>()) { AddFilter(CelebrityFilters, entity, entity, insightsViewModel); } //brands foreach (var entity in insights.VisionInsights?.Brands ?? Array.Empty <string>()) { AddFilter(BrandFilters, entity, entity, insightsViewModel); } //moderation insightsViewModel.Moderation = GetAdultFlags(insights.VisionInsights?.Adult).ToArray(); foreach (var entity in insightsViewModel.Moderation) { AddFilter(ModerationFilters, entity, entity, insightsViewModel); insightsViewModel.BlurImage = true; //set blur flag } //words foreach (var entity in insights.VisionInsights?.Words ?? Array.Empty <string>()) { AddFilter(WordFilters, entity, entity, insightsViewModel); } //color insightsViewModel.Color = GetColorFlags(insights.VisionInsights?.Color).ToArray(); foreach (var entity in insightsViewModel.Color) { AddFilter(ColorFilters, entity, entity, insightsViewModel); } //orientation insightsViewModel.Orientation = GetOrientation(insights.VisionInsights?.Metadata); if (insightsViewModel.Orientation != null) { AddFilter(OrientationFilters, insightsViewModel.Orientation, insightsViewModel.Orientation, insightsViewModel); } //image type insightsViewModel.ImageType = GetImageTypeFlags(insights.VisionInsights?.ImageType).ToArray(); foreach (var entity in insightsViewModel.ImageType) { AddFilter(ImageTypeFilters, entity, entity, insightsViewModel); } //size insightsViewModel.Size = GetSize(insights.VisionInsights?.Metadata); if (insightsViewModel.Size != null) { AddFilter(SizeFilters, insightsViewModel.Size, insightsViewModel.Size, insightsViewModel); } //People insightsViewModel.People = GetPeopleFlags(insights.VisionInsights?.Objects, insights.FaceInsights).ToArray(); foreach (var entity in insightsViewModel.People) { AddFilter(PeopleFilters, entity, entity, insightsViewModel); } //face attributes insightsViewModel.FaceAttributes = GetFaceAttributesFlags(insights.FaceInsights).ToArray(); foreach (var entity in insightsViewModel.FaceAttributes) { AddFilter(FaceAttributesFilters, entity, entity, insightsViewModel); } //face qualtity insightsViewModel.FaceQualtity = GetFaceQualityFlags(insights.FaceInsights).ToArray(); foreach (var entity in insightsViewModel.FaceQualtity) { AddFilter(FaceQualityFilters, entity, entity, insightsViewModel); } //Custom Vision tags insightsViewModel.CustomVisionTags = GetCustomVisionTags(insights.CustomVisionInsights).ToArray(); foreach (var entity in insightsViewModel.CustomVisionTags) { AddFilter(CustomVisionTagFilters, entity, entity, insightsViewModel); } //Custom Vision objects insightsViewModel.CustomVisionObjects = GetCustomVisionObjects(insights.CustomVisionInsights).ToArray(); foreach (var entity in insightsViewModel.CustomVisionObjects) { AddFilter(CustomVisionObjectFilters, entity, entity, insightsViewModel); } if (SettingsHelper.Instance.ShowAgeAndGender) //only if age and gender is allowed { //Age insightsViewModel.Age = GetAgeFlags(insights.FaceInsights).ToArray(); foreach (var entity in insightsViewModel.Age) { AddFilter(AgeFilters, entity, entity, insightsViewModel); } //Gender insightsViewModel.Gender = GetGenderFlags(insights.FaceInsights).ToArray(); foreach (var entity in insightsViewModel.Gender) { AddFilter(GenderFilters, entity, entity, insightsViewModel); } } //add viewmodel to collection _allResults.Add(insightsViewModel); FilteredResults.Add(insightsViewModel); }