def warningMessage(self, message):
     messageBox = ctk.ctkMessageBox()
     messageBox.setWindowTitle(" /!\ WARNING /!\ ")
     messageBox.setIcon(messageBox.Warning)
     messageBox.setText(message)
     messageBox.setStandardButtons(messageBox.Ok)
     messageBox.exec_()
Esempio n. 2
0
 def info_message_box(self,text):
   c = ctk.ctkMessageBox()
   c.setIcon(qt.QMessageBox.Information)
   c.setText(text)
   c.setStandardButtons(qt.QMessageBox.Ok)
   c.setDefaultButton(qt.QMessageBox.Ok)
   answer = c.exec_()
    def onCleanButton(self):
        messageBox = ctk.ctkMessageBox()
        messageBox.setWindowTitle(" /!\ WARNING /!\ ")
        messageBox.setIcon(messageBox.Warning)
        messageBox.setText("Your model is about to be modified")
        messageBox.setInformativeText("Do you want to continue?")
        messageBox.setStandardButtons(messageBox.No | messageBox.Yes )
        choice = messageBox.exec_()

        if choice == messageBox.Yes:
            if self.inputModelSelector.currentNode():
                activeInput = self.inputModelSelector.currentNode()
                self.dictionaryInput[activeInput.GetID()].cleanBool = True

                # Clean the mesh with vtkCleanPolyData cleaner and vtkTriangleFilter:
                self.logic.cleanerAndTriangleFilter(activeInput)

                # Define the new ROI:
                fidNode = slicer.app.mrmlScene().GetNodeByID(self.dictionaryInput[activeInput.GetID()].fidNodeID)
                selectedLandmarkID = self.logic.findIDFromLabel(self.dictionaryInput[activeInput.GetID()].dictionaryLandmark,
                                                                self.landmarkComboBoxROI.currentText)
                if selectedLandmarkID != False:
                    activeLandmarkState = self.dictionaryInput[activeInput.GetID()].dictionaryLandmark[selectedLandmarkID]
                    markupsIndex = fidNode.GetMarkupIndexByID(selectedLandmarkID)
                    activeLandmarkState.indexClosestPoint = self.logic.getClosestPointIndex(fidNode,
                                                                                            slicer.util.getNode(activeInput.GetID()).GetPolyData(),
                                                                                            markupsIndex)
                self.onRadiusValueChanged()
        else:
            messageBox.setText(" Region not modified")
            messageBox.setStandardButtons(messageBox.Ok)
            messageBox.setInformativeText("")
            messageBox.exec_()
 def warningMessage(self, message):
     messageBox = ctk.ctkMessageBox()
     messageBox.setWindowTitle(" /!\ WARNING /!\ ")
     messageBox.setIcon(messageBox.Warning)
     messageBox.setText(message)
     messageBox.setStandardButtons(messageBox.Ok)
     messageBox.exec_()
Esempio n. 5
0
 def confim_message_box(self,text):
   c = ctk.ctkMessageBox()
   c.setIcon(qt.QMessageBox.Information)
   c.setText(text)
   c.setStandardButtons(qt.QMessageBox.Yes | qt.QMessageBox.No)
   c.setDefaultButton(qt.QMessageBox.Ok)
   answer = c.exec_()
   return answer == qt.QMessageBox.Yes
 def warningMessage(self, text, informativeText):
   messageBox = ctk.ctkMessageBox()
   messageBox.setWindowTitle(' /!\ WARNING /!\ ')
   messageBox.setIcon(messageBox.Warning)
   messageBox.setText(text)
   if not informativeText == None:
     messageBox.setInformativeText(informativeText)
   messageBox.setStandardButtons(messageBox.Ok)
   messageBox.exec_()
 def onAddButton(self):
     # Add fiducial on the scene.
     # If no input model selected, the addition of fiducial shouldn't be possible.
     if self.inputModelSelector.currentNode():
         self.interactionNode.SetCurrentInteractionMode(1)
     else:
         messageBox = ctk.ctkMessageBox()
         messageBox.setWindowTitle(" /!\ WARNING /!\ ")
         messageBox.setIcon(messageBox.Warning)
         messageBox.setText("Please select a model of reference")
         messageBox.setStandardButtons(messageBox.Ok)
         messageBox.exec_()
