예제 #1
0
        public static ucReportInspectionDetails Create(
            AutoValidate value_i,
            BorderStyle value_i1_,
            Control value_control,
            Point value_point,
            ISite value_iSite,
            int value_i2_
            )
        {
            ucReportInspectionDetails ucReportInspectionDetails
                = new ucReportInspectionDetails();

            ((UserControl)ucReportInspectionDetails).AutoValidate             = value_i;
            ((UserControl)ucReportInspectionDetails).BorderStyle              = value_i1_;
            ((ContainerControl)ucReportInspectionDetails).ActiveControl       = value_control;
            ((ScrollableControl)ucReportInspectionDetails).AutoScrollPosition = value_point;
            ((Control)ucReportInspectionDetails).Site     = value_iSite;
            ((Control)ucReportInspectionDetails).TabIndex = value_i2_;
            return(ucReportInspectionDetails);

            // TODO: Edit factory method of ucReportInspectionDetails
            // This method should be able to configure the object in all possible ways.
            // Add as many parameters as needed,
            // and assign their values to each field by using the API.
        }
예제 #2
0
 /// <summary>
 /// Write Configuration data in XML format to the XML Text Writer.
 /// </summary>
 /// <param name="writer">XML Text Writer</param>
 public override void WriteXmlConfig(XmlTextWriter writer)
 {
     writer.WriteStartElement("Hl7PeerToPeerConfiguration");
     writer.WriteStartElement("FromActor");
     writer.WriteStartElement("ActorName");
     writer.WriteElementString("ActorType", ActorTypes.Type(FromActorName.Type));
     writer.WriteElementString("ActorId", FromActorName.Id);
     writer.WriteEndElement();
     writer.WriteElementString("AeTitle", FromActorAeTitle);
     writer.WriteEndElement();
     writer.WriteStartElement("ToActor");
     writer.WriteStartElement("ActorName");
     writer.WriteElementString("ActorType", ActorTypes.Type(ToActorName.Type));
     writer.WriteElementString("ActorId", ToActorName.Id);
     writer.WriteEndElement();
     writer.WriteElementString("AeTitle", ToActorAeTitle);
     writer.WriteElementString("IpAddress", ToActorIpAddress);
     writer.WriteEndElement();
     writer.WriteElementString("PortNumber", PortNumber.ToString());
     writer.WriteElementString("MessageDelimiters", MessageDelimiters.ToString());
     writer.WriteElementString("SecureConnection", SecureConnection.ToString());
     writer.WriteElementString("AutoValidate", AutoValidate.ToString());
     writer.WriteElementString("ActorOption1", ActorOption1);
     writer.WriteElementString("ActorOption2", ActorOption2);
     writer.WriteElementString("ActorOption3", ActorOption3);
     writer.WriteElementString("SessionId", _sessionId.ToString());
     writer.WriteEndElement();
 }
예제 #3
0
        /// <summary>
        /// 画面を閉じる際、暗黙的な検証(AutoValidation)を無効に設定するための操作です。
        /// </summary>
        /// <param name="disable">無効にする場合には true、解除する場合には false を指定</param>
        private void DisableAutoValidateForClosing(bool disable)
        {
            // 【対処4】Form.Closeメソッドで画面を閉じる
            // 【対処5】キャプションバーの[×]ボタンで画面を閉じる
            // 【対処6】[Alt]+[F4]キー(ショートカット)で画面を閉じる

            // モードレス(一次ウィンドウ含む)のみを対象とする
            if (Modal)
            {
                return;
            }

            // 無効
            if (disable)
            {
                // 暗黙的な検証の無効化
                preCloseAutoValidate = AutoValidate;
                AutoValidate         = AutoValidate.Disable;
            }
            // 復帰
            else
            {
                // 暗黙的な検証の無効化を解除
                AutoValidate = preCloseAutoValidate;
            }
        }
 /// <summary>
 /// Sets the automatic validate.
 /// </summary>
 /// <param name="control">The control.</param>
 /// <param name="value">The value.</param>
 public static void SetAutoValidate(this ContainerControl control, AutoValidate value)
 {
     if (control.InvokeRequired)
     {
         control.BeginInvoke(new MethodInvoker(() => control.SetAutoValidate(value)));
     }
     else
     {
         control.AutoValidate = value;
         control.Refresh();
     }
 }
