示例#1
0
        public BitViewModel(BITOptionWrapper options, int bitIndex)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _options  = options;
            _bitIndex = bitIndex;
        }
示例#2
0
        internal BitFieldOptionsViewModel(BITOptionWrapper options)
        {
            _options = options;

            OkCommand     = new RelayCommand(Ok, CanOk);
            CancelCommand = new RelayCommand(Cancel);

            var bitIndexRange = Enumerable.Range(0, options.NumberOfBits);

            _bitNameViewModels = bitIndexRange
                                 .Select(bitIndex => new BitViewModel(options, bitIndex))
                                 .ToArray();
        }
示例#3
0
        public sealed override FieldOptionModel[] EditOptions(FieldOptionModel[] options)
        {
            var optionsWrapper = new BITOptionWrapper(options, _numberOfBits);

            var viewModel = new BitFieldOptionsViewModel(optionsWrapper);

            var view = new BITFieldOptionsView()
            {
                DataContext = viewModel
            };

            if (view.ShowDialog() == true)
            {
                return(optionsWrapper.GetOptions());
            }

            return(null);
        }
示例#4
0
        protected BITRuntimeFieldBase(FieldModel fieldModel, int numberOfBits) : base(fieldModel)
        {
            var optionWrapper = new BITOptionWrapper(fieldModel.Options, numberOfBits);

            string[] names = optionWrapper.GetNames();

            //Create tuples that contain the display name
            var tuples = names
                         .Select(n => new Tuple <string, RuntimeFieldEditor <CheckBox> >(
                                     n,
                                     new RuntimeFieldEditor <CheckBox>(fieldModel.Name + " - " + n, new CheckBox())))
                         .ToArray();

            _allFieldEditors = tuples
                               .Select(t => t.Item2)
                               .ToArray();

            _displayedFieldEditors = tuples
                                     .Where(t => !string.IsNullOrWhiteSpace(t.Item1))
                                     .Select(t => t.Item2)
                                     .ToArray();
        }