public void SetupListBox()
        {
            //TUBE NAMES SYNC
            lbDefaultNames.Items.Clear();

            //general items
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer));
            if (SeparatorResourceManager.isPlatformRS16())
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34));
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56));
            }
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.WasteTube));

            lbDefaultNames.Items.Add(SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass));

            lbDefaultNames.Items.Add(SeparatorResourceManager.getVialBStringFromProtocolClass(protocolClass));

            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialA));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialC));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.SampleTube));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube));


            lbDefaultNames.SelectedIndex = 0;
            this.SetupCustomListBox();
        }
        public void SetupListBox()
        {
            //TUBE NAMES SYNC
            lbDefaultNames.Items.Clear();

            //vial B Square
            //vial C Circle
            //vial A Triangle

            //general items
            if ((protocolClass == ProtocolClass.Positive) || (protocolClass == ProtocolClass.HumanPositive) ||
                (protocolClass == ProtocolClass.MousePositive) || (protocolClass == ProtocolClass.WholeBloodPositive))
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialBpos));
            }
            else if ((protocolClass == ProtocolClass.Negative) || (protocolClass == ProtocolClass.HumanNegative) ||
                     (protocolClass == ProtocolClass.MouseNegative) || (protocolClass == ProtocolClass.WholeBloodNegative))
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialBneg));
            }
            else
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialB));
            }

            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialC));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialA));

            lbDefaultNames.SelectedIndex = 0;
            this.SetupBarcodeListBox();
        }
        private void UpdateTextbox()
        {
            StringId id = SeparatorResourceManager.convertNameToStringID((string)lbDefaultNames.SelectedItem);

            switch (id)
            {
            case StringId.VialA:
                txtCustomName.Text = triangleVialBarcode;
                break;

            case StringId.VialB:
            case StringId.VialBpos:
            case StringId.VialBneg:
                txtCustomName.Text = squareVialBarcode;
                break;

            case StringId.VialC:
                txtCustomName.Text = circleVialBarcode;
                break;
            }

            bool boEnabled = true;

            if (lbCustomNames.Items[lbDefaultNames.SelectedIndex].ToString() == SeparatorResourceManager.GetSeparatorString(StringId.ReagentNotUsed))
            {
                boEnabled          = false;
                txtCustomName.Text = SeparatorResourceManager.GetSeparatorString(StringId.ReagentNotUsed);
            }
            txtCustomName.Enabled    = boEnabled;
            btnAcceptNewName.Enabled = boEnabled;
        }
        public void SetupListBox()
        {
            //TUBE NAMES SYNC
            lbDefaultNames.Items.Clear();

            //general items
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer));
            if (SeparatorResourceManager.isPlatformRS16())
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34));
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56));
            }
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.WasteTube));

            lbDefaultNames.Items.Add(SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass));

            /*
             * if ((protocolClass == ProtocolClass.Positive) || (protocolClass == ProtocolClass.HumanPositive) ||
             *      (protocolClass == ProtocolClass.MousePositive) || (protocolClass == ProtocolClass.WholeBloodPositive))
             *      lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialBpos));
             * else if ((protocolClass == ProtocolClass.Negative) || (protocolClass == ProtocolClass.HumanNegative) ||
             *      (protocolClass == ProtocolClass.MouseNegative) || (protocolClass == ProtocolClass.WholeBloodNegative))
             *      lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialBneg));
             * else
             *      lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialB));
             *
             * lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialA));
             * lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialC));
             */
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.SampleTube));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube));


            lbDefaultNames.SelectedIndex = 0;
        }
        private void SetupCheckboxes(int idx)
        {
            //uncheck all
            IEnumerator myEnumerator;

            myEnumerator = lbDefaultNames.CheckedIndices.GetEnumerator();
            int i;

            while (myEnumerator.MoveNext() != false)
            {
                i = (int)myEnumerator.Current;
                lbDefaultNames.SetItemChecked(i, false);
            }

            //load checks
            //bool[] resultVialChecks;
            try
            {
                /*
                 * theProtocolModel.GetResultVialChecks(idx, out resultVialChecks);
                 *              if (resultVialChecks != null)//set checks
                 *              {
                 *                      for(i=0;i<lbDefaultNames.Items.Count;++i)
                 *                      {
                 *                              lbDefaultNames.SetItemChecked(i, resultVialChecks[i]);
                 *                      }
                 *              }
                 */

                results = theProtocolModel.GetResultVialChecks(idx);
                i       = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.SampleTube));
                lbDefaultNames.SetItemChecked(i, results.sampleTube);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube));
                lbDefaultNames.SetItemChecked(i, results.separationTube);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.WasteTube));
                lbDefaultNames.SetItemChecked(i, results.wasteTube);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer));
                lbDefaultNames.SetItemChecked(i, results.bufferBottle);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass));
                lbDefaultNames.SetItemChecked(i, results.lysisBufferTube);

                //for rs16
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34));
                lbDefaultNames.SetItemChecked(i, results.bufferBottle34);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56));
                lbDefaultNames.SetItemChecked(i, results.bufferBottle56);
            }
            catch (Exception) {}
        }
        // set the default vial names as custom names - vial names vary with the type of protocol
        public void SetDefaultCustomNames()
        {
            customVialNames = new customNames();
            customVialNames.bufferBottle         = SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer);
            customVialNames.wasteTube            = SeparatorResourceManager.GetSeparatorString(StringId.WasteTube);
            customVialNames.magneticParticleVial = SeparatorResourceManager.GetSeparatorString(StringId.VialA);
            customVialNames.antibodyCocktailVial = SeparatorResourceManager.GetSeparatorString(StringId.VialC);
            customVialNames.sampleTube           = SeparatorResourceManager.GetSeparatorString(StringId.SampleTube);
            customVialNames.separationTube       = SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube);
            customVialNames.bufferBottle34       = SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34);
            customVialNames.bufferBottle56       = SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56);

            customVialNames.lysisBufferTube = SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass);

            customVialNames.selectionCocktailVial = SeparatorResourceManager.getVialBStringFromProtocolClass(protocolClass);
        }
