public void RunMockView() { Form form = new Form(); MockFileTransferPresenter presenter = new MockFileTransferPresenter(); presenter.ViewModel.FileTransfers.Add( new FileTransferViewItem("Running", "Source", "Target") { Progress = 50, Start = DateTime.Now, Message = "Chugging...", Status = FileTransfer.Status.Running }); presenter.ViewModel.FileTransfers.Add( new FileTransferViewItem("Done", "Source", "Target") { Progress = 100, Start = DateTime.Now, Message = "Completed in 23.3s", Status = FileTransfer.Status.Complete }); presenter.ViewModel.FileTransfers.Add( new FileTransferViewItem("Done", "Source", "Target") { Progress = 10, Start = DateTime.Now, Message = "Canceled", Status = FileTransfer.Status.Canceled }); FileTransferView view = new FileTransferView(presenter) { Dock = DockStyle.Fill }; form.Controls.Add(view); form.Size = new Size(1024, 250); form.Show(); Thread thread = new Thread(() => { Thread.Sleep(1000); // simulate updates int increment = 1; while (true) { Thread.Sleep(100); FileTransferViewItem item = presenter.ViewModel.FileTransfers[0]; if (item.Progress == 99 || item.Progress == 1) { increment *= -1; } item.Progress += increment; if (view.IsDisposed) break; view.BeginInvoke(new Action(() => presenter.ViewModel.FileTransfers.ResetItem(0)), null); } }); thread.IsBackground = true; thread.Start(); }
public void RunMockView() { Form form = new Form(); MockFileTransferPresenter presenter = new MockFileTransferPresenter(); presenter.ViewModel.FileTransfers.Add( new FileTransferViewItem("Running", "Source", "Target") { Progress = 50, Start = DateTime.Now, Message = "Chugging...", Status = FileTransfer.Status.Running }); presenter.ViewModel.FileTransfers.Add( new FileTransferViewItem("Done", "Source", "Target") { Progress = 100, Start = DateTime.Now, Message = "Completed in 23.3s", Status = FileTransfer.Status.Complete }); presenter.ViewModel.FileTransfers.Add( new FileTransferViewItem("Done", "Source", "Target") { Progress = 10, Start = DateTime.Now, Message = "Canceled", Status = FileTransfer.Status.Canceled }); FileTransferView view = new FileTransferView(presenter) { Dock = DockStyle.Fill }; form.Controls.Add(view); form.Size = new Size(1024, 250); form.Show(); Thread thread = new Thread(() => { Thread.Sleep(1000); // simulate updates int increment = 1; while (true) { Thread.Sleep(100); FileTransferViewItem item = presenter.ViewModel.FileTransfers[0]; if (item.Progress == 99 || item.Progress == 1) { increment *= -1; } item.Progress += increment; if (view.IsDisposed) { break; } view.BeginInvoke(new Action(() => presenter.ViewModel.FileTransfers.ResetItem(0)), null); } }); thread.IsBackground = true; thread.Start(); }