public void UpdateNameControls(GEDCOMPersonalName np)
        {
            if (np != null)
            {
                var parts = GKUtils.GetNameParts(fPerson, np, false);

                fView.Surname.Text    = parts.Surname;
                fView.Name.Text       = parts.Name;
                fView.Patronymic.Text = parts.Patronymic;

                fView.NamePrefix.Text    = np.Pieces.Prefix;
                fView.Nickname.Text      = np.Pieces.Nickname;
                fView.SurnamePrefix.Text = np.Pieces.SurnamePrefix;
                fView.NameSuffix.Text    = np.Pieces.Suffix;

                fView.MarriedSurname.Text = np.Pieces.MarriedName;
            }
            else
            {
                fView.Surname.Text    = "";
                fView.Name.Text       = "";
                fView.Patronymic.Text = "";

                fView.NamePrefix.Text    = "";
                fView.Nickname.Text      = "";
                fView.SurnamePrefix.Text = "";
                fView.NameSuffix.Text    = "";

                fView.MarriedSurname.Text = "";
            }
        }
Пример #2
0
        private void AcceptChanges()
        {
            GEDCOMPersonalName np = fPerson.PersonalNames[0];

            GKUtils.SetNameParts(np, txtSurname.Text, txtName.Text, cmbPatronymic.Text);

            GEDCOMPersonalNamePieces pieces = np.Pieces;

            pieces.Nickname      = txtNickname.Text;
            pieces.Prefix        = txtNamePrefix.Text;
            pieces.SurnamePrefix = txtSurnamePrefix.Text;
            pieces.Suffix        = txtNameSuffix.Text;
            if (IsExtendedWomanSurname())
            {
                pieces.MarriedName = txtMarriedSurname.Text;
            }

            fPerson.Sex         = (GEDCOMSex)cmbSex.SelectedIndex;
            fPerson.Patriarch   = chkPatriarch.Checked.GetValueOrDefault();
            fPerson.Bookmark    = chkBookmark.Checked.GetValueOrDefault();
            fPerson.Restriction = (GEDCOMRestriction)cmbRestriction.SelectedIndex;

            if (fPerson.ChildToFamilyLinks.Count > 0)
            {
                fPerson.ChildToFamilyLinks[0].Family.SortChilds();
            }

            fLocalUndoman.Commit();

            fBase.NotifyRecord(fPerson, RecordAction.raEdit);
        }
        public override void UpdateView()
        {
            try {
                GEDCOMPersonalName np = (fPerson.PersonalNames.Count > 0) ? fPerson.PersonalNames[0] : null;
                UpdateNameControls(np);

                fView.SexCombo.SelectedIndex = (sbyte)fPerson.Sex;
                fView.Patriarch.Checked      = fPerson.Patriarch;
                fView.Bookmark.Checked       = fPerson.Bookmark;

                //cmbRestriction.SelectedIndexChanged -= cbRestriction_SelectedIndexChanged;
                fView.RestrictionCombo.SelectedIndex = (sbyte)fPerson.Restriction;
                //cmbRestriction.SelectedIndexChanged += cbRestriction_SelectedIndexChanged;

                fView.EventsList.ListModel.DataOwner       = fPerson;
                fView.NotesList.ListModel.DataOwner        = fPerson;
                fView.MediaList.ListModel.DataOwner        = fPerson;
                fView.SourcesList.ListModel.DataOwner      = fPerson;
                fView.AssociationsList.ListModel.DataOwner = fPerson;

                fView.GroupsList.ListModel.DataOwner  = fPerson;
                fView.NamesList.ListModel.DataOwner   = fPerson;
                fView.SpousesList.ListModel.DataOwner = fPerson;
                fView.UserRefList.ListModel.DataOwner = fPerson;
                fView.ParentsList.ListModel.DataOwner = fPerson;

                UpdateControls(true);
            } catch (Exception ex) {
                Logger.LogWrite("PersonEditDlgController.UpdateView(): " + ex.Message);
            }
        }
        public override bool Accept()
        {
            try {
                GEDCOMPersonalName np = fPerson.PersonalNames[0];
                GKUtils.SetNameParts(np, fView.Surname.Text, fView.Name.Text, fView.Patronymic.Text);

                GEDCOMPersonalNamePieces pieces = np.Pieces;
                pieces.Nickname      = fView.Nickname.Text;
                pieces.Prefix        = fView.NamePrefix.Text;
                pieces.SurnamePrefix = fView.SurnamePrefix.Text;
                pieces.Suffix        = fView.NameSuffix.Text;
                if (IsExtendedWomanSurname())
                {
                    pieces.MarriedName = fView.MarriedSurname.Text;
                }

                fPerson.Sex         = (GEDCOMSex)fView.SexCombo.SelectedIndex;
                fPerson.Patriarch   = fView.Patriarch.Checked;
                fPerson.Bookmark    = fView.Bookmark.Checked;
                fPerson.Restriction = (GEDCOMRestriction)fView.RestrictionCombo.SelectedIndex;

                fBase.Context.ProcessIndividual(fPerson);

                fLocalUndoman.Commit();

                fBase.NotifyRecord(fPerson, RecordAction.raEdit);

                return(true);
            } catch (Exception ex) {
                Logger.LogWrite("PersonEditDlgController.Accept(): " + ex.Message);
                return(false);
            }
        }
