public override void Setup() { base.Setup(); fBase = new BaseWindowStub(); fUserRef = new GEDCOMUserReference(fBase.Context.Tree, null, "", ""); fDialog = new UserRefEditDlg(fBase); fDialog.UserRef = fUserRef; fDialog.Show(); }
private bool ProcessIndividualURef(bool redo) { GEDCOMIndividualRecord iRec = fObj as GEDCOMIndividualRecord; GEDCOMUserReference uRef = fNewVal as GEDCOMUserReference; if (iRec == null || uRef == null) { return(false); } if (fType == OperationType.otIndividualURefRemove) { redo = !redo; } if (redo) { iRec.UserReferences.Add(uRef); } else { iRec.UserReferences.Extract(uRef); } return(true); }
public override void Modify(object sender, ModifyEventArgs eArgs) { var iRec = fDataOwner as GEDCOMIndividualRecord; if (fBaseWin == null || fSheetList == null || iRec == null) { return; } GEDCOMUserReference userRef = eArgs.ItemData as GEDCOMUserReference; bool result = false; switch (eArgs.Action) { case RecordAction.raAdd: case RecordAction.raEdit: using (var dlg = AppHost.Container.Resolve <IUserRefEditDlg>()) { dlg.InitDialog(fBaseWin); bool exists = (userRef != null); if (!exists) { userRef = new GEDCOMUserReference(fBaseWin.Context.Tree, iRec, "", ""); } dlg.UserRef = userRef; result = AppHost.Instance.ShowModalX(dlg, false); if (!exists) { if (result) { result = fUndoman.DoOrdinaryOperation(OperationType.otIndividualURefAdd, iRec, userRef); } else { userRef.Dispose(); } } } break; case RecordAction.raDelete: { string confirmation = !string.IsNullOrEmpty(userRef.StringValue) ? userRef.StringValue : userRef.ReferenceType; confirmation = string.Format( LangMan.LS(LSID.LSID_RemoveUserRefQuery), confirmation); if (AppHost.StdDialogs.ShowQuestionYN(confirmation)) { result = fUndoman.DoOrdinaryOperation(OperationType.otIndividualURefRemove, iRec, userRef); fBaseWin.Context.Modified = true; } break; } } if (result) { fBaseWin.Context.Modified = true; eArgs.IsChanged = true; } }
private void SetUserRef(GEDCOMUserReference value) { fUserRef = value; cmbRef.Text = fUserRef.StringValue; cmbRefType.Text = fUserRef.ReferenceType; }