Package de.chris_soft.fyllgen.data

Examples of de.chris_soft.fyllgen.data.Person


        try {
          while (true) {
            imagename = cutImage(imagename);
            if (imagename != null) {
              Family family = Family.instance;
              Person currentPerson = family.getCurrentPerson();
              String cpName = currentPerson.getValueView(Person.NAME);
              String quest = "Soll das Portrait\r\n" + cpName + "\r\nzugeordnet werden?";
              if (SwtUtilities.askYesNo(GUI.instance.shell, quest, "Portraitzuordnung")) {
                currentPerson.addImage(imagename);
                family.review();
              }
              else {
                PersonChoiceShell pcs = new PersonChoiceShell(GUI.instance.shell, "Bild-Person festlegen",
                    "Bild zuordnen", null, 1, false, new File("images/" + imagename), true);
                // int p = imagename.lastIndexOf('.');
                // pcs.setStartString(imagename.substring(0, p).replace('_',
                // ' '));
                pcs.open();

                Person person = pcs.personChoice;
                if (person != null) {
                  person.addImage(imagename);
                  family.setCurrentPerson(person, 1);
                }
                else {
                  new File("images/" + imagename).delete();
                  break;
View Full Code Here


   * Event-Handler f�r Erzeugung eines Partners.
   * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
   */
  public void handleEvent(Event event) {
    // Vorneweg aktuelle Person merken.
    Person current = Family.instance.getCurrentPerson();

    // Dialog vorbereiten.
    PersonChoiceShell pcs = new PersonChoiceShell(GUI.instance.shell, "Partner hinzuf�gen", "Als Partner eintragen",
        "Neuen Partner erzeugen", 2, false, null, false);

    // Die Person selbst kann sich nicht als Partner haben, auch die Eltern und
    // Kinder nicht.
    // Vorhandene Partner ebenfalls l�schen.
    pcs.removePerson(current);
    for (Person person : current.getChildren()) {
      pcs.removePerson(person);
    }
    for (Person person : current.getParents()) {
      pcs.removePerson(person);
    }
    for (Person person : current.getPartner()) {
      pcs.removePerson(person);
    }

    // Zu junge/alte Personen l�schen.
    if (!current.getValueView(Person.BIRTHDAY).endsWith("?")) {
      // Wenn die Leute vor dieser Person starben, l�schen.
      pcs.removePersonsBetweenDates(Person.DEATHDAY, "0.0.0", current.getValueView(Person.BIRTHDAY), null);

      // Wenn die Leute erst nach dieser Person geboren wurden, l�schen.
      pcs.removePersonsBetweenDates(Person.BIRTHDAY, current.getValueView(Person.DEATHDAY), "99.99.9999", new int[] {
          0, 0, 10 });
    }

    // Dialog starten.
    pcs.open();
    Person partner = null;
    String defaultRelationship = OptionData.instance.getComboKey(OptionData.DEFAULT_PARTNER_TYPE);

    if (pcs.personChoice != null) {
      // Es wurde eine vorhandene Person angew�hlt.
      Family.instance.getCurrentPerson().addPartner(pcs.personChoice, defaultRelationship);
      Family.instance.review();
      partner = pcs.personChoice;
    }
    else if (pcs.newPersonName != null) {
      partner = new Person();
      partner.setValue(Person.NAME, pcs.newPersonName);
      Family.instance.addNewPerson(partner);
      Family.instance.getCurrentPerson().addPartner(partner, defaultRelationship);
      Family.instance.setCurrentPerson(partner, 2);
    }
    else {
      return;
    }

    // Kl�ren, welcher Art (Ehe?) die Partnerschaft ist.
    askForMarriage(current, partner);

    // Da nun ein Partner eingetragen wurde, auch f�r jedes Kind einzeln
    // nachfragen, ob es dessen Kind ist.
    String msgText = "Bei welchen der folgenden Personen soll <" + partner.getValueView(Person.NAME);
    msgText += "> noch zus�tzlich als Elternteil eingetragen werden?";
    MultiPersonChoiceShell mpcs = new MultiPersonChoiceShell(GUI.instance.shell, "Elternteil hinzuf�gen", msgText);

    // Alle Kinder der aktuellen Person angeben.
    Person[] children = current.getChildren();
    for (Person child : children) {
      if (!partner.hasChild(child)) {
        mpcs.add(child, null, true, true);
      }
    }

    // Dialog �ffnen.
    mpcs.open();

    // Hat der User den Dialog �ber den OK-Button verlassen?
    if (mpcs.bPressedOkay) {
      // Ja, also hier bei allen angeklickten Personen ebenfalls
      // parent-child-Beziehung eintragen.
      List<Person> list = mpcs.getCheckedPersons();
      for (Person child : list) {
        partner.addChild(child);
      }
      Family.instance.review();
    }
  }
View Full Code Here

   * Event-Handler f�r Erzeugung eines Elternteils.
   * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
   */
  public void handleEvent(Event event) {
    // Aktuelle Person merken.
    Person child = Family.instance.getCurrentPerson();

    PersonChoiceShell pcs = new PersonChoiceShell(GUI.instance.shell, "Elternteil hinzuf�gen",
        "Als Elternteil eintragen", "Neues Elternteil erzeugen", 2, false, null, false);

    // Verschiedene Personen raus nehmen.
    pcs.removePerson(child);
    for (Person person : child.getChildren()) {
      pcs.removePerson(person);
    }
    for (Person person : child.getParents()) {
      pcs.removePerson(person);
    }

    pcs.open();

    // Erzeugtes oder vorhandenes und nun eingetragenes Elternteil.
    Person parent = null;

    if (pcs.personChoice != null) {
      // Es wurde eine vorhandene Person angew�hlt.
      Family.instance.getCurrentPerson().addParent(pcs.personChoice);
      Family.instance.review();
      parent = pcs.personChoice;
    }
    else if (pcs.newPersonName != null) {
      parent = new Person();
      parent.setValue(Person.NAME, pcs.newPersonName);
      Family.instance.addNewPerson(parent);
      Family.instance.getCurrentPerson().addParent(parent);
      Family.instance.setCurrentPerson(parent, 2);
    }
    else {
      return;
    }

    // Da nun ein Elternteil eingetragen wurde, auch f�r jeden Partner einzeln
    // nachfragen, ob es dessen Kind ist.
    String msgText = "Bei welchen der folgenden Personen soll <" + parent.getValueView(Person.NAME)
        + "> noch zus�tzlich als Elternteil eingetragen werden?";
    MultiPersonChoiceShell mpcs = new MultiPersonChoiceShell(GUI.instance.shell, "Elternteil hinzuf�gen", msgText);

    // Alle Partner der aktuellen Person angeben.
    Person[] siblings = child.getSiblings();
    for (Person person : siblings) {
      if (!parent.hasParent(person)) {
        mpcs.add(person, null, true, false);
      }
    }

    // Dialog �ffnen.
View Full Code Here

  /**
   * Person l�schen lassen (nach Anfrage).
   * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
   */
  public void handleEvent(Event event) {
    Person person = Family.instance.getCurrentPerson();
    String msgText = "Zu welchen der folgenden Personen soll die Verbindung zu <" + person.getValueView(Person.NAME)
        + "> gel�scht werden?";
    MultiPersonChoiceShell mpcs = new MultiPersonChoiceShell(GUI.instance.shell, "Verbindung l�schen", msgText);

    // Alle Zuordnungen der aktuellen Person angeben.
    Person[] conns = person.getPartner();
    for (Person conn : conns) {
      mpcs.add(conn, " (Partner)", false, false);
    }
    conns = person.getParents();
    for (Person conn : conns) {
      mpcs.add(conn, " (Elternteil)", false, false);
    }
    conns = person.getChildren();
    for (Person conn : conns) {
      mpcs.add(conn, " (Kind)", false, false);
    }

    // Dialog �ffnen.
    mpcs.open();

    // Hat der User den Dialog �ber den OK-Button verlassen?
    if (mpcs.bPressedOkay) {
      // Ja, also hier bei allen angeklickten Personen die Zuordnung l�schen.
      List<Person> list = mpcs.getCheckedPersons();
      for (Person p : list) {
        person.removePerson(p);
        p.removePerson(person);
      }
      Family.instance.review();
    }
  }
View Full Code Here

    Properties newRelshipProperties = newPartnerRelship.cloneProperties();
    Properties[] viewData = new Properties[] { newRelshipProperties };

    // Falls oldPertnerRelship == null, neu anlegen.
    if (oldPartnerRelship == null) {
      Person p1 = Family.instance.getPersonFromXREFID(newPartnerRelship.partner1.getXREFID());
      Person p2 = Family.instance.getPersonFromXREFID(newPartnerRelship.partner2.getXREFID());
      oldPartnerRelship = new RelationshipPartners(p1, p2, newPartnerRelship.cloneProperties());
      viewData = new Properties[0];
    }

    this.newPartnerRelship = newPartnerRelship;
View Full Code Here

  public void handleEvent(Event event) {
    Person[] persons = Family.instance.getPersonsArray();
    List<Person> personList = new ArrayList<Person>();
    personList.addAll(Arrays.asList(persons));
    PersonListSort.sort(personList);
    Person curr = Family.instance.getCurrentPerson();
    Person pp;
    // Aktuelle Person nach ganz hinten, unter Beibehaltung der Reihenfolge.
    do {
      pp = personList.remove(0);
      personList.add(pp);
    } while (pp != curr);
    boolean bErrMsg = false;

    // So lange durch die Schleife gehen, bis wir alle Personen durch haben oder
    // etwas zu validierendes gefunden haben.
    while (personList.size() > 0) {
      Person minPerson = personList.remove(0);

      try {
        // Pr�fungen innerhalb dieser Person.
        testBirthYearOfChildren(minPerson);
        testDeathBeforeBirth(minPerson);
View Full Code Here

   * @throws FullValidationException
   */
  private void testSameChildren(Person p0) throws FullValidationException {
    Person[] children = p0.getChildren();
    for (int i = 0; i < children.length; i++) {
      Person child1 = children[i];
      for (int j = i + 1; j < children.length; j++) {
        Person child2 = children[j];
        String name1 = child1.getValueView(Person.NAME);
        String name2 = child2.getValueView(Person.NAME);
        String birth1 = child1.getValueView(Person.BIRTHDAY);
        String birth2 = child2.getValueView(Person.BIRTHDAY);
        if (name1.equalsIgnoreCase(name2)) {
          if (birth1.equals(birth2) && !birth1.endsWith(".?")) {
            throw new FullValidationException("Es gibt zwei Kinder mit gleichem Namen und Geburtsdatum (" + name1
                + ", *" + birth1 + ").\r\nZwillinge oder Fehler?");
          }
View Full Code Here

        else if (gedRecordTag.equals("wife")) {
          wife = gedRecordParms;
          partnership = setPartnership(husb, wife);
        }
        else if (gedRecordTag.equals("note")) {
          Person person;
          if (husb != null && (person = hmPersons.get(husb)) != null) {
            String notes = person.getValueView(Person.NOTES);
            notes += "\r\nEinzelnotiz: " + gedRecordParms;
            person.setLoadedValue(Person.NOTES, notes);
          }
          if (wife != null && (person = hmPersons.get(wife)) != null) {
            String notes = person.getValueView(Person.NOTES);
            notes += "\r\nEinzelnotiz: " + gedRecordParms;
            person.setLoadedValue(Person.NOTES, notes);
          }
        }
        else if (gedRecordTag.equals("chil")) {
          String child = gedRecordParms;
          if (hmPersons.get(child) == null) {
View Full Code Here

    }
    if (wife == null || wife.length() == 0) {
      return null;
    }

    Person pHusb = hmPersons.get(husb);
    Person pWife = hmPersons.get(wife);

    return pHusb.addPartner(pWife, RelationshipPartners.MARRIAGE);
  }
View Full Code Here

   * @param gedRecord
   * @throws GedReaderException
   */
  private void readINDI(List<String> gedRecord) throws GedReaderException {
    // Person erzeugen und speichern.
    Person person = new Person();
    listPersons.add(person);
    if (gedRecordXRefID != null) {
      person.setLoadedValue(Person.XREFID, gedRecordXRefID);
      hmPersons.put(gedRecordXRefID, person);
    }

    // Personendaten einlesen.
    while (getNextGedLine(gedRecord) != null) {
      // Je nach Level agieren.
      if (gedRecordLevel == 1) {
        if (gedRecordTag.equals("name")) {
          readINDI_NAME(gedRecord, person);
        }
        else if (gedRecordTag.equals("sex")) {
          readINDI_SEX(person);
        }
        else if (gedRecordTag.equals("chan")) {
          // CHAN = Letzte �nderung am Datensatz - ignorieren.
          ignoreSubTags(gedRecord);
        }
        else if (gedRecordTag.equals("birt")) {
          readINDI_BIRT(gedRecord, person);
        }
        else if (gedRecordTag.equals("deat")) {
          readINDI_DEAT(gedRecord, person);
        }
        else if (gedRecordTag.equals("crem")) {
          readINDI_CREM(gedRecord, person);
        }
        else if (gedRecordTag.equals("bapm") || gedRecordTag.equals("chr")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nTaufe:";
          notes = readINDI_SingleEvent(notes, gedRecord);
          person.setLoadedValue(Person.NOTES, notes);
        }
        else if (gedRecordTag.equals("conf")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nKonfirmation:";
          notes = readINDI_SingleEvent(notes, gedRecord);
          person.setLoadedValue(Person.NOTES, notes);
        }
        else if (gedRecordTag.equals("addr")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nAdresse: " + gedRecordParms;
          person.setLoadedValue(Person.NOTES, notes);
          readINDI_ADDR(gedRecord, person);
        }
        else if (gedRecordTag.equals("buri")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nBegr�bnis:";
          notes = readINDI_SingleEvent(notes, gedRecord);
          person.setLoadedValue(Person.NOTES, notes);
        }
        else if (gedRecordTag.equals("note")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nEinzelnotiz: " + gedRecordParms;
          person.setLoadedValue(Person.NOTES, notes);
        }
        else if (gedRecordTag.equals("even")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nEreignis:";
          notes = readINDI_SingleEvent(notes, gedRecord);
          person.setLoadedValue(Person.NOTES, notes);
        }
        else if (gedRecordTag.equals("adop")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nAdoption:";
          notes = readINDI_SingleEvent(notes, gedRecord);
          person.setLoadedValue(Person.NOTES, notes);
        }
        else if (gedRecordTag.equals("ordn")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nOrdination:";
          notes = readINDI_SingleEvent(notes, gedRecord);
          person.setLoadedValue(Person.NOTES, notes);
        }
        else if (gedRecordTag.equals("famc") || gedRecordTag.equals("fams")) {
          // Familienzugeh�rigkeiten k�nnen ignoriert werden, da die XREF-IDs
          // dies schon zeigen werden.
        }
        else if (gedRecordTag.equals("rfn") || gedRecordTag.equals("refn") || gedRecordTag.equals("_comm")) {
          // Ignorieren, gibt eindeutige Nummer eines Individuums an.
        }
        else if (gedRecordTag.equals("occu")) {
          person.setLoadedValue(Person.JOB, gedRecordParms);
        }
        else if (gedRecordTag.equals("titl")) {
          String notes = person.getValueView(Person.NOTES);
          notes += "\r\nTitel: " + gedRecordParms;
          person.setLoadedValue(Person.NOTES, notes);
        }
        else {
          throw new GedReaderException("Unbekanntes Level 1-INDI-Tag <" + gedRecordTag + "> gefunden!", line);
        }
      }
View Full Code Here

TOP

Related Classes of de.chris_soft.fyllgen.data.Person

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.