Exemple #7
0
        private InstrumentControlProxy()
        {
            // Create the objects that represent the control/event connections...

            // Make initial attempt to connect to the Instrument Control server.
            // Get the number of times to re-try if the connection attempt fails.
            NameValueCollection nvc = (NameValueCollection)System.Configuration.ConfigurationManager.GetSection("Separator/InstrumentControlConnection");
            int retryCount, retryWait;

            try
            {
                retryCount = int.Parse(nvc.Get("RetryCount"));
                retryWait  = int.Parse(nvc.Get("RetryWait_ms"));
            }
            catch
            {
                // Set default values in case the parse fails
                retryCount = 3;
                retryWait  = 2000;                      // milliseconds
            }

            do
            {
                try
                {
                    myXmlRpcProxy = new InstrumentControlXmlRpcProxy(
                        RemotingInfo.GetInstance().IcsServerURL);
                    retryCount = 0;                     // Clear the retry count as we're now connected.
                }
                catch (Exception ex)
                {
                    // Connection attempt failed.  Re-try if the number of attempts so far is
                    // within the retry count specified in the application configuration file,
                    // otherwise propagate an exception to tell the caller we failed to connect.
                    myXmlRpcProxy = null;
                    LogFile.AddMessage(TraceLevel.Warning, "retryCount = " + retryCount + " " + ex.Message);
                    if (--retryCount <= 0)
                    {
                        throw new ApplicationException(
                                  SeparatorResourceManager.GetSeparatorString(
                                      StringId.ExFailedToConnectToInstrumentControl));
                    }
                    // Pause before retrying connection attempt
                    Thread.Sleep(retryWait);
                }
            } while (retryCount > 0);
        }
        public override bool IsContentValid()
        {
            ClearAbsoluteVolumeError();
            bool isContentValid = base.IsContentValid();
            bool result;

            if (VolumeTypeSpecifier == VolumeType.Absolute)
            {
                VolumeLimits volumeLimits = VolumeLimits.GetInstance();
                volumeLimits.UpateLiquidVolumeLimits();
                double minimumAllowable_TipVolume_ul       = (double)0;
                double maximumCapacity_ReagentTipVolume_ul = (double)volumeLimits.maximumCapacity_ReagentTipVolume_ul;
                double maximumCapacity_SampleTipVolume_ul  = (double)volumeLimits.maximumCapacity_SampleTipVolume_ul;

                if (AbsoluteVolume_uL < minimumAllowable_TipVolume_ul)
                {
                    ShowAbsoluteVolumeError(VolumeError.MINIMUM_AMOUNT);
                    result = false;
                }
                else if ((cmbSourceVial.Text.IndexOf(
                              SeparatorResourceManager.GetSeparatorString(StringId.VialA)) >= 0) ||
                         (cmbSourceVial.Text.IndexOf(
                              SeparatorResourceManager.GetSeparatorString(StringId.VialB)) >= 0) ||
                         (cmbSourceVial.Text.IndexOf(
                              SeparatorResourceManager.GetSeparatorString(StringId.VialC)) >= 0)
                         )
                {
                    result = AbsoluteVolume_uL <= maximumCapacity_ReagentTipVolume_ul;
                    if (!result)
                    {
                        ShowAbsoluteVolumeError(VolumeError.ABSOLUTE_1MLTIP_AMOUNT);
                    }
                }
                else
                {
                    result = AbsoluteVolume_uL <= maximumCapacity_SampleTipVolume_ul;
                    if (!result)
                    {
                        ShowAbsoluteVolumeError(VolumeError.ABSOLUTE_5MLTIP_AMOUNT);
                    }
                }

                isContentValid &= result;
            }
            return(isContentValid);
        }
        private void UpdateCheckboxes(int idx)
        {
            IEnumerator myEnumerator;
            int         i;

            bool[] resultVialChecks = new bool[8];
            for (i = 0; i < 8; ++i)
            {
                resultVialChecks[i] = false;
            }
            myEnumerator = lbDefaultNames.CheckedIndices.GetEnumerator();
            while (myEnumerator.MoveNext() != false)
            {
                i = (int)myEnumerator.Current;
                resultVialChecks[i] = true;
            }

            try
            {
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.SampleTube));
                results.sampleTube = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube));
                results.separationTube = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.WasteTube));
                results.wasteTube = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer));
                results.bufferBottle = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass));
                results.lysisBufferTube = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;

                //for rs16
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34));
                results.bufferBottle34 = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56));
                results.bufferBottle56 = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
            }
            catch (Exception) {}

            //resultVialChecks[0]=false;
            //lbDefaultNames.SetItemCheckState(0,CheckState.Unchecked);

            //theProtocolModel.UpdateResultVialChecks(idx, resultVialChecks);
            theProtocolModel.UpdateResultVialChecks(idx, results);
        }
