Package de.chris_soft.fyllgen.data

Examples of de.chris_soft.fyllgen.data.Person


      boolean b = k >= 0;
      buttonUse.setEnabled(b);
      canvasImage.redraw();
      if (b) {
        shell.setDefaultButton(buttonUse);
        Person person = viewPersons.get(k);
        tempChoice = person;
        if (guiChangeOnSelection) {
          Family.instance.setCurrentPerson(person, 0);
        }
      }
View Full Code Here


        }
      }

      // Falls vorhanden, dann weiter anzeigen.
      if (bFound) {
        Person person = persons.get(i);

        // Falls dies die ehemals angew�hlte Person war, diese weiterhin
        // anw�hlen.
        viewPersons.add(person);
      }
View Full Code Here

    // Schleife �ber alle Personen, Vergleiche t�tigen und Person jeweils
    // entfernen oder auch nicht.
    final int max = Integer.MAX_VALUE;
    for (int i = persons.size() - 1; i >= 0; i--) {
      Person person = persons.get(i);
      String date = person.getValueView(key);

      // Notfalls ein gesch�tztes Datum verwenden.
      if (key == Person.BIRTHDAY) {
        if (date.endsWith(".?")) {
          int year = person.getBirthYear(true);
          if (year != Integer.MIN_VALUE) {
            date = date.substring(0, date.length() - 1) + year;
          }
        }
      }
View Full Code Here

  public void paintControl(PaintEvent e) {
    int index = listNames.getSelectionIndex();
    String imagePath1 = image2viewFile == null ? null : image2viewFile.getAbsolutePath();
    String imagePath2 = null;
    if (index >= 0 && viewPersons.size() > index) {
      Person person = viewPersons.get(index);
      List<File> imList = person.getImageList();
      if (imagePath1 == null && !imList.isEmpty()) {
        imagePath1 = imList.remove(0).getAbsolutePath();
      }
      if (!imList.isEmpty()) {
        imagePath2 = imList.remove(0).getAbsolutePath();
View Full Code Here

   * �bernommen wurde und die andere nicht (daher "Half").
   */
  private boolean mergeHalfRelationship(Relationship rel) {
    // Schauen, ob wir die andere (nicht �bernommene) Person nicht direkt
    // �bernehmen k�nnen.
    Person notMergedPerson = rel.partner1.isFinishedMerge() ? rel.partner2 : rel.partner1;
    Person p2 = Family.instance.getPersonFromXREFID(notMergedPerson.getValue(Person.XREFID));
    if (p2 != null && notMergedPerson.getXREFID().equals(p2.getXREFID())) {
      // Person wurde zwar noch nicht �bernommen, aber es gibt sie schon. Nun
      // schauen, ob sie nicht ohnehin identisch ist.
      if (notMergedPerson.equals(p2)) {
        notMergedPerson.setFinishedMerge(true);
        return true;
      }
    }

    // Eigentlichen Merge-Dialog aufrufen und auswerten.
    boolean bNext;
    MergeChoiceRelationshipPersonDialog mcrpd = new MergeChoiceRelationshipPersonDialog(GUI.instance.shell, rel);
    mcrpd.open();
    bNext = mcrpd.finished;
    if (mcrpd.finished) {
      MergePersonDialog mpd = new MergePersonDialog(GUI.instance.shell, mcrpd.oldPerson, mcrpd.otherPerson);
      mpd.open();
      bNext = mpd.finished;
    }
    else if (mcrpd.finishedNew) {
      MergePersonDialog mpd = new MergePersonDialog(GUI.instance.shell, null, mcrpd.otherPerson);
      mpd.open();
      if (mpd.finished) {
        Person originalPerson = Family.instance.getPersonFromXREFID(mcrpd.mergedPerson.getValue(Person.XREFID));
        Relationship newRelship;
        if (rel instanceof RelationshipParentChild) {
          if (rel.partner1 == mcrpd.mergedPerson) {
            newRelship = new RelationshipParentChild(originalPerson, mpd.oldPerson, rel.cloneProperties());
          }
          else {
            newRelship = new RelationshipParentChild(mpd.oldPerson, originalPerson, rel.cloneProperties());
          }
        }
        else {
          newRelship = new RelationshipPartners(mpd.oldPerson, originalPerson, rel.cloneProperties());
        }
        originalPerson.addRelationship(newRelship);
        Family.instance.setCurrentPerson(mpd.oldPerson, 2);
        mcrpd.otherPerson.removeRelationship(rel);
        Statics.mergeFamily.removeFinishedMergePersons(new ArrayList<Person>(), rel.partner1);
        Statics.mergeFamily.removeFinishedMergePersons(new ArrayList<Person>(), rel.partner2);
      }
View Full Code Here

   * kann.
   * @return true, wenn es weiter gehen kann, sonst false.
   */
  private boolean mergeParentChildRelation(RelationshipParentChild mergeRelationship) {
    // Zu dieser Verbindung die Original-Verbindung ermitteln.
    Person p1 = Family.instance.getPersonFromXREFID(mergeRelationship.partner1.getXREFID());
    Person p2 = Family.instance.getPersonFromXREFID(mergeRelationship.partner2.getXREFID());
    Relationship originalRelationship = p1.getRelationship(p2);

    // Falls es bisher keine Beziehung gab, dann fragen, ob man sie �bernehmen
    // soll.
    if (originalRelationship == null) {
View Full Code Here

  /**
   * Macht den Dialog auf, in dem eine Partnerschaft �bernommen werden kann.
   * @return true, wenn der Anwender die Daten �bernommen hat, sonst false.
   */
  private boolean mergePartnerRelation(RelationshipPartners newRelship) {
    Person p1 = Family.instance.getPersonFromXREFID(newRelship.partner1.getXREFID());
    Person p2 = Family.instance.getPersonFromXREFID(newRelship.partner2.getXREFID());
    RelationshipPartners oldRelship = p1.getPartnersRelationship(p2);

    // Fragen, ob Partnerschaft �bernommen werden soll.
    if (oldRelship == null) {
      String question = "Soll die Partnerschaft zwischen\r\n\r\n" + p1 + "\r\nund\r\n" + p2 + "\r\n\r\n";
View Full Code Here

      mb.setText("Fehler!");
      mb.setMessage("Es gibt keine zu exportierende Familie!");
      mb.open();
    }
    else {
      Person p0 = personList.get(0);
      String mail = p0.getValue(Person.MAIL);
      String mailer = OptionData.instance.getString(OptionData.EXPORT_MAIL);
      if (mail == null || mail.trim().length() == 0 || mail.trim().contains(" ") || !mail.contains("@")
          || mailer == null || mailer.trim().contains(" ") || !mailer.contains("@")) {
        checkboxSendMail.setSelection(false);
        checkboxSendMail.setEnabled(false);
View Full Code Here

   * Event-Handler f�r Erzeugung eines neuen Kindes.
   * @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, "Kind hinzuf�gen", "Als Kind eintragen",
        "Neues Kind erzeugen", 2, false, null, false);

    // Die Person selbst kann sich nicht als Kind haben, auch die Eltern nicht
    // (und die vorhandenen Kinder sind es ohnehin
    // schon).
    pcs.removePerson(current);
    for (Person person : current.getChildren()) {
      pcs.removePerson(person);
    }
    for (Person person : current.getParents()) {
      pcs.removePerson(person);
    }

    // Zu junge/alte Personen l�schen.
    if (!current.getValueView(Person.BIRTHDAY).endsWith("?")) {
      // Alle Person, die �lter als diese Person hier sind, l�schen.
      String currBirth = current.getValueView(Person.BIRTHDAY);
      if (currBirth.endsWith(".?")) {
        // Versuchen, das Geburtsjahr zu erraten.
        int year = current.getBirthYear(true);
        if (year != Integer.MIN_VALUE) {
          currBirth = currBirth.substring(0, currBirth.length() - 1) + year;
        }
      }
      int minParentAge = OptionData.instance.getInt(OptionData.MIN_PARENT_AGE);
      pcs.removePersonsBetweenDates(Person.BIRTHDAY, "0.0.0", currBirth, new int[] { 0, 0, -minParentAge });

      // Alle Personen, die mindestens 90 Jahre nach der Geburt dieser Person
      // geboren wurden entfernen.
      int maxParentAge = OptionData.instance.getInt(OptionData.MAX_PARENT_AGE);
      pcs.removePersonsBetweenDates(Person.BIRTHDAY, currBirth, "99.99.9999", new int[] { 0, 0, -maxParentAge });
    }

    // Alle Personen, die nach dem Todestag dieser Person geboren wurden,
    // l�schen.
    // Zehn Monate abziehen, weil der Vater ja vor der Geburt gestorben sein
    // kann.
    if (!current.getValueView(Person.DEATHDAY).endsWith("?")) {
      pcs.removePersonsBetweenDates(Person.BIRTHDAY, current.getValueView(Person.DEATHDAY), "99.99.9999", new int[] {
          0, -10, 0 });
    }

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

    // Hier wird eventuell ein zugeordnetes Kind gespeichert.
    Person child;

    if (pcs.personChoice != null) {
      Family.instance.getCurrentPerson().addChild(pcs.personChoice);
      Family.instance.review();
      child = pcs.personChoice;
    }
    else if (pcs.newPersonName != null) {
      child = new Person();
      child.setValue(Person.NAME, pcs.newPersonName);
      Family.instance.addNewPerson(child);
      Family.instance.getCurrentPerson().addChild(child);
      Family.instance.setCurrentPerson(child, 2);
    }
    else {
      return;
    }

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

    // Alle Partner der aktuellen Person angeben.
    Person[] partners = current.getPartner();
View Full Code Here

  /**
   * Einfach eine neue Person erzeugen und dahin springen.
   * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
   */
  public void handleEvent(Event arg0) {
    Person person = new Person();
    Family.instance.addNewPerson(person);
    Family.instance.setCurrentPerson(person, 2);
    GUI.instance.setFocusToFirstWidget();
  }
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.