void SyncWorkspaceRegionLayout(IWorkspaceRegion region) { string regionLayout = workspace.FindRegionLayout(region.Id); if (regionLayout != null) { region.RestoreLayout(regionLayout); } else { workspace.AddRegion(region.Id, region.SaveLayout()); } }
public Workspace SaveWorkspace() { if (workspaceChanging) { throw new InvalidOperationException(); } workspaceChanging = true; workspace = new Workspace(); foreach (IWorkspaceRegion region in regions.Values) { workspace.AddRegion(region.Id, region.SaveLayout()); } return(workspace); }