Esempio n. 8
0
def messageBox(text, parent=None, **kwargs):
  """Displays a messagebox.
  ctkMessageBox is used instead of a default qMessageBox to provide "Don't show again" checkbox.
  For example: slicer.util.messageBox("Some message", dontShowAgainSettingsKey = "MainWindow/DontShowSomeMessage")
  """
  import qt
  import ctk
  mbox = ctk.ctkMessageBox(parent if parent else mainWindow())
  mbox.text = text
  for key, value in kwargs.iteritems():
    if hasattr(mbox, key):
      setattr(mbox, key, value)
  return mbox.exec_()
Esempio n. 9
0
def messageBox(text, parent=None, **kwargs):
    """Displays a messagebox.
  ctkMessageBox is used instead of a default qMessageBox to provide "Don't show again" checkbox.
  For example: slicer.util.messageBox("Some message", dontShowAgainSettingsKey = "MainWindow/DontShowSomeMessage")
  """
    import qt
    import ctk
    mbox = ctk.ctkMessageBox(parent if parent else mainWindow())
    mbox.text = text
    for key, value in kwargs.iteritems():
        if hasattr(mbox, key):
            setattr(mbox, key, value)
    return mbox.exec_()
Esempio n. 10
0
 def onCleanButton(self):
     messageBox = ctk.ctkMessageBox()
     messageBox.setWindowTitle(" /!\ WARNING /!\ ")
     messageBox.setIcon(messageBox.Warning)
     messageBox.setText("Your model is about to be modified")
     messageBox.setInformativeText("Do you want to continue?")
     messageBox.setStandardButtons(messageBox.No | messageBox.Yes)
     choice = messageBox.exec_()
     if choice == messageBox.Yes:
         selectedLandmark = self.landmarkComboBox.currentText
         self.logic.cleanMesh(selectedLandmark)
         self.onRadiusValueChanged()
     else:
         messageBox.setText(" Region not modified")
         messageBox.setStandardButtons(messageBox.Ok)
         messageBox.setInformativeText("")
         messageBox.exec_()
 def onCleanButton(self):
     messageBox = ctk.ctkMessageBox()
     messageBox.setWindowTitle(" /!\ WARNING /!\ ")
     messageBox.setIcon(messageBox.Warning)
     messageBox.setText("Your model is about to be modified")
     messageBox.setInformativeText("Do you want to continue?")
     messageBox.setStandardButtons(messageBox.No | messageBox.Yes)
     choice = messageBox.exec_()
     if choice == messageBox.Yes:
         selectedLandmark = self.landmarkComboBox.currentText
         self.logic.cleanMesh(selectedLandmark)
         self.onRadiusValueChanged()
     else:
         messageBox.setText(" Region not modified")
         messageBox.setStandardButtons(messageBox.Ok)
         messageBox.setInformativeText("")
         messageBox.exec_()
