コード例 #1
0
 /// <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;
 }
コード例 #2
0
        /// <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();
        }