public FrameViewModel(IFrameable frameable, IHostTransformation hostTransformation, IFrameSaver frameSaver) { Frameable = frameable; HostTransformation = hostTransformation; FrameSaver = frameSaver; hostTransformation.PropertyChanged += (sender, args) => { switch (args.PropertyName) { case "Quadrangle": OnPropertyChanged("Quadrangle"); break; case "Transformation": OnPropertyChanged("Transformation"); OnPropertyChanged("Lines"); OnPropertyChanged("Points"); OnPropertyChanged("Elements"); break; } }; if (frameSaver != null) { SaveFileContainer = new SaveFileContainerViewModel(this, frameSaver.GetType()); } }
public MultiFrameSourceViewModel(IHostTransformation hostTransformation, IFactory <IEnumerable <IFrameable> > framesFactory, IFrameSaver frameSaver) { FramesFactory = framesFactory; FrameSaver = frameSaver; HostTransformation = hostTransformation; OpenFileContainer = new OpenFileContainerViewModel(this, framesFactory.GetType()); }
public FrameSourceViewModel(IHostTransformation hostTransformation, IFactory <IFrameable> frameFactory, IFrameSaver frameSaver) { FrameFactory = frameFactory; FrameSaver = frameSaver; HostTransformation = hostTransformation; OpenFileContainer = new OpenFileContainerViewModel(this, frameFactory.GetType()); Frame = new FrameViewModel(new NullFramable(), HostTransformation, null); }