Beispiel #1
0
            public Stages(IPage page, IEditMethod editMethod, ISymbol deviceSymbol, Properties property, Commands command)
            {
                if (page == null)
                {
                    throw new ArgumentNullException("page");
                }
                if (editMethod == null)
                {
                    throw new ArgumentNullException("m_EditMethod");
                }
                if (deviceSymbol == null)
                {
                    throw new ArgumentNullException("deviceSymbol");
                }
                if (property == null)
                {
                    throw new ArgumentNullException("property");
                }
                if (command == null)
                {
                    throw new ArgumentNullException("command");
                }

                m_Page         = page;
                m_EditMethod   = editMethod;
                m_DeviceSymbol = deviceSymbol;
                m_Property     = property;
                m_Command      = command;
            }
Beispiel #2
0
        /// <seealso cref="IInitPage.Initialize"/>
        public void Initialize(IPage page, IEditMethod editMethod)
        {
            //Get all channels of the detector
            if (m_DetectorSymbol != null)
            {
                m_EditorPlugIn.System.DataAcquisition.Detectors.Add(m_DetectorSymbol);

                //For initialization we need for each channel a channel description.
                //We can use plugIn.System.DataAcquisition for creating a description for each channel.
                //In this case the detector symbol is of type IChannel.
                var channelDescriptionList = new List <IChannelDescription>();
                channelDescriptionList.AddRange(CreateChannelDescriptions(m_DetectorSymbol));

                //Create a channel grid column info for each column/property that you want to display
                //in the grid. Since this channel has only a wavelength property, only one channel grid
                //column info object is cerated. Using this approach allows you to localize the column headers.
                var channelGridColumnInfo = CreateChannelGridColumnInfo();

                //Init channel grid.
                m_ChannelGrid.AcquisitionOnEnabled    = true;
                m_ChannelGrid.AcquisitionTimesVisible = true;
                m_ChannelGrid.Init(page.Component, channelDescriptionList, channelGridColumnInfo);
            }
            else
            {
                page.Enabled = false; //do not display page
            }
        }
        /// <seealso cref="IInitPage.Initialize"/>
        public void Initialize(IPage page, IEditMethod editMethod)
        {
            //Use a BinaryConstraintController for checking whether the lower pressure limit is <= the upper pressure limit.
            var pressureLimitChecker = new BinaryConstraintController(page.Component, page.Component.Symbol, m_TextBoxPressureLowerLimit.Controller, m_TextBoxPressureUpperLimit.Controller);

            pressureLimitChecker.Constraints.Add(
                new BinaryConstraint(BinaryConstraintController.LowerOrEqualConstraint, Resources.InvalidPressureLimits));
        }
        /// <seealso cref="IInitPage.Initialize"/>
        public void Initialize(IPage page, IEditMethod editMethod)
        {
            //Use enable controller for activating/deactivating nominal, upper limit and lower limit for
            //temperature property
            var enableCtrl = new EnableController(page.Component, m_CheckBoxTemperatureControl.Controller);

            //Add controls which should be activated or deactivated depending on check box check state
            enableCtrl.ControlledItems.AddRange(new Control[] { m_TextBoxTemperatureNominal, m_TextBoxTemperatureLowerLimit, m_TextBoxTemperatureUpperLimit });

            //Create a new MinMaxNominalController which will handle the check for the property values.
            //Executed checks: lowerLimit <= nominal <= upperLimit
            //                 lowerLimit <= upperLimit
            new MinMaxNominalController(page.Component, page.Component.Symbol,
                                        m_TextBoxTemperatureLowerLimit.Controller,
                                        m_TextBoxTemperatureUpperLimit.Controller,
                                        m_TextBoxTemperatureNominal.Controller);
        }
Beispiel #5
0
        /// <seealso cref="IInitPage.Initialize"/>
        public void Initialize(IPage page, IEditMethod editMethod)
        {
            if (DeviceModel.Text != null)
            {
                m_TextBoxData.Text = DeviceModel.Text;
            }
            else
            {
                Debug.Fail("Invalid block data");
            }

            m_DeviceName.Text            = DeviceModel.DeviceName;
            m_TextBoxNumericalValue.Text = DeviceModel.NumericValue.ToString(NumberFormatInfo.CurrentInfo);

            m_TextBoxData.TextChanged           += OnTextBoxDataChanged;
            m_TextBoxNumericalValue.TextChanged += OnTextBoxNumericalValueChanged;
        }
        public void Initialize(IPage page, IEditMethod editMethod)
        {
            m_Page         = page;
            m_EditMethod   = editMethod;
            m_DeviceSymbol = m_Page.Component.Symbol;
            m_Util         = new Util(page, editMethod);

            InitializeCommandAutoZero();
            m_ChannelControl.InitializeChannels(m_Page, m_EditMethod);

            // Not used in this example. Can be used if there are more than 1 detector.
            m_Detector.SelectedChanged += OnDetectorSelectedChanged;

            m_Page.Component.PageEnterEvent += OnPageEnter;
            //m_Page.Component.PageLeaveEvent += OnPageLeave;
            m_Page.Component.PageValidationEvent += OnPageValidation;
            //m_Page.Component.WizardFinishEvent += OnPageWizardFinish;
        }
        public void Initialize(IPage page, IEditMethod editMethod)
        {
            m_Page         = page;
            m_EditMethod   = editMethod;
            m_DeviceSymbol = m_Page.Component.Symbol;

            m_TemperatureController = new MinMaxNominalController(m_Page.Component, m_DeviceSymbol.Child("Temperature"),
                                                                  m_TextBoxLowerLimit,
                                                                  m_TextBoxUpperLimit,
                                                                  m_TextBoxNominal);

            m_EnableController = new EnableController(m_Page.Component, m_TempControlCheckBox.Controller);
            m_EnableController.ControlledItems.AddRange(new Control[]
            {
                m_TextBoxLowerLimit,
                m_TextBoxUpperLimit,
                m_TextBoxNominal
            });
        }
