void Initialize ()
{
Controller = new SetupController ();
Controller.ShowWindowEvent += delegate {
InvokeOnMainThread (delegate {
Window.OrderFrontRegardless();
});
};
Controller.HideWindowEvent += delegate {
InvokeOnMainThread (delegate {
Window.PerformClose (this);
});
};
Controller.ChangePageEvent += delegate (PageType type) {
using (var a = new NSAutoreleasePool ())
{
InvokeOnMainThread (delegate {
if (!IsWindowLoaded) {
LoadWindow();
}
switch (type)
{
case PageType.Setup:
ShowWelcomePage();
break;
case PageType.Tutorial:
ShowTutorialPage();
break;
case PageType.Add1:
ShowLoginPage();
break;
case PageType.Add2:
ShowRepoSelectPage();
break;
case PageType.Customize:
ShowCustomizePage();
break;
case PageType.Finished:
ShowFinishedPage();
break;
}
});
}
};
}