Beispiel #1
0
    def __init__(self, parent=None, settings = None, browser = None):
        self.parent = parent
        self.utils = XNATUtils()   
        self.settings = settings
        self.browser = browser
        self.XNATCommunicator = None
        
        self.viewWidget = None
        
        self.loadButton = qt.QPushButton()
        self.loadButton.setFont(self.utils.labelFont)
        self.loadButton.setToolTip("Load file, image folder or scene from XNAT to Slicer.")
        self.loadButton.setIcon(qt.QIcon(os.path.join(self.utils.iconPath, 'load.jpg')) )
        self.loadButton.setFixedSize(self.utils.buttonSizeMed)
        self.loadButton.connect('clicked()', self.loadButtonClicked)
        self.loadButton.setEnabled(False)
        
        self.saveButton = qt.QPushButton()
        self.saveButton.setIcon(qt.QIcon(os.path.join(self.utils.iconPath, 'save.jpg')) )
        self.saveButton.setToolTip("Upload current scene to XNAT.")
        self.saveButton.setFont(self.utils.labelFont)
        self.saveButton.setFixedSize(self.utils.buttonSizeMed)
        self.saveButton.connect('clicked()', self.saveButtonClicked)
        self.saveButton.setEnabled(False) 
 
        self.deleteButton = qt.QPushButton()
        self.deleteButton.setIcon(qt.QIcon(os.path.join(self.utils.iconPath, 'delete.jpg')) )
        self.deleteButton.setToolTip("Delete XNAT File.")
        self.deleteButton.setFont(self.utils.labelFont)
        self.deleteButton.setFixedSize(self.utils.buttonSizeSmall)
        self.deleteButton.connect('clicked()', self.deleteButtonClicked)
        self.deleteButton.setEnabled(False) 
        
        self.addProjButton = qt.QPushButton()
        self.addProjButton.setIcon(qt.QIcon(os.path.join(self.utils.iconPath, 'addproj.jpg')) )
        self.addProjButton.setToolTip("Add Project, Subject, or Experiment to XNAT.")
        self.addProjButton.setFont(self.utils.labelFont)
        self.addProjButton.setFixedSize(self.utils.buttonSizeSmall)
        self.addProjButton.connect('clicked()', self.addProjClicked)
        self.addProjButton.setEnabled(False) 
        
        self.statusView = textStatusBar(overwriteMode = True, size = 7)
        
        self.sessionManager = XNATSessionManager(self.browser)
        
        self.addProjEditor = None
        
        if not self.parent == None:
            self.setup()
Beispiel #2
0
    def __init__(self):
        self.utils = XNATUtils()
        self.wizard = qt.QWizard()
        self.os_system = ""
        self.os_release = ""
        self.os_machine = ""
        self.introDialog = qt.QMessageBox()
        self.introDialog.setStandardButtons(qt.QMessageBox.Ok | 
                                            qt.QMessageBox.Cancel)
        self.introDialog.setIcon(2)
        self.introDialog.setDefaultButton(qt.QMessageBox.Ok)
        self.introDialog.setText("Before you can browse XNAT, " + 
                                 "the module will install the necessary " + 
                                 "Python libraries. After completion, " + 
                                 "you won't see this wizard again.")            
        self.introDialog.connect('buttonClicked(QAbstractButton*)', 
                                 self.introDialog_next)
        self.checkPermissionsDialog = qt.QMessageBox()
        self.checkPermissionsDialog.setTextFormat(1)
        self.checkPermissionsDialog.setIcon(2)
        self.checkPermissionsDialog.setStandardButtons(qt.QMessageBox.Ok | 
                                                       qt.QMessageBox.Cancel)
        self.checkPermissionsDialog.setDefaultButton(qt.QMessageBox.Ok)
        self.permissionsText = ("Please make sure you have " + 
                                "FULL read/write permissions " + 
                                "for the Slicer install directory '<b>%s</b>'."%(str(slicer.app.slicerHome)) + 
                                "\n\nInstructions on how to do this " + 
                                "are here: <a href=\"https://github.com/sunilk-wustl/XNATSlicer/wiki/Win64Install\">https://github.com/sunilk-wustl/XNATSlicer/wiki/Win64Install</a>")
        self.checkPermissionsDialog.setText(self.permissionsText)
        self.checkPermissionsDialog.connect('buttonClicked(QAbstractButton*)', 
                                            self.checkPermissionsDialog_next)

        self.installStatusDialog = textStatusBar(slicer.qMRMLWidget())
        self.installStatusDialog.textField.setFixedSize(400, 600)
        self.restartDialog = qt.QMessageBox()
        self.restartDialog.setStandardButtons(qt.QMessageBox.Ok | 
                                              qt.QMessageBox.Cancel)
        
        self.restartDialog.setDefaultButton(qt.QMessageBox.Ok)
        self.restartDialog.setText("Slicer must restart in order " + 
                                   "for the new libraries to be recognized.")
        self.restartDialog.connect('buttonClicked(QAbstractButton*)', 
                                   self.restartDialog_next)
        
        self.fileDialog = qt.QFileDialog()
        self.fileDialog.setFileMode(4)
        
        self.installMessages = []
        self.installMessageLen = 30

        for i  in range(0, self.installMessageLen):
            self.installMessages.append("")
    
        self.installDir = None  
        self.isInstalled = True        
        self.installPaths = {}
        self.modPaths = {}
        
        self.copyFiles = []
        files = os.listdir(self.utils.pythonMods_Win64)
        for fileN in files:
            if fileN.find(".") > -1:
                self.copyFiles.append(os.path.join(self.utils.pythonMods_Win64, 
                                                   fileN))