SonyWWS / ATF

Authoring Tools Framework (ATF) is a set of C#/.NET components for making tools on Windows. ATF has been in continuous development in Sony Computer Entertainment's (SCE) Worldwide Studios central tools group since early 2005. ATF has been used by most SCE first party studios to make many custom tools such as Naughty Dog’s level editor and shader editor for The Last of Us, Guerrilla Games’ sequence editor for Killzone games (including the Killzone: Shadow Fall PS4 launch title), an animation blending tool at Santa Monica Studio, a level editor at Bend Studio, a visual state machine editor for Quantic Dream, sound editing tools, and many others.
Apache License 2.0
1.89k stars 262 forks source link

Panel visiblity status is not reflected in the "Window" menu #61

Open avenger3pt0 opened 7 years ago

avenger3pt0 commented 7 years ago

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:

  1. Add a OutputService to your program
  2. Launch program and notice the "Output" menu item in the "Window" menu is checked and the panel is visible.
  3. Click the "Output" menu item.
  4. Notice that the panel has been hidden.
  5. 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.

abeckus commented 7 years ago

Please keep your local fix as long as it works. I will try to reproduce this bug and update this issue when I get a chance. So let us keep this issue open until then. Alan

avenger3pt0 commented 7 years ago

Hello Alan,

Any updates on this?

abeckus commented 7 years ago

Sorry I don't any update at this time. Currently I don't have any time to work on ATF because of internal projects. I will update ATF when I get a chance but I don't any time estimate.

Thanks Alan

abeckus commented 7 years ago

I couldn't reproduce the issue with the steps you provided using master branch. if you are using anything other than master branch, please use master branch instead. Due to lack of time my current plan to update only master branch.

If anyone else experiencing this issue please let me, I will keep this tracker open.