# Feature request: Toolbar Menu Button selected/deselected status checkmark

**URL:** <https://forum.vassalengine.org/t/feature-request-toolbar-menu-button-selected-deselected-status-checkmark/90122>\
**Category:** Feature Requests\
**Created:** [May 8, 2026, 6:37pm UTC](https://forum.vassalengine.org/t/feature-request-toolbar-menu-button-selected-deselected-status-checkmark/90122 "2026-05-08T18:37:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![clanmacrae](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/c/e8c25b/32.png) [@clanmacrae](https://forum.vassalengine.org/u/clanmacrae)\
**Post date:** [May 8, 2026, 6:37pm UTC](https://forum.vassalengine.org/t/feature-request-toolbar-menu-button-selected-deselected-status-checkmark/90122/1 "2026-05-08T18:37:49Z")

</div>

Would it be possible for the Menu Entry selection on a Toolbar Menu button to have the option to select/deselect with a visible status displayed with a checkmark?

Problem: In my example below, if multiple shading options are inadvertently selected by the player (In this game, that should never be the case), it becomes difficult to reverse the process because it is not clear which shades are turned on, and which are not.

Solution: If the shade options showed the status like below, it would become clear which ones the player needs to have on and which ones the player has currently selected to be on/off.

Thanks,

Rob

This is how I envision it would appear. (I have other modules that have many more shade options so the complexity of the layering becomes greater as the number of shade options increases)

 ![image](https://forum.vassalengine.org/uploads/default/original/2X/b/bee07c448d67f49785fa029b15659e259aa6c48c.jpeg)

 ![image](https://forum.vassalengine.org/uploads/default/original/2X/c/c6b3d9a52173223fd6e486b72aa27952f113ad7b.png)

---

<div class="post-metadata">

**Author:** ![cholmcc](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/cholmcc/32/8319_2.png) [@cholmcc](https://forum.vassalengine.org/u/cholmcc)\
**Post date:** [May 9, 2026, 8:34am UTC](https://forum.vassalengine.org/t/feature-request-toolbar-menu-button-selected-deselected-status-checkmark/90122/2 "2026-05-09T08:34:06Z")

</div>

Perhaps what you are looking for can be solved with [Scenario Options](https://vassalengine.org/doc/latest/ReferenceManual/ScenarioProperties.html#top). Define some check-options, and the will expose [Global Properties](https://vassalengine.org/doc/latest/ReferenceManual/GlobalProperties.html#top). Use the properties to turn on or off shadings. Note that you can define [Global Key Command](https://vassalengine.org/doc/latest/ReferenceManual/Map.html#GlobalKeyCommand) to react when an option is changed.

Then, users will only need to open the scenario option panel to see which shadings are active. Perhaps you can even define menus of [Global Key Command](https://vassalengine.org/doc/latest/ReferenceManual/Map.html#GlobalKeyCommand) or similar to toggle shading, and that will show up in the scenario options panel too.

Another way would be to have pieces on some map that change state when you toggle the shadings. Heck, they could even contain an [Action Button](https://vassalengine.org/doc/latest/ReferenceManual/ActionButton.html#top) trait that would toggle the shading. The pieces could have [Does not stack](https://vassalengine.org/doc/latest/ReferenceManual/NonStacking.html#top) traits to prevent them from being moved.

My 2 ¢

Yours,  
_Christian_

---

<div class="post-metadata">

**Author:** ![clanmacrae](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/c/e8c25b/32.png) [@clanmacrae](https://forum.vassalengine.org/u/clanmacrae)\
**Post date:** [May 9, 2026, 1:44pm UTC](https://forum.vassalengine.org/t/feature-request-toolbar-menu-button-selected-deselected-status-checkmark/90122/3 "2026-05-09T13:44:52Z")

</div>

![image](https://forum.vassalengine.org/uploads/default/original/2X/7/7d1f99b3b3d0bce7c1275f18f14174ec59822417.png)

Thanks Christian.

I think the third suggestion is the most creative one. I still think it would be great to have status displayed within the Vassal menu button, **but the above definitely provides a project owner the ability to add that capability with some pre-planning**.

On the downside, in the Thunderbolt Deluxe module, to implement this, presumably, I would have to add new counters to do the toggling and the GKCs, which would drive another full scenario rebuild, which takes about 40-60 man hours. That’s part of the build process of course, and I generally have to rebuild the scenarios a few times for these scenario based games anyway, so having the solution built into the Vassal menu system would make the module build less dependent on scenario add-ons.

As always, your help is appreciated, and your ability to troubleshoot for a solution is stellar.

Rob

---

<div class="post-metadata">

**Author:** ![cholmcc](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/cholmcc/32/8319_2.png) [@cholmcc](https://forum.vassalengine.org/u/cholmcc)\
**Post date:** [May 10, 2026, 4:20pm UTC](https://forum.vassalengine.org/t/feature-request-toolbar-menu-button-selected-deselected-status-checkmark/90122/4 "2026-05-10T16:20:00Z")

</div>

> [@clanmacrae](#):
>
> As always, your help is appreciated, and your ability to troubleshoot for a solution is stellar.

Thank you for the kind words.

> [@clanmacrae](#):
>
> On the downside, in the Thunderbolt Deluxe module, to implement this, presumably, I would have to add new counters to do the toggling and the GKCs, which would drive another full scenario rebuild, which takes about 40-60 man hours.

Is the module: [Thunderbolt Deluxe Edition (GMT Games) 2026](https://vassalengine.org/library/projects/Thunderbolt-Deluxe-Edition)?

If you add the toggle counters, it does not necessarily mean that the other pieces will need updating.

What you can do

- is to load the module
- load the save (`.vsav`)
- run the _Refresh Counters_ tool from the _Tools_ menu - if needed.
- Add the toggle counters
- Save the game again

Sure, it will take some time, but unless you have hundreds of saves, I think you can do faster than “40-60 man hours”.

The _Refresh Counters_ tool usefully work well for saves (`.vsav`) but doesn’t really work for `.vlog` files. The reason is, that only the end state of the `.vlog` is refreshed - not the initial state.

I my self prefer to _not_ define scenario saves in the player, but to keep the data in spreadsheet or similar, and then use my Python [`pywargame`](https://gitlab.com/wargames_tex/pywargame) to write the `.vsav` - in particular the `vsavsave.py` tool. This takes a module file (`.vmod`) and a JSON file as input and writes a `.vsav`. The JSON file specifies where which counter goes in the setup using map/board location names. This means, that even if I change a piece, I can recreate a `.vsav` from scratch. See also [this post](https://forum.vassalengine.org/t/editing-vsav-files-as-text/74765/13).

Yours,  
_Christian_

---

<div class="post-metadata">

**Author:** ![clanmacrae](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/c/e8c25b/32.png) [@clanmacrae](https://forum.vassalengine.org/u/clanmacrae)\
**Post date:** [May 10, 2026, 5:56pm UTC](https://forum.vassalengine.org/t/feature-request-toolbar-menu-button-selected-deselected-status-checkmark/90122/5 "2026-05-10T17:56:38Z")

</div>

Yes. Thunderbolt Deluxe Edition 2026.

 ![image](https://forum.vassalengine.org/uploads/default/original/2X/d/d9ba86795d81c9eff3fbae41043ec287d1b9c08d.png)

Thanks. I’ll give that a shot. As I recall, the scenarios will refresh any counters that had updates to them but ignore any new counters that have been created after the save.

But, I see you have the -Add toggle counters, after the Refresh, so maybe I’ve been doing it backwards.

I have to add an update to the Movement Attrition Calculator anyway now, so that will require a couple of new counters for the update, so I may test with that problem first. If that works, then the shade status counters should work too.
