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(); }
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(); }