Пример #5
0
        public override void Undo()
        {
            if (fPerson == null)
            {
                return;
            }

            GEDCOMPersonalName np = fPerson.PersonalNames[0];

            GKUtils.SetNameParts(np, fOldSurname, fOldName, fOldPatronymic);
        }
        public override void Setup()
        {
            base.Setup();

            fBase         = new BaseWindowMock();
            fPersonalName = new GEDCOMPersonalName(fBase.Context.Tree, fBase.Context.Tree, "", "");

            fDialog = new PersonalNameEditDlg();
            fDialog.InitDialog(fBase);
            fDialog.PersonalName = fPersonalName;
            fDialog.Show();
        }
Пример #7
0
 private void SetPersonalName(GEDCOMPersonalName value)
 {
     fPersonalName = value;
     try
     {
         UpdateControls();
     }
     catch (Exception ex)
     {
         Logger.LogWrite("PersonalNameEditDlg.SetPersonalName(): " + ex.Message);
     }
 }
        public override void Setup()
        {
            base.Setup();

            fBase         = new BaseWindowStub();
            fPerson       = new GEDCOMIndividualRecord(fBase.Context.Tree, fBase.Context.Tree, "", "");
            fPersonalName = new GEDCOMPersonalName(fBase.Context.Tree, fPerson, "", "");

            fDialog = new PersonalNameEditDlg(fBase);
            fDialog.PersonalName = fPersonalName;
            fDialog.Show();
        }
Пример #9
0
        private void SetPerson(GEDCOMIndividualRecord value)
        {
            fPerson = value;

            try
            {
                var parts = GKUtils.GetNameParts(fPerson, false);
                txtSurname.Text = parts.Surname;
                txtName.Text    = parts.Name;

                cmbPatronymic.AutoComplete = true; // FIXME: Wrapper for EtoBug in ComboBox.setText
                cmbPatronymic.Text         = parts.Patronymic;
                cmbPatronymic.AutoComplete = false;

                cmbSex.SelectedIndex = (sbyte)fPerson.Sex;
                chkPatriarch.Checked = fPerson.Patriarch;
                chkBookmark.Checked  = fPerson.Bookmark;

                cmbRestriction.SelectedIndexChanged -= cbRestriction_SelectedIndexChanged;
                cmbRestriction.SelectedIndex         = (sbyte)fPerson.Restriction;
                cmbRestriction.SelectedIndexChanged += cbRestriction_SelectedIndexChanged;

                if (fPerson.PersonalNames.Count > 0)
                {
                    GEDCOMPersonalName np = fPerson.PersonalNames[0];
                    txtNamePrefix.Text    = np.Pieces.Prefix;
                    txtNickname.Text      = np.Pieces.Nickname;
                    txtSurnamePrefix.Text = np.Pieces.SurnamePrefix;
                    txtNameSuffix.Text    = np.Pieces.Suffix;

                    txtMarriedSurname.Text = np.Pieces.MarriedName;
                }

                fEventsList.ListModel.DataOwner       = fPerson;
                fNotesList.ListModel.DataOwner        = fPerson;
                fMediaList.ListModel.DataOwner        = fPerson;
                fSourcesList.ListModel.DataOwner      = fPerson;
                fAssociationsList.ListModel.DataOwner = fPerson;

                fGroupsList.ListModel.DataOwner  = fPerson;
                fNamesList.ListModel.DataOwner   = fPerson;
                fSpousesList.ListModel.DataOwner = fPerson;
                fUserRefList.ListModel.DataOwner = fPerson;

                UpdateControls(true);
            }
            catch (Exception ex)
            {
                Logger.LogWrite("PersonEditDlg.SetPerson(): " + ex.Message);
            }
        }
