/// <summary> /// Initializes a new instance of the ExportSelectionDialog class. /// Shows the sequence selection dialog /// </summary> /// <param name="callbackForSelectionHelper"> /// Callback to method which will show the selection helper and return selection address as string /// </param> /// <param name="maxSequenceCount">Maximum number of sequences user can select</param> public ExportSelectionDialog( SelectionHelperCallback callbackForSelectionHelper, int maxSequenceCount) { this.IsSequenceNameVisible = true; this.GetSelectionFromSheet = callbackForSelectionHelper; this.maxSequenceItems = maxSequenceCount > 1 ? maxSequenceCount : 1; InitializeComponent(); }
/// <summary> /// Initializes a new instance of the InputSelectionDialog class. /// Shows the sequence selection dialog /// </summary> /// <param name="callbackForSelectionHelper"> /// Callback to method which will show the selection helper and return selection address as string /// </param> /// <param name="minSequenceCount">Minimum number of sequences to be selected.</param> /// <param name="maxSequenceCount">Maximum number of sequences user can select.</param> /// <param name="intersectOperation">Is this intersect operation</param> /// <param name="isOverlappingIntervalVisible">Is overlapping interval visible</param> /// <param name="isMinimumOverlapVisible">Is minimum overlap visible</param> /// <param name="sequenceLabels"> /// Labels to be displayed for each sequence textbox. ex : "Reference Sequence". /// Labels will be applied from top to bottom in the order of labels given to a /// maximum number of 'minSequenceCount' /// </param> public InputSelectionDialog( SelectionHelperCallback callbackForSelectionHelper, int minSequenceCount, int maxSequenceCount, bool intersectOperation, bool isOverlappingIntervalVisible, bool isMinimumOverlapVisible, params string[] sequenceLabels) { this.IsSequenceNameVisible = true; this.GetSelectionFromSheet = callbackForSelectionHelper; this.sequenceLabels = sequenceLabels; this.minSequenceItems = minSequenceCount > 1 ? minSequenceCount : 1; this.maxSequenceItems = maxSequenceCount > minSequenceCount ? maxSequenceCount : this.minSequenceItems; InitializeComponent(); if (!isOverlappingIntervalVisible) { this.stkOverlapping.Visibility = Visibility.Collapsed; // This is merge operation, so set the default to "0" this.txtOverlap.Text = "0"; this.isUseMetadataCheckBoxVisible = false; } else { this.isUseMetadataCheckBoxVisible = true; bool isFirst = true; foreach (InputSequenceItem item in this.GetSequences()) { item.IsUseMetadataCheckBoxVisible = this.isUseMetadataCheckBoxVisible; if (isFirst && this.isUseMetadataCheckBoxVisible) { item.IsUseMetadataSelected = true; isFirst = false; } item.UseMetadataSelected += new RoutedEventHandler(OnUseMetadataSelected); } this.Initialize(intersectOperation); } if (!isMinimumOverlapVisible) { this.stkMinimumOverlap.Visibility = Visibility.Collapsed; } }