def startDrag(dragSource, dropActions, objects): mimeData = QtCore.QMimeData() mimeData.setText("\n".join(["%s" % job.data.name for job in objects])) mimeDataAdd(mimeData, "application/x-job-names", [object.data.name for object in objects if isJob(object)]) mimeDataAdd(mimeData, "application/x-job-ids", [opencue.id(object) for object in objects if isJob(object)]) mimeDataAdd(mimeData, "application/x-group-names", [object.data.name for object in objects if isGroup(object)]) mimeDataAdd(mimeData, "application/x-group-ids", [opencue.id(object) for object in objects if isGroup(object)]) mimeDataAdd(mimeData, "application/x-host-names", [object.data.name for object in objects if isHost(object)]) mimeDataAdd(mimeData, "application/x-host-ids", [opencue.id(object) for object in objects if isHost(object)]) drag = QtGui.QDrag(dragSource) drag.setMimeData(mimeData) drag.exec_(QtCore.Qt.MoveAction)
def __populate_menu(self): self.__menu.clear() for group in self.__show.getGroups(): if opencue.id(group) in self.__actions: self.__menu.addAction(self.__actions[opencue.id(group)]) else: action = QtWidgets.QAction(self) action.setText(group.data.name) action.setCheckable(True) self.__actions[opencue.id(group)] = action self.__menu.addAction(action)
def __init__(self, layers, parent=None): QtWidgets.QDialog.__init__(self, parent) self.__layers = [opencue.api.getLayer(opencue.id(l)) for l in layers] self.setWindowTitle("Layer Properties") multiSelect = len(self.__layers) > 1 self.mem_max_gb = float(self._cfg().get('max_memory', 80.0)) self.mem_min_gb = 0.25 self.mem_max_kb = int(self.mem_max_gb * 1024 * 1024) self.mem_min_kb = int(self.mem_min_gb * 1024 * 1024) self.gpu_max_kb = 2 * 1024 * 1024 self.gpu_min_kb = 0 self.gpu_tick_kb = 256 * 1024 self.gpu_max_gb = 2.0 self.gpu_min_gb = 0.0 self.gpu_tick_gb = .25 self.__group = QtWidgets.QGroupBox("Resource Options", self) ## Memory self.__mem = SlideSpinner(self) self.__mem.slider.setMinimumWidth(200) self.__mem.slider.setRange(self.mem_min_kb, self.mem_max_kb) self.__mem.slider.setTickInterval(self.mem_min_kb) self.__mem.slider.setSingleStep(self.mem_min_kb) self.__mem.spinner.setSuffix(" GB") self.__mem.spinner.setRange(self.mem_min_gb, self.mem_max_gb) ## Cores self.__core = QtWidgets.QDoubleSpinBox(self) self.__core.setDecimals(1) self.__core.setRange(0, int(self._cfg().get('max_cores', 16))) self.__core.setSingleStep(1) ## Max cores self.__max_cores = QtWidgets.QSpinBox(self) self.__max_cores.setRange(0, int(self._cfg().get('max_cores', 16))) self.__max_cores.setSingleStep(1) ## Disable this for everything except commander. if QtGui.qApp.applicationName() != "CueCommander": self.__core.setDisabled(True) # Threads self.__thread = QtWidgets.QCheckBox(self) self.__thread.setChecked(self.getThreading()) # Memory Optimizer self.__mem_opt = QtWidgets.QCheckBox() self.__mem_opt.setChecked(self.getMemoryOptSetting()) # Tags self.__tags = LayerTagsWidget(self.__layers, self) ## GPU Memory self.__gpu = SlideSpinner(self) self.__gpu.slider.setMinimumWidth(200) self.__gpu.slider.setRange(self.gpu_min_kb, self.gpu_max_kb / self.gpu_tick_kb) self.__gpu.slider.setTickInterval(1) self.__gpu.slider.setSingleStep(1) self.__gpu.slider.setPageStep(1) self.__gpu.spinner.setSuffix(' GB') self.__gpu.spinner.setRange(self.gpu_min_gb, self.gpu_max_gb) self.__gpu.spinner.setSingleStep(self.gpu_tick_gb) # Our dialog buttons. self.__buttons = QtWidgets.QDialogButtonBox(QtWidgets.QDialogButtonBox.Save | QtWidgets.QDialogButtonBox.Cancel, QtCore.Qt.Horizontal, self) # Setup signals self.__mem.slider.valueChanged.connect(self.__translateToMemSpinbox) self.__mem.spinner.valueChanged.connect(self.__translateToMemSlider) self.__gpu.slider.valueChanged.connect(self.__translateToGpuSpinbox) self.__gpu.spinner.valueChanged.connect(self.__translateToGpuSlider) self.__buttons.accepted.connect(self.verify) self.__buttons.rejected.connect(self.reject) # Set actual values once signals are setup self.__mem.slider.setValue(self.getMaxMemory()) self.__gpu.slider.setValue(self.getMaxGpu()) self.__core.setValue(self.getMinCores()) self.__max_cores.setValue(self.getMaxCores()) QtWidgets.QVBoxLayout(self) layout = QtWidgets.QVBoxLayout() layout.addWidget(EnableableItem(LayerPropertiesItem("Minimum Memory:", self.__mem, False), multiSelect)) layout.addWidget(EnableableItem(LayerPropertiesItem("Memory Optimizer:", self.__mem_opt, True), multiSelect)) layout.addWidget(EnableableItem(LayerPropertiesItem("Min Threads:", self.__core, False), multiSelect)) layout.addWidget(EnableableItem(LayerPropertiesItem("Max Threads:", self.__max_cores, False), multiSelect)) layout.addWidget(EnableableItem(LayerPropertiesItem("Multi-Threadable:", self.__thread, True), multiSelect)) layout.addWidget(EnableableItem(LayerPropertiesItem("Minimum Gpu Memory:", self.__gpu, False), multiSelect)) layout.addStretch() self.__group.setLayout(layout) self.layout().addWidget(EnableableItem(self.__tags, multiSelect)) self.layout().addWidget(self.__group) self.layout().addWidget(self.__buttons)
def testIdOnEntityList(self): jobs = opencue.api.getJobs() ids = opencue.id(jobs) self.assertEquals(len(jobs), len(ids)) for i in range(0,len(jobs)): self.assertEquals(jobs[i].name, ids[i])
def testIdOnEntity(self): job = opencue.api.getJobs()[0] self.assertEquals(job.name, opencue.id(job))