Update
125
Scripts/Modeling/Edit/ModIt/Class/Collapsible.py
Normal file
@ -0,0 +1,125 @@
|
||||
##--------------------------------------------------------------------------
|
||||
from PySide2 import QtWidgets, QtCore, QtGui
|
||||
from maya import cmds as mc
|
||||
import maya.mel as mel
|
||||
import json
|
||||
from ..Qt import QtWidgets, QtCore, QtCompat
|
||||
import os
|
||||
import maya.cmds as cmds
|
||||
from maya import OpenMayaUI as omui
|
||||
import mtoa.core as core
|
||||
from functools import partial
|
||||
|
||||
# Special cases for different Maya versions
|
||||
from shiboken2 import wrapInstance
|
||||
from PySide2.QtGui import QIcon
|
||||
from PySide2.QtWidgets import QWidget
|
||||
|
||||
from .. import ModIt_Global
|
||||
|
||||
##______________________GLOBAL VAR
|
||||
##PATH_SET
|
||||
IconPath = ModIt_Global.IconsPathThemeClassic
|
||||
PreferencePath = ModIt_Global.PreferencePath
|
||||
|
||||
WIN_DISPLAY_SIZE =(json.load(open(PreferencePath + 'WinSize.json',"r"))['VALUE'])
|
||||
|
||||
|
||||
|
||||
|
||||
class CollapsibleHeader(QtWidgets.QWidget):
|
||||
COLLAPSED_PIXMAP = QtGui.QPixmap(IconPath + "Arrow_Collapse")
|
||||
EXPANDED_PIXMAP = QtGui.QPixmap(IconPath + "Arrow_Down")
|
||||
|
||||
clicked = QtCore.Signal()
|
||||
|
||||
def __init__(self, text, parent=None):
|
||||
super(CollapsibleHeader, self).__init__(parent)
|
||||
|
||||
self.setAutoFillBackground(True)
|
||||
self.set_background_color(True)
|
||||
|
||||
self.icon_label = QtWidgets.QLabel()
|
||||
self.icon_label.setFixedWidth(self.COLLAPSED_PIXMAP.width())
|
||||
|
||||
self.text_label = QtWidgets.QLabel()
|
||||
self.text_label.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
|
||||
|
||||
self.main_layout = QtWidgets.QHBoxLayout(self)
|
||||
self.main_layout.setContentsMargins(4, 4, 4, 0)
|
||||
self.main_layout.setSpacing(12) # DISTANCE du TITRE de la FLECHE
|
||||
self.main_layout.addWidget(self.icon_label)
|
||||
self.main_layout.addWidget(self.text_label)
|
||||
|
||||
self.set_text(text)
|
||||
self.set_expanded(False)
|
||||
|
||||
def set_text(self, text):
|
||||
self.text_label.setText("<b>{0}</b>".format(text))
|
||||
if WIN_DISPLAY_SIZE == 1: #150%
|
||||
self.text_label.setFont(QtGui.QFont('Candara', 6))
|
||||
|
||||
def set_background_color(self, color):
|
||||
if not color:
|
||||
color = QtWidgets.QPushButton().palette().color(QtGui.QPalette.Button)
|
||||
|
||||
palette = self.palette()
|
||||
palette.setColor(QtGui.QPalette.Window, color)
|
||||
self.setPalette(palette)
|
||||
|
||||
def is_expanded(self):
|
||||
return self._expanded
|
||||
|
||||
def set_expanded(self, expanded):
|
||||
self._expanded = expanded
|
||||
|
||||
if (self._expanded):
|
||||
self.icon_label.setPixmap(self.EXPANDED_PIXMAP)
|
||||
else:
|
||||
self.icon_label.setPixmap(self.COLLAPSED_PIXMAP)
|
||||
|
||||
def mousePressEvent(self, event):
|
||||
self.clicked.emit() # pylint: disable=E1101
|
||||
|
||||
|
||||
class CollapsibleWidget(QtWidgets.QWidget):
|
||||
collapsed_signal = QtCore.Signal(bool)
|
||||
|
||||
def __init__(self, text, parent=None):
|
||||
super(CollapsibleWidget, self).__init__(parent)
|
||||
|
||||
self.header_wdg = CollapsibleHeader(text)
|
||||
self.header_wdg.clicked.connect(self.on_header_clicked) # pylint: disable=E1101
|
||||
|
||||
self.Body_wdg = QtWidgets.QWidget()
|
||||
self.Body_wdg.setContentsMargins(0, 0, 0, 0)
|
||||
|
||||
self.MAIN_lyt = QtWidgets.QVBoxLayout(self.Body_wdg)
|
||||
self.MAIN_lyt.setContentsMargins(0, 0, 0, 0)
|
||||
|
||||
|
||||
self.main_layout = QtWidgets.QVBoxLayout(self)
|
||||
self.main_layout.setContentsMargins(0, 0, 0, 0)
|
||||
self.main_layout.addWidget(self.header_wdg)
|
||||
self.main_layout.addWidget(self.Body_wdg)
|
||||
|
||||
|
||||
self.set_expanded(False)
|
||||
|
||||
def add_widget(self, widget):
|
||||
self.MAIN_lyt.addWidget(widget)
|
||||
|
||||
def add_layout(self, layout):
|
||||
self.MAIN_lyt.addLayout(layout)
|
||||
|
||||
def set_expanded(self, expanded):
|
||||
self.header_wdg.set_expanded(expanded)
|
||||
self.Body_wdg.setVisible(expanded)
|
||||
self.collapsed_signal.emit(expanded)
|
||||
|
||||
def set_header_background_color(self, color):
|
||||
self.header_wdg.set_background_color(color)
|
||||
|
||||
def on_header_clicked(self):
|
||||
self.set_expanded(not self.header_wdg.is_expanded())
|
||||
# TestDialog.btnAction(self)
|
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/2Bevel.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ARROW.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/AddEdgeFlow.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/AlignFace.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/AlignFace2.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/AlignPivot.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Apply.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 7.0 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Arrow_Down.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Arrow_Down2.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 4.8 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Arrow_Up2.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 186 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/BatchProcess.png
Normal file
After Width: | Height: | Size: 8.6 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/BevAdd.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/COLORS.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/CenterPivt.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ColorBlack.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ColorBlue.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ColorCyan.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ColorGreen.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ColorLambert.png
Normal file
After Width: | Height: | Size: 8.7 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ColorOrange.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ColorRed.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ColorYellow.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 8.7 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Combine.png
Normal file
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 2.2 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ContinusEdge.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/ContinusEdge.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/DISPLAY.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/DUP.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Deform_Bend.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 2.7 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Delete.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Discord_ico.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Display_Hide.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Display_Show.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Dup_Curve.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Dup_Linear.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Dup_Offset.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Dup_Radial.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/FaceDupli.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/FaceExtract.png
Normal file
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 2.5 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Get.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/HardEdge.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/LightRig_btn.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 5.4 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/MESH.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/MODELING.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/MODELING_OFF.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/MODELING_ON.png
Normal file
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 18 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Moins.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 9.0 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/PLACEMENT_ON.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/PlaceOnTopOf.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.6 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Plus.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Prim_CUBE.png
Normal file
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Prim_OnTopOf.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Prim_PLANE.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Prim_SPHERE.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Replace.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SETTING.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SETTING_OFF.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SETTING_ON.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SET_Icons.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SHADING.psd
Normal file
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SHADING_OFF.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SelIco1.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SelIco1b.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SelIco2.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SelIco3.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SelIco4.png
Normal file
After Width: | Height: | Size: 588 B |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Separate.png
Normal file
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 5.6 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SeparatorBtn.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 5.3 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Shading_ON.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/Sym.psd
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SymFlip.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SymMerge.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Scripts/Modeling/Edit/ModIt/Icons/Theme_Classic/SymPivot.png
Normal file
After Width: | Height: | Size: 9.9 KiB |