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; }
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); }
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(); } }); }