/// <summary> /// initialize (called by the constructor) /// </summary> public void InitializeManualCode() { FFormSetupFinished = false; ArrangeMenuItemsAndToolBarButtons(); tbbEditPartner.Enabled = false; mniFileEditPartner.Enabled = false; // Initialise FRestrictToPartnerClasses Array FRestrictToPartnerClasses = new string[0]; // Set status bar texts FPetraUtilsObject.SetStatusBarText(btnAccept, MPartnerResourcestrings.StrAcceptButtonHelpText + MPartnerResourcestrings.StrPartnerFindSearchTargetText); FPetraUtilsObject.SetStatusBarText(btnCancel, MPartnerResourcestrings.StrCancelButtonHelpText + MPartnerResourcestrings.StrPartnerFindSearchTargetText); // catch enter on all controls, to trigger search or accept (could use this.AcceptButton, but we have several search buttons etc) this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.CatchEnterKey); mniFile.DropDownOpening += new System.EventHandler(MniFile_DropDownOpening); mniEdit.DropDownOpening += new System.EventHandler(MniEdit_DropDownOpening); mniMaintain.DropDownOpening += new System.EventHandler(MniMaintain_DropDownOpening); mniMailing.DropDownOpening += new System.EventHandler(MniMailing_DropDownOpening); mniFileRecentPartners.DropDownOpening += new System.EventHandler(MniFileRecentPartner_DropDownOpening); ucoFindByPartnerDetails.PartnerAvailable += new TUC_PartnerFind_ByPartnerDetails.TPartnerAvailableChangeEventHandler( ucoFindByPartnerDetails_PartnerAvailable); ucoFindByPartnerDetails.SearchOperationStateChange += new TUC_PartnerFind_ByPartnerDetails.TSearchOperationStateChangeEventHandler( ucoFindByPartnerDetails_SearchOperationStateChange); ucoFindByPartnerDetails.PartnerInfoPaneCollapsed += new EventHandler(ucoFindByPartnerDetails_PartnerInfoPaneCollapsed); ucoFindByPartnerDetails.PartnerInfoPaneExpanded += new EventHandler(ucoFindByPartnerDetails_PartnerInfoPaneExpanded); ucoFindByPartnerDetails.EnableAcceptButton += new EventHandler(ucoFindByPartnerDetails_EnableAcceptButton); ucoFindByPartnerDetails.DisableAcceptButton += new EventHandler(ucoFindByPartnerDetails_DisableAcceptButton); ucoFindByPartnerDetails.SetupPartnerInfoPane(); ucoFindByBankDetails.PartnerAvailable += new TUC_PartnerFind_ByPartnerDetails.TPartnerAvailableChangeEventHandler( ucoFindByPartnerDetails_PartnerAvailable); ucoFindByBankDetails.SearchOperationStateChange += new TUC_PartnerFind_ByPartnerDetails.TSearchOperationStateChangeEventHandler( ucoFindByPartnerDetails_SearchOperationStateChange); ucoFindByBankDetails.EnableAcceptButton += new EventHandler(ucoFindByPartnerDetails_EnableAcceptButton); ucoFindByBankDetails.DisableAcceptButton += new EventHandler(ucoFindByPartnerDetails_DisableAcceptButton); // FindByPartnerDetails tab is shown first FCurrentlySelectedTab = ucoFindByPartnerDetails; // add event which will populate the bank combo boxes when 'Find by bank details' tab is shown for the first time this.ucoFindByBankDetails.VisibleChanged += new EventHandler(TPartnerFindScreen_VisibleChanged); }
// called when the selected tab is changed private void TabChanged(System.Object sender, System.EventArgs e) { FPetraUtilsObject.RestoreAdditionalWindowPositionProperties(); // if FindByBankDetails tab is selected if (tpgFindBankDetails.Visible) { // disable PartnerInfo button in toolbar nad menu tbbPartnerInfo.Enabled = false; mniViewPartnerInfo.Enabled = false; FCurrentlySelectedTab = ucoFindByBankDetails; } else { tbbPartnerInfo.Enabled = true; mniViewPartnerInfo.Enabled = true; FCurrentlySelectedTab = ucoFindByPartnerDetails; } }
/// <summary> /// Used for passing parameters to the screen before it is actually shown. /// </summary> /// <param name="ARestrictToPartnerClasses">Pass in one or several PartnerClasses /// (separated by comma) to restrict the choice in the 'Partner Class' criteria /// ComboBox, or empty String '' to not restrict to any Partner Class. /// </param> /// <param name="ABankDetailsTabOnly">True if this instance should only display the /// Find By Bank Details tab /// </param> /// <param name="ADefaultClass">Set a default partner class</param> /// <param name="AInitiallyFocusLocationKey">True to set the focus on the location key</param> /// <param name="APassedLocationKey">location key</param> public void SetParameters(String ARestrictToPartnerClasses, bool ABankDetailsTabOnly, TPartnerClass? ADefaultClass, Boolean AInitiallyFocusLocationKey, Int32 APassedLocationKey) { FInitiallyFocusLocationKey = AInitiallyFocusLocationKey; if ((ARestrictToPartnerClasses == null) || (ARestrictToPartnerClasses.Length == 0)) { ucoFindByBankDetails.InitBankDetailsTab(FRestrictToPartnerClasses); if (ADefaultClass != null) { ucoFindByBankDetails.SetDefaultPartnerClass(ADefaultClass); } if (!ABankDetailsTabOnly) { ucoFindByPartnerDetails.Init(FInitiallyFocusLocationKey, FRestrictToPartnerClasses, APassedLocationKey); if (ADefaultClass != null) { ucoFindByPartnerDetails.SetDefaultPartnerClass(ADefaultClass); } } else { tabPartnerFindMethods.Controls.Remove(this.tpgFindPartner); tbbPartnerInfo.Visible = false; FCurrentlySelectedTab = ucoFindByBankDetails; } return; } ARestrictToPartnerClasses = ARestrictToPartnerClasses.Replace("WORKER", "WORKER-FAM"); // Split String into String Array FRestrictToPartnerClasses = ARestrictToPartnerClasses.Split(new Char[] { (',') }); // Check entries of String Array if (FRestrictToPartnerClasses.Length == 1) { // // Only one entry // if (FRestrictToPartnerClasses[0] != "") { if (FRestrictToPartnerClasses[0] != "WORKER-FAM") { // // Set the title, with the first character of the word // being upper-case, the rest lower-case. // this.Text = FRestrictToPartnerClasses[0].Substring(0, 1).ToUpper() + FRestrictToPartnerClasses[0].Substring(1).ToLower() + StrTitleLastPart; } else { this.Text = StrWorkerFamily + StrTitleLastPart; } } else { // If the one entry is empty string (''), show default title this.Text = StrTitleFirstPart + StrTitleLastPart; } } else { /* * When a "Recipient" button has been pressed to bring up this screen, the * ARestrictToPartnerClasses is "WORKER-FAM,UNIT". When we find this to be the * case, put 'Recipient Find' in the title. * NOTE: this isn't a very robust solution... */ if ((FRestrictToPartnerClasses[0].ToUpper() == "WORKER-FAM") && (FRestrictToPartnerClasses[1].ToUpper() == "UNIT")) { this.Text = StrTitleRecipient + StrTitleLastPart; } } btnAccept.Enabled = false; ucoFindByBankDetails.InitBankDetailsTab(FRestrictToPartnerClasses); if (!ABankDetailsTabOnly) { ucoFindByPartnerDetails.Init(FInitiallyFocusLocationKey, FRestrictToPartnerClasses, APassedLocationKey); } else { tabPartnerFindMethods.Controls.Remove(this.tpgFindPartner); tbbPartnerInfo.Visible = false; } }