예제 #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.qSlicerMarkupsAdditionalOptionsWidgetsFactory().instance()
    for additionalOptionsWidget in self.additionalOptionsWidgets():
      additionalOptionsWidgetsFactory.registerAdditionalOptionsWidget(additionalOptionsWidget)
예제 #2
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("Could't get the Markups module widget")

        additionalOptionsWidgetsFactory = slicer.qSlicerMarkupsAdditionalOptionsWidgetsFactory(
        ).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.unregisterAdditionalOptionsWidget(
                additionalOptionsWidget)

            # Check the widget does not exist
            if self.__checkWidgetExists(markupsWidget, objectName):
                raise Exception("%s does exist" % objectName)
예제 #3
0
  def test_register_additional_options_widgets(self):
    """
    This reigisters additional options widgets
    """

    additionalOptionsWidgetsFactory = slicer.qSlicerMarkupsAdditionalOptionsWidgetsFactory().instance()

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

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

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