from typing import Optional

import FreeCADGui as Gui
import FreeCAD as App

class AHB_SwitchVisibilityMode:
    def GetResources(self):
        return {"MenuText": "Switch visibility",
                "ToolTip": "Switch visibility mode",
                "Pixmap": ""
                }

    def IsActive(self):
        return True

    def Activated(self, stageId: Optional[int] = None):
        workbench = Gui.getWorkbench("AssemblyHandbookWorkbench")
        workbench.context.setAllStagesVisible(not workbench.context.getAllStagesVisible())

from ahb_command import AHB_CommandWrapper
AHB_CommandWrapper.addGuiCommand('AHB_switchVisibilityMode', AHB_SwitchVisibilityMode())