Пример #10
0
        public override bool Redo()
        {
            bool result = true;

            if (fPerson == null)
            {
                result = false;
            }
            else
            {
                GEDCOMPersonalName np = fPerson.PersonalNames[0];
                var parts             = GKUtils.GetNameParts(np);

                fOldSurname    = parts.Surname;
                fOldName       = parts.Name;
                fOldPatronymic = parts.Patronymic;

                GKUtils.SetNameParts(np, fNewSurname, fNewName, fNewPatronymic);
            }

            return(result);
        }
Пример #11
0
        private bool ProcessIndividualName(bool redo)
        {
            GEDCOMIndividualRecord iRec     = fObj as GEDCOMIndividualRecord;
            GEDCOMPersonalName     persName = fNewVal as GEDCOMPersonalName;

            if (iRec == null || persName == null)
            {
                return(false);
            }

            if (fType == OperationType.otIndividualNameRemove)
            {
                redo = !redo;
            }
            if (redo)
            {
                iRec.PersonalNames.Add(persName);
            }
            else
            {
                iRec.PersonalNames.Extract(persName);
            }
            return(true);
        }
Пример #12
0
        public override void Modify(object sender, ModifyEventArgs eArgs)
        {
            var iRec = fDataOwner as GEDCOMIndividualRecord;

            if (fBaseWin == null || fSheetList == null || iRec == null)
            {
                return;
            }

            GEDCOMPersonalName persName = eArgs.ItemData as GEDCOMPersonalName;

            bool result = false;

            switch (eArgs.Action)
            {
            case RecordAction.raAdd:
            case RecordAction.raEdit:
                using (var dlg = AppHost.Container.Resolve <IPersonalNameEditDlg>())
                {
                    dlg.InitDialog(fBaseWin);

                    bool exists = (persName != null);
                    if (!exists)
                    {
                        persName = new GEDCOMPersonalName(fBaseWin.Context.Tree, iRec, "", "");
                    }

                    dlg.PersonalName = persName;
                    result           = AppHost.Instance.ShowModalX(dlg, false);

                    if (!exists)
                    {
                        if (result)
                        {
                            result = fUndoman.DoOrdinaryOperation(OperationType.otIndividualNameAdd, iRec, persName);
                        }
                        else
                        {
                            persName.Dispose();
                        }
                    }
                }
                break;

            case RecordAction.raDelete:
                if (iRec.PersonalNames.Count > 1)
                {
                    result = (AppHost.StdDialogs.ShowQuestionYN(LangMan.LS(LSID.LSID_RemoveNameQuery)));
                    if (result)
                    {
                        result = fUndoman.DoOrdinaryOperation(OperationType.otIndividualNameRemove, iRec, persName);
                    }
                }
                else
                {
                    AppHost.StdDialogs.ShowError(LangMan.LS(LSID.LSID_RemoveNameFailed));
                }
                break;

            case RecordAction.raMoveUp:
            case RecordAction.raMoveDown:
                int idx = iRec.PersonalNames.IndexOf(persName);
                switch (eArgs.Action)
                {
                case RecordAction.raMoveUp:
                    iRec.PersonalNames.Exchange(idx - 1, idx);
                    break;

                case RecordAction.raMoveDown:
                    iRec.PersonalNames.Exchange(idx, idx + 1);
                    break;
                }
                result = true;
                break;
            }

            if (result)
            {
                fBaseWin.Context.Modified = true;
                eArgs.IsChanged           = true;
            }
        }