As with print plugins for character sheets, GCA now offers default/current character settings for export sheets. These options follow the existing ones for the character sheets in Options, and work the same way.
There is now an Export button on the toolbar, between the Close button and the Print button. I found it less confusing to put it before the Print/Preview buttons, rather than after them. The Export button works like the Print/Preview buttons, with a drop-down portion to provide access to any alternative sheets that may have been set, and the primary button launching the primary export sheet selection.
GCA will save/load/track all these new options.
* Misc fixes and clean-up
Restored ability to type in the Description & Notes dialog without accidentally closing the dialog by pressing Enter. You’ll need to activate the OK button in another way, such as ALT+O, the mouse, or tabbing to the button.
GCA will now save/load the character settings for the trait list grouping options in the character file.
GCA will now recalculate the character when leaving the Loadouts window.
Added the StorePortraitsInCharacterFiles option. When True (default setting) it saves character portrait image data encoded as Base64 within the character file. The option for this in Options is currently in the Experimental Features block on the Program Options tab.
Fixed a bug that prevented Equipment items from correctly reporting that they’d changed when various things that change them were applied or adjusted. This prevented related items and $ cost totals from being correctly and automatically recalced.
Fixed a bug in displaying grouped traits using a tag matching a specific tag value.
* Other features
GCA now loads an internal copy of the character’s portrait, which is kept in the PortraitImage property. If the character has the image file saved to the character file, that image will be loaded from the saved data in the file. If the character does not have the saved data in the file, the image should be the one set by having loaded the file reference, instead. (That is, the file reference is loaded and the image set if possible, and then the saved data is loaded to overwrite the reference-created data.) This way, the image is available, even if the referenced file is not. This does mean that if you change the original reference file, you’ll need to re-load it in the Portrait dialog to re-set the internal image data, whereas the old behavior would always be loading the current version of the source file, if found.
GCA now supports retrieving the campaign’s base TL through the character’s TagItem property, which means you can now use char::basetl or char::campaigntl to get the TL for the overall campaign, rather than only for the character.
Created the GroupedTraitListBuilder class, which should simplify allowing sheets to support the trait list grouping options by doing the work of breaking a trait list into grouped sub-lists (as specified by the character’s options) for the sheet author. The author can then take the generated lists and output them as the user would like to see them. Example usage in the ColorBlockSheet plugin.
Added functions for retrieving typed Values for specific options.
Some generic functions:
Public Function ValueBoolean(Index As String) As Boolean
Public Function ValueInt(Index As String) As Integer
Public Function ValueULong(Index As String) As ULong
Public Function ValueDouble(Index As String) As Double
Public Function ValueString(Index As String) As String
Public Function ValueBooleanArray(Index As String) As Boolean()
And by optType:
Public Function ValueColor(Index As String) As Color
Public Function ValueFont(Index As String) As Font
Public Function ValueList(Index As String) As String
Public Function ValueListArray(Index As String) As Boolean()
Public Function ValueListOrdered(Index As String) As String
Public Function ValueListFlag(Index As String) As ULong
Public Function ValueListNumber(Index As String) As Integer
Public Function ValueText(Index As String) As String
Public Function ValueVar(Index As String) As String
Public Function ValueTrueFalse(Index As String) As Boolean
Public Function ValueYesNo(Index As String) As Boolean
Added some nodes to allow for saving export sheets and trait list grouping options.