Exemple #1
0
    def setUp(self):
        #
        # Step 1: Register all available markups nodes
        #

        markupsWidget = slicer.modules.markups.widgetRepresentation()
        if markupsWidget is None:
            raise Exception("Couldn't get the Markups module widget")

        markupsLogic = slicer.modules.markups.logic()
        if markupsLogic is None:
            raise Exception("Couldn't get the Markups module logic")

        markupsNodes = self.markupsNodes()

        # Check Markups module standard nodes are registered
        for markupNode in markupsNodes:
            markupsLogic.RegisterMarkupsNode(markupNode, markupsNodes[markupNode])

        #
        # Step 2: Register all available additional options widgets
        #
        additionalOptionsWidgetsFactory = slicer.qMRMLMarkupsOptionsWidgetsFactory().instance()
        for additionalOptionsWidget in self.additionalOptionsWidgets():
            additionalOptionsWidgetsFactory.registerOptionsWidget(additionalOptionsWidget)
Exemple #2
0
    def test_register_additional_options_widgets(self):
        """
        This reigisters additional options widgets
        """

        additionalOptionsWidgetsFactory = slicer.qMRMLMarkupsOptionsWidgetsFactory().instance()

        markupsWidget = slicer.modules.markups.widgetRepresentation()
        if markupsWidget is None:
            raise Exception("Couldn't get the Markups module widget")

        for additionalOptionsWidget in self.additionalOptionsWidgets():
            name = additionalOptionsWidget.objectName
            slicer.util.delayDisplay("Registering %s" % additionalOptionsWidget.objectName)
            additionalOptionsWidgetsFactory.registerOptionsWidget(additionalOptionsWidget)

            # Check the widget exists
            if not self.__checkWidgetExists(markupsWidget, name):
                raise Exception("%s does not exist" % additionalOptionsWidget.objectName)
Exemple #3
0
    def test_unregister_additional_options_widgets(self):
        """
        This unregisters all the additional options widgets
        """
        markupsWidget = slicer.modules.markups.widgetRepresentation()
        if markupsWidget is None:
            raise Exception("Couldn't get the Markups module widget")

        additionalOptionsWidgetsFactory = slicer.qMRMLMarkupsOptionsWidgetsFactory().instance()
        for additionalOptionsWidget in self.additionalOptionsWidgets():

            # Check the widget exists
            if not self.__checkWidgetExists(markupsWidget, additionalOptionsWidget.objectName):
                raise Exception("%s does not exist" % additionalOptionsWidget.objectName)

            # NOTE: since the widget will get destroyed, we take note of the name for the checking step
            objectName = additionalOptionsWidget.objectName

            # Unregister widget
            additionalOptionsWidgetsFactory.unregisterOptionsWidget(additionalOptionsWidget.className)

            # Check the widget does not exist
            if self.__checkWidgetExists(markupsWidget, objectName):
                raise Exception("%s does still exist" % objectName)