-
Notifications
You must be signed in to change notification settings - Fork 260
Description
Our tool has multiple panes that can have their visibility status toggled by clicking on their menu item in the "Window" menu. The issue is that those menu items always have a check mark next to them, no matter the visibility status. Repro steps:
- Add a
OutputServiceto your program - Launch program and notice the "Output" menu item in the "Window" menu is checked and the panel is visible.
- Click the "Output" menu item.
- Notice that the panel has been hidden.
- Click on the "Window" menu again and notice that the "Output" menu item is still checked.
Expected that the "Output" menu item is no longer checked because the panel is not visible.
I believe I have identified that the issue is that the CommandInfo is never updated after the program is initialized. I came up with a solution by modifying CommandService.item_Click :
ICommandClient client = GetClientOrActiveClient(tag);
if (client != null && client.CanDoCommand(tag))
{
client.DoCommand(tag);
UpdateCommand(tag); //Force the command status to be updated
}
My question is if this is the correct fix or if there is a better way to accomplish the desired behavior.