예제 #5
0
        public void AutoValidate_Set_GetReturnsExpected(AutoValidate value, AutoValidate expected)
        {
            var control = new ContainerControl
            {
                AutoValidate = value
            };

            Assert.Equal(expected, control.AutoValidate);

            // Set same.
            control.AutoValidate = value;
            Assert.Equal(expected, control.AutoValidate);
        }
예제 #6
0
        internal bool ValidateInternal(bool checkAutoValidate, out bool validatedControlAllowsFocusChange)
        {
            validatedControlAllowsFocusChange = false;

            if (this.AutoValidate == AutoValidate.EnablePreventFocusChange ||
                (activeControl != null && activeControl.CausesValidation))
            {
                if (unvalidatedControl == null)
                {
                    if (focusedControl is ContainerControl && focusedControl.CausesValidation)
                    {
                        ContainerControl c = (ContainerControl)focusedControl;
                        if (!c.ValidateInternal(checkAutoValidate, out validatedControlAllowsFocusChange))
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        unvalidatedControl = focusedControl;
                    }
                }

                // Should we force focus to stay on same control if there is a validation error?
                bool preventFocusChangeOnError = true;

                ControlViewModel controlToValidate = unvalidatedControl != null ? unvalidatedControl : focusedControl;

                if (controlToValidate != null)
                {
                    // Get the effective AutoValidate mode for unvalidated control (based on its container control)
                    AutoValidate autoValidateMode = ControlViewModel.GetAutoValidateForControl(controlToValidate);

                    // Auto-validate has been turned off in container of unvalidated control - stop now
                    if (checkAutoValidate && autoValidateMode == AutoValidate.Disable)
                    {
                        return(true);
                    }
                    preventFocusChangeOnError         = (autoValidateMode == AutoValidate.EnablePreventFocusChange);
                    validatedControlAllowsFocusChange = (autoValidateMode == AutoValidate.EnableAllowFocusChange);
                }

                return(ValidateThroughAncestor(null, preventFocusChangeOnError));
            }
            return(true);
        }
예제 #7
0
 /// <summary>
 /// Write Configuration data in XML format to the XML Text Writer.
 /// </summary>
 /// <param name="writer">XML Text Writer</param>
 public override void WriteXmlConfig(XmlTextWriter writer)
 {
     writer.WriteStartElement("DicomPeerToPeerConfiguration");
     writer.WriteStartElement("FromActor");
     writer.WriteStartElement("ActorName");
     writer.WriteElementString("ActorType", ActorTypes.Type(FromActorName.Type));
     writer.WriteElementString("ActorId", FromActorName.Id);
     writer.WriteEndElement();
     writer.WriteElementString("AeTitle", FromActorAeTitle);
     writer.WriteEndElement();
     writer.WriteStartElement("ToActor");
     writer.WriteStartElement("ActorName");
     writer.WriteElementString("ActorType", ActorTypes.Type(ToActorName.Type));
     writer.WriteElementString("ActorId", ToActorName.Id);
     writer.WriteEndElement();
     writer.WriteElementString("AeTitle", ToActorAeTitle);
     writer.WriteElementString("IpAddress", ToActorIpAddress);
     writer.WriteEndElement();
     writer.WriteElementString("PortNumber", PortNumber.ToString());
     writer.WriteElementString("SecureConnection", SecureConnection.ToString());
     writer.WriteElementString("AutoValidate", AutoValidate.ToString());
     writer.WriteElementString("ActorOption1", ActorOption1);
     writer.WriteElementString("ActorOption2", ActorOption2);
     writer.WriteElementString("ActorOption3", ActorOption3);
     writer.WriteElementString("SessionId", _sessionId.ToString());
     writer.WriteElementString("SourceDataDirectory", _sourceDataDirectory);
     writer.WriteElementString("StoreDataDirectory", _storeDataDirectory);
     writer.WriteElementString("StoreData", _storeData.ToString());
     writer.WriteStartElement("DefinitionFiles");
     foreach (System.String defintionFilename in _definitionFiles)
     {
         writer.WriteElementString("DefinitionFile", defintionFilename);
     }
     writer.WriteEndElement();
     writer.WriteEndElement();
 }
예제 #8
0
        public void AutoValidate_SetInvalid_ThrowsInvalidEnumArgumentException(AutoValidate value)
        {
            var control = new ContainerControl();

            Assert.Throws <InvalidEnumArgumentException>("value", () => control.AutoValidate = value);
        }