public void OpenEditor(string file)
        {
            CloseEditor();

            using (FileStream openFile = new FileStream(file, FileMode.Open, FileAccess.Read))
            {
                baseMap = Map.FromStream(openFile, getTileSetFromFileName);
            }
            foreach (TileSet tset in baseMap.tileSets)
            {
                TileSetEditor ed = new TileSetEditor();
                ed.Editable = false;
                ed.OpenFromTileSet(tset);
                ed.TileSelected += OnTileSelected;

                TabItem tab = new TabItem();
                tab.Header = ed.Title;
                tab.Content = ed;
                TileSets.SelectedIndex = TileSets.Items.Add(tab);
            }
            RebuildMap();
            ZClip.Value = ZClip.Maximum;
            SaveFilePath = file;
            Saved = true;
        }