/// <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&lt;System.Object&gt;"/> 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;
            }
        }
Exemple #2
0
        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&lt;System.Object&gt;"/> 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&lt;System.Object&gt;"/> 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&lt;System.Object&gt;"/> 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;
            }
        }