AcManager.Controls.AcObjectListBox.UpdateFilter C# (CSharp) Method

UpdateFilter() private method

private UpdateFilter ( IAcObjectNew selectObject ) : void
selectObject IAcObjectNew
return void
        private void UpdateFilter(IAcObjectNew selectObject) {
            ClearFilter();

            var listView = InnerItemsSource;
            if (listView == null) return;

            var baseFilter = BasicFilter;
            var userFilter = UserFilter;

            var filter = string.IsNullOrWhiteSpace(baseFilter) ? userFilter
                : string.IsNullOrWhiteSpace(userFilter) ? baseFilter : baseFilter + @" & (" + userFilter + @")";

            InnerItemsSource.CurrentChanged -= ItemsSource_CurrentChanged;
            using (listView.DeferRefresh()) {
                if (string.IsNullOrWhiteSpace(filter)) {
                    listView.Filter = null;
                } else {
                    _filter = Filter.Create(UniversalAcObjectTester.Instance, filter);
                    listView.Filter = FilterFunc;
                    _observableCollection.ItemPropertyChanged += Collection_ItemPropertyChanged;
                    _observableCollection.WrappedValueChanged += Collection_WrappedValueChanged;
                }
            }
            InnerItemsSource.CurrentChanged += ItemsSource_CurrentChanged;

            listView.MoveCurrentToOrNull(selectObject);
        }

Same methods

AcObjectListBox::UpdateFilter ( ) : void