|
Копирование - вырезание - вставка - удаление.
Чтобы скопировать/вырезать/удалить одного родственника можно щелкнуть на рамке родственника правой кнопкой мыши и выбрать соответствующий пункт меню.
Чтобы скопировать/вырезать/удалить несколько родственников, необходимо сначала выделить их, затем или а) щелкнуть на рамке одного из выделенных родственников правой кнопкой мыши и выбрать соответствующий пункт выпадающего меню или б) выбрать соответствующий пункт из меню "Правка".
Вставить родственника или группу родственников из буфера обмена можно только через выпадающее меню - щелкните правой кнопкой мыши на свободном от рамок месте и выберите пункт "Вставить" - содержимое буфера обмена будет вставлено таким образом, что левый верхний угол родственника или всей группы будет находиться в месте щелчка.
Удалить семью можно только в Списке семей - см. Список семей. При этом удаляются только семейные связи, а не сами члены семьи.
Особенности операций копирования, вырезания, вставки и удаления.
Все эти операции производятся только над родственниками. Единственное исключение - удаление семьи в Списке семей.
При всех этих операциях поддерживается логическая целостность ссылок. Вот как это происходит при разных операциях:
При копировании одного родственника:
- Выбранный родственник копируется в буфер обмена и у этой копии удаляются все семейные связи.
- Все записи общего пользования, на которые у этого родственника есть ссылки, также копируются в буфер обмена, а у копии сохраняются ссылки на них.
При копировании группы родственников:
- Копии выбранных родственников помещаются в буфер обмена.
- У всех этих копий проверяются все семейные связи. Если эти связи - между членами данной группы, то они сохраняются, а копии этих семей также помещаются в буфер обмена.
- У каждой копии семьи проверяются ссылки на всех её членов, и, если члены эти не попали в данную группу, то ссылки на них удаляются.
- Все записи общего пользования, на которых у скопированных родственников и семей есть ссылки, также копируются в буфер обмена, а у копий сохраняются ссылки на них.
При удалении одного родственника:
- Выбранный родственник удаляется, а у всех семей, где он был членом, удаляются ссылки на него.
- Если у какой-либо семьи в результате этого остается менее 2-х членов, то такая семья также удаляется.
При удалении группы родственников:
- Выбранные родственники удаляются, а у всех семей, где они были членами, удаляются ссылки на них.
- Если у какой-либо семьи в результате этого остается менее 2-х членов, то такая семья также удаляется.
При удалении семьи:
- Семья удаляется из дерева.
- У всех членов семьи удаляются ссылки на эту семью.
Вырезание является комбинацией двух вышеприведенных операций.
При вставке из буфера обмена:
- Содержащиеся в буфере обмена родственники и семьи добавляются в дерево с новыми идентификационными номерами (ID).
- Относительно записей общего пользования, которые были связаны с копируемыми родственниками и семьями и потому попали в буфер обмена, применяются следующие правила:
1) Если в том дереве, куда вставляется содержимое буфера, нет записи общего пользования с таким же ID (это ведь может быть другой файл!), то запись из буфера добавляется в дерево;
2) Если запись с таким ID существует, но содержимое её отличается от вставляемой, то запись из буфера также добавляется в дерево, но уже с новым ID;
3) Если и ID и содержимое записей совпадают, то запись из буфера в дерево не добавляется - ссылки будут указывать на уже имеющуюся запись.
|