public WriteFileWorker( object sender, ProgressReporterInterface progress, string filename, FamilyFileTypeOperation operation, int filterIndex, ref FamilyTreeStoreBaseClass tree) { trace = new TraceSource("WriteFileWorker", SourceLevels.Warning); trace.TraceInformation("WriteFileWorker(" + filename + ")" + DateTime.Now); progressString = "Exporting..."; familyTree = tree; this.operation = operation; this.filterIndex = filterIndex; progressReporter = progress; backgroundWorker = new BackgroundWorker(); backgroundWorker.WorkerReportsProgress = true; backgroundWorker.DoWork += new DoWorkEventHandler(DoWork); backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(Completed); backgroundWorker.ProgressChanged += new ProgressChangedEventHandler(ProgressChanged); backgroundWorker.RunWorkerAsync(filename); }
public string GetFileTypeFilter(FamilyFileTypeOperation operation) { string filterStr = ""; foreach (FamilyFileTypeBaseClass fileType in codecList) { if (fileType.GetFileTypeFilter(operation) != null) { trace.TraceInformation("GetFileTypeFilter - add " + fileType.GetType() + ":" + fileType.GetFileTypeFilter(operation)); if (filterStr.Length > 0) { filterStr += "|"; } filterStr += fileType.GetFileTypeFilter(operation); } else { trace.TraceInformation("GetFileTypeFilter - ignore " + fileType.GetType()); } } if (filterStr.Length > 0) { filterStr += "|"; } filterStr += "All files|*.*"; return(filterStr); }
public string GetFileTypeFilter(FamilyFileTypeOperation operation) { if ((operation == FamilyFileTypeOperation.Open) || (operation == FamilyFileTypeOperation.Import)) { FamilyFileTypeCollection codec = new FamilyFileTypeCollection(); string filter; filter = codec.GetFileTypeFilter(operation); codec = null; return(filter); } else if ((operation == FamilyFileTypeOperation.Save) || (operation == FamilyFileTypeOperation.Export)) { FamilyFileEncoderCollection codec = new FamilyFileEncoderCollection(); string filter; filter = codec.GetFileTypeFilter(operation); codec = null; return(filter); } return(null); }
public override string GetFileTypeFilter(FamilyFileTypeOperation operation) { if (operation == FamilyFileTypeOperation.Import) { return("Anarkiv|*.ddb"); } return(null); }
public override string GetFileTypeFilter(FamilyFileTypeOperation operation = FamilyFileTypeOperation.Open) { if (operation == FamilyFileTypeOperation.Import) { return("Gedcom|*.ged"); } return(null); }
public override string GetFileTypeFilter(FamilyFileTypeOperation operation) { if (operation == FamilyFileTypeOperation.Open) { return("GeneaLite|*.xml"); } return(null); }
public override string GetFileTypeFilter(FamilyFileTypeOperation operation) { if (operation == FamilyFileTypeOperation.Import) { return("Text|*.txt"); } return(null); }
public string GetFileTypeFilter(FamilyFileTypeOperation operation, int variant = 0) { if (operation == FamilyFileTypeOperation.Save) { return("GeneaLite|*.xml"); } return(null); }
public IDictionary <int, string> GetOperationVariantList(FamilyFileTypeOperation operation) { if (operation == FamilyFileTypeOperation.Export) { IDictionary <int, string> opList = new Dictionary <int, string>(); opList.Add(0, "Normal"); opList.Add(1, "Extensive"); return(opList); } return(null); }
public void SaveFile(string filename, FamilyFileTypeOperation operation, int filterIndex) { trace.TraceInformation("FamilyForm2::SaveFile:" + filename + " idx:" + filterIndex); progressReporter = new AsyncWorkerProgress(FileSaveProgress); writeFileWorker = new WriteFileWorker(this, progressReporter, filename, operation, filterIndex, ref familyTree); if (operation == FamilyFileTypeOperation.Save) { this.Text = filename; } }
public void StoreFile(FamilyTreeStoreBaseClass familyTree, string filename, FamilyFileTypeOperation operation, int variant = 0) { trace.TraceInformation("XmlEncoder::StoreFile() start " + DateTime.Now); FileStream fileStream = new FileStream(filename, FileMode.Create); DataContractSerializer serializer = new DataContractSerializer(familyTree.GetType()); serializer.WriteObject(fileStream, familyTree); fileStream.Close(); trace.TraceInformation("XmlEncoder::StoreFile() done " + DateTime.Now); }
public string GetFileTypeFilter(FamilyFileTypeOperation operation, int variant = 0) { string filter = ""; encoderMapList.Clear(); foreach (FamilyFileEncoder encoder in encoderList) { if (encoder.GetFileTypeFilter(operation) != null) { IDictionary <int, string> opList = encoder.GetOperationVariantList(operation); if ((opList != null) && (opList.Count > 0)) { foreach (KeyValuePair <int, string> op in opList) { EncoderMap entry = new EncoderMap(); entry.filter = encoder.GetFileTypeFilter(operation, op.Key); entry.encoder = encoder; entry.variant = op.Key; filter += entry.filter; encoderMapList.Add(entry); AppendFilterStrings(ref filter); } } else { EncoderMap entry = new EncoderMap(); entry.filter = encoder.GetFileTypeFilter(operation); entry.encoder = encoder; entry.variant = 0; filter += entry.filter; encoderMapList.Add(entry); AppendFilterStrings(ref filter); } } } filter += "All files|*.*"; return(filter); }
public void StoreFile(FamilyTreeStoreBaseClass familyTree, string filename, FamilyFileTypeOperation operation, int variant = 0) { trace.TraceInformation("FamilyFileEncoderCollection.StoreFile({0},{1})", filename, variant); if (encoderMapList.Count == 0) { // We should never have to generate a filter // list with only one variant at this level... // The variant parameter has another meaning in this // class compared to real encoder classes... GetFileTypeFilter(operation); } if (variant < encoderMapList.Count) { selectedEncoder = encoderMapList[variant].encoder; if (storedProgressTarget != null) { selectedEncoder.SetProgressTarget(storedProgressTarget); storedProgressTarget = null; } selectedEncoder.StoreFile(familyTree, filename, operation, encoderMapList[variant].variant); return; } foreach (FamilyFileEncoder encoder in encoderList) { if (encoder.IsKnownFileType(filename)) { selectedEncoder = encoder; if (storedProgressTarget != null) { encoder.SetProgressTarget(storedProgressTarget); storedProgressTarget = null; } encoder.StoreFile(familyTree, filename, operation, variant); } } }
public virtual string GetFileTypeFilter(FamilyFileTypeOperation operation) { return(null); }
public IDictionary <int, string> GetOperationVariantList(FamilyFileTypeOperation operation) { return(null); }