Пример #1
0
        /// <summary>
        /// Displays the dialog until the user enters valid data or clicks cancel.
        /// </summary>
        private TsCHdaBrowseFilter PromptUser()
        {
            while (ShowDialog() == DialogResult.OK)
            {
                try
                {
                    Technosoftware.DaAeHdaClient.Hda.TsCHdaAttribute attribute = (Technosoftware.DaAeHdaClient.Hda.TsCHdaAttribute)attributeCb_.SelectedItem;

                    if (attribute == null)
                    {
                        continue;
                    }

                    TsCHdaBrowseFilter filter = new TsCHdaBrowseFilter();

                    filter.AttributeID = attribute.ID;
                    filter.Operator    = (TsCHdaOperator)operatorCtrl_.Value;
                    filter.FilterValue = filterValueCtrl_.Value;

                    return(filter);
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }

            return(null);
        }
        /// <summary>
        /// Displays the dialog until the user enters valid data or clicks cancel.
        /// </summary>
        private TsCHdaBrowseFilter PromptUser()
        {
            while (ShowDialog() == DialogResult.OK)
            {
                try
                {
                    OpcClientSdk.Hda.TsCHdaAttribute attribute = (OpcClientSdk.Hda.TsCHdaAttribute)AttributeCB.SelectedItem;

                    if (attribute == null)
                    {
                        continue;
                    }

                    TsCHdaBrowseFilter filter = new TsCHdaBrowseFilter();

                    filter.AttributeID = attribute.ID;
                    filter.Operator    = (TsCHdaOperator)OperatorCTRL.Value;
                    filter.FilterValue = FilterValueCTRL.Value;

                    return(filter);
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }

            return(null);
        }
        /// <summary>
        /// Adds a browse filter to the list view.
        /// </summary>
        private void AddFilter(TsCHdaBrowseFilter filter)
        {
            ListViewItem item = new ListViewItem("", Resources.IMAGE_EXPLODING_BOX);

            item.SubItems.Add("");
            item.SubItems.Add("");

            item.SubItems[0].Text = mServer_.Attributes.Find(filter.AttributeID).Name;
            item.SubItems[1].Text = filter.Operator.ToString();
            item.SubItems[2].Text = Technosoftware.DaAeHdaClient.OpcConvert.ToString(filter.FilterValue);

            browseFiltersLv_.Items.Add(item);

            item.Tag = filter;
        }
        /// <summary>
        /// Adds a browse filter to the list view.
        /// </summary>
        private void AddFilter(TsCHdaBrowseFilter filter)
        {
            ListViewItem item = new ListViewItem("", Resources.IMAGE_EXPLODING_BOX);

            item.SubItems.Add("");
            item.SubItems.Add("");

            item.SubItems[0].Text = m_server.Attributes.Find(filter.AttributeID).Name;
            item.SubItems[1].Text = filter.Operator.ToString();
            item.SubItems[2].Text = OpcClientSdk.OpcConvert.ToString(filter.FilterValue);

            BrowseFiltersLV.Items.Add(item);

            item.Tag = filter;
        }
Пример #5
0
        /// <summary>
        /// Prompts the user to edit an existing browse filter.
        /// </summary>
        public TsCHdaBrowseFilter ShowDialog(TsCHdaServer server, TsCHdaBrowseFilter filter)
        {
            // add valid attribute ids to the combo box.
            attributeCb_.Items.Clear();

            foreach (Technosoftware.DaAeHdaClient.Hda.TsCHdaAttribute attribute in server.Attributes)
            {
                if (filter.AttributeID == attribute.ID)
                {
                    attributeCb_.Items.Add(attribute);
                    attributeCb_.SelectedItem = attribute;
                    break;
                }
            }

            operatorCtrl_.Value    = filter.Operator;
            filterValueCtrl_.Value = filter.FilterValue;

            // prompt user to edit filter.
            return(PromptUser());
        }
        /// <summary>
        /// Prompts the user to edit an existing browse filter.
        /// </summary>
        public TsCHdaBrowseFilter ShowDialog(TsCHdaServer server, TsCHdaBrowseFilter filter)
        {
            // add valid attribute ids to the combo box.
            AttributeCB.Items.Clear();

            foreach (OpcClientSdk.Hda.TsCHdaAttribute attribute in server.Attributes)
            {
                if (filter.AttributeID == attribute.ID)
                {
                    AttributeCB.Items.Add(attribute);
                    AttributeCB.SelectedItem = attribute;
                    break;
                }
            }

            OperatorCTRL.Value    = filter.Operator;
            FilterValueCTRL.Value = filter.FilterValue;

            // prompt user to edit filter.
            return(PromptUser());
        }
        /// <summary>
        /// Invokes the callback an passes the new browse filters.
        /// </summary>
        private void ApplyChanges()
        {
            ArrayList filters = new ArrayList();

            // add item id filter.
            if (itemNameTb_.Text != "")
            {
                TsCHdaBrowseFilter filter = new TsCHdaBrowseFilter();

                filter.AttributeID = Technosoftware.DaAeHdaClient.Hda.TsCHdaAttributeID.ITEMID;
                filter.Operator    = TsCHdaOperator.Equal;
                filter.FilterValue = itemNameTb_.Text;

                filters.Add(filter);
            }

            // add data type filter.
            if (dataTypeCtrl_.SelectedType != null && dataTypeCtrl_.SelectedType != typeof(object))
            {
                TsCHdaBrowseFilter filter = new TsCHdaBrowseFilter();

                filter.AttributeID = Technosoftware.DaAeHdaClient.Hda.TsCHdaAttributeID.DATA_TYPE;
                filter.Operator    = TsCHdaOperator.Equal;
                filter.FilterValue = dataTypeCtrl_.SelectedType;

                filters.Add(filter);
            }

            // add other attribute filters.
            foreach (ListViewItem item in browseFiltersLv_.Items)
            {
                filters.Add(item.Tag);
            }

            // send notification.
            if (mCallback_ != null)
            {
                mCallback_((int)maxElementsCtrl_.Value, (TsCHdaBrowseFilter[])filters.ToArray(typeof(TsCHdaBrowseFilter)));
            }
        }
        /// <summary>
        /// Invokes the callback an passes the new browse filters.
        /// </summary>
        private void ApplyChanges()
        {
            ArrayList filters = new ArrayList();

            // add item id filter.
            if (ItemNameTB.Text != "")
            {
                TsCHdaBrowseFilter filter = new TsCHdaBrowseFilter();

                filter.AttributeID = OpcClientSdk.Hda.TsCHdaAttributeID.ITEMID;
                filter.Operator    = TsCHdaOperator.Equal;
                filter.FilterValue = ItemNameTB.Text;

                filters.Add(filter);
            }

            // add data type filter.
            if (DataTypeCTRL.SelectedType != null && DataTypeCTRL.SelectedType != typeof(object))
            {
                TsCHdaBrowseFilter filter = new TsCHdaBrowseFilter();

                filter.AttributeID = OpcClientSdk.Hda.TsCHdaAttributeID.DATA_TYPE;
                filter.Operator    = TsCHdaOperator.Equal;
                filter.FilterValue = DataTypeCTRL.SelectedType;

                filters.Add(filter);
            }

            // add other attribute filters.
            foreach (ListViewItem item in BrowseFiltersLV.Items)
            {
                filters.Add(item.Tag);
            }

            // send notification.
            if (m_callback != null)
            {
                m_callback((int)MaxElementsCTRL.Value, (TsCHdaBrowseFilter[])filters.ToArray(typeof(TsCHdaBrowseFilter)));
            }
        }