/// <summary>
        /// Go back to root menu
        /// </summary>
        private void GoToRoot()
        {
            _currentGroup         = TestHookManager.Groups.None;
            RestoreButton.Content = "Restore All";
            BackButton.Visibility = Visibility.Collapsed;

            foreach (var i in TestHookStackPanel.Children)
            {
                var item = i as ItemsControl;
                if (item != null)
                {
                    item.ItemsSource = null;
                }
            }

            var itemsControl = new ItemsControl
            {
                ItemsSource = _viewModel.GroupList
            };

            var dataTemplate = Resources["HyperLinkButtonTemplate"] as DataTemplate;

            itemsControl.ItemTemplate = dataTemplate;
            TestHookStackPanel.Children.Add(itemsControl);
        }
        /// <summary>
        /// Event when a group is clicked
        /// </summary>
        /// <param name="sender">Sender object</param>
        /// <param name="e">RoutedEventArgs parameter</param>
        private void OnClickHyperLink(object sender, RoutedEventArgs e)
        {
            BackButton.Visibility = Visibility.Visible;

            foreach (var i in TestHookStackPanel.Children)
            {
                var itemsControl = i as ItemsControl;
                if (itemsControl != null)
                {
                    itemsControl.ItemsSource = null;
                }
            }

            var hyperLink = sender as HyperlinkButton;

            if (hyperLink != null)
            {
                var isGroupParameter = hyperLink.Tag is TestHookManager.Groups;
                if (isGroupParameter)
                {
                    _currentGroup         = (TestHookManager.Groups)hyperLink.Tag;
                    RestoreButton.Content = "Restore current";

                    var itemsControl = new ItemsControl
                    {
                        ItemsSource          = _viewModel.GetListForGroup(_currentGroup),
                        ItemTemplateSelector = new TestHookDataTemplateSelector(this)
                    };

                    TestHookStackPanel.Children.Add(itemsControl);
                }
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Restores all the test hooks within a group to their defaut value.
 /// If a none group is specified, then restore all test hooks in every group.
 /// </summary>
 /// <param name="group">Group to restore test hooks</param>
 public void RestoreToDefaults(TestHookManager.Groups group)
 {
     if (group == TestHookManager.Groups.None)
     {
         var groupList = TestHookManager.Instance.TestHookGroups.Values.ToList();
         groupList.ForEach(g =>
         {
             var list = g.TestHooks.Values.ToList();
             list.ForEach(p => p.RestoreDefaultState());
         });
     }
     else
     {
         var list = TestHookManager.Instance.TestHookGroups[group].TestHooks.Values.ToList();
         list.ForEach(p => p.RestoreDefaultState());
     }
 }
Esempio n. 4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="id">Unique reference ID</param>
 /// <param name="displayName">Display UI name</param>
 public TestHookGroup(TestHookManager.Groups id, string displayName)
 {
     Id          = id;
     DisplayName = displayName;
 }
Esempio n. 5
0
 /// <summary>
 /// Gets an observable collection of test hooks for the group.
 /// They will be ordered by the display order index.
 /// </summary>
 /// <param name="group">Group to get test hooks</param>
 /// <returns>An observable collection of test hooks</returns>
 public ObservableCollection <ITestHookModel> GetListForGroup(TestHookManager.Groups group)
 {
     return
         (new ObservableCollection <ITestHookModel>(
              TestHookManager.Instance.TestHookGroups[group].TestHooks.Values.ToList().OrderBy(o => o.DisplayOrderIndex)));
 }