This commit is contained in:
2025-11-24 08:27:50 +08:00
parent 6940f17517
commit e76152945e
104 changed files with 10003 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
from maya import OpenMaya as om
from ngSkinTools2.api.pyside import QtCore, QtWidgets
openDialogs = []
messagesCallbacks = []
# main window will set itself here
promptsParent = None
def __baseMessageBox(message):
msg = QtWidgets.QMessageBox(promptsParent)
msg.setWindowTitle("ngSkinTools2")
msg.setText(message)
for i in messagesCallbacks:
i(message)
openDialogs.append(msg)
return msg
def displayError(message):
"""
displays error in script editor and in a dialog box
"""
message = str(message)
om.MGlobal.displayError('[ngSkinTools2] ' + message)
msg = __baseMessageBox(message)
msg.setIcon(QtWidgets.QMessageBox.Critical)
msg.exec_()
def info(message):
msg = __baseMessageBox(message)
msg.setIcon(QtWidgets.QMessageBox.Information)
msg.exec_()
def yesNo(message):
msg = __baseMessageBox(message)
msg.setIcon(QtWidgets.QMessageBox.Question)
msg.setStandardButtons(QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No)
msg.setDefaultButton(QtWidgets.QMessageBox.Yes)
return msg.exec_() == QtWidgets.QMessageBox.Yes
def closeAllAfterTimeout(timeout, result=0):
def closeAll():
while openDialogs:
msg = openDialogs.pop()
msg.done(result)
QtCore.QTimer.singleShot(timeout, closeAll)