Exemple #10
0
 /// <summary>
 /// Make the connection to the Instrument Control XML-RPC server.
 /// </summary>
 public void Subscribe()
 {
     try
     {
         if (myXmlRpcProxy != null)
         {
             // Register for Instrument Control Events
             myXmlRpcProxy.Subscribe(RemotingInfo.GetInstance().IcsEventSinkURL);
         }
     }
     catch (Exception ex)
     {
         LogFile.LogException(TraceLevel.Error, ex);
         //DisableConnection();
         throw new ApplicationException(
                   SeparatorResourceManager.GetSeparatorString(
                       StringId.ExFailedToSubscribeToInstrumentControl), ex);
     }
 }
Exemple #11
0
        // Create the modal dialog in the Pausing or Paused state (as indicated)
        public DialogResult ShowDialog(Form parent, bool isPausing)
        {
            DialogResult result = DialogResult.Abort;

            if (myEventSink != null)
            {
                if (isPausing)
                {
                    myMessage = string.Format(
                        SeparatorResourceManager.GetSeparatorString(StringId.PausePausingMessage),
                        (timerPausingTimeout.Interval / 1000)
                        );
                    myCaption = SeparatorResourceManager.GetSeparatorString(StringId.RunPausingText);

                    myButtonLabels = new string[] {};

                    // hide the OK button
                    okButton.Visible = false;

                    // enable the timeout timer
                    timerPausingTimeout.Start();
                }
                else                    // already Paused
                {
                    SetPausedMode();
                }

                // Register to receive SeparatorState changes from the event sink
                myEventSink.UpdateSeparatorState += new SeparatorStatusDelegate(AtSeparatorStateUpdate);

                result = base.ShowDialog(parent, myMessage, myCaption, myButtonLabels,
                                         System.Drawing.SystemIcons.Information);

                // De-Register to receive SeparatorState changes from the event sink
                myEventSink.UpdateSeparatorState -= new SeparatorStatusDelegate(AtSeparatorStateUpdate);
            }

            return(result);
        }
        private string GetBarcodeString(string barcode, int vialIdx)
        {
            //0 is vial B Square
            //1 is vial C Circle
            //2 is vial A Triangle
            //int vialIdx = lbDefaultNames.SelectedIndex;
            if (vialIdx < 0 || vialIdx > 2)
            {
                vialIdx = 0;
            }

            int quadrant = tabControl1.SelectedIndex;

            if (quadrant < 0 || quadrant > 3)
            {
                quadrant = 0;
            }

            return((barcode != "") ? barcode : (myUsedReagentVialList.Contains(GetLocation(quadrant, vialIdx)) ?
                                                SeparatorResourceManager.GetSeparatorString(StringId.ReagentCustom) :
                                                SeparatorResourceManager.GetSeparatorString(StringId.ReagentNotUsed)));
        }
