IFormatterParametersViewModel IFormatterViewModelFactory.CreateFormatterViewModel( IUshortsFormatter ushortsFormatter) { if (ushortsFormatter == null) { return(null); } var formatterViewModel = ushortsFormatter.Accept(this); var formatterParametersViewModel = new FormatterParametersViewModel() { Name = ushortsFormatter.Name, IsFromSharedResources = ushortsFormatter.Name != null, RelatedUshortsFormatterViewModel = formatterViewModel }; return(formatterParametersViewModel); }
public override object Clone() { var cloneEditorViewModel = new ComplexPropertyEditorViewModel(_container, _rangeViewModel.Clone() as IRangeViewModel, _localizerService, _applicationGlobalCommands, _sharedBitViewModelGettingFunc) { Address = Address, IsMeasureUnitEnabled = IsMeasureUnitEnabled, NumberOfPoints = NumberOfPoints, IsRangeEnabled = IsRangeEnabled, FormatterParametersViewModel = FormatterParametersViewModel?.Clone() as IFormatterParametersViewModel, Header = Header, Name = Name, MeasureUnit = MeasureUnit, IsGroupedProperty = IsGroupedProperty }; foreach (var subPropertyEditorViewModel in SubPropertyEditorViewModels) { var subPropertyEditorViewModelClone = subPropertyEditorViewModel.Clone() as ISubPropertyEditorViewModel; subPropertyEditorViewModelClone.BitNumbersInWord = cloneEditorViewModel.MainBitNumbersInWordCollection; foreach (var bitViewModel in subPropertyEditorViewModel.BitNumbersInWord) { if (bitViewModel.Owner == subPropertyEditorViewModel && bitViewModel.Value) { subPropertyEditorViewModelClone.BitNumbersInWord.First(model => model.NumberOfBit == bitViewModel.NumberOfBit).ChangeValueByOwnerCommand.Execute(subPropertyEditorViewModelClone); } } subPropertyEditorViewModelClone.Parent = cloneEditorViewModel; cloneEditorViewModel.SubPropertyEditorViewModels.Add(subPropertyEditorViewModelClone); cloneEditorViewModel.ChildStructItemViewModels.Add(subPropertyEditorViewModelClone); cloneEditorViewModel.IsCheckable = true; } return(cloneEditorViewModel); }