public void CloseTour(bool silent) { Undo.Clear(); FreezeView(); if (tourEdit != null) { TourPopup.CloseTourPopups(); mover = null; TourPlayer.Playing = false; KeyFramer.HideTimeline(); if (LayerManager.TourLayers == false && !silent) { if (LayerManager.CheckForTourLoadedLayers()) { if (UiTools.ShowMessageBox(Language.GetLocalizedText(1004, "Close layers loaded with the tour as well?"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"), MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { LayerManager.CloseAllTourLoadedLayers(); } else { tourEdit.Tour.DontCleanUpTempFiles = true; LayerManager.CleanAllTourLoadedLayers(); } } } tourEdit.Tour.CurrentTourstopIndex = -1; tourEdit.Tour.CleanUp(); tourEdit.Tour.ClearTempFiles(); menuTabs.RemoveTour(tourEdit.Tour); tourEdit.TourEditorUI.Close(); tourEdit.Close(); tourEdit = null; uiController = null; Settings.TourSettings = null; if (toursTab == null) { menuTabs.SetSelectedIndex(0, false); } else { menuTabs.SetSelectedIndex(1, false); } LayerManager.TourLayers = false; } }
void SetAppMode(ApplicationMode mode) { if (ProjectorServer || NoUi) { return; } this.SuspendLayout(); if (mode != currentMode) { switch (currentMode) { case ApplicationMode.Search: { if (searchPane != null) { searchPane.Hide(); } } break; case ApplicationMode.Tours: { if (toursTab != null) { toursTab.Hide(); } } break; case ApplicationMode.Explore: { if (explorePane != null) { explorePane.Hide(); } } break; case ApplicationMode.Community: { if (communitiesPane != null) { communitiesPane.Hide(); } } break; case ApplicationMode.View: { if (viewPane != null) { viewPane.Hide(); } } break; case ApplicationMode.Settings: { if (settingsPane != null) { settingsPane.Hide(); } } break; case ApplicationMode.Telescope: { if (telescopePane != null) { telescopePane.Hide(); } } break; case ApplicationMode.Tour1: case ApplicationMode.Tour2: case ApplicationMode.Tour3: case ApplicationMode.Tour4: case ApplicationMode.Tour5: { if (tourEdit != null) { tourEdit.Hide(); } } break; } } currentMode = mode; bool loadTours = false; switch (mode) { case ApplicationMode.Tours: { if (toursTab == null) { toursTab = new FolderBrowser(); toursTab.Owner = this; loadTours = true; } ShowPane(toursTab); } break; case ApplicationMode.Community: { if (communitiesPane == null) { communitiesPane = new FolderBrowser(); communitiesPane.SetCommunitiesMode(); communitiesPane.Owner = this; ShowPane(communitiesPane); communitiesPane.Refresh(); communitiesPane.LoadCommunities(); } else { ShowPane(communitiesPane); } } break; case ApplicationMode.View: { if (viewPane == null) { viewPane = new View(); viewPane.Owner = this; } ShowPane(viewPane); } break; case ApplicationMode.Settings: { if (settingsPane == null) { settingsPane = new SettingsTab(); settingsPane.Owner = this; } ShowPane(settingsPane); } break; case ApplicationMode.Telescope: { if (telescopePane == null) { telescopePane = new TelescopeTab(); telescopePane.Owner = this; } ShowPane(telescopePane); } break; case ApplicationMode.Explore: { if (explorePane == null) { explorePane = new FolderBrowser(); explorePane.ShowMyFolders = true; explorePane.SetExploreMode(); explorePane.LoadRootFoder(explorerRoot); explorePane.Owner = this; } ShowPane(explorePane); } break; case ApplicationMode.Search: { if (searchPane == null) { searchPane = new Search(); searchPane.Owner = this; } ShowPane(searchPane); } break; case ApplicationMode.Tour1: case ApplicationMode.Tour2: case ApplicationMode.Tour3: case ApplicationMode.Tour4: case ApplicationMode.Tour5: { if (figureEditor != null) { figureEditor.SaveAndClose(); } if (menuTabs.CurrentTour != null) { if (tourEdit == null) { tourEdit = new TourEditTab(); tourEdit.Owner = this; } if (tourEdit.Tour != menuTabs.CurrentTour) { tourEdit.Tour = menuTabs.CurrentTour; } ShowPane(tourEdit); if (tourEdit.Tour.EditMode && !TourPlayer.Playing) { uiController = tourEdit.TourEditorUI; } TimeLine.SetTour(tourEdit.Tour); } } break; } ShowContextPanel(); if (imageStackVisible) { ShowImageStack(); } ResumeLayout(true); if (Properties.Settings.Default.ShowLayerManager) { ShowLayersWindow(); } if (figureEditor != null) { ShowFiguresEditorWindow(); } if (currentTab != null) { currentTab.SetOpacity(); } if (loadTours) { toursTab.LoadTours(); } ClearClientArea = this.ClientRectangle; if (Properties.Settings.Default.TranparentWindows) { int widthUsed = 0; if (Properties.Settings.Default.ShowLayerManager) { widthUsed += layerManager.Width; } ClearClientArea.Height -= (currentTab.Height + contextPanel.Height); ClearClientArea.Width -= widthUsed; ClearClientArea.Location = new Point(ClearClientArea.Location.X + widthUsed, ClearClientArea.Location.Y + currentTab.Height); } if (this.WindowState != FormWindowState.Minimized) { KeyFramer.ShowZOrder(); } }
public TourDocument LoadTourFromFile(string filename, bool editMode, string tagId) { if (!CloseOpenToursOrAbort(false)) { return null; } if (!File.Exists(filename)) { MessageBox.Show(Language.GetLocalizedText(103, "The tour file could not be downloaded and was not cached. Check you network connection."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope")); return null; } FileInfo fi = new FileInfo(filename); if (fi.Length == 0) { File.Delete(filename); MessageBox.Show(Language.GetLocalizedText(104, "The tour file could not be downloaded and was not cached. Check you network connection."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope")); return null; } if (fi.Length < 100) { MessageBox.Show(Language.GetLocalizedText(105, "The tour file is invalid. Check you network connection."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope")); File.Delete(filename); return null; } if (Settings.MasterController && Properties.Settings.Default.AutoSyncTours) { editMode = true; } Undo.Clear(); LayerManager.TourLayers = !editMode; TourDocument tour = TourDocument.FromFile(filename, editMode); if (tour != null) { tour.TagId = tagId; tour.EditMode = editMode; this.menuTabs.AddTour(tour); this.menuTabs.FocusTour(tour); if (NoUi) { if (tourEdit == null) { tourEdit = new TourEditTab(); tourEdit.Owner = this; } tourEdit.Tour = tour; Properties.Settings.Default.AutoRepeatTour = true; tourEdit.PlayNow(true); } if (Settings.MasterController && Properties.Settings.Default.AutoSyncTours) { SyncTour(); } } else { MessageBox.Show(Language.GetLocalizedText(106, "Could not load tour"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope")); } return tour; }