Exemple #13
0
        private void LogException(Exception ex, string caller)
        {
            // Start with a generic error message
            string message = ex.Message;

            // If it is a known exception type, extract some more detailed information.
            CookComputing.XmlRpc.XmlRpcFaultException faultEx = ex as CookComputing.XmlRpc.XmlRpcFaultException;
            if (faultEx != null)
            {
                message = "(" + faultEx.FaultCode + ") " + faultEx.FaultString;
            }

            // Add more exception types if necessary
            string logMessage = SeparatorResourceManager.GetSeparatorString(
                StringId.ExInstrumentCommunicationsFailure) + message + " *** " + caller;

            LogFile.AddMessage(TraceLevel.Warning, logMessage);
            Debug.WriteLine(logMessage);


            // Report the error to the GUI so that it can take appropriate action
            ReportError(2, "TEC1300", new string[] { message });
        }
Exemple #14
0
        private void SetPausedMode()
        {
            // Instrument has paused -- disable the timeout timer
            timerPausingTimeout.Stop();

            // enable buttons
            cancelButton.Visible = true;
            cancelButton.Enabled = true;
            okButton.Visible     = true;
            okButton.Enabled     = true;

            okButton.Text       = SeparatorResourceManager.GetSeparatorString(StringId.RunResumeText);
            cancelButton.Text   = SeparatorResourceManager.GetSeparatorString(StringId.RunHaltText);
            myMessage           = SeparatorResourceManager.GetSeparatorString(StringId.PausePausedMessage);
            lblMessageText.Text = myMessage;
            myButtonLabels      = new string[2] {
                okButton.Text, cancelButton.Text
            };

            this.Icon    = System.Drawing.SystemIcons.Question;
            myCaption    = SeparatorResourceManager.GetSeparatorString(StringId.RunPauseText);
            this.Caption = myCaption;
            Refresh();
        }
Exemple #15
0
        private void SetPausedMode(bool lidClosed, bool isPauseCommand, string pauseCommandCaption)
        {
            // Instrument has paused -- disable the timeout timer
            timerPausingTimeout.Stop();

            // enable buttons
            SetButton2Visible(!isTipStripError);
            button_2.Enabled = !isTipStripError;

            SetButton1Visible(true);
            button_1.Enabled = true;

            button_1.Text = SeparatorResourceManager.GetSeparatorString(StringId.RunResumeText);
            button_2.Text = SeparatorResourceManager.GetSeparatorString(StringId.RunHaltText);
            //myButtonLabels = new string[2] { okButton.Text, cancelButton.Text };
            GUI_Controls.MessageIcon icon = GUI_Controls.MessageIcon.MBICON_INFORMATION;

            if (isPauseCommand)
            {
                myPauseStatus = PauseStatus.Manual;
                myCaption     = SeparatorResourceManager.GetSeparatorString(StringId.RunPauseText);
                myMessage     = pauseCommandCaption;
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type 0 - PAUSE COMMAND\r");  // bdr

                LogFile.AddMessage(System.Diagnostics.TraceLevel.Verbose, "System paused manually");
            }
            else if (pauseCommandCaption.Equals("Manual tip strip"))
            {
                isTipStripError = true;
                myPauseStatus   = PauseStatus.TipStrip;
                // show general paused msg or custom paused-due-to-lid-up msg
                icon      = GUI_Controls.MessageIcon.MBICON_ERROR;
                myCaption = LanguageINI.GetString("headerTipStripError");
                myMessage = LanguageINI.GetString("msgTipStripError");
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type TIP - lid is closed\r");  // bdr
                pauseCommandCaption = "";

                SetButton2Visible(false);
                button_2.Enabled = false;
                //myButtonLabels = new string[1] { okButton.Text };

                LogFile.AddMessage(TraceLevel.Warning, "PauseResumeDialog: Tip Strip error warning displayed");
            }
            else if (pauseCommandCaption.Equals("Tip strip recovery"))
            {
                isTipStripError = false;
                myPauseStatus   = PauseStatus.Recovery;
                // show general paused msg or custom paused-due-to-lid-up msg
                myCaption = LanguageINI.GetString("headerTipStripRecovery");
                myMessage = LanguageINI.GetString("msgTipStripRecovery");
                myMessage = myMessage + '\n' + SeparatorResourceManager.GetSeparatorString(StringId.PausePausedMessage);
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type TIP2 - lid is closed\r");  // bdr
                pauseCommandCaption = "";

                SetButton2Visible(true);
                button_2.Enabled = true;


                LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "PauseResumeDialog: Tip strip recovery window displayed");
            }
            else if (lidClosed)
            {
                myPauseStatus = PauseStatus.Lid;
                // show general paused msg or custom paused-due-to-lid-up msg
                myCaption = SeparatorResourceManager.GetSeparatorString(StringId.RunPauseText);
                myMessage = SeparatorResourceManager.GetSeparatorString(StringId.PausePausedMessage);
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type 1 - lid is closed\r");  // bdr

                LogFile.AddMessage(TraceLevel.Warning, "PauseResumeDialog: Lid Sensor pause window displayed");
            }
            else
            {
                //this branch is never used... ?? RL
                myCaption = SeparatorResourceManager.GetSeparatorString(StringId.RunPauseText);
                myMessage = SeparatorResourceManager.GetSeparatorString(StringId.PauseLidUpMessage);
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type 2 - lid is open\r");  // bdr

                LogFile.AddMessage(TraceLevel.Warning, "PauseResumeDialog: unexpected branch");
            }

            SetIcon(icon);
            SetMessage(myMessage);
            this.label_WindowTitle.Text = myCaption;
            this.Size = determineSize(myMessage);
            ResizeButtons();
            this.button_1.Refresh();
            this.button_2.Refresh();
            Refresh();
        }
