Page 7 of 7

Re: Quick Child/Family Snapshot

Posted: 14 Apr 2017 14:57
by tatewise
Yes, that is the one Ron. I will consider adding [Rec Id] to a future version.

The Root Person is whichever Individual record is currently selected whether in Focus Window, or Records Window, etc.

Regarding your general question, that has been asked before, and I have tried, but Plugins and their associated dialogue windows are always 'modal' and I can understand why. If a Plugin were left running independently of FH then there are potential conflicts and race hazards if either or both the Plugin task and the FH task altered the database at the same time.

Re: Quick Child/Family Snapshot

Posted: 16 Apr 2017 17:55
by ronk
tatewise wrote:Yes, that is the one Ron. I will consider adding [Rec Id] to a future version.
If you do ever add the Rec ID, another nice addition would be a right click option to close the plugin exiting (avoiding the modal issue) to the focus screen of the root person of the plugin. Just a wishful thought.

Re: Quick Child/Family Snapshot

Posted: 16 Apr 2017 18:35
by tatewise
Nice idea Ron, but that is simply not possible.

Re: Quick Child/Family Snapshot

Posted: 16 Apr 2017 18:49
by ronk
tatewise wrote:Nice idea Ron, but that is simply not possible.
No one knows more of FH's inner architecture than you, so take your word for it. But I am surprised, that the plugin, at user direction, cannot simulate 'x'ing the plugin window. Or is it the 'modal' environment that prevents the plugin from 'talking' to the Main FH system?

Re: Quick Child/Family Snapshot

Posted: 16 Apr 2017 21:24
by tatewise
Plugins can only interact with FH via a rigidly defined Application Programming Interface (API).
That API does NOT offer any means to alter the File Root Individual, so it cannot be done.

Likewise, the Functions allowed in Expressions do NOT allow the File Root Individual to be altered by the user via that route.

It is similar to limitations of the user interface, where for example it is NOT possible to customise the Focus Window to display for each Child their Birth & Death event Place names.

On reflection, a Plugin could alter the File Root Individual, but only by editing the Gedcom file.
Then when the Plugin closed, FH would say it had detected the Gedcom change and offer to reload it, rather like happens with AS, but this a special case and in general Plugins are limited by the API. Without trying it, I am still not sure if the Focus Window would change, or whether the Home button would need to be clicked.

Re: Quick Child/Family Snapshot

Posted: 17 Apr 2017 02:22
by ronk
tatewise wrote:The Root Person is whichever Individual record is currently selected whether in Focus Window, or Records Window, etc.
Mike, I'm missing something here, perhaps clarification on what you call the root person would help me. I thought (also in TNG and LFT as well) it was only the individual to which all relationships are 'rooted to' and optionally displayed on FH focus and records screens. In FH, right-clicking and making a new file root is determines the root. But you also indicate whatever person is currently selected on whatever screen is also the file root. Yet the relationships, e.g.,on the records and focus screens, remain to the chosen file root not to the selected row. So in the theoretical attempt to go to FH with the current selected person in a plugin by altering the Gedcom so why would the file root need to be changed instead of just finding the selected person. This terminology has me confused. :? I don't see selecting a person the same as making them the file root.

Re: Quick Child/Family Snapshot

Posted: 17 Apr 2017 09:49
by tatewise
There are many Roots in FH depending on which window is in use.
The File Root is certainly the one that is most significant.
But in a Diagram Window there are Tree Root, Tree Root Family, Diagram Root, Diagram Root Family, etc, and each Diagram Window can have a different set of roots, and each tree in one Window has a different Tree Root where the boxes have a white background.

So for this Plugin Window there is a Root Person, and earlier in this thread alternatives were considered, but no better brief name was forthcoming. It is simply the current Root Person for the Plugin Window.

Selecting whatever Individual record you like as the 'root' for a command is absolutely standard practice for Reports, Diagrams, Plugins, etc, etc, but nothing to do with File Root.

Changing the currently selected Individual record in a Diagram Window or a Plugin Window has no impact on the currently selected Individual in any other window.

If you have set Diagram Windows for re-use, then selecting a new Individual in the current tree and choosing any type of tree, displays that new tree with a new Tree/Diagram Root in the same window, and that can be repeated indefinitely.

This Plugin is much the same, where a new Root Person can be selected to display a new family repeatedly.
Perhaps an alternative name more consistent with the root names above would be Plugin Root, but somehow that does not have the right ring to it, or perhaps Family Root.

You are correct that selecting an Individual record is not the same as setting the File Root.
I may have misunderstood your previous request, but nevertheless Plugins cannot change the selected Individual in another Window any more than they can set the File Root.

Re: Quick Child/Family Snapshot

Posted: 18 Apr 2017 05:26
by ronk
Thanks for the detailed explanation, Mike. I was confusing the term File Root with Root Person, as it is used by FH. In TNG, some Mods (~plugins) use the term 'set as root', or LFT refers to 'starting person' for relationships, and are referring to what FH calls the File Root. I hadn't seen the use of Root with multiple meanings as in FH. But I understand and see it as a reasonable usage of the term.

Re: Quick Child/Family Snapshot

Posted: 18 Apr 2017 08:16
by tatewise
Yes, it is a potentially confusing set of naming conventions.
In FH some Queries also prompt for Starting person which is effectively used as the root for relationships, etc, within the Result Set window.