Newer
Older
using System;
using System.Collections.ObjectModel;
using System.Windows.Data;
using VECTO3GUI2020.Helper;
using VECTO3GUI2020.ViewModel.Implementation;
using VECTO3GUI2020.ViewModel.Implementation.Common;
using VECTO3GUI2020.ViewModel.Interfaces;
namespace VECTO3GUI2020.ViewModel
{
public class OutputViewModel : ViewModelBase, IOutputViewModel
{
private object _messageLock = new Object();
private ObservableCollection<MessageEntry> _messages = new ObservableCollection<MessageEntry>();
private int _progress;
private string _statusMessage;
private ICommand _openFolderCommand;
private ICommand _openFileCommand;
public ObservableCollection<MessageEntry> Messages
get { return _messages; }

Harald MARTINI
committed
public int Progress
get => _progress;
set => SetProperty(ref _progress, value);
public string StatusMessage
{
get { return _statusMessage; }
set { SetProperty(ref _statusMessage, value); }
}
#endregion
public void AddMessage(MessageEntry messageEntry)
{
lock (_messageLock)
{
Messages.Add(messageEntry);
}
}
BindingOperations.EnableCollectionSynchronization(Messages, _messageLock);
public ICommand OpenFolderCommand =>
_openFolderCommand ?? (_openFolderCommand = new RelayCommand<string>(
OpenFolderExecute));
public ICommand OpenFileCommand =>
_openFileCommand ?? (_openFileCommand = new RelayCommand<string>(
OpenFileExecute));
private void OpenFolderExecute(string path)
ProcessHelper.OpenFolder(path);
private void OpenFileExecute(string path){
if (path == null) {
ProcessHelper.OpenFile(path);
public interface IOutputViewModel : IMainViewModel

Harald MARTINI
committed
//ObservableCollection<MessageEntry> Messages { get; }
int Progress { get; set; }
string StatusMessage { get; set; }

Harald MARTINI
committed
void AddMessage(MessageEntry messageEntry);