Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="jobConfig"></param>
        private void OpenJob(JobConfig jobConfig)
        {
            if (jobConfig == null)
            {
                return;
            }

            MyJobManager.SelectedJobConfig = jobConfig;
            MyJobManager.AddRecentJob(jobConfig);
            SwitchJobButtonsVisibility(true);

            if (!MyJobManager.IsJobOpened(jobConfig))
            {
                MyJobManager.AddOpenedJob(jobConfig);
            }

            string       path = MyJobManager.GetJobConfigPath(jobConfig);
            Page         page = new SettingsPage(_settingsStartPage, jobConfig, new JobWriter(path));
            FrameTabItem item = OpenPage(jobConfig.Id, page, _settingsStartPage);

            item.IsJobPage = true;

            if (_jobExplorerExpanded)
            {
                SwitchJobbExplorerExpanded();
            }
        }
Пример #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void JobListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (sender is ListView jobListView)
     {
         string    jobId     = jobListView.SelectedItem as string;
         JobConfig jobConfig = MyJobManager.GetJobConfig(jobId);
         OpenJob(jobConfig);
     }
 }
Пример #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (sender is TabControl tabControl && tabControl.SelectedItem is FrameTabItem selectedItem)
     {
         MyFrameManager.ActiveTab = selectedItem;
         HighlightNavigationButton(MyFrameManager.ActiveTab.SelectedPage);
         if (selectedItem.IsJobPage)
         {
             JobConfig jobConfig = MyJobManager.GetJobConfig(selectedItem.Header);
             MyJobManager.SelectedJobConfig = jobConfig;
             SwitchJobButtonsVisibility(jobConfig != null);
         }
     }
 }
Пример #4
0
        private void InitDataBindings()
        {
            Binding jobListBinding = new()
            {
                Source = MyJobManager,
                Path   = new PropertyPath("JobIds"),
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
            };

            BindingOperations.SetBinding(JobListView, ItemsControl.ItemsSourceProperty, jobListBinding);

            Binding currentJobBinding = new()
            {
                Source = MyJobManager,
                Path   = new PropertyPath("SelectedJobConfig.Id"),
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                FallbackValue       = ""
            };

            BindingOperations.SetBinding(CurrentJobText, TextBlock.TextProperty, currentJobBinding);

            Binding openJobBinding = new()
            {
                Source = MyFrameManager,
                Path   = new PropertyPath("FrameTabItems"),
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
            };

            BindingOperations.SetBinding(ContentTabControl, ItemsControl.ItemsSourceProperty, openJobBinding);
        }

        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void NavButton_Click(object sender, RoutedEventArgs e)
        {
            if (sender is ToggleButton navButton)
            {
                string       pageName  = navButton.Content.ToString();
                JobConfig    jobConfig = MyJobManager.SelectedJobConfig;
                string       path      = MyJobManager.GetJobConfigPath(jobConfig);
                Page         page      = new SettingsPage(pageName, jobConfig, new JobWriter(path));
                FrameTabItem item      = OpenPage(jobConfig.Id, page, pageName);
                item.IsJobPage = true;
            }
        }
Пример #5
0
 /// <summary>
 /// Schließt den entsprechenden Tab.
 /// </summary>
 /// <param name="item"></param>
 private void CloseTab(FrameTabItem item)
 {
     MyJobManager.RemoveOpenedJob(item.Header);
     MyFrameManager.CloseTab(item);
 }