// END HERZUM SPRINT 4.3: TLAB-238 TLAB-243 // HERZUM SPRINT 4.2: TLAB-202 public override void SetDirectory (String newDirectoryLocation) { if(newDirectoryLocation != null) { DirectoryPath path = Property.GetValue(Instance) as DirectoryPath; if(path != null) { path.Absolute = newDirectoryLocation; } else { //construct new filepath path = new DirectoryPath(); //string experimentPath = TODO - get experiment path //string dataRoot = System.IO.Path.GetDirectoryName(experimentPath); string dataRoot = null; // HERZUM SPRINT 5.0: TLAB-238 TLAB-243 dataRoot = DataRoot; // END HERZUM SPRINT 5.0: TLAB-238 TLAB-243 path.Init(newDirectoryLocation, dataRoot); } Property.SetValue(Instance, path); } }
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if(values == null) throw new ArgumentNullException("values"); if (values.Length != 2) throw new ArgumentException("Invalid number of arguments"); if (targetType != typeof(FilePath) && targetType != typeof(DirectoryPath)) throw new NotSupportedException("This converter only converts to filepaths"); if (values[1] == System.Windows.DependencyProperty.UnsetValue) throw new ArgumentException("The experiment path has to be set. If filepath is null, the new FilePath object is initialized based on experiment path."); BasePath path = null; //if experiment path is set extract the experiment root, that is the data root for //FilePaths and DirectoryPaths if (targetType == typeof(FilePath)) { path = (FilePath)values[0]; //if experiment path has been set if (path == null) { string experimentPath = (string)values[1]; string dataRoot = System.IO.Path.GetDirectoryName(experimentPath); path = new FilePath(); path.Init("", dataRoot); } } else if (targetType == typeof(DirectoryPath)) { path = (DirectoryPath)values[0]; if (path == null) { string experimentPath = (string)values[1]; string dataRoot = System.IO.Path.GetDirectoryName(experimentPath); path = new DirectoryPath(); path.Init("", dataRoot); } } return path; }
public override void LaunchDialogue () { string newDirectoryLocation = SelectFileDialog(null); if(newDirectoryLocation != null) { DirectoryPath path = Property.GetValue(Instance) as DirectoryPath; if(path != null) { path.Absolute = newDirectoryLocation; } else { //construct new filepath path = new DirectoryPath(); //string experimentPath = TODO - get experiment path //string dataRoot = System.IO.Path.GetDirectoryName(experimentPath); string dataRoot = null; path.Init(newDirectoryLocation, dataRoot); } Property.SetValue(Instance, path); } }
public void TestSetup() { AppContext = new TraceLabTestApplication(TestContext); //set current location currentLocation = AppContext.BaseTestDirectory; //create config definition using createwrapper method of the ComponentMetadataDefinition class var configDef = ComponentScannerHelper_Accessor.CreateConfigWrapperDefinition(typeof(MockConfig)); testConfig = new ConfigWrapper(configDef); //set the values of MockConfig mockFileAbsolutePath = Path.Combine(currentLocation, mockFile); Stream file = File.Create(mockFileAbsolutePath); file.Close(); //close file so that it is not being used by this process anymore configFilePath = new FilePath(); configFilePath.Init(mockFileAbsolutePath, currentLocation); //the key matches property name in the MockConfig testConfig.ConfigValues["MockFile"].Value = configFilePath; mockDirAbsolutePath = Path.Combine(currentLocation, mockDir); Directory.CreateDirectory(mockDirAbsolutePath); Assert.IsTrue(Directory.Exists(mockDirAbsolutePath)); configDirPath = new DirectoryPath(); configDirPath.Init(mockDirAbsolutePath, currentLocation); //the key matches property name in the MockConfig testConfig.ConfigValues["MockDirectory"].Value = configDirPath; }
/// <summary> /// Opens a folder browser dialog when the button is clicked. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="System.Windows.RoutedEventArgs"/> instance containing the event data.</param> private void BrowseButtonClick(object sender, RoutedEventArgs e) { Ookii.Dialogs.Wpf.VistaFolderBrowserDialog folderDialog = new Ookii.Dialogs.Wpf.VistaFolderBrowserDialog(); folderDialog.ShowNewFolderButton = true; bool? success = folderDialog.ShowDialog(); if (success == true && Directory.Exists(folderDialog.SelectedPath)) { try { DirectoryPath path = new DirectoryPath(); path.Init(folderDialog.SelectedPath, Path.DataRoot); Path = path; } catch (System.ArgumentException ex) { NLog.LogManager.GetCurrentClassLogger().ErrorException("Failed to set reference to a file", ex); MessageBox.Show(ex.Message, "Failed to set reference to a file", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } }
/// <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; }