68 lines
1.6 KiB
C#
68 lines
1.6 KiB
C#
using System;
|
|
using BlubbFish.Utils;
|
|
using svnsync.Models;
|
|
using System.Windows.Forms;
|
|
|
|
namespace svnsync.Views
|
|
{
|
|
public class ViewsWindow : OwnView
|
|
{
|
|
private ViewsWindowFormInterface form;
|
|
public ModelsWindow Model { get; private set; }
|
|
|
|
public ViewsWindow()
|
|
{
|
|
this.Init();
|
|
}
|
|
|
|
public override void Update()
|
|
{
|
|
switch(this.Model.FormType) {
|
|
default:
|
|
case Helpers.Handles.FormType.Normal:
|
|
if(!(this.form is ViewsWindowForm)) {
|
|
this.SwitchContext(new ViewsWindowForm());
|
|
}
|
|
break;
|
|
case Helpers.Handles.FormType.Error:
|
|
if(!(this.form is ViewsWindowFormError)) {
|
|
this.SwitchContext(new ViewsWindowFormError());
|
|
}
|
|
break;
|
|
case Helpers.Handles.FormType.UnversionFiles:
|
|
case Helpers.Handles.FormType.DeletedFiles:
|
|
if(!(this.form is ViewsWindowFormFileList)) {
|
|
this.SwitchContext(new ViewsWindowFormFileList());
|
|
}
|
|
break;
|
|
}
|
|
this.form.UpdateForm();
|
|
}
|
|
|
|
private void SwitchContext(ViewsWindowFormInterface newform) {
|
|
this.form = newform;
|
|
this.form.SetModel(this.Model);
|
|
this.form.Show();
|
|
}
|
|
|
|
protected override void Init()
|
|
{
|
|
this.Model = ModelsWindow.Instance;
|
|
}
|
|
|
|
public override void Dispose()
|
|
{
|
|
this.Model.RemoveObserver(this);
|
|
this.form.BeginInvoke((Action)(() => {
|
|
this.form.Dispose();
|
|
}));
|
|
}
|
|
|
|
internal void Draw() {
|
|
this.Model.SetObserver(this);
|
|
}
|
|
|
|
|
|
}
|
|
}
|