Esempio n. 12
0
 def exportationFunction(self, directoryExport, listToExport, typeCalculation, correspondentDict):
     directory = directoryExport.directory.encode('utf-8')
     messageBox = ctk.ctkMessageBox()
     messageBox.setWindowTitle(' /!\ WARNING /!\ ')
     messageBox.setIcon(messageBox.Warning)
          
     fileName = directory + '/' + typeCalculation + '.csv'
     if os.path.exists(fileName):
         messageBox.setText('File ' + fileName + ' already exists!')
         messageBox.setInformativeText('Do you want to replace it ?')
         messageBox.setStandardButtons( messageBox.No | messageBox.Yes)
         choice = messageBox.exec_()
         if choice == messageBox.NoToAll:
             return True
         if choice == messageBox.Yes:
             self.exportAsCSV(fileName, listToExport, typeCalculation, correspondentDict)
     else:
         self.exportAsCSV(fileName, listToExport, typeCalculation, correspondentDict)
 def connectedModelChangement(self):
     messageBox = ctk.ctkMessageBox()
     messageBox.setWindowTitle(" /!\ WARNING /!\ ")
     messageBox.setIcon(messageBox.Warning)
     messageBox.setText("The Markup Fiducial Node selected is curently projected on an"
                        "other model, if you chose to continue the fiducials will be  "
                        "reprojected, and this could impact the functioning of other modules")
     messageBox.setInformativeText("Do you want to continue?")
     messageBox.setStandardButtons(messageBox.No | messageBox.Yes)
     choice = messageBox.exec_()
     if choice == messageBox.Yes:
         return True
     else:
         messageBox.setText(" Node not modified")
         messageBox.setStandardButtons(messageBox.Ok)
         messageBox.setInformativeText("")
         messageBox.exec_()
         return False
 def connectedModelChangement(self):
     messageBox = ctk.ctkMessageBox()
     messageBox.setWindowTitle(" /!\ WARNING /!\ ")
     messageBox.setIcon(messageBox.Warning)
     messageBox.setText(
         "The Markup Fiducial Node selected is curently projected on an"
         "other model, if you chose to continue the fiducials will be  "
         "reprojected, and this could impact the functioning of other modules"
     )
     messageBox.setInformativeText("Do you want to continue?")
     messageBox.setStandardButtons(messageBox.No | messageBox.Yes)
     choice = messageBox.exec_()
     if choice == messageBox.Yes:
         return True
     else:
         messageBox.setText(" Node not modified")
         messageBox.setStandardButtons(messageBox.Ok)
         messageBox.setInformativeText("")
         messageBox.exec_()
         return False
 def isUnderTransform(self, markups):
     if markups.GetParentTransformNode():
         messageBox = ctk.ctkMessageBox()
         messageBox.setWindowTitle(" /!\ WARNING /!\ ")
         messageBox.setIcon(messageBox.Warning)
         messageBox.setText("Your Markup Fiducial Node is currently modified by a transform,"
                            "if you choose to continue the program will apply the transform"
                            "before doing anything else!")
         messageBox.setInformativeText("Do you want to continue?")
         messageBox.setStandardButtons(messageBox.No | messageBox.Yes)
         choice = messageBox.exec_()
         if choice == messageBox.Yes:
             logic = slicer.vtkSlicerTransformLogic()
             logic.hardenTransform(markups)
             return False
         else:
             messageBox.setText(" Node not modified")
             messageBox.setStandardButtons(messageBox.Ok)
             messageBox.setInformativeText("")
             messageBox.exec_()
             return True
     else:
         return False
 def isUnderTransform(self, markups):
     if markups.GetParentTransformNode():
         messageBox = ctk.ctkMessageBox()
         messageBox.setWindowTitle(" /!\ WARNING /!\ ")
         messageBox.setIcon(messageBox.Warning)
         messageBox.setText(
             "Your Markup Fiducial Node is currently modified by a transform,"
             "if you choose to continue the program will apply the transform"
             "before doing anything else!")
         messageBox.setInformativeText("Do you want to continue?")
         messageBox.setStandardButtons(messageBox.No | messageBox.Yes)
         choice = messageBox.exec_()
         if choice == messageBox.Yes:
             logic = slicer.vtkSlicerTransformLogic()
             logic.hardenTransform(markups)
             return False
         else:
             messageBox.setText(" Node not modified")
             messageBox.setStandardButtons(messageBox.Ok)
             messageBox.setInformativeText("")
             messageBox.exec_()
             return True
     else:
         return False