/// <summary> /// Renders an output into a user-chosen file. /// </summary> public IEnumerable <IResult> SaveNodeOutput(Node.Output output) { var file = new ChooseFileResult { Filter = "YUV-Video|*.yuv", OpenReadOnly = false }; yield return(file); IoC.Get <IWindowManager>().ShowDialog(new SaveNodeOutputViewModel(output, file.Stream(), Parent.Parent.Model)); }
/// <summary> /// Loads the model from a user-chosen file. /// </summary> public IEnumerable <IResult> Open() { var file = new ChooseFileResult { Filter = PipelineFilter }; yield return(file); // Let user/test code choose a file, then continue using (var car = file.Stream()) Model = Deserialize(car); modelBase = Serialize(Model); }
/// <summary> /// Saves the current model in a user-chosen file. /// </summary> public IEnumerable <IResult> Save() { var file = new ChooseFileResult { OpenReadOnly = false, Filter = PipelineFilter }; yield return(file); // Let user/test code choose a file, then continue var serializer = new NetDataContractSerializer(); using (var stream = file.Stream()) Serialize(stream, Model); }
/// <summary> /// Opens a dialog to choose the filepath. /// </summary> /// <returns>The dialog.</returns> public IEnumerable <IResult> OpenDialog() { var filter = Property.Attributes.OfType <FilePath.ExtensionFilterAttribute>().FirstOrDefault(); var file = new ChooseFileResult { Filter = filter != null ? filter.Filter : "All files (*.*)|*" }; yield return(file); string currentDir = Directory.GetCurrentDirectory(); if (file.FileName.StartsWith(currentDir)) { file.FileName = file.FileName.Substring(currentDir.Length + 1); } TypedValue = new YuvKA.Pipeline.FilePath(file.FileName); NotifyOfPropertyChange(() => ShortPath); }