/// <summary>
        /// Creates a PrinterViewModel with one X Axis ViewModel, one Y Axis ViewModel, one Z Axis ViewModel, and one PrintheadViewModel.
        /// </summary>
        /// <param name="PrinterModel"></param>
        public PrinterViewModel(PrinterModel PrinterModel, SerialCommunicationCommandSetsModel SerialCommunicationCommandSetsModel)
        {
            _printerModel = PrinterModel;
            _serialCommunicationCommandSetsModel = SerialCommunicationCommandSetsModel;
            _gPIOPinListsViewModel = new GPIOPinListsViewModel();

            _microcontrollerViewModel = new MicrocontrollerViewModel(_printerModel.MicroControllerModel, _gPIOPinListsViewModel);

            //Populates the Axis ViewModel lists with their Axis Model counterparts.
            foreach (AxisModel axisModel in _printerModel.AxisModelList)
            {
                AxisViewModel newAxisViewModel = new AxisViewModel(axisModel, _gPIOPinListsViewModel);

                _axisViewModelList.Add(newAxisViewModel);
                if (newAxisViewModel.Name.Contains('Z'))
                {
                    _zAxisViewModelList.Add(newAxisViewModel);
                }
            }

            //Populates the Printhead ViewModel lists with their Printhead Model counterparts.
            foreach (PrintheadModel printheadModel in _printerModel.PrintheadModelList)
            {
                _printheadViewModelList.Add(new PrintheadViewModel(printheadModel, _gPIOPinListsViewModel));
            }

            //Populates the empty PrintheadViewModel list with an empty Printhead.
            _emptyPrintheadViewModelList.Add(new PrintheadViewModel(new PrintheadModel(""), _gPIOPinListsViewModel));

            //Subscribe to events.
            SerialCommunicationCommandSetsModel.RealTimeStatusDataModel.RecordLimitExecuted += new RecordLimitExecutedEventHandler(UpdateMinMaxPositions);
            SerialCommunicationCommandSetsModel.CommandSetMinMaxPositionChanged             += new CommandSetMinMaxPositionChangedEventHandler(UpdateMinMaxPositions);
        }
Exemplo n.º 2
0
 public PrintheadTypeXMLDeserializerModel(MicrocontrollerViewModel MicrocontrollerViewModel, ErrorListViewModel ErrorListViewModel) : base(ErrorListViewModel)
 {
     _microcontrollerViewModel = MicrocontrollerViewModel;
 }
 public CustomPrintheadTypeXMLDeserializerModel(MicrocontrollerViewModel MicrocontrollerViewModel, ErrorListViewModel ErrorListViewModel) : base(MicrocontrollerViewModel, ErrorListViewModel)
 {
 }
 public MotorizedPrintheadTypeXMLDeserializer(MicrocontrollerViewModel MicrocontrollerViewModel, ErrorListViewModel ErrorListViewModel) : base(MicrocontrollerViewModel, ErrorListViewModel)
 {
 }