public PresetManagerColumnViewModel(
            PresetManagerViewModel presetManager,
            ColumnViewModelPreset preset,
            DataColumnView columnView)
        {
            if (presetManager == null)
            {
                throw new ArgumentNullException(nameof(presetManager));
            }
            if (preset == null)
            {
                throw new ArgumentNullException(nameof(preset));
            }
            if (columnView == null)
            {
                throw new ArgumentNullException(nameof(columnView));
            }

            PresetManager = presetManager;
            Preset        = preset;
            ColumnType    = PresetManagerColumnType.Configurable;

            defaultSupportedFormat = columnView.FormatProvider.DefaultSupportedFormat();
            SupportedFormats       = columnView.FormatProvider.SupportedFormats();

            RefreshFromPreset();
        }
        public AsyncDataGridColumn(
            AsyncDataGridColumnsViewModel columns,
            DataColumnView columnModel,
            AsyncDataViewModel adv,
            bool isDisconnected)
        {
            Columns          = columns;
            this.columnModel = columnModel;
            this.adv         = adv;
            IsDisconnected   = isDisconnected;

            isInitializing = true;
            if (isDisconnected)
            {
                ModelColumnIndex        = -1;
                ModelVisibleColumnIndex = -1;
                IsVisible     = true;
                Width         = 45.0;
                TextAlignment = TextAlignment.Right;
            }

            ColumnName    = columnModel.Name;
            TextAlignment = TextAlignment.Left;

            CoerceValue(WidthProperty);
            RefreshViewModelFromModel();
            isInitializing = false;
        }
Esempio n. 3
0
            private void ModifyFilter(
                DataColumnView column, FilterConditionAction action, object mask = null)
            {
                var filter = view.filterable.Filter ?? new TraceLogFilter();

                ModifyFilter(filter, column, action, mask);
                view.filterable.Filter = filter;
            }
Esempio n. 4
0
            private void ModifyFilter(
                TraceLogFilter filter, DataColumnView column,
                FilterConditionAction action, object mask = null)
            {
                Debug.Assert(rowIndex != null);

                var columnId = filterableColumnsMap[column.ColumnId];

                if (columnId != Guid.Empty)
                {
                    column = view.Columns.First(x => x.ColumnId == columnId);
                }
                else
                {
                    columnId = column.ColumnId;
                }

                var providerId = providerIdColumn[rowIndex.Value];

                string expr;

                if (columnId == providerIdColumn.Id)
                {
                    expr = $"ProviderId == {providerId:B}";
                }
                else if (mask == null)
                {
                    var field = columnToFieldMap[columnId];
                    var value = FormatValue(column.UntypedGetValue(rowIndex.Value));
                    expr = $"ProviderId == {providerId:B} && {field} == {value}";
                }
                else
                {
                    var field = columnToFieldMap[columnId];
                    expr = $"ProviderId == {providerId:B} && ({field} & {mask}) != 0";
                }

                filter.Conditions.Add(new TraceLogFilterCondition(expr, true, action));
            }