private bool TryLoadFile(IMainWindowViewModel viewModel, IViewModelStateSerializer serializer, string filePath)
        {
            try
            {
                serializer.LoadViewModelState(viewModel, filePath);
            }
            catch (InvalidOperationException)
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 2
0
        public MainWindowViewModel(IModelBuilder modelBuilder,
                                   IEventAggregator eventAggregator,
                                   ITestManager testManager,
                                   IViewModelStateSerializer viewModelStateSerializer,
                                   IViewModelLocator viewModelLocator)
        {
            if (modelBuilder == null)
            {
                throw new ArgumentNullException("modelBuilder");
            }

            if (eventAggregator == null)
            {
                throw new ArgumentNullException("eventAggregator");
            }

            if (testManager == null)
            {
                throw new ArgumentNullException("testManager");
            }

            if (viewModelStateSerializer == null)
            {
                throw new ArgumentNullException("viewModelStateSerializer");
            }

            if (viewModelLocator == null)
            {
                throw new ArgumentNullException("viewModelLocator");
            }

            _modelBuilder             = modelBuilder;
            _eventAggregator          = eventAggregator;
            _testManager              = testManager;
            _viewModelStateSerializer = viewModelStateSerializer;
            _viewModelLocator         = viewModelLocator;

            InitializeCommands();

            _eventAggregator.GetEvent <ModelAddRequestEvent>().Subscribe(OnAddModelRequest);
            _cameraSubscriptionToken = _eventAggregator.GetEvent <CameraPositionChangedEvent>().Subscribe(OnCameraChange);

            _fieldModel = _modelBuilder.BuildModel <Field>();

            State = TestState.NotConfigured;

            _models = new ObservableCollectionEx <IModel>();
            ((INotifyPropertyChanged)_models).PropertyChanged += (sender, args) => RaisePropertyChanged(() => Models3D);

            Configuration = new TestConfiguration(_eventAggregator);
        }