private void UpdateFilter() { _filter.DuplicateSelectMode = _duplicateSelectMode; _filter.DuplicateJudgeMode = _judgeMode; _filter.ifmaskDuplicateChips = ifmaskDuplicateChips; _filter.ifMaskOrEnableIds = MaskOrEnableIds; _filter.ifMaskOrEnableCords = MaskOrEnableCords; _filter.maskSites = AllSites.Except(EnabledSites).ToList(); _filter.maskHardBins = AllHBins.Except(EnabledHBins).ToList(); _filter.maskSoftBins = AllSBins.Except(EnabledSBins).ToList(); _filter.maskChips = ParseMaskEnableIds(); _filter.maskCords = ParseMaskEnableCords(); _dataAcquire.UpdateFilter(_filterId, _filter); CountPerPage = DefaultPerPageCount; TotalCount = _dataAcquire.GetFilteredChipSummary(_filterId).TotalCount; TotalPages = TotalCount / CountPerPage + 1; CurrentPageIndex = 1; RaisePropertyChanged("TotalPages"); RaisePropertyChanged("TotalCount"); UpdateDataToStartPage(); }
public DataGridTabViewModel(IDataAcquire dataAcquire, int filterId, int tag) { _filterId = filterId; Tag = tag; _dataAcquire = dataAcquire; _filter = _dataAcquire.GetFilterSetup(_filterId); _duplicateSelectMode = DuplicateSelectMode.SelectFirst; _judgeMode = DuplicateJudgeMode.ID; if (_dataAcquire.FileName.Length > 15) { TabTitle = _dataAcquire.FileName.Substring(0, 15) + "..."; } else { TabTitle = _dataAcquire.FileName; } FilePath = _dataAcquire.FilePath; CountPerPage = DefaultPerPageCount; TotalCount = _dataAcquire.GetFilteredChipSummary(_filterId).TotalCount; TotalPages = TotalCount / CountPerPage + 1; CurrentPageIndex = 1; UpdateDataToStartPage(); AllSites = new ObservableCollection <byte>(_dataAcquire.GetSites()); AllHBins = new ObservableCollection <ushort>(_dataAcquire.GetHardBins()); AllSBins = new ObservableCollection <ushort>(_dataAcquire.GetSoftBins()); EnabledSites = new ObservableCollection <byte>(AllSites.Except(_filter.maskSites)); EnabledHBins = new ObservableCollection <ushort>(AllHBins.Except(_filter.maskHardBins)); EnabledSBins = new ObservableCollection <ushort>(AllSBins.Except(_filter.maskSoftBins)); ifmaskDuplicateChips = _filter.ifmaskDuplicateChips; DuplicateMode = new List <string>(); DuplicateMode.Add(DuplicateSelectMode.SelectFirst.ToString()); DuplicateMode.Add(DuplicateSelectMode.SelectLast.ToString()); DuplicateMode.Add(DuplicateSelectMode.AllDuplicate.ToString()); JudgeMode = new List <string>(); JudgeMode.Add(DuplicateJudgeMode.ID.ToString()); JudgeMode.Add(DuplicateJudgeMode.Cord.ToString()); MaskEnableCords = ""; MaskEnableChips = ""; JumpStartPage = new DelegateCommand(() => { UpdateDataToStartPage(); }); JumpLastPage = new DelegateCommand(() => { UpdateDataToLastPage(); }); JumpNextPage = new DelegateCommand(() => { UpdateDataToNextPage(); }); JumpEndPage = new DelegateCommand(() => { UpdateDataToEndPage(); }); ClearIDs = new DelegateCommand(() => { MaskEnableChips = ""; RaisePropertyChanged("MaskEnableChips"); }); ClearCords = new DelegateCommand(() => { MaskEnableCords = ""; RaisePropertyChanged("MaskEnableCords"); }); ExportToExcel = new DelegateCommand(() => { ExportToExcelAction(); }); RemoveSite = new DelegateCommand <MouseButtonEventArgs>((e) => { var v = ((ListBox)(e.Source)); if (v.Items.Count > 1 && v.SelectedIndex >= 0) { EnabledSites.RemoveAt(v.SelectedIndex); } }); AddSite = new DelegateCommand <MouseButtonEventArgs>((e) => { var v = ((ListBox)(e.Source)); if (v.SelectedIndex >= 0 && !EnabledSites.Contains((byte)v.SelectedItem)) { EnabledSites.Add((byte)v.SelectedItem); } }); RemoveHBin = new DelegateCommand <MouseButtonEventArgs>((e) => { var v = ((ListBox)(e.Source)); if (v.Items.Count > 1 && v.SelectedIndex >= 0) { EnabledHBins.RemoveAt(v.SelectedIndex); } }); AddHBin = new DelegateCommand <MouseButtonEventArgs>((e) => { var v = ((ListBox)(e.Source)); if (v.SelectedIndex >= 0 && !EnabledHBins.Contains((ushort)v.SelectedItem)) { EnabledHBins.Add((ushort)v.SelectedItem); } }); RemoveSBin = new DelegateCommand <MouseButtonEventArgs>((e) => { var v = ((ListBox)(e.Source)); if (v.Items.Count > 1 && v.SelectedIndex >= 0) { EnabledSBins.RemoveAt(v.SelectedIndex); } }); AddSBin = new DelegateCommand <MouseButtonEventArgs>((e) => { var v = ((ListBox)(e.Source)); if (v.SelectedIndex >= 0 && !EnabledSBins.Contains((ushort)v.SelectedItem)) { EnabledSBins.Add((ushort)v.SelectedItem); } }); DuplicateSelectModeChanged = new DelegateCommand <SelectionChangedEventArgs>((e) => { var v = ((ComboBox)e.Source).SelectedItem; _duplicateSelectMode = (DuplicateSelectMode)Enum.Parse(typeof(DuplicateSelectMode), v.ToString()); }); JudgeModeChanged = new DelegateCommand <SelectionChangedEventArgs>((e) => { var v = ((ComboBox)e.Source).SelectedItem; _judgeMode = (DuplicateJudgeMode)Enum.Parse(typeof(DuplicateJudgeMode), v.ToString()); }); ApplyFilter = new DelegateCommand(() => { UpdateFilter(); }); CreateHistogram = new DelegateCommand <RoutedEventArgs>((e) => { ; }); }