Example #1
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="componentViewModel"></param>
 public SpecificComponentEditViewModel(ComponentViewModel componentViewModel) : base(componentViewModel)
 {
     // Check if the passed view model actually contains an IResistor
     if (componentViewModel.Component is T castedComponent)
     {
         _EditedComponent = castedComponent;
     }
     else
     {
         throw new ArgumentException(nameof(componentViewModel) + " does not contain an of type " + nameof(T));
     }
 }
Example #2
0
        /// <summary>
        /// Constructs a MenuEditViewModel compatible with the passed <see cref="ComponentViewModel"/> and its
        /// <see cref="IBaseComponent"/>, if no match was found throws an exception
        /// </summary>
        /// <param name="viewModel"></param>
        /// <returns></returns>
        public static BaseComponentEditViewModel ConstructAppropriateEditViewModel(ComponentViewModel viewModel)
        {
            // Get component declaration for the view model's component and use it to search the dictionary
            if (_SpecificComponentEditViewModels.TryGetValue(IoC.Resolve <IComponentFactory>().GetDeclaration(
                                                                 viewModel.Component.GetType()).ID, out Type parameter))
            {
                // Use activator to create an instance
                return(Activator.CreateInstance(parameter, viewModel) as BaseComponentEditViewModel);
            }

            throw new ArgumentException("Couldn't match a view model for the view model");
        }
Example #3
0
 /// <summary>
 /// Default constructor
 /// </summary>
 public CurrentSourceEditViewModel(ComponentViewModel viewModel) : base(viewModel, "Produced current [A]")
 {
 }
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="componentViewModel"></param>
 public ResistorEditViewModel(ComponentViewModel componentViewModel) : base(componentViewModel)
 {
 }
Example #5
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="componentViewModel"></param>
 public OpAmpEditViewModel(ComponentViewModel componentViewModel) : base(componentViewModel)
 {
 }
Example #6
0
 /// <summary>
 /// Default constructor
 /// </summary>
 public VoltageSourceEditViewModel(ComponentViewModel viewModel) : base(viewModel, "Produced DC Voltage [V]")
 {
 }
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="componentViewModel"></param>
 public CapacitorEditViewModel(ComponentViewModel componentViewModel) : base(componentViewModel)
 {
 }
 /// <summary>
 /// Default constructor which takes as an argument the view model of the component to edit
 /// </summary>
 /// <param name="componentViewModel"></param>
 public BaseComponentEditViewModel(ComponentViewModel componentViewModel)
 {
     _EditedComponentViewModel  = componentViewModel;
     EditedComponentDeclaration = IoC.Resolve <IComponentFactory>().GetDeclaration(componentViewModel.Component.GetType());
 }
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="componentViewModel"></param>
 public ACVoltageSourceEditViewModel(ComponentViewModel componentViewModel) : base(componentViewModel, "Peak produced AC voltage [V]")
 {
 }
Example #10
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="viewModel"></param>
 /// <param name="outputHeader">Can't be null</param>
 public SourceEditViewModel(ComponentViewModel viewModel, string outputHeader) : base(viewModel)
 {
     OutputHeader = outputHeader ?? throw new ArgumentNullException(nameof(outputHeader));
 }