private bool ProcessRecordMediaRemove(bool redo) { IGEDCOMStructWithLists swl = fObj as IGEDCOMStructWithLists; GDMMultimediaLink mediaLink = fNewVal as GDMMultimediaLink; bool result = (swl != null && mediaLink != null); if (result) { if (redo) { swl.MultimediaLinks.Extract(mediaLink); // bugfix(no delete!) } else { swl.MultimediaLinks.Add(mediaLink); } } return(result); }
private bool ProcessRecordNoteRemove(bool redo) { IGEDCOMStructWithLists swl = fObj as IGEDCOMStructWithLists; GDMNotes notes = fNewVal as GDMNotes; bool result = (swl != null && notes != null); if (result) { if (redo) { swl.Notes.Extract(notes); // bugfix(no delete!) } else { swl.Notes.Add(notes); } } return(result); }
private bool ProcessRecordMediaAdd(bool redo) { IGEDCOMStructWithLists swl = fObj as IGEDCOMStructWithLists; GDMMultimediaRecord mediaRec = fNewVal as GDMMultimediaRecord; bool result = (swl != null && mediaRec != null); if (result) { if (redo) { GDMMultimediaLink mmLink = swl.AddMultimedia(mediaRec); fOldVal = mmLink; } else { GDMMultimediaLink mmLink = fOldVal as GDMMultimediaLink; swl.MultimediaLinks.Delete(mmLink); } } return(result); }
private bool ProcessRecordNoteAdd(bool redo) { IGEDCOMStructWithLists swl = fObj as IGEDCOMStructWithLists; GDMNoteRecord noteRec = fNewVal as GDMNoteRecord; bool result = (swl != null && noteRec != null); if (result) { if (redo) { GDMNotes notes = swl.AddNote(noteRec); fOldVal = notes; } else { GDMNotes notes = fOldVal as GDMNotes; swl.Notes.Delete(notes); } } return(result); }
private bool ProcessRecordSourceCit(bool redo) { IGEDCOMStructWithLists swl = fObj as IGEDCOMStructWithLists; GDMSourceCitation sourceCit = fNewVal as GDMSourceCitation; if (swl == null || sourceCit == null) { return(false); } if (fType == OperationType.otRecordSourceCitRemove) { redo = !redo; } if (redo) { swl.SourceCitations.Add(sourceCit); } else { swl.SourceCitations.Extract(sourceCit); // bugfix(no delete!) } return(true); }
public static bool ModifySourceCitation(IBaseWindow baseWin, ChangeTracker undoman, IGEDCOMStructWithLists _struct, ref GDMSourceCitation cit) { bool result; try { baseWin.Context.BeginUpdate(); GDMTree tree = baseWin.Context.Tree; using (var dlg = AppHost.ResolveDialog <ISourceCitEditDlg>(baseWin)) { bool exists = cit != null; if (!exists) { cit = new GDMSourceCitation(_struct as GDMObject); } dlg.SourceCitation = cit; result = AppHost.Instance.ShowModalX(dlg, false); if (!exists) { if (result) { result = undoman.DoOrdinaryOperation(OperationType.otRecordSourceCitAdd, (GDMObject)_struct, cit); } else { cit.Dispose(); } } } } finally { baseWin.Context.EndUpdate(); } return(result); }