def _initRCMenu(self):
        ################################################################################################################
        # START EDITING HERE
        ################################################################################################################
        ## ADD CUSTOM ACTIONS FOR CUSTOM SANITY CHECKS HERE
        ## Define the custom actions now that the config will query each check to show or hide based on the
        ## type of check done
        nodes = sanity.loadNodeData()

        suffixButtons = {
            "AddGeoSuffix": {"suffix": CONST.GEOMETRY_SUFFIX["master"], "iconName": "iconmonstr-plus-1-240"},
            "AddGrpSuffix": {"suffix": CONST.GROUP_SUFFIX["master"], "iconName": "iconmonstr-plus-1-240"},
            "AddCrvSuffix": {"suffix": CONST.NURBSCRV_SUFFIX["master"], "iconName": "iconmonstr-plus-1-240"},
            "AddRigCtrlSuffix": {"suffix": CONST.RIG_CTRL_SUFFIX["master"], "iconName": "iconmonstr-plus-1-240"},
            "AddJointSuffix": {"suffix": CONST.JOINT_SUFFIX["master"], "iconName": "iconmonstr-plus-1-240"},
        }

        ## Fetch a list of valid node suffixes for adding to the UI
        nodeSuffixes = []
        for nType, data in nodes["nodes"].items():
            for eachN, nSuffixes in data.items():
                for eachSfx in nSuffixes:
                    nodeSuffixes.extend([eachSfx])
        for eachSFX in list(set(nodeSuffixes)):
            suffixButtons[eachSFX] = {"suffix": eachSFX, "iconName": "iconmonstr-plus-1-240"}
        ## Now add all the available suffixes for renaming
        self.actions = []
        for suffixName, sfxdata in suffixButtons.items():
            self.action = QAction('Add "_{}" suffix'.format(sfxdata["suffix"]), self)
            self.action.setObjectName(suffixName)
            self.action.setIcon(QIcon("{}/{}.png".format(CONST.ICONPATH, sfxdata["iconName"])))
            self.action.triggered.connect(partial(self.addSuffix, suffix=sfxdata["suffix"]))
            self.actions.extend([self.action])

        ## Renamer
        self.renameAction = QAction("Rename", self)
        self.renameAction.setObjectName("rename")
        self.renameAction.setIcon(QIcon("{}/iconmonstr-tumblr-4-240.png".format(CONST.ICONPATH)))
        self.renameAction.triggered.connect(partial(self.renamePopUpUI))
        self.actions.extend([self.renameAction])

        ## Fix ShapeName
        self.fixShapeNameAction = QAction("Fix Shape Name", self)
        self.fixShapeNameAction.setObjectName("renameShape")
        self.fixShapeNameAction.setIcon(QIcon("{}/iconmonstr-tumblr-4-240.png".format(CONST.ICONPATH)))
        self.fixShapeNameAction.triggered.connect(partial(self.fixShapeName))
        self.actions.extend([self.fixShapeNameAction])

        ## Delete Construction History
        self.deleteCHAction = QAction("Delete ConsHist", self)
        self.deleteCHAction.setObjectName("constructionHistory")
        self.deleteCHAction.setIcon(QIcon("{}/iconmonstr-trash-can-5-240.png".format(CONST.ICONPATH)))
        self.deleteCHAction.triggered.connect(partial(self.processItems, case="deleteCH"))
        self.actions.extend([self.deleteCHAction])

        ## Remove Last Char from name
        self.remLstCharAction = QAction("Remove Last Char", self)
        self.remLstCharAction.setObjectName("removeLastCharacter")
        self.remLstCharAction.setIcon(QIcon("{}/iconmonstr-trash-can-5-240.png".format(CONST.ICONPATH)))
        self.remLstCharAction.triggered.connect(partial(self.removeLastCharFromName))
        self.actions.extend([self.remLstCharAction])

        ## Remove shapes from list
        self.removeShapesAction = QAction("Remove Shapes from List", self)
        self.removeShapesAction.setObjectName("removeShapes")
        self.removeShapesAction.setIcon(QIcon("{}/iconmonstr-eye-3-icon-256.png".format(CONST.ICONPATH)))
        self.removeShapesAction.triggered.connect(
            partial(self.removeFromList, [CONST.GEOMETRY_SUFFIX["master"]] + CONST.GEOMETRY_SUFFIX["secondary"])
        )
        self.actions.extend([self.removeShapesAction])

        ################################################################################################################
        # STOP EDITING HERE
        ################################################################################################################
        ReportWindow._initRCMenu(self)
        ## Add the custom menu items to this report view
        actionsToDisplay = self.config["rightClickCheckSubMenus"][self.label]
        for eachAction in self.actions:
            if eachAction.objectName() in actionsToDisplay:
                self.rightClickMenu.addAction(eachAction)
 def __init__(self, parent=None, label=""):
     self.config = loadConfig()
     self.data = []
     self.label = label
     ReportWindow.__init__(self, parent, label)