/
SplashWindow.cs
83 lines (70 loc) · 2.1 KB
/
SplashWindow.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
// Copyright © 2011-2013 Yanick Castonguay
//
// This file is part of MPfm.
//
// MPfm is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// MPfm is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with MPfm. If not, see <http://www.gnu.org/licenses/>.
using System;
using Gdk;
using MPfm.MVP;
using MPfm.MVP.Views;
using MPfm.GTK.Helpers;
namespace MPfm.GTK.Windows
{
public partial class SplashWindow : BaseWindow, ISplashView
{
public SplashWindow(Action<IBaseView> onViewReady) :
base(Gtk.WindowType.Toplevel, onViewReady)
{
this.Build();
Initialize();
Console.WriteLine("SplashWindow - Constructor ended");
}
private void Initialize()
{
this.ModifyBg(Gtk.StateType.Normal, new Color(0, 0, 0));
this.lblStatus.ModifyFg(Gtk.StateType.Normal, new Color(255, 255, 255));
// Set image background
Pixbuf imageCover = ResourceHelper.GetEmbeddedImageResource("splash.png");
imageBackground.Pixbuf = imageCover;
//splashPresenter.BindView(this);
//splashPresenter.Initialize();
Console.WriteLine("SplashWindow - Invoking OnViewReady...");
OnViewReady.Invoke(this);
}
protected override void OnRealized()
{
Console.WriteLine("SplashWindow - OnRealized");
base.OnRealized();
}
protected override void OnShown()
{
Console.WriteLine("SplashWindow - OnShown");
base.OnShown();
}
#region ISplashView implementation
public void RefreshStatus(string message)
{
Gtk.Application.Invoke(delegate{
lblStatus.Text = message;
});
}
public void InitDone(bool isAppFirstStart)
{
Gtk.Application.Invoke(delegate{
this.Destroy();
});
}
#endregion
}
}