Bits or bytes of plugins or colors (b134)

b134

NOTE: The placement of the new System Colors toolbar button on the 1st toolbar will mess up your toolbar placements if you have them running linear as I do. I’m sorry about that.

NOTE: Your Unified boxes will be in a different order because they’re created in an entirely different way. Once you adjust the order using the new Unified View Layout dialog, they should keep that order.

The floater window should no longer get focus briefly when it appears, which should prevent unnecessary refreshes of the main window.

Adjusted the way the General Info box handled typing (in Unified and on the Attributes tab of Classic), because it was tedious to enter text into the Name or Player boxes. Changes should now perpetuate throughout the interface only after you’ve left one of those boxes.

Fixed some interaction issues between boxes and GCA that were disconnecting selected traits in boxes from what GCA thought the selected traits were.

Updated the IUnifiedViewBox interface.

All of the boxes in Unified view are now created from plugins. All of the plugins used right now are currently built into GCA. Support for externally compiled control plugins is available, and I have created an externally compilable version of the Attack Modes Box as an example. It is just a class-name-altered version of the one I’m using internally, which was built starting from a user control. This allows it to serve as both an example of a control plugin for Unified View and a control plugin based on a Visual Studio generated user control.

All of the places that use Unified boxes, such as dialogs and Party boxes, now use the plugin versions. The old versions have been removed.

I do NOT yet have a UI for user adjusting of SheetOptions for the new control plugins. GCA will get, process, and set the options, but they’ll currently always be the defaults as provided by the plugin, because of this lack of UI. I’ll get to that soon. For now, certain things that GCA tracks itself for each plugin, such as column span, visibility, and display order, are the only things saved, due to being external to the plugins themselves.

I have changed how GCA tracks and stores color information for boxes and traits and such. GCA now tracks these settings functionally and various features can grab the color set that they want from the system. This is different from before, where color settings were created based on the boxes that might need to have colors set by GCA. Now, GCA has a fixed set of color profiles available, and the controls access the ones that they want.

Everything in GCA should now work with the new color system. It’s entirely possible I hooked some things up to the wrong colors, however, so if you see something that looks weird, please let me know.

I have corrected some drawing issues in some of the Unified boxes where spacing was wrong or where colors were the default system colors instead of GCA’s internal colors.

The Classic Attributes tab should now properly clear the center column info when there is no character loaded.

I adjusted various bits of code to adapt to how plugin versions of Unified boxes work. This involved some new procedures and some consolidation of others, mostly in frmMain.

As a result of the work on the new plugins, combined with the new color system, the Colors & Layout dialog has been removed, as has the button that called it up on the third toolbar.

I have hooked up a new System Colors dialog from a new button on the first toolbar.

I have added a new dialog for setting the layout preferences for the Unified view. This is effectively the replacement for the rest of the Colors & Layout dialog.

Added a new button dropdown-menu to the front of the Unified View toolbar. From that, you can set the flow direction of the boxes, or call up the new Unified View Layout dialog to set various available options for Unified.

Removed a bunch of unused or outdated code related to boxes, plugins, miscellaneous UI stuff, and the failed experimental attempt at unloadable plugins.

Fixed some display issues in the Options dialog, and in the main toolbars.

Renamed some classes, but I don’t think any of those were user-facing, so shouldn’t affect anything in the object model that plugin writers need.

Added the GetResourceImage() function, which returns a Bitmap, to enable plugins to more easily use image resources included with GCA.

Adjusted the Attack Modes boxes a bit to not needlessly rebuild themselves as often.

Changed the Attack Modes boxes to use the Other Traits color scheme, since I realized that attack modes aren’t really equipment-specific.

* Select() and SelectX()

The changes made last build accidentally disabled the ability to specify both an ‘atleast’ and an ‘upto’ value for pointswanted() and itemswanted(), so that has been fixed.

* Plugins

Huge breaking change!

There are conflicts in the way I had done the IBasicPlugin Interface and using a plugin that is also a Control. This is particularly annoying with Name.

So, the ReadOnly Properties Name, Description, and Version have all been changed to Functions of PluginName, PluginDescription, and PluginVersion that return strings.

Public Function PluginName() As String Implements GCA5.Interfaces.IPrinterSheet.PluginName
Public Function PluginDescription() As String Implements GCA5.Interfaces.IPrinterSheet.PluginDescription
Public Function PluginVersion() As String Implements GCA5.Interfaces.IPrinterSheet.PluginVersion

Please update your plugins to reflect this change or GCA will not load them.

If you are using Visual Studio to create your plugins, you’ll want to remove and then re-add your References to GCA5.Interfaces and GCA5Engine. (And if you have a printer sheet, and you haven’t done that for some time, it wouldn’t hurt to do C1.C1.Report.4 also.)

I’ve updated the included sheets for this.

I’ve also restored SimpleTextExport to a standard export plugin, instead of the experimental remote plugin for which support is now removed.

I’ve adjusted the code in ColorBlockSheet and OfficialCharacterSheet to handle upgrading settings a bit differently. Also, because nothing on that front has changed in a long time, I removed most of the code in that block, leaving just a shell for future use.

I’ve also adjusted ColorBlockSheet to use the new GetResourceImage() function, so it no longer needs to include the Resources image folder. (This did require updating compile.xml to add a reference to GCA5.exe and the header of the code sheet to Imports GCA5, if you also have a sheet you want to update.)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.