/// <summary> /// Initialises the UserControl that has the Tabs for the currently selected Tab. /// </summary> private void InitChildUserControl(TPartnerEditScreenLogic.TModuleTabGroupEnum AModuleTabGroup) { switch (AModuleTabGroup) { case TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgPartner: if (!FInitialisedChildUCs.Contains(ucoPartnerTabSet.GetType().Name)) { FInitialisedChildUCs.Add(ucoPartnerTabSet.GetType().Name); this.ParentForm.Cursor = Cursors.WaitCursor; ucoPartnerTabSet.PetraUtilsObject = FPetraUtilsObject; ucoPartnerTabSet.PartnerEditUIConnector = FPartnerEditUIConnector; if (!FInitialisedChildUCs.Contains(ucoPersonnelTabSet.GetType().Name)) { ucoPartnerTabSet.InitiallySelectedTabPage = FInitiallySelectedTabPage; } else { ucoPartnerTabSet.InitiallySelectedTabPage = TPartnerEditTabPageEnum.petpAddresses; } ucoPartnerTabSet.MainDS = FMainDS; ucoPartnerTabSet.SpecialInitUserControl(); ucoPartnerTabSet.HookupDataChange += new THookupDataChangeEventHandler(ucoPartnerTabSet_HookupDataChange); ucoPartnerTabSet.HookupPartnerEditDataChange += new THookupPartnerEditDataChangeEventHandler( ucoPartnerTabSet_HookupPartnerEditDataChange); this.ParentForm.Cursor = Cursors.Default; } break; case TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgPersonnel: if (!FInitialisedChildUCs.Contains(ucoPersonnelTabSet.GetType().Name)) { FInitialisedChildUCs.Add(ucoPersonnelTabSet.GetType().Name); this.ParentForm.Cursor = Cursors.WaitCursor; ucoPersonnelTabSet.PetraUtilsObject = FPetraUtilsObject; ucoPersonnelTabSet.PartnerEditUIConnector = FPartnerEditUIConnector; if (!FInitialisedChildUCs.Contains(ucoPartnerTabSet.GetType().Name)) { ucoPersonnelTabSet.InitiallySelectedTabPage = FInitiallySelectedTabPage; } else { ucoPersonnelTabSet.InitiallySelectedTabPage = TPartnerEditTabPageEnum.petpPersonnelIndividualData; } ucoPersonnelTabSet.MainDS = FMainDS; ucoPersonnelTabSet.SpecialInitUserControl(); this.ParentForm.Cursor = Cursors.Default; } break; } FCurrentModuleTabGroup = AModuleTabGroup; }
/// <summary> /// Shows the UserControl that has the Tabs for the currently selected Tab. If needed, initialisation /// of the UserContol is done. /// </summary> public void ShowChildUserControl(TPartnerEditScreenLogic.TModuleTabGroupEnum AModuleTabGroup) { InitChildUserControl(AModuleTabGroup); switch (AModuleTabGroup) { case TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgPartner: ucoPartnerTabSet.Visible = true; ucoPersonnelTabSet.Visible = false; ucoPartnerTabSet.SelectTabPage(ucoPartnerTabSet.CurrentlySelectedTabPage); // make refresh happen break; case TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgPersonnel: ucoPersonnelTabSet.Visible = true; ucoPartnerTabSet.Visible = false; ucoPersonnelTabSet.SelectTabPage(ucoPersonnelTabSet.CurrentlySelectedTabPage); // make refresh happen break; } }
/// <summary> /// Sets Module-related Toggle Buttons in ToolBar up /// </summary> /// <returns>void</returns> private void SetupAvailableModuleDataItems(Boolean AEnable, TPartnerEditScreenLogic.TModuleTabGroupEnum ALockOnModule) { Boolean IsEnabled = false; // TODO 2 oChristianK cSecurity : Take security settings into consideration. // Partner Module Data if ((ALockOnModule == TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgNone) || (ALockOnModule == TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgPartner)) { if (ALockOnModule == TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgPartner) { IsEnabled = false; } else { IsEnabled = AEnable; } if (FPartnerClass == SharedTypes.PartnerClassEnumToString(TPartnerClass.PERSON)) { tbbViewPartnerData.Enabled = IsEnabled; mniViewPartnerData.Enabled = IsEnabled; mniMaintainFamilyMembers.Enabled = IsEnabled; mniMaintainGiftDestination.Enabled = IsEnabled; mniMaintainFamilyMembers.Text = MPartnerResourcestrings.StrFamilyMenuItemText.Substring(0, MPartnerResourcestrings.StrFamilyMenuItemText.Length - 3); // remove trailing "..." // TODO // // Exchange the 'Family Members' icon with the 'Family' icon! // this.XPMenuItemExtender.SetMenuGlyph(this.mniMaintainFamilyMembers, imlMenuHelper.Images[0]); } else if (FPartnerClass == SharedTypes.PartnerClassEnumToString(TPartnerClass.FAMILY)) { tbbViewPartnerData.Enabled = false; mniViewPartnerData.Enabled = false; mniMaintainFamilyMembers.Enabled = IsEnabled; mniMaintainGiftDestination.Enabled = IsEnabled; mniMaintainFamilyMembers.Text = MPartnerResourcestrings.StrFamilyMembersMenuItemText.Substring(0, MPartnerResourcestrings.StrFamilyMembersMenuItemText.Length - 3); // remove trailing "..."; } else { tbbViewPartnerData.Enabled = false; mniViewPartnerData.Enabled = false; // Following functionality is available only for PERSON and FAMILY mniMaintainFamilyMembers.Enabled = false; mniMaintainGiftDestination.Enabled = false; } mniMaintainAddresses.Enabled = IsEnabled; mniEditFindNewAddress.Enabled = IsEnabled; mniMaintainPartnerDetails.Enabled = IsEnabled; if (FFoundationDetailsEnabled) { mniMaintainFoundationDetails.Enabled = IsEnabled; } mniMaintainSubscriptions.Enabled = IsEnabled; mniMaintainSpecialTypes.Enabled = IsEnabled; mniMaintainLocalPartnerData.Enabled = IsEnabled; mniMaintainInterests.Enabled = IsEnabled; mniMaintainReminders.Enabled = IsEnabled; mniMaintainRelationships.Enabled = IsEnabled; mniMaintainContacts.Enabled = IsEnabled; mniMaintainNotes.Enabled = IsEnabled; mniMaintainFinanceDetails.Enabled = IsEnabled; } else { tbbViewPartnerData.Enabled = (!IsEnabled); tbbViewPartnerData.Enabled = (!IsEnabled); mniMaintainAddresses.Enabled = (!IsEnabled); mniEditFindNewAddress.Enabled = (!IsEnabled); mniMaintainPartnerDetails.Enabled = (!IsEnabled); if (!FFoundationDetailsEnabled) { mniMaintainFoundationDetails.Enabled = (!IsEnabled); } mniMaintainSubscriptions.Enabled = (!IsEnabled); mniMaintainSpecialTypes.Enabled = (!IsEnabled); mniMaintainLocalPartnerData.Enabled = (!IsEnabled); mniMaintainInterests.Enabled = (!IsEnabled); mniMaintainReminders.Enabled = (!IsEnabled); mniMaintainFamilyMembers.Enabled = (!IsEnabled); mniMaintainRelationships.Enabled = (!IsEnabled); mniMaintainContacts.Enabled = (!IsEnabled); mniMaintainNotes.Enabled = (!IsEnabled); mniMaintainGiftDestination.Enabled = (!IsEnabled); mniMaintainFinanceDetails.Enabled = (!IsEnabled); } // Personnel Module Data if ((ALockOnModule == TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgNone) || (ALockOnModule == TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgPersonnel)) { if (FPartnerClass == SharedTypes.PartnerClassEnumToString(TPartnerClass.PERSON)) { if (UserHasPersonnelAccess()) { tbbViewPersonnelData.Enabled = AEnable; mniViewPersonnelData.Enabled = AEnable; mniMaintainPersonnelData.Enabled = AEnable; } else { tbbViewPersonnelData.Enabled = false; mniViewPersonnelData.Enabled = false; mniMaintainPersonnelData.Enabled = false; } mniMaintainPersonnelData.Text = MPartnerResourcestrings.StrPersonnelPersonMenuItemText; } else if (FPartnerClass == SharedTypes.PartnerClassEnumToString(TPartnerClass.UNIT)) { mniMaintainPersonnelData.Enabled = AEnable; tbbViewPersonnelData.Enabled = false; mniViewPersonnelData.Enabled = false; mniMaintainPersonnelData.Text = MPartnerResourcestrings.StrPersonnelUnitMenuItemText; } else { tbbViewPersonnelData.Enabled = (!AEnable); mniViewPersonnelData.Enabled = (!AEnable); mniMaintainPersonnelData.Enabled = (!AEnable); } } else { tbbViewPersonnelData.Enabled = (!AEnable); mniViewPersonnelData.Enabled = (!AEnable); mniMaintainPersonnelData.Enabled = (!AEnable); } // Finance Module Data if (((ALockOnModule == TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgNone) || (ALockOnModule == TPartnerEditScreenLogic.TModuleTabGroupEnum.mtgFinance)) && UserHasFinanceAccess()) { //tbbViewFinanceData.Enabled = AEnable; // This Tab Group is not functional yet //mniViewFinanceData.Enabled = AEnable; // This Tab Group is not functional yet mniMaintainDonorHistory.Enabled = AEnable; mniMaintainRecipientHistory.Enabled = AEnable; // For the moment, we want all to stay disabled since they are not functional yet... // mniMaintainFinanceReports.Enabled := AEnable; // mniMaintainBankAccounts.Enabled := AEnable; // mniMaintainGiftReceipting.Enabled := AEnable; } else { //tbbViewFinanceData.Enabled = (!AEnable); // This Tab Group is not functional yet //mniViewFinanceData.Enabled = (!AEnable); // This Tab Group is not functional yet mniMaintainDonorHistory.Enabled = (!AEnable); mniMaintainRecipientHistory.Enabled = (!AEnable); // For the moment, we want all to stay disabled since they are not functional yet... // mniMaintainFinanceReports.Enabled := not AEnable; // mniMaintainBankAccounts.Enabled := not AEnable; // mniMaintainGiftReceipting.Enabled := not AEnable; } // For the moment, we want all to stay invisible since they are not functional yet... mniMaintainFinanceReports.Visible = false; mniMaintainBankAccounts.Visible = false; mniMaintainGiftReceipting.Visible = false; }