void ReadListFromFile() { OpenFileDialog fileDlg = new OpenFileDialog(); fileDlg.InitialDirectory = utility.GetCurrentDirectory(); fileDlg.Filter = "Stats List|*.fsrel"; if (fileDlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { DataContractSerializer serializer = new DataContractSerializer(typeof(RelationStackList)); FileStream readFile = new FileStream(fileDlg.FileName, FileMode.Open); RelationStackList localRelation; localRelation = (RelationStackList)serializer.ReadObject(readFile); //stats = localStats; //stats.SetFamilyTree(familyTree); readFile.Close(); if (localRelation.sourceTree != null) { if (localRelation.sourceTree != familyTree.GetSourceFileName()) { MessageBox.Show("Warning: The relation list does not seem to be from the current family tree: " + localRelation.sourceTree + " " + familyTree.GetSourceFileName()); } } ShowRelations(localRelation); ResetGui(); } }
private void OpenFile(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = utility.GetCurrentDirectory(); //openFileDialog.Filter = "Gedcom Files (*.ged)|*.ged|All Files (*.*)|*.*"; childForm = new FamilyForm2(); openFileDialog.Filter = childForm.GetFileTypeFilter(FamilyFileTypeOperation.Open); if (openFileDialog.ShowDialog(this) == DialogResult.OK) { string FileName = openFileDialog.FileName; /*FamilyForm2*/ childForm.MdiParent = this; childForm.Show(); //trace.TraceInformation("strip: " + childForm.statusStrip1.Text + " " + childForm.statusStrip1.ToString() + " " + childForm.statusStrip1.Visible); childForm.OpenFile(FileName); } }
private void Parse(string decodeFilename) { TextParseState state = TextParseState.Start1; int dashCount = 0; int lineFeedCount = 0; string parsedId = ""; string parseString = ""; FamilyUtility utility = new FamilyUtility(); TextParserSettings parserSettings = GetParserSettings(utility.GetCurrentDirectory() + "\\TextDecoderSettings.xml"); BufferParseState parseState = new BufferParseState(fileBuffer, parserSettings.pageBreakStrings); System.IO.StreamWriter personFile = new System.IO.StreamWriter(decodeFilename, false, Encoding.UTF8, 4096); while (!parseState.EndOfFile()) { char ch = parseState.GetNextChar(); switch (state) { case TextParseState.Start1: if (ch == '-') { dashCount++; } else if (ch != ' ') { dashCount = 0; } if ((dashCount >= 3) && (ch == ' ')) { state = TextParseState.Start2; dashCount = 0; } break; case TextParseState.Start2: if ((ch >= '0') && (ch <= '9') || (ch == '.') || (ch == ':')) { parsedId += ch; } if ((parsedId != "") && (ch == ' ')) { state = TextParseState.Start3; } break; case TextParseState.Start3: if (ch == '-') { dashCount++; } if (dashCount >= 3) { if (ch == '\r') { state = TextParseState.ReadPerson; dashCount = 0; } } break; case TextParseState.ReadPerson: if ((ch != '\r') && (ch != '\n')) { parseString += ch; lineFeedCount = 0; } else if (ch == '\r') { if (lineFeedCount++ == 0) { parseString += " "; } /*if(lineFeedCount >= 3) * { * lineFeedCount = 0; * state = TextParseState.DecodePerson; * }*/ } if (ch == '-') { dashCount++; } else { dashCount = 0; } if (dashCount >= 3) { dashCount = 0; state = TextParseState.DecodePerson; } break; case TextParseState.DecodePerson: if (parseString.LastIndexOf("---") == (parseString.Length - 3)) { parseString = parseString.Substring(0, parseString.Length - 3); //filePos -= 5; parseState.MoveToPreviousLineStart(); } personFile.WriteLine(parsedId + ":" + parseString); string newXrefId = xrefMapLists.GetMapper(XrefType.Individual).GetXRef(parsedId, true); ParsePerson(newXrefId, parseString, parserSettings); //backgroundWorker;progresschanged parsedId = ""; parseString = ""; state = TextParseState.Start1; break; //case TextParseState.End: // break; } if (parseState.UpdateProgress()) { backgroundWorker.ReportProgress((int)parseState.GetProgress(), "Importing..."); } } if ((parsedId.Length > 0) && (parseString.Length > 0)) { string newXrefId = xrefMapLists.GetMapper(XrefType.Individual).GetXRef(parsedId, true); personFile.WriteLine(parsedId + ":" + newXrefId + ":" + parseString); ParsePerson(newXrefId, parseString, parserSettings); parsedId = ""; parseString = ""; } personFile.Close(); backgroundWorker = null; trace.TraceInformation("Text file parsing finished at "); }
public CompletenessViewPanel1() { trace = new TraceSource("PersonViewPanel1", SourceLevels.Warning); controlList = new List <Control>(); this.Dock = DockStyle.Fill; parentForm = null; //descendantGenerationNo = 0; settingsButton = new Button(); settingsButton.Text = "Settings"; settingsButton.Left = 0; this.settingsButton.MouseClick += settingsButton_MouseClick; this.Controls.Add(settingsButton); startButton = new Button(); startButton.Text = "Analyse"; startButton.Name = "Parent"; startButton.Left = settingsButton.Right; this.startButton.MouseClick += startButton_MouseClick; this.Controls.Add(startButton); stopButton = new Button(); stopButton.Left = startButton.Right; stopButton.Text = "Stop"; this.stopButton.MouseClick += stopButton_MouseClick; stopButton.Enabled = false; //stopButton. this.Controls.Add(stopButton); ancestorGenerationNoCtrl = new DomainUpDown(); ancestorGenerationNoCtrl.Left = stopButton.Right; ancestorGenerationNoCtrl.Items.Add("All g. ancestors"); for (int i = 20; i >= 5; i--) { ancestorGenerationNoCtrl.Items.Add(i.ToString() + " g. ancestors"); } ancestorGenerationNoCtrl.SelectedItem = "5 g. ancestors"; ancestorGenerationNoCtrl.Width = 100; //ancestorGenerationNoCtrl.AutoSize = true; this.Controls.Add(ancestorGenerationNoCtrl); descendantGenerationNoCtrl = new DomainUpDown(); descendantGenerationNoCtrl.Text = "Descendants"; descendantGenerationNoCtrl.Left = ancestorGenerationNoCtrl.Right; descendantGenerationNoCtrl.Enabled = true; descendantGenerationNoCtrl.AutoSize = true; descendantGenerationNoCtrl.Items.Add("All g. descendants"); for (int i = 10; i >= 0; i--) { descendantGenerationNoCtrl.Items.Add(i.ToString() + " g. descendants"); } descendantGenerationNoCtrl.SelectedItem = "0 g. descendants"; descendantGenerationNoCtrl.Width = 100; this.Controls.Add(descendantGenerationNoCtrl); stopButton.Enabled = false; //stopButton. resultList = new ListView(); resultList.Top = startButton.Bottom; //resultList.Width = 400; //resultList.Height = 400; resultList.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right; resultList.Left = 3; //resultList.Margin.Right = 3; resultList.Location = new System.Drawing.Point(3, 20); resultList.Size = new System.Drawing.Size(200, 80); //resultList.Left = 3; //resultList.MultiColumn = true; //resultList.ScrollAlwaysVisible = true; //resultList.MouseClick += resultList_MouseClick; resultList.SelectedIndexChanged += resultList_SelectedIndexChanged; resultList.Columns.Add("Name", 120, HorizontalAlignment.Left); resultList.Columns.Add("Distance", 40, HorizontalAlignment.Right); resultList.Columns.Add("Relation", 40, HorizontalAlignment.Left); resultList.Columns.Add("Birth", 80, HorizontalAlignment.Left); resultList.Columns.Add("Death", 80, HorizontalAlignment.Left); resultList.Columns.Add("Details", 250, HorizontalAlignment.Left); resultList.View = View.Details; resultList.AllowColumnReorder = true; resultList.FullRowSelect = true; resultList.ShowItemToolTips = true; resultList.MouseUp += ResultList_MouseUp; /*resultList.ContextMenuStrip = new ContextMenuStrip(); * ToolStripItem openItem = new ToolStripMenuItem(); * openItem.Text = "Open..."; * openItem.MouseUp += ContextMenuStrip_SelectOpen; * resultList.ContextMenuStrip.Items.Add(openItem); * * ToolStripItem saveItem = new ToolStripMenuItem(); * saveItem.Text = "Save..."; * saveItem.MouseUp += ContextMenuStrip_SelectSave; * resultList.ContextMenuStrip.Items.Add(saveItem); * * ToolStripItem exportItem = new ToolStripMenuItem(); * exportItem.Text = "Export to Text..."; * exportItem.MouseUp += ContextMenuStrip_SelectExport; * resultList.ContextMenuStrip.Items.Add(exportItem);*/ this.Controls.Add(resultList); utility = new FamilyUtility(); limits = GetSanitySettings(utility.GetCurrentDirectory() + "\\SanitySettings.fssan"); trace.TraceInformation("CompletenessViewPanel1::CompletenessViewPanel1()"); }
public bool DownloadImages2(FamilyTreeStoreBaseClass tree) { IEnumerator <IndividualClass> individualIterator = tree.SearchPerson(); List <IndividualClass> individualList = new List <IndividualClass>(); FamilyUtility utility = new FamilyUtility(); String dirname = utility.GetCurrentDirectory() + "\\" + FamilyUtility.MakeFilename("ImageDownload_" + tree.GetSourceFileName() + "_" + DateTime.Now.ToString()); Directory.CreateDirectory(dirname); List <String> endings = new List <string>(); endings.Add("_large.jpg"); endings.Add("_medium.jpg"); endings.Add("_t.jpg"); endings.Add("_t2.jpg"); while (individualIterator.MoveNext()) { individualList.Add(individualIterator.Current); } foreach (IndividualClass person in individualList) { IList <MultimediaLinkClass> links = person.GetMultimediaLinkList(); IList <MultimediaLinkClass> newLinks = new List <MultimediaLinkClass>(); IList <String> dlLinks = new List <String>(); IList <String> dlLinksBase = new List <String>(); IList <String> dlLinksTrue = new List <String>(); foreach (MultimediaLinkClass link in links) { Boolean webimage = (link.GetLink().ToLower().IndexOf("http:") >= 0) || (link.GetLink().ToLower().IndexOf("https:") >= 0); if (webimage) { dlLinks.Add(link.GetLink()); } } foreach (String link in dlLinks) { String basename = link; if (link.ToLower().IndexOf(".jpg") >= 0) { foreach (String ending in endings) { if (link.ToLower().IndexOf(ending) >= 0) { basename = link.Substring(0, link.ToLower().IndexOf(ending)); if (dlLinksBase.IndexOf(basename) < 0) { dlLinksBase.Add(basename); } } } } } foreach (String link in dlLinksBase) { int bestIndex = -1; int index = 0; while ((bestIndex < 0) && (index < endings.Count)) { String newLink = link + endings[index]; bestIndex = dlLinks.IndexOf(newLink); dlLinksTrue.Add(newLink); index++; } } foreach (String link in dlLinksTrue) { String filename = dirname + "\\" + FamilyUtility.MakeFilename(person.GetXrefName() + " " + person.GetName() + " " + GetLastPart(link)); if (filename.Length > 255) { filename = filename.Substring(0, 255); } filename = filename + ".jpg"; //trace.TraceInformation(filename); if (SaveImageLocal(filename, link, ImageFormat.Jpeg)) { newLinks.Add(new MultimediaLinkClass("image/jpeg", filename)); } } foreach (MultimediaLinkClass link in newLinks) { person.AddMultimediaLink(link); } } return(true); }