/// <summary> /// If the chosen item is a file then the Select Button is enabled, and the correct path is set. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Windows.RoutedPropertyChangedEventArgs<System.Object>"/> instance containing the event data.</param> private void PkgFileChooser_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { var file = PackageFileChooser.SelectedItem as PackageFileContentItem; if (file != null) { SelectButton.IsEnabled = true; PackageViewModel package = null; // Get the Package parent PackageContentItem parent = file.Parent; package = parent as PackageViewModel; while (package == null && parent != null) { parent = parent.Parent; package = parent as PackageViewModel; } if (package != null) { TraceLabSDK.PackageSystem.IPackageReference reference = new TraceLab.Core.PackageSystem.PackageReference(package.Package); var path = new TraceLab.Core.Components.TraceLabFilePath(); path.Init(reference, file.ID); Path = path; } } else { SelectButton.IsEnabled = false; } }
void packageVM_IsCheckedChanged(object sender, System.EventArgs e) { var packageVM = (PackageViewModel)sender; var packageReference = new TraceLab.Core.PackageSystem.PackageReference(packageVM.Package); if (!packageVM.IsChecked) { RemoveReference(m_experiment, packageReference); } else if (packageVM.IsChecked && !m_experiment.References.Contains(packageReference)) { AddReference(m_experiment, packageReference); } }
/// <summary> /// If the chosen item is a Package or Folder then the Select Button is enabled, and the correct /// path is set. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Windows.RoutedPropertyChangedEventArgs<System.Object>"/> instance containing the event data.</param> private void PkgFolderChooser_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { bool enableButton = false; PackageFolderContentItem folder = PackageFileChooser.SelectedItem as PackageFolderContentItem; if (folder != null && !(folder is PackageViewModel)) { Stack <string> subDirs = new Stack <string>(); subDirs.Push(folder.Label); PackageContentItem parent = folder.Parent; while (parent.Parent != null) { subDirs.Push(parent.Label); parent = parent.Parent; } PackageViewModel package = parent as PackageViewModel; if (package != null) { string subDirectory = ""; while (subDirs.Count > 0) { subDirectory = System.IO.Path.Combine(subDirectory, subDirs.Pop()); } if (Directory.Exists(System.IO.Path.Combine(package.Package.Location, subDirectory))) { TraceLabSDK.PackageSystem.IPackageReference reference = new TraceLab.Core.PackageSystem.PackageReference(package.Package); TraceLabDirectoryPath path = new TraceLabDirectoryPath(); path.Init(reference, subDirectory); Path = path; enableButton = true; } } } else if (folder != null && folder is PackageViewModel) { PackageViewModel package = folder as PackageViewModel; if (Directory.Exists(package.Package.Location)) { TraceLabSDK.PackageSystem.IPackageReference reference = new TraceLab.Core.PackageSystem.PackageReference(package.Package); TraceLabDirectoryPath path = new TraceLabDirectoryPath(); path.Init(reference, "."); Path = path; enableButton = true; } } SelectButton.IsEnabled = enableButton; }
void packageVM_IsCheckedChanged(object sender, System.EventArgs e) { var packageVM = (PackageViewModel)sender; var packageReference = new TraceLab.Core.PackageSystem.PackageReference(packageVM.Package); if (!packageVM.IsChecked) { RemoveReference(m_experiment, packageReference); } else if(packageVM.IsChecked && !m_experiment.References.Contains(packageReference)) { AddReference(m_experiment, packageReference); } }
/// <summary> /// If the chosen item is a Package or Folder then the Select Button is enabled, and the correct /// path is set. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Windows.RoutedPropertyChangedEventArgs<System.Object>"/> instance containing the event data.</param> private void PkgFolderChooser_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e) { bool enableButton = false; PackageFolderContentItem folder = PackageFileChooser.SelectedItem as PackageFolderContentItem; if (folder != null && !(folder is PackageViewModel)) { Stack<string> subDirs = new Stack<string>(); subDirs.Push(folder.Label); PackageContentItem parent = folder.Parent; while (parent.Parent != null) { subDirs.Push(parent.Label); parent = parent.Parent; } PackageViewModel package = parent as PackageViewModel; if (package != null) { string subDirectory = ""; while (subDirs.Count > 0) { subDirectory = System.IO.Path.Combine(subDirectory, subDirs.Pop()); } if (Directory.Exists(System.IO.Path.Combine(package.Package.Location, subDirectory))) { TraceLabSDK.PackageSystem.IPackageReference reference = new TraceLab.Core.PackageSystem.PackageReference(package.Package); TraceLabDirectoryPath path = new TraceLabDirectoryPath(); path.Init(reference, subDirectory); Path = path; enableButton = true; } } } else if (folder != null && folder is PackageViewModel) { PackageViewModel package = folder as PackageViewModel; if (Directory.Exists(package.Package.Location)) { TraceLabSDK.PackageSystem.IPackageReference reference = new TraceLab.Core.PackageSystem.PackageReference(package.Package); TraceLabDirectoryPath path = new TraceLabDirectoryPath(); path.Init(reference, "."); Path = path; enableButton = true; } } SelectButton.IsEnabled = enableButton; }
/// <summary> /// If the chosen item is a file then the Select Button is enabled, and the correct path is set. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Windows.RoutedPropertyChangedEventArgs<System.Object>"/> instance containing the event data.</param> private void PkgFileChooser_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e) { var file = PackageFileChooser.SelectedItem as PackageFileContentItem; if (file != null) { SelectButton.IsEnabled = true; PackageViewModel package = null; // Get the Package parent PackageContentItem parent = file.Parent; package = parent as PackageViewModel; while (package == null && parent != null) { parent = parent.Parent; package = parent as PackageViewModel; } if (package != null) { TraceLabSDK.PackageSystem.IPackageReference reference = new TraceLab.Core.PackageSystem.PackageReference(package.Package); var path = new TraceLab.Core.Components.TraceLabFilePath(); path.Init(reference, file.ID); Path = path; } } else { SelectButton.IsEnabled = false; } }