private void SetStage(StageDocument stage)
{
this.stage = stage;
SetText();
this.stage.DirtyChanged += (b) => SetText();
stage.JoinChanged += (join) =>
{
AlignScreenSurfaces();
if (surfaces.ContainsKey(join.screenOne)) surfaces[join.screenOne].RedrawJoins();
if (surfaces.ContainsKey(join.screenTwo)) surfaces[join.screenTwo].RedrawJoins();
};
foreach (var screen in stage.Screens)
{
var surface = CreateScreenSurface(screen);
surface.Location = new Point(0, 0);
}
AlignScreenSurfaces();
stage.ScreenAdded += (s) =>
{
CreateScreenSurface(s);
AlignScreenSurfaces();
};
}