/// <summary> /// Switch to the given tab /// </summary> /// <param name="ATab"></param> /// <param name="AAllowRepeatEvent"></param> public void SelectTab(eGiftTabs ATab, bool AAllowRepeatEvent = false) { if (ATab == eGiftTabs.Batches) { if ((FPreviouslySelectedTab == eGiftTabs.Batches) && !AAllowRepeatEvent) { //Repeat event return; } FPreviouslySelectedTab = eGiftTabs.Batches; FPetraUtilsObject.RestoreAdditionalWindowPositionProperties(); this.tabGiftBatch.SelectedTab = this.tpgRecurringBatches; this.tpgRecurringTransactions.Enabled = (ucoRecurringBatches.GetSelectedDetailRow() != null); this.ucoRecurringBatches.SetFocusToGrid(); } else if (ATab == eGiftTabs.Transactions) { if ((FPreviouslySelectedTab == eGiftTabs.Transactions) && !AAllowRepeatEvent) { //Repeat event return; } if (this.tpgRecurringTransactions.Enabled) { FPreviouslySelectedTab = eGiftTabs.Transactions; // Note!! This call may result in this (SelectTab) method being called again (but no new transactions will be loaded the second time) this.tabGiftBatch.SelectedTab = this.tpgRecurringTransactions; ARecurringGiftBatchRow SelectedRow = ucoRecurringBatches.GetSelectedDetailRow(); // If there's only one GiftBatch row, I'll not require that the user has selected it! if (FMainDS.ARecurringGiftBatch.Rows.Count == 1) { SelectedRow = FMainDS.ARecurringGiftBatch[0]; } if (SelectedRow != null) { try { this.Cursor = Cursors.WaitCursor; LoadTransactions(SelectedRow.LedgerNumber, SelectedRow.BatchNumber); } finally { this.Cursor = Cursors.Default; } } ucoRecurringTransactions.FocusGrid(); } } }