/// <summary> /// todoComment /// </summary> /// <param name="ADelegateFunction"></param> public void InitializeDelegateGetPartnerShortName(TDelegateGetPartnerShortName ADelegateFunction) { // this variable is never actually used // set the delegate function from the calling object // FDelegateGetPartnerShortName = ADelegateFunction; }
/// <summary> /// /// </summary> public void SpecialInitUserControl() { // disable change event while controls are being initialized as otherwise save button might get enabled FPetraUtilsObject.DisableDataChangedEvent(); /* Show/hide parts of the UserControl according to Partner Class of the Partner */ if (FMainDS.PPartner[0].PartnerClass == SharedTypes.PartnerClassEnumToString(TPartnerClass.FAMILY)) { grpFamily.Visible = false; grpFamilyMembers.Location = new System.Drawing.Point(4, 4); } else { grpFamilyID.Visible = false; grpFamilyMembersModify.Visible = false; btnFamilyIDHelp.Visible = false; /* Set up Family Partner Information */ txtFamilyPartnerKey.Text = String.Format("{0:0000000000}", FMainDS.PPerson[0].FamilyKey); } // initialize variables FDelegateGetPartnerShortName = @GetPartnerShortName; FDeadlineEditMode = false; // react to actions on grid grdFamilyMembers.DoubleClickCell += new TDoubleClickCellEventHandler(GrdFamilyMembers_DoubleClickCell); grdFamilyMembers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.GrdFamilyMembers_KeyDown); grdFamilyMembers.KeyUp += new System.Windows.Forms.KeyEventHandler(this.GrdFamilyMembers_KeyUp); // Hook up DataSavingStarted Event to be able to run code before SaveChanges is doing anything FPetraUtilsObject.DataSavingStarted += new TDataSavingStartHandler(this.DataSavingStarted); /* Check if data needs to be retrieved from the PetraServer */ if (FMainDS.FamilyMembers == null) { FFamilyMembersExist = LoadDataOnDemand(); } else { FMainDS.InitVars(); FFamilyMembersExist = FMainDS.FamilyMembers.Rows.Count > 0; } /* If Family Members exist, then DataGrid is created. */ if (FFamilyMembersExist) { /* Create SourceDataGrid columns */ CreateGridColumns(); /* DataBinding */ DataBindGrid(); /* Setup the DataGrid's visual appearance */ SetupDataGridVisualAppearance(); /* Prepare the Demote and Promote buttons first time */ PrepareArrowButtons(); /* Hook up event that fires when a different Row is selected */ grdFamilyMembers.Selection.FocusRowEntered += new RowEventHandler(this.DataGrid_FocusRowEntered); OnHookupDataChange(new THookupPartnerEditDataChangeEventArgs(TPartnerEditTabPageEnum.petpFamilyMembers)); } else { /* If Family has no members, these buttons are disabled */ this.btnFamilyMemberDemote.Enabled = false; this.btnFamilyMemberPromote.Enabled = false; this.btnMovePersonToOtherFamily.Enabled = false; this.btnEditPerson.Enabled = false; this.btnEditFamilyID.Enabled = false; /* this.btnAddExistingPersonToThisFamily.enabled := false; */ /* this.btnAddNewPersonThisFamily.enabled := false; */ } // now changes to controls can trigger enabling of save button again FPetraUtilsObject.EnableDataChangedEvent(); grdFamilyMembers.Focus(); ApplySecurity(); }