public SketchViewModel(
            IUnityContainer container,
            IEventAggregator eventAggregator,
            UiState uiState,
            SessionData sessionData,
            ISnapper snapper,
            IClassificationInference classificationInference,
            IUndoHistory undoHistory)
        {
            this.uiState                 = uiState;
            this.sessionData             = sessionData;
            this.eventAggregator         = eventAggregator;
            this.snapper                 = snapper;
            this.classificationInference = classificationInference;
            this.undoHistory             = undoHistory;

            uiState.AddListener(this, () => uiState.SketchPlane);
            sessionData.AddListener(this, () => sessionData.SketchName);

            NewPrimitives = sessionData.NewPrimitives;

            SketchModellingViewModel = container.Resolve <SketchModellingViewModel>();
            SketchImageViewModel     = container.Resolve <SketchImageViewModel>();

            eventAggregator.GetEvent <MarkFeatureEvent>().Subscribe(MarkFeatureHandler);
            eventAggregator.GetEvent <MarkSilhouetteEvent>().Subscribe(MarkSilhouetteHandler);
        }
 public AnnotationsViewModel(IEventAggregator eventAggregator, SessionData sessionData, ILoggerFacade logger, ISnapper snapper, IUndoHistory undoHistory)
     : this()
 {
     this.eventAggregator = eventAggregator;
     this.sessionData     = sessionData;
     this.logger          = logger;
     this.snapper         = snapper;
     this.undoHistory     = undoHistory;
     Annotations          = sessionData.Annotations;
 }
Example #3
0
        public SketchLoader(IEventAggregator eventAggregator,
                            ISketchCatalog sketchCatalog,
                            IClassificationInference classificationInference,
                            IUndoHistory undoHistory,
                            SessionData sessionData,
                            UiState uiState)
        {
            this.eventAggregator         = eventAggregator;
            this.sketchCatalog           = sketchCatalog;
            this.classificationInference = classificationInference;
            this.undoHistory             = undoHistory;
            this.sessionData             = sessionData;
            this.uiState = uiState;

            eventAggregator.GetEvent <LoadSketchEvent>().Subscribe(OnLoadSketch);
        }
Example #4
0
        public UndoPerformer(IEventAggregator eventAggregator, IUndoHistory undoHistory)
        {
            this.undoHistory = undoHistory;

            var undoEvent = eventAggregator.GetEvent <UndoEvent>();

            undoEvent.Subscribe(_ => OnUndo());

            var globalShortcut = eventAggregator.GetEvent <GlobalShortcutEvent>();

            globalShortcut.Subscribe(eventArgs =>
            {
                if (eventArgs.Key == Key.Z &&
                    eventArgs.KeyboardDevice.Modifiers == ModifierKeys.Control)
                {
                    OnUndo();
                }
            });
        }