-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMainPresenterWrapper.cs
118 lines (102 loc) · 4.65 KB
/
MainPresenterWrapper.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System.Threading.Tasks;
using ImageProcessing.App.Integration.Monolith.ServiceLayer.Providers.Rotation.Interface;
using ImageProcessing.App.Integration.Monolith.ServiceLayer.Providers.Scaling.Interface;
using ImageProcessing.App.Integration.Monolith.ServiceLayer.Services.BitmapCopy.Interface;
using ImageProcessing.App.Integration.Monolith.ServiceLayer.Services.Logger.Interface;
using ImageProcessing.App.Integration.Monolith.ServiceLayer.Services.NonBlockDialog.Interface;
using ImageProcessing.App.Integration.Monolith.ServiceLayer.Services.Pipeline.Interface;
using ImageProcessing.App.PresentationLayer.DomainEvents.CommonArgs;
using ImageProcessing.App.PresentationLayer.DomainEvents.MainArgs.Container;
using ImageProcessing.App.PresentationLayer.DomainEvents.MainArgs.FileDialog;
using ImageProcessing.App.PresentationLayer.Presenters;
using ImageProcessing.App.PresentationLayer.Views;
using ImageProcessing.Microkernel.MVP.Aggregator.Subscriber;
using ImageProcessing.Microkernel.MVP.Presenter.Implementation;
namespace ImageProcessing.App.Integration.Monolith.PresentationLayer.Presenters
{
internal class MainPresenterWrapper : BasePresenter<IMainView>,
ISubscriber<AttachBlockToRendererEventArgs>, ISubscriber<OpenFileDialogEventArgs>,
ISubscriber<SaveAsFileDialogEventArgs>, ISubscriber<SetSourceEventArgs>,
ISubscriber<SaveWithoutFileDialogEventArgs>, ISubscriber<ShowTooltipOnErrorEventArgs>,
ISubscriber<TrackBarEventArgs>, ISubscriber<UndoRedoEventArgs>,
ISubscriber<FormIsClosedEventArgs>
{
private readonly MainPresenter _presenter;
public override IMainView View
=> _presenter.View;
public MainMenuPresenterWrapper MenuPresenter { get; }
public IBitmapCopyServiceWrapper Reference { get; }
public INonBlockDialogServiceWrapper Dialog { get; }
public IAwaitablePipelineServiceWrapper Pipeline { get; }
public IScalingProviderWrapper Scaling { get; }
public IRotationProviderWrapper Rotation { get; }
public ILoggerServiceWrapper Logger { get; }
public MainPresenterWrapper(
IBitmapCopyServiceWrapper reference,
INonBlockDialogServiceWrapper dialog,
IAwaitablePipelineServiceWrapper pipeline,
ILoggerServiceWrapper logger,
IScalingProviderWrapper scaling,
IRotationProviderWrapper rotation)
{
Reference = reference;
Dialog = dialog;
Pipeline = pipeline;
Scaling = scaling;
Logger = logger;
Rotation = rotation;
MenuPresenter = Controller.IoC.Resolve<MainMenuPresenterWrapper>();
_presenter = new MainPresenter(reference, dialog, pipeline, rotation, scaling, logger);
}
public override void Run()
{
_presenter.Run();
MenuPresenter.Run();
Aggregator.Subscribe(this, View);
base.Run();
}
public virtual Task OnEventHandler(object publisher, OpenFileDialogEventArgs e)
{
return Task.CompletedTask;
}
/// <inheritdoc cref="SaveAsFileDialogEventArgs"/>
public virtual Task OnEventHandler(object publisher, SaveAsFileDialogEventArgs e)
{
return Task.CompletedTask;
}
/// <inheritdoc cref="SaveWithoutFileDialogEventArgs"/>
public virtual Task OnEventHandler(object publisher, SaveWithoutFileDialogEventArgs e)
{
return Task.CompletedTask;
}
/// <inheritdoc cref="AttachBlockToRendererEventArgs"/>
public virtual Task OnEventHandler(object publisher, AttachBlockToRendererEventArgs e)
{
return Task.CompletedTask;
}
/// <inheritdoc cref="SetSourceEventArgs"/>
public virtual Task OnEventHandler(object publisher, SetSourceEventArgs e)
{
return Task.CompletedTask;
}
/// <inheritdoc cref="TrackBarEventArgs"/>
public virtual Task OnEventHandler(object publisher, TrackBarEventArgs e)
{
return Task.CompletedTask;
}
/// <inheritdoc cref="UndoRedoEventArgs"/>
public virtual Task OnEventHandler(object publisher, UndoRedoEventArgs e)
{
return Task.CompletedTask;
}
/// <inheritdoc cref="ShowTooltipOnErrorEventArgs"/>
public virtual Task OnEventHandler(object publisher, ShowTooltipOnErrorEventArgs e)
{
return Task.CompletedTask;
}
public virtual Task OnEventHandler(object publisher, FormIsClosedEventArgs e)
{
return Task.CompletedTask;
}
}
}