Пример #1
0
        private void EditElement()
        {
            MWLQueryResultItem item = listControler.GetSelectedItem() as MWLQueryResultItem;

            if (item == null)
            {
                return;
            }

            //if (!Program.StandAlone)
            //{
            //    if (item == null ||
            //        item.TargetField == WorklistSCPHelper.DataColumns.RequestedProcedureID ||
            //        item.TargetField == WorklistSCPHelper.DataColumns.ScheduledProcedureStepID) return;
            //}

            FormQRElement frm = new FormQRElement(item);

            if (frm.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            RefreshList();
            listControler.SelectItem(item);
            RefreshButton();
        }
Пример #2
0
        protected override void _listViewElement_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            base._listViewElement_ItemCheck(sender, e);

            ListViewItem       item = this._listViewElement.Items[e.Index];
            MWLQueryResultItem qr   = item.Tag as MWLQueryResultItem;

            if (qr == null)
            {
                return;
            }

            if (EnsurePrimaryKey && qr.TargetField == Program.ConfigMgt.Config.PrimaryKeyColumnName)
            {
                if (bPrimaryKeyWarning && e.NewValue != CheckState.Checked)
                {
                    MessageBox.Show(_listViewElement, "This element has been marked in the merging rule and should always be enabled. \r\n\r\n" +
                                    "If you want to modify the element mapping rule, please click the \"Edit\" button.\r\n" +
                                    "If you want to modify the merging rule, please click the \"Advance\" button.",
                                    "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                e.NewValue = CheckState.Checked;
            }

            if (//qr.TargetField == WorklistSCPHelper.DataColumns.StudyInstanceUID ||
                //qr.TargetField == WorklistSCPHelper.DataColumns.RequestedProcedureID ||
                //qr.TargetField == WorklistSCPHelper.DataColumns.ScheduledProcedureStepID ||
                qr.TargetField == WorklistSCPHelper.DataColumns.ScheduledProtocolCodeSequence ||
                qr.TargetField == WorklistSCPHelper.DataColumns.ScheduledProcedureStepSequence)
            {
                e.NewValue = CheckState.Checked;
            }
        }
Пример #3
0
        public override void RefreshList(IDicomMappingItem[] itemlist)
        {
            base.RefreshList(itemlist);

            foreach (ListViewItem item in _listViewElement.Items)
            {
                MWLQueryResultItem qr = item.Tag as MWLQueryResultItem;
                if (qr == null)
                {
                    continue;
                }
                if ((qr.TargetField == WorklistSCPHelper.DataColumns.StudyInstanceUID && Program.ConfigMgt.Config.AutoGenerateSTDUID) ||     //RIS2.0 is not responsible for creating study instnace uid
                    (qr.TargetField == WorklistSCPHelper.DataColumns.RequestedProcedureID && Program.ConfigMgt.Config.AutoGenerateRPID) ||
                    (qr.TargetField == WorklistSCPHelper.DataColumns.ScheduledProcedureStepID && Program.ConfigMgt.Config.AutoGenerateSPSPID))
                {
                    //item.ForeColor = clrAuto;
                    //item.SubItems[3].Text = "";
                    item.SubItems[4].Text = "[Auto]";
                }
                else if ((qr.TargetField == WorklistSCPHelper.DataColumns.ScheduledStationAETitle && Program.ConfigMgt.Config.LookupAETitleByIPInModalityListForScheduledStationAETitle) ||
                         (qr.TargetField == WorklistSCPHelper.DataColumns.ScheduledStationName && Program.ConfigMgt.Config.LookupDescriptionByIPInModalityListForScheduledStationName))
                {
                    item.SubItems[4].Text = "[Lookup]";
                }
                else if (qr.TargetField == WorklistSCPHelper.DataColumns.ScheduledProcedureStepSequence ||
                         qr.TargetField == WorklistSCPHelper.DataColumns.ScheduledProtocolCodeSequence)
                {
                    item.ForeColor = clrInvalid;
                }
            }
        }
Пример #4
0
 private void LoadDefault()
 {
     Program.ConfigMgt.Config.Rule.QueryResult.MappingList.Clear();
     MWLQueryResultItem[] qrlist = MWLQueryResultItem.GetDefault();
     foreach (MWLQueryResultItem qr in qrlist)
     {
         Program.ConfigMgt.Config.Rule.QueryResult.MappingList.Add(qr);
     }
     RefreshList();
     RefreshButton();
 }
Пример #5
0
        private void RefreshButton()
        {
            this.buttonClearSelection.Enabled =
                this.buttonSelectAll.Enabled  = listControler.GetItemCount() > 0;

            MWLQueryResultItem item = listControler.GetSelectedItem() as MWLQueryResultItem;

            //if (item == null ||
            //    item.DPath.VR == DVR.SQ ||
            //    item.DPath.VR == DVR.Unknown)
            //{
            //    this.buttonEdit.Enabled = false;
            //}
            //else
            //{
            //    //if (!Program.StandAlone)
            //    //{
            //    //    this.buttonEdit.Enabled =
            //    //         (item.TargetField != WorklistSCPHelper.DataColumns.RequestedProcedureID) &&
            //    //         (item.TargetField != WorklistSCPHelper.DataColumns.ScheduledProcedureStepID);
            //    //}
            //    //else
            //    //{
            //        this.buttonEdit.Enabled = true;
            //    //}
            //}

            this.buttonAdd.Enabled = true;
            bool isValid = (item != null) && (item.DPath.Type == DPathType.Normal);

            this.buttonAddChild.Enabled = isValid && (item.DPath.VR == DVR.SQ);
            this.buttonDelete.Enabled   = buttonEdit2.Enabled = isValid;

            if (isValid)
            {
                if (item.TargetField == WorklistSCPHelper.DataColumns.PatientID ||
                    item.TargetField == WorklistSCPHelper.DataColumns.AccessionNumber ||
                    item.TargetField == WorklistSCPHelper.DataColumns.StudyInstanceUID ||
                    item.TargetField == WorklistSCPHelper.DataColumns.RequestedProcedureID ||
                    item.TargetField == WorklistSCPHelper.DataColumns.ScheduledProcedureStepID ||
                    item.TargetField == WorklistSCPHelper.DataColumns.CodeValueOfRequestedProcedureCodeSequence ||
                    item.TargetField == WorklistSCPHelper.DataColumns.CodeValueOfScheduledProtocolCodeSequence)
                {
                    this.buttonDelete.Enabled = false;
                }
                else if (item.TargetField == WorklistSCPHelper.DataColumns.ScheduledProcedureStepSequence ||
                         item.TargetField == WorklistSCPHelper.DataColumns.ScheduledProtocolCodeSequence ||
                         item.TargetField == WorklistSCPHelper.DataColumns.RequestedProcedureCodeSequence)
                {
                    this.buttonEdit2.Enabled = this.buttonDelete.Enabled = false;
                }
            }
        }
Пример #6
0
        private void buttonAddChild_Click(object sender, EventArgs e)
        {
            MWLQueryResultItem item = listControler.AddChild <MWLQueryResultItem>(this, Program.ConfigMgt.Config.Rule.QueryResult.MappingList);

            if (item == null)
            {
                return;
            }

            RefreshList();
            listControler.SelectItem(item);
            RefreshButton();
        }
Пример #7
0
        public FormQRElement(MWLQueryResultItem item)
        {
            InitializeComponent();

            _qrItem = item;

            _isAuto = (item.TargetField == WorklistSCPHelper.DataColumns.RequestedProcedureID ||
                       item.TargetField == WorklistSCPHelper.DataColumns.ScheduledProcedureStepID ||
                       item.TargetField == WorklistSCPHelper.DataColumns.StudyInstanceUID);

            _tagControler = new TagControler(true, this.groupBoxDicom,
                                             this.comboBoxVR, this.comboBoxTag, this.textBoxGroupNum, this.textBoxElementNum);
            _tagControler.OnValueChanged += new EventHandler(_tagControler_OnValueChanged);

            _fieldControler = new FieldControler(true, this.groupBoxGateway,
                                                 this.comboBoxTable, this.comboBoxField, this.checkBoxFixValue,
                                                 this.textBoxFixValue, this.checkBoxLUT, this.comboBoxLUT, false);
            _fieldControler.OnValueChanged += new EventHandler(_fieldControler_OnValueChanged);

            _tagControler.Enabled = false;
        }
Пример #8
0
        private void Advance()
        {
            FormQRAdvance frm = new FormQRAdvance();

            if (frm.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            listControler.EnsurePrimaryKey = Program.ConfigMgt.Config.MergeElementList;
            if (listControler.EnsurePrimaryKey)
            {
                foreach (ListViewItem item in this.listViewElement.Items)
                {
                    MWLQueryResultItem qr = item.Tag as MWLQueryResultItem;
                    if (qr != null && qr.TargetField == Program.ConfigMgt.Config.PrimaryKeyColumnName)
                    {
                        qr.DPath.Enable = true;
                        break;
                    }
                }
                RefreshList();
            }
        }