def __init__(self, x, y, w, h, scene, view, animUI): super(commentBoxItem, self).__init__(x, y, w, h) self.brush = QtGui.QBrush(QtGui.QColor(60, 60, 60, 125)) self.brushColor = self.brush.color() self.width = w self.height = h self.x = x self.y = y self.scale = 1 self.menu = QtWidgets.QMenu() self.scene = scene self.view = view self.animUI = animUI self.setFlag(QtWidgets.QGraphicsItem.ItemSendsGeometryChanges) # add items to context menu self.menu.addAction("Change Color", self.changeBoxColor) self.menu.addAction("Rename", self.changeLabelText) self.menu.addAction("Remove Comment Box", self.deleteCommentBox) # add text self.textLabel = QtWidgets.QGraphicsTextItem("Comment Box", self, scene) self.textLabel.setPos(x, y - 20) self.textLabel.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) # self.textLabel.setTextInteractionFlags(QtCore.Qt.TextEditable) self.classType = "comment"
def pickerUI(self, center, animUI, networkNode, namespace): #create qBrushes yellowBrush = QtCore.Qt.yellow blueBrush = QtGui.QColor(100, 220, 255) purpleBrush = QtGui.QColor(111, 48, 161) clearBrush = QtGui.QBrush(QtCore.Qt.black) clearBrush.setStyle(QtCore.Qt.NoBrush) #create border item if networkNode.find(":") != -1: moduleNode = networkNode.partition(":")[2] else: moduleNode = networkNode borderItem = interfaceUtils.pickerBorderItem(center.x() - 40, center.y() - 70, 50, 98, clearBrush, moduleNode) #get controls + namespace networkNode = self.returnNetworkNode controls = json.loads(cmds.getAttr(networkNode + ".rootControls")) #master anim button masterBtn = interfaceUtils.pickerButton(30, 30, [10, 2], namespace + controls[0], yellowBrush, borderItem) interfaceUtils.addTextToButton("M", masterBtn) #offset anim button offsetBtn = interfaceUtils.pickerButton(30, 30, [10, 34], namespace + controls[1], blueBrush, borderItem) interfaceUtils.addTextToButton("O", offsetBtn) #root anim button rootBtn = interfaceUtils.pickerButton(30, 30, [10, 66], namespace + controls[2], purpleBrush, borderItem) interfaceUtils.addTextToButton("R", rootBtn) #======================================================================= # #Create scriptJob for selection. Set scriptJob number to borderItem.data(5) #======================================================================= scriptJob = cmds.scriptJob(event=[ "SelectionChanged", partial(self.selectionScriptJob_animUI, [[masterBtn, namespace + controls[0], yellowBrush], [offsetBtn, namespace + controls[1], blueBrush], [rootBtn, namespace + controls[2], purpleBrush]]) ], kws=True) borderItem.setData(5, scriptJob) animUI.selectionScriptJobs.append(scriptJob) return [borderItem, False, scriptJob]
def __init__(self, width, height, relativePos, controlObjects, brush, parent=None): super(pickerButtonAll, self).__init__(parent) self.parentItem().setZValue(1) self.setZValue(2) self.brush = QtGui.QBrush(brush) self.brushColor = brush self.width = width self.height = height self.relativePos = relativePos self.objects = controlObjects self.setPos(self.parentItem().boundingRect().topLeft()) self.setPos(self.pos().x() + self.relativePos[0], self.pos().y() + self.relativePos[1])
def addJointMoverToOutliner(self): index = self.rigUiInst.treeWidget.topLevelItemCount() #Add the module to the tree widget in the outliner tab of the rig creator UI self.outlinerWidgets[self.name + "_treeModule"] = QtWidgets.QTreeWidgetItem( self.rigUiInst.treeWidget) self.rigUiInst.treeWidget.topLevelItem(index).setText(0, self.name) foreground = QtGui.QBrush(QtGui.QColor(255, 255, 255)) self.outlinerWidgets[self.name + "_treeModule"].setForeground( 0, foreground) #add the buttons self.createGlobalMoverButton( self.name, self.outlinerWidgets[self.name + "_treeModule"], self.rigUiInst) #create selection script job for module self.updateBoneCount() self.createScriptJob()
def __init__(self, width, height, pointArray, relativePos, controlObj, brush, parent=None): super(pickerButtonCustom, self).__init__(parent) self.parentItem().setZValue(1) self.setZValue(2) self.brush = QtGui.QBrush(brush) self.brushColor = brush self.pointArray = pointArray self.poly = self.createPolygon() self.setPolygon(self.poly) # position item self.relativePos = relativePos self.object = controlObj self.setPos(self.parentItem().boundingRect().topLeft()) self.setPos(self.pos().x() + self.relativePos[0], self.pos().y() + self.relativePos[1]) # create menu self.menu = QtWidgets.QMenu() self.classType = "pickerButton"