Exemple #16
0
        // Create the modal dialog in the Pausing or Paused state (as indicated)
        public DialogResult ShowDialog(Form parent, bool isPausing, bool isLidClosed, bool isPauseCommand, string pauseCommandCaption) // bdr new
        {
            // LOG

            LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "Show PauseResumeDialog");
            DialogResult result = DialogResult.Abort;

            if (myEventSink != null)
            {
                if (isPausing)
                {
                    System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs ShowDLg() state: isPausing");  // bdr

                    myMessage = string.Format(
                        SeparatorResourceManager.GetSeparatorString(StringId.PausePausingMessage),
                        (timerPausingTimeout.Interval / 1000)
                        );
                    myCaption = SeparatorResourceManager.GetSeparatorString(StringId.RunPausingText);
                    this.label_WindowTitle.Text = myCaption;
                    SetIcon(GUI_Controls.MessageIcon.MBICON_INFORMATION);
                    myButtonLabels = new string[] { };

                    // hide the OK button
                    SetButton1Visible(false);
                    SetButton2Visible(false);

                    // enable the timeout timer
                    timerPausingTimeout.Start();

                    LogFile.AddMessage(TraceLevel.Warning, "Run is pausing");
                }
                else // already Paused
                {
                    System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs ShowDLg() state: Paused");  // bdr
                    SetPausedMode(isLidClosed, isPauseCommand, pauseCommandCaption); // bdr new

                    LogFile.AddMessage(TraceLevel.Warning, "Run Paused");
                }

                // Register to receive SeparatorState changes from the event sink
                if (myStatusDelegate == null)
                {
                    myStatusDelegate = new SeparatorStatusDelegate(AtSeparatorStateUpdate);
                }

                myEventSink.UpdateSeparatorState += myStatusDelegate;

                //result = base.ShowDialog(parent, myMessage, myCaption, myButtonLabels,
                //    System.Drawing.SystemIcons.Information);

                //
                // << Jason Modification to fit new GUI >>
                //
                this.PreviousForm = parent != null ? parent : RoboSep_UserConsole.getInstance();
                this.message      = myMessage;
                this.SetMessage(myMessage);
                this.button_1.Text = LanguageINI.GetString("lblResume");
                this.button_2.Text = LanguageINI.GetString("lblStop");
                this.SetIcon(GUI_Controls.MessageIcon.MBICON_WAIT);
                this.Size = determineSize(myMessage);
                ResizeButtons();
                this.button_1.Refresh();
                this.button_2.Refresh();

                // show dialog
                RoboSep_UserConsole.showOverlay();
                this.ShowDialog();
                RoboSep_UserConsole.hideOverlay();

                result = this.DialogResult;

                string dbg = string.Format("PsRsDlg result {0}", result);
                System.Diagnostics.Debug.WriteLine(dbg); // bdr

                // De-Register to receive SeparatorState changes from the event sink
                if (myStatusDelegate != null)
                {
                    myEventSink.UpdateSeparatorState -= myStatusDelegate;
                }

                this.Dispose();
            }

            return(result);
        }