Monthly Archives: August 2014

Bit of interaction

* Started work on allowing for some kind of user interaction with the Sheet View. This uses the new SheetActionField object in the engine.

This system relies on the ability of C1 render objects to store user data. Unfortunately, neither table cells nor table rows support UserData, so if you’re using a table, as I am for almost everything in ColorBlockSheet, you’ll need to assign the text for the cell to a RenderText, then assign that as the cell’s render object, in order to also assign a SheetActionField to the RenderText’s UserData object. See this in the PrintTraitBlocks procedure of ColorBlockSheet.

GCA will look at the rendered items under the mouse pointer in Sheet View, and if one of the render objects has a SheetActionField in the UserData then it’ll allow highlighting of that object (and change the mouse pointer).

Right now, no matter what else is set, so long as the SheetActionField has an ActionObject that is a GCATrait, then GCA will allow the user to double-click the field to open the Edit window. That’s the only bit of this currently working (although you can also change the HighlightPen to change the color and size of the highlight box around active items).

All other bits of this are in flux.

* Fixed points bar not updating when switching between characters in Sheet View.

* GCA will now automatically enter into the Log the plugin.Name and plugin.Version of the sheet the user has switched to in Sheet View. This should mean that the sheets themselves no longer need to do that, which means they won’t keep filling up the log with version notices.

* OfficialCharacterSheet updated to reflect user font/color options in Reaction Modifiers box.

* Both included sheets updated to no longer print name and version to log.

* ColorBlockSheet updated to use the new SheetActionField to allow interaction in Sheet View, and to demonstrate how it works right now.