Beispiel #8
0
        public Util(IPage page, IEditMethod editMethod)
        {
            if (page == null)
            {
                throw new ArgumentNullException("page");
            }
            if (editMethod == null)
            {
                throw new ArgumentNullException("m_EditMethod");
            }

            m_Page         = page;
            m_EditMethod   = editMethod;
            m_DeviceSymbol = m_Page.Component.Symbol;

            m_Property = new Properties(m_Page, m_EditMethod, m_DeviceSymbol);
            m_Command  = new Commands(m_Page, m_EditMethod, m_DeviceSymbol);
            m_Stage    = new Stages(m_Page, m_EditMethod, m_DeviceSymbol, m_Property, m_Command);
        }
Beispiel #9
0
            public Commands(IPage page, IEditMethod editMethod, ISymbol deviceSymbol)
            {
                if (page == null)
                {
                    throw new ArgumentNullException("page");
                }
                if (editMethod == null)
                {
                    throw new ArgumentNullException("m_EditMethod");
                }
                if (deviceSymbol == null)
                {
                    throw new ArgumentNullException("deviceSymbol");
                }

                m_Page         = page;
                m_EditMethod   = editMethod;
                m_DeviceSymbol = deviceSymbol;
            }
Beispiel #10
0
        /// <seealso cref="IInitPage.Initialize"/>
        public void Initialize(IPage page, IEditMethod editMethod)
        {
            ISymbol deviceSymbol = page.Component.Symbol;
            List <TimeGridColumnInfo> columnInfo = new List <TimeGridColumnInfo>();

            TimeGridColumnInfo currentColumnInfo = new TimeGridColumnInfo();
            IProperty          valveState        = deviceSymbol.Child("ValveState") as IProperty;

            Debug.Assert(valveState != null);
            currentColumnInfo.Property    = valveState;
            currentColumnInfo.DisplayName = "Valve State";
            columnInfo.Add(currentColumnInfo);

            currentColumnInfo = new TimeGridColumnInfo();
            ICommand switchValveTo1 = deviceSymbol.Child("SwitchValveTo1") as ICommand;

            Debug.Assert(switchValveTo1 != null);
            currentColumnInfo.Command     = switchValveTo1;
            currentColumnInfo.DisplayName = "Switch to '1'";
            columnInfo.Add(currentColumnInfo);

            currentColumnInfo = new TimeGridColumnInfo();
            ICommand switchValveTo2 = deviceSymbol.Child("SwitchValveTo2") as ICommand;

            Debug.Assert(switchValveTo2 != null);
            currentColumnInfo.Command     = switchValveTo2;
            currentColumnInfo.DisplayName = "Switch to '2'";
            columnInfo.Add(currentColumnInfo);

            currentColumnInfo = new TimeGridColumnInfo();
            ICommand switchValve = deviceSymbol.Child("SwitchValve") as ICommand;

            Debug.Assert(switchValve != null);
            currentColumnInfo.Command     = switchValve;
            currentColumnInfo.DisplayName = "Switch Valve Using Parameters";
            columnInfo.Add(currentColumnInfo);

            m_TimeGrid.Init(page.Component, columnInfo);
        }
        /// <seealso cref="IInitPage.Initialize"/>
        public void Initialize(IPage page, IEditMethod editMethod)
        {
            // initialize page content
            Fill2DChannelGrid(page.Component);
            Fill3DChannelGrid(page.Component);

            // page events
            page.OnRequestClipboardOperation += page_OnRequestClipboardOperation;
            page.ShowHelp += page_ShowHelp;

            // component events
            page.Component.DeviceViewSessionEnterEvent += Component_DeviceViewSessionEnterEvent;
            page.Component.DeviceViewSessionLeaveEvent += Component_DeviceViewSessionLeaveEvent;
            page.Component.EnabledChanged      += Component_EnabledChanged;
            page.Component.IsActiveChanged     += Component_IsActiveChanged;
            page.Component.WizardFinishEvent   += Component_WizardFinishEvent;
            page.Component.PageEnterEvent      += new System.EventHandler <PageEnterArgs>(Component_PageEnterEvent);
            page.Component.PageValidationEvent += new System.EventHandler <PageValidationArgs>(Component_PageValidationEvent);
            page.Component.PageLeaveEvent      += new System.EventHandler <PageLeaveArgs>(Component_PageLeaveEvent);

            // control events for validation
            m_ChannelGrid3D.PropertyValueChanged += new System.EventHandler <ChannelGridPropertyChangedArgs>(ChannelGrid3D_PropertyValueChanged);
        }
Beispiel #12
0
 /// <seealso cref="IInitPage.Initialize"/>
 public void Initialize(IPage page, IEditMethod editMethod)
 {
     //Nothing to do here. The symbol path for the data binding of the controls
     //is defined in the designer (see SymbolPath property).
 }