createShelfBtn
## -*- coding: utf-8 -*-
import pymel.core as pm
import maya.mel as mm
import sys
from PySide import QtCore, QtGui
from PySide.QtUiTools import QUiLoader
import remitools.foundation.qt as qt
def createNewShelf(shelfName):
"""
新しいシェルフを作成して、作成したShelfのPymel.ShelfLayoutObjectを返す
"""
if pm.shelfLayout(shelfName,exists=True) != True:
mm.eval("addNewShelfTab \""+ shelfName +"\"")
shelfOBj = pm.shelfLayout(shelfName,e=True)
return qt.getMayaShelfObj(shelfOBj)
class ShelfMenuBtn(QtGui.QPushButton):
actions = {}
subMenu = {}
def __init__(self,btnName):
super(ShelfMenuBtn,self).__init__(btnName)
self.Menu = QtGui.QMenu()
self.clicked.connect(self.btnClick)
def btnClick(self):
pos = QtGui.QCursor().pos()
self.Menu.popup(pos)
def addItem(self,itemMenu,pMenu=None):
self.actions[itemMenu] = QtGui.QAction(itemMenu,self)
if pMenu != None:
if self.subMenu.has_key(pMenu) == True:
self.subMenu[pMenu].addAction(self.actions[itemMenu])
else:
self.Menu.addAction(self.actions[itemMenu])
else:
self.Menu.addAction(self.actions[itemMenu])
def addMenu(self,menuName):
self.subMenu[menuName] = self.Menu.addMenu(menuName)
def ShelfSize(self,num):
"""
defaultサイズからどれぐらいの大きさにするのか設定する
"""
self.setFixedWidth(34 * num)