Now for the Auto Organize and Surname buttons. These should be fairly easy to do since all the functionality for these have already been programmed. It’s just a matter of doing the correct initialization and making the right calls to get them to work, taking into account the previous state of things (like whether or not previous changes have been Applied or not).
While doing this, I know I really don’t have to re-read the GEDCOM files or reload their data. But when trying to skip this, I found the initializations of the internal GEDCOM data is mixed in with the reading routines. Reading only takes about 10% of the time for Behold to do its processing, so I think now that it might not be worthwhile to work to separate this. Besides, reading in the GEDCOMs again each time will be advantageous if the user is saving a new version of his GEDCOM from his Genealogy Program in between Behold runs, which might be something someone will want to do - using Behold to help him update his data.
Then, there is the default settings to use. I resolved this puzzle back on Sept 30, and realized I should save 3 sets of default numbering options for Auto Organize, Surname Organize and Instant Organize in the Registry. Actually, I think now that should be 4 settings. Auto Organize should have 2, depending on whether there are multiple GEDCOMs loaded or not. Now its time to implement this.
Saving to the registry is only a bit different than saving to a Behold file. I can expand my LoadSaveOrganizeInfo procedure to also be able to read and write to the Registry. The main difference is since I don’t store values if they are defaults, then if a value already exists in the Registry, it should be deleted to simulate the storing of the default.
Something I never thought of: I set up the Everyone Else and Families buttons to push in to indicate that they are selected. But why not do the same for the Auto Organize, Surname Organize and Instant Organize buttons? It helps identify what organizational method is being used currently. If a Behold file is read in, that of course is customized for that file and none of the three buttons will be pushed in.