Андрей Можете пожалуйста пояснить, какой практический смысл в указании пола? Что именно в итоге должно меняться от этого в программе?
Возможно, проще будет показать алгоритм работы на живом примере (параллельно делаю это и описываю процедуру) - имена вымышлены:
Берём Ивана Петровича с супругой (уже прописаны как супруги в базе) Лидией Леонидовной и хотим добавить им общего сына Виктора Ивановича
В Tonfotos:
1) выбираем пункт: Дети и выбираем нужного человека из нашей базы (если он есть, но это уже отдельная тема разговора, ибо без наличия фото нет и базы по сути). Дитя добавлено
2) переходим к супруге (принудительно теряем фокус от прежнего человека) и повторяем операцию добавления дитя
В Древе жизни:
1) выбираем на Иване Петровиче пункты: Сын\Создать сына. Мать Лидия Леонидовна
2) выбираем сына
У супруги автоматически прописывается их общий сын (как это уже происходит в Tonfotos с добавлением одного из супругов, второй прописывается автоматически - и это здорово!)
Заодно, воспользовавшись подобной иерархией (см. скриншот выше) - можно будет решить проблему с добавлением детей от других мужей/жён
Андрей Не могли бы вы вот прямо не конкретном древе показать, как и куда надо добавить прошлых супругов, чтобы и понятно было, и смотрелось хорошо?
Могу лишь показать одну из реализаций Древом жизни (говорю одну из, т.к. при разных методиках построения ветви могут в корне менять своё отображение на экране). Как раз есть подходящий пример дальних родственников из Древа жизни
Итак, у нас есть отец семейства Роман Викторович. Степени родства - кто-кому-кто видно на данном скриншоте:
Линиями древа отображены прямые связи друг с другом.
Например, мы видим, что у Романа было две жены (здесь указано как Мать детей, уж не помню почему так, но представим, что это первая жена). От первой родились сын и дочь, от сына с его женой родился внук
От второй жены совместных детей нет, но у неё была дочь от другого мужа (Вячеслав).
На картинке довольно наглядно все эти связи отражены. Может не так чтоб прям суперкрасиво (да и понятно, что когда древо большое либо красота и разведение на полкилометра друг от друга, либо функциональность, где пусть несколько аляповато, но даёт общее представление). Возможно, данная схема наведёт на какие свои мысли вас, как разработчика.
Андрей Интересно. А можете пожалуйста рассказать зачем это вообще нужно и пример привести подобных деревьев?
Мне тоже это показалось интересным, потому что я такого не встречал нигде, поэтому примеры привести не смогу 🙂 Но посчитал, раз введена в принципе такая возможность добавления друзей (наиболее актуальное, помимо родных, разумеется), сослуживцев (актуально для военных), учителей (актуально для текущих/бывших школьников/студентов и в частности, для встреч выпускников) и т.п. - почему бы не сделать возможность создавать древа и из них? Без каких-либо веток, разумеется. Визуальный пример показать по понятным причинам не смогу, но как точку отсчёта в представлении можно взять: школьный выпускной альбом (выпускник в центре, его сокурсники рядами/столбцами), или более творческие варианты в виде коллажей (человек в центре, а его друзья - по кругу или налеплены как стикеры вокруг него даже может несколько беспорядочно… не знаю как объяснить, ну наверно, представляете уже 🙂 )
Кстати, это могло бы послужить и отличной идеей расширения функционала до составления коллажей на экспорт (ведь функция экспорта древа уже имеется). Полагаю, многим будет актуально для выпускных, семейных юбилеев, да много чего ещё… включая сходки друзей и т.п.
Андрей Сейчас показаны только прямые предки и потомки, но еще браться и сестры центральной пары. А зачем может быть нужно показывать непрямых? Не слишком ли это перегрузит дерево?
Да, разумеется, как попытался выше объяснить, тут либо красота и малая информативность (1 вариант), либо полная информативности, но какие-то уступки визуального экстаза (2 вариант) 🙂
Выбор за пользователем.