private void cmdWife_Click(object sender, EventArgs e) { ItemPicker IP = new ItemPicker(); string ID; XmlNode tmpNode; if (lblWife.Tag == null) { ID = IP.ShowDialogAndReturnString("", "INDI"); } else { ID = IP.ShowDialogAndReturnString(lblWife.Tag.ToString(), "INDI"); } if (ID != "") { tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(ID, "INDI", MyNode); if (tmpNode != null) { GEDFileEntryIndi Wife = new GEDFileEntryIndi(); Wife.Node = tmpNode; lblWife.Text = Wife.DisplayName; lblWife.Tag = ID; } } else { lblWife.Text = ""; lblWife.Tag = ""; } }
private void cmdSource_Click(object sender, EventArgs e) { ItemPicker IP = new ItemPicker(); string ID; XmlNode tmpNode; if (Source == null) { ID = IP.ShowDialogAndReturnString("", "SOUR"); } else { ID = IP.ShowDialogAndReturnString(Source.ID, "SOUR"); } if (ID != "") { tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(ID, "SOUR", MyNode); if (tmpNode != null) { Source = new GEDFileEntrySour(); Source.Node = tmpNode; lblSource.Text = Source.DisplayName; } } }
private void ParseNodeToUIComponents(XmlNode Node) { XmlNode tmpNode; string sID; foreach (XmlNode Child in Node.ChildNodes) { switch (Child.Name.ToUpper()) { case "HUSB": sID = Child.Attributes["REF"].Value; tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(sID, "INDI", Child); if (tmpNode != null) { GEDFileEntryIndi Husb = new GEDFileEntryIndi(); Husb.Node = tmpNode; lblHusband.Text = Husb.DisplayName; lblHusband.Tag = sID; } break; case "WIFE": sID = Child.Attributes["REF"].Value; tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(sID, "INDI", Child); if (tmpNode != null) { GEDFileEntryIndi Wife = new GEDFileEntryIndi(); Wife.Node = tmpNode; lblWife.Text = Wife.DisplayName; lblWife.Tag = sID; } break; case "CHIL": sID = Child.Attributes["REF"].Value; tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(sID, "INDI", Child); if (tmpNode != null) { GEDFileEntryIndi Chil = new GEDFileEntryIndi(); Chil.Node = tmpNode; lstChildren.Items.Add(Chil); } break; case "MARR": GEDXMLUtilites.ParseCompoundDate(Child, mdpMarriage); break; case "DIV": GEDXMLUtilites.ParseCompoundDate(Child, mdpDivorce); break; default: break; } } }
private void cmdAddChild_Click(object sender, EventArgs e) { ItemPicker IP = new ItemPicker(); string ID; XmlNode tmpNode; ID = IP.ShowDialogAndReturnString("", "INDI"); if (ID != "") { tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(ID, "INDI", MyNode); if (tmpNode != null) { GEDFileEntryIndi Chil = new GEDFileEntryIndi(); Chil.Node = tmpNode; lstChildren.Items.Add(Chil); } } }
void UpdateAllFields(XmlNode Node) { XmlNode TmpNode; GEDXMLUtilites.UpdateCompoundDateField("MARR", mdpMarriage, Node); GEDXMLUtilites.UpdateCompoundDateField("DIV", mdpDivorce, Node); if (lblHusband.Text != "") { TmpNode = GEDXMLUtilites.UpdateSingleField("HUSB", GEDXMLUtilites.InsertEmpty, Node); GEDXMLUtilites.SetAttribute("REF", lblHusband.Tag.ToString(), TmpNode); } else { GEDXMLUtilites.UpdateSingleField("HUSB", "", Node); } if (lblWife.Text != "") { TmpNode = GEDXMLUtilites.UpdateSingleField("WIFE", GEDXMLUtilites.InsertEmpty, Node); GEDXMLUtilites.SetAttribute("REF", lblWife.Tag.ToString(), TmpNode); } else { GEDXMLUtilites.UpdateSingleField("WIFE", "", Node); } // Children... string[] ChildIDs = new string[lstChildren.Items.Count]; for (int i = 0; i < lstChildren.Items.Count; i++) { ChildIDs[i] = ((GEDFileEntryIndi)lstChildren.Items[i]).ID; } GEDXMLUtilites.UpdateMultipleFieldAttr("CHIL", "REF", ChildIDs, Node); // And now make sure the various individuals are linked back... XmlNode tmpIndiNode; string MyID; MyID = Node.Attributes["ID"].Value; foreach (XmlNode Child in Node.ChildNodes) { try { string SourceID = Child.Attributes["REF"].Value; TmpNode = GEDXMLUtilites.GlobalLocateNodeByID(SourceID, "INDI", Child); if (TmpNode != null) { if (Child.Name.ToUpper() == "HUSB" || Child.Name.ToUpper() == "WIFE") { tmpIndiNode = GEDXMLUtilites.UpdateSingleField("FAMS", GEDXMLUtilites.InsertEmpty, TmpNode); GEDXMLUtilites.SetAttribute("REF", MyID, tmpIndiNode); } else if (Child.Name.ToUpper() == "CHIL") { tmpIndiNode = GEDXMLUtilites.UpdateSingleField("FAMC", GEDXMLUtilites.InsertEmpty, TmpNode); GEDXMLUtilites.SetAttribute("REF", MyID, tmpIndiNode); } } } catch (Exception) { } } }
private void ParseNodeToUIComponents(XmlNode Node) { XmlNode tmpNode; pictureBox1.Image = pictureBox1.ErrorImage; foreach (XmlNode Child in Node.ChildNodes) { switch (Child.Name.ToUpper()) { case "NAME": txtName.Text = Child.InnerText.Trim(); break; case "SEX": if (Child.InnerText == "M") { rdoMale.Checked = true; } else { rdoFemale.Checked = true; } break; case "BIRT": GEDXMLUtilites.ParseCompoundDate(Child, mdpBirth); break; case "DEAT": GEDXMLUtilites.ParseCompoundDate(Child, mdpDeath); break; case "EVEN": txtAKA.Text = GEDXMLUtilites.ParseText(Child); break; case "IMG": txtImage.Text = Child.InnerText; if (!LoadImage(txtImage.Text)) { txtImage.Text = ""; } break; case "NOTE": Note = Child.InnerText; break; case "SOUR": try { string SourceID = Child.Attributes["REF"].Value; tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(SourceID, "SOUR", Child); if (tmpNode != null) { Source = new GEDFileEntrySour(); Source.Node = tmpNode; lblSource.Text = Source.DisplayName; } } catch (Exception) {} break; case "EMIG": break; case "OCCU": break; default: break; } } }
public void ResolveXrefs() { XmlNode tmpNode; foreach (XmlNode Child in pNode.ChildNodes) { switch (Child.Name.ToUpper()) { case "HUSB": try { string SourceID = Child.Attributes["REF"].Value; tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(SourceID, "INDI", Child); if (tmpNode != null) { Husb = new GEDFileEntryIndi(); Husb.Node = tmpNode; } } catch (Exception) { } break; case "WIFE": try { string SourceID = Child.Attributes["REF"].Value; tmpNode = GEDXMLUtilites.GlobalLocateNodeByID(SourceID, "INDI", Child); if (tmpNode != null) { Wife = new GEDFileEntryIndi(); Wife.Node = tmpNode; } } catch (Exception) { } break; default: break; } } if (Husb != null) { if (Wife != null) { DisplayName = Husb.DisplayName + " + " + Wife.DisplayName; } else { DisplayName = Husb.DisplayName + " + ?"; } } else { if (Wife != null) { DisplayName = "? + " + Wife.DisplayName; } else { DisplayName = "? + ?" + ID; } } }