internal bool __RemovePane(PaneViewModel pane) { if (pane is DocumentViewModel) { if (!_internalDocuments.Contains((DocumentViewModel)pane)) { return(false); } else { _internalDocuments.Remove((DocumentViewModel)pane); return(true); } } else if (pane is ToolViewModel) { if (!_internalPanels.Contains((ToolViewModel)pane)) { return(false); } else { _internalPanels.Remove((ToolViewModel)pane); return(true); } } else { throw new Exception("Unknown type of PaneViewModel"); } }
internal bool __AddPane(PaneViewModel pane) { if (pane is DocumentViewModel) { if (_internalDocuments.Contains((DocumentViewModel)pane)) { // TODO: show return(false); } else { _internalDocuments.Add((DocumentViewModel)pane); return(true); } } else if (pane is ToolViewModel) { if (_internalPanels.Contains((ToolViewModel)pane)) { // TODO: show return(false); } else { _internalPanels.Add((ToolViewModel)pane); return(true); } } else { throw new Exception("Unknown type of PaneViewModel"); } }
/// <summary> /// Invoked when application execution is being suspended. Application state is saved /// without knowing whether the application will be terminated or resumed with the contents /// of memory still intact. /// </summary> /// <param name="sender">The source of the suspend request.</param> /// <param name="e">Details about the suspend request.</param> private async void OnSuspending(object sender, SuspendingEventArgs e) { // Save application state and stop any background activity var deferral = e.SuspendingOperation.GetDeferral(); SaveSessionTabs(); if (OutputPath != null) { await SafetyExtensions.IgnoreExceptions(async() => { var instance = MainPageViewModel.AppInstances.FirstOrDefault(x => x.Control.TabItemContent.IsCurrentInstance); if (instance == null) { return; } var items = (instance.Control.TabItemContent as PaneHolderPage)?.ActivePane?.SlimContentPage?.SelectedItems; if (items == null) { return; } await FileIO.WriteLinesAsync(await StorageFile.GetFileFromPathAsync(OutputPath), items.Select(x => x.ItemPath)); }, Logger); } DrivesManager?.Dispose(); PaneViewModel?.Dispose(); PreviewPaneViewModel?.Dispose(); // Try to maintain clipboard data after app close SafetyExtensions.IgnoreExceptions(() => { var dataPackage = Clipboard.GetContent(); if (dataPackage.Properties.PackageFamilyName == Package.Current.Id.FamilyName) { if (dataPackage.Contains(StandardDataFormats.StorageItems)) { Clipboard.Flush(); } } }, Logger); deferral.Complete(); }
public RemovePaneCmd(ISiteViewModel receiver, PaneViewModel pane) : base(receiver) { _pane = pane; }
internal void Close(PaneViewModel fileToClose) { _viewModels.Remove(fileToClose); }
bool ISiteViewModelReceiver.__RemovePane(PaneViewModel pane) { return(_mainViewModel.__RemovePane(pane)); }