Пример #1
0
        private void listLinks_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            PropertyGridSelectObject(null);

            if (listLinks.SelectedIndex == 0)
            {
                // "<new ...>" link is selected
                buttonRemove.Enabled = false;

                providerExchangeItemSelector.ClearCheckboxes();
                acceptorExchangeItemSelector.ClearCheckboxes();
            }
            else
            {
                ILink link = (ILink)_uilink.Links[listLinks.SelectedIndex - 1];

                ArrayList dataOperations = new ArrayList(link.DataOperationsCount);
                for (int i = 0; i < link.DataOperationsCount; i++)
                {
                    dataOperations.Add(link.GetDataOperation(i));
                }

                providerExchangeItemSelector.SetCheckedExchangeItem(link.SourceQuantity, link.SourceElementSet, (IDataOperation[])dataOperations.ToArray(typeof(IDataOperation)));
                providerExchangeItemSelector.ExpandChecked();

                acceptorExchangeItemSelector.SetCheckedExchangeItem(link.TargetQuantity, link.TargetElementSet, null);
                acceptorExchangeItemSelector.ExpandChecked();

                buttonRemove.Enabled = true;
            }

            UpdateViewElementSetButton();
        }
Пример #2
0
        private void ApplyDimensionFilters()
        {
            // save checkstate of acceptor
            IQuantity   acceptorQuantity;
            IElementSet acceptorElementSet;

            IDataOperation[] dummyDataOperations;
            acceptorExchangeItemSelector.GetCheckedExchangeItem(out acceptorQuantity, out acceptorElementSet, out dummyDataOperations);

            // Get filters from provider
            IQuantity   providerQuantity;
            IElementSet providerElementSet;

            IDataOperation[] providerDataOperations;
            providerExchangeItemSelector.GetCheckedExchangeItem(out providerQuantity, out providerElementSet, out providerDataOperations);

            // Apply filters to acceptor (implicitly redraws its tree if any change is done)
            if (DimensionFilterCheckBox.Checked)
            {
                if (providerQuantity != null)
                {
                    acceptorExchangeItemSelector.EnableDimensionFilter(providerQuantity.Dimension);
                }
                else
                {
                    acceptorExchangeItemSelector.EnableDimensionFilter(null);
                }
            }
            else
            {
                acceptorExchangeItemSelector.EnableDimensionFilter(null);
            }

            if (ElementTypeFilterCheckBox.Checked)
            {
                acceptorExchangeItemSelector.EnableElementSetFilter(providerElementSet);
            }
            else
            {
                acceptorExchangeItemSelector.EnableElementSetFilter(null);
            }

            // try to restore as many of the check-state of acceptorExchangeItemSelector as possible
            acceptorExchangeItemSelector.SetCheckedExchangeItem(acceptorQuantity, acceptorElementSet, dummyDataOperations);
            acceptorExchangeItemSelector.ExpandChecked();
        }