Exemplo n.º 1
0
 public DataViewControlFactory(ViewModelBase vm)
 {
     if (vm == null)
     {
         throw new ArgumentNullException("vm");
     }
     param = vm as PsaParameterDataViewModel;
     veh   = vm as ExportableVehicleViewModel;
     pset  = vm as IPsaParametersSetViewModel;
     trace = vm as ExportablePsaTraceViewModel;
 }
 private void InitializeCheckBoxes(IPsaParametersSetViewModel vm)
 {
     checkboxesStackPanel.Children.Clear();
     DataContext = vm;
     foreach (PsaParameterDataViewModel paramDataViewModel in vm.Parameters)
     {
         ParameterDisplaySettingsViewModel cbViewModel =
             new ParameterDisplaySettingsViewModel(paramDataViewModel);
         cbViewModel.GraphControl = graph;
         cbViewModel.Text         = paramDataViewModel.Type;
         ParameterDisplaySettingsControl cbControl =
             new ParameterDisplaySettingsControl();
         cbControl.DataContext         = cbViewModel;
         cbControl.Text                = cbViewModel.Text;
         cbControl.LineColor           = cbViewModel.StrokeColor;
         cbControl.IsChecked           = false;
         cbControl.Checked            += SomeCheckBoxChecked;
         cbControl.Unchecked          += SomeCheckBoxUnChecked;
         cbViewModel.ColorChanged     += SomeCheckBoxColorChanged;
         cbControl.HorizontalAlignment = HorizontalAlignment.Left;
         checkboxesStackPanel.Children.Add(cbControl);
     }
 }
 public PsaParametersSetDetailsControl(IPsaParametersSetViewModel vm)
     : this()
 {
     InitializeCheckBoxes(vm);
 }
        private void OnGridSelectedItemChanged(object sender,
                                               RoutedPropertyChangedEventArgs <object> e)
        {
            object obj = e.NewValue;
            ImportableVehicleViewModel veh =
                obj as ImportableVehicleViewModel;

            if (veh != null)
            {
                if (obj != currentSelectedItem)
                {
                    DeselectCurrentlySelected();
                    veh.IsSelected      = true;
                    currentSelectedItem = veh;
                }
                VehicleItemDetailsControl vehDetails =
                    new VehicleItemDetailsControl();

                UpdateFakeGraphControl(veh);

                vehDetails.DataContext      = veh;
                ContentControlLower.Content = vehDetails;
                return;
            }
            ImportablePsaParameterDataViewModel parameterData =
                obj as ImportablePsaParameterDataViewModel;

            if (parameterData != null)
            {
                currentSelectedItem = parameterData;
                SingleParameterGraphControl graph =
                    new SingleParameterGraphControl();
                if (parameterData.HasTimestamps)
                {
                    graph.DisplayGraph(parameterData.Model.Timestamps,
                                       parameterData.Values, Colors.Blue);
                }
                else
                {
                    graph.DisplayGraph(parameterData.Values, Colors.Blue);
                }
                ContentControlLower.Content = graph;
                ContentControlUpper.Content = null;
                return;
                // set parameter description and some other info at top place
            }
            IPsaParametersSetViewModel set = obj as IPsaParametersSetViewModel;

            if (set != null)
            {
                currentSelectedItem = set;
                PsaParametersSetGraphSelectionControl selector =
                    new PsaParametersSetGraphSelectionControl();
                selector.DataContext        = set;
                ContentControlUpper.Content = selector;
                selector.InitializeCheckboxes();
                PsaParametersSetGraphControl multigraph =
                    new PsaParametersSetGraphControl();
                ContentControlLower.Content = multigraph;
                selector.CheckBoxChecked   -= OnSelectorCheckBoxChecked;
                selector.CheckBoxUnchecked -= OnSelectorCheckBoxUnChecked;
                selector.CheckBoxChecked   += OnSelectorCheckBoxChecked;
                selector.CheckBoxUnchecked += OnSelectorCheckBoxUnChecked;
                return;
            }

            ContentControlUpper.Content = null;
            ContentControlLower.Content = null;
        }