gmendieta icon

Maya dock window with cmds

gmendieta | PRO | 03/07/18 05:27:35 PM UTC | 0 ⭐ | 334 👁️ | Never ⏰ | []
Python |

1.57 KB

|

None

|

0 👍

/

0 👎

import maya.cmds as mc
 
class BaseWindow(object):
 
    WINDOW_NAME = 'BaseWindow'
    WINDOW_TITLE = 'Base Window by PlanetaCG'
    WIDTH = 300
    HEIGHT = 600
    SCROLLABLE = True
 
    def __init__(self, dock=False, allowedAreas=('right', 'left')):
        """ """
        self.allowedAreas = allowedAreas
        self.dockable = dock
        self.CreateUI()
 
    def CreateUI(self):
        """ """
        if mc.window(self.WINDOW_NAME, exists=True):
            mc.deleteUI(self.WINDOW_NAME)
 
        # Window
        self.window = mc.window(self.WINDOW_NAME, title=self.WINDOW_TITLE, width=self.WIDTH, height=self.HEIGHT,
                           sizeable=True, minimizeButton=False, maximizeButton=False)
        mc.window(self.window, edit=True, width=self.WIDTH, height=self.HEIGHT)
 
        self.mainLayout = mc.columnLayout('mainLayout', width=self.WIDTH)
 
        self.contentLayout = self.mainLayout
 
        if self.SCROLLABLE:
            self.scrollLayout = mc.scrollLayout('scrollLayout', width=self.WIDTH, height=self.HEIGHT, parent=self.mainLayout)
            self.contentLayout = mc.columnLayout('contentLayout', width=self.WIDTH - 16, parent=self.scrollLayout)
 
        self.CreateCustomUI()
 
        if self.dockable:
            mc.dockControl(label=self.WINDOW_TITLE, area='right', content=self.window, allowedArea=self.allowedAreas)
        # mc.showWindow(self.window)
 
    def CreateCustomUI(self):
        """ """
        print 'BaseWindow.CreateCustomUI Override this function in child classes'
 
 
window = BaseWindow(dock=True)

Comments