def test_nested(self): with ui.ColumnLayout() as cl: self.assertEqual(pm.currentParent(), cl) with pm.rowLayout() as rl: self.assertEqual(pm.currentParent(), rl) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentParent(), self.win)
def test_optionMenuGrp(self): self.assertEqual(pm.currentParent(), self.win) self.assertEqual(pm.currentMenuParent(), None) with ui.ColumnLayout() as cl: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), None) cmds.button() with ui.OptionMenuGrp() as m: self.assertEqual(pm.currentParent(), m) self.assertEqual(pm.currentMenuParent(), m.menu()) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentParent(), self.win)
def IsCurrentParent(control): """ Returns True if the given control instance is the currently set parent (i.e. will be parent to any subsequently created layout/control items). :param control: PyMel reference to a control instance. """ return (control == pm.currentParent())
def test_nestedParentJump(self): with ui.ColumnLayout() as cl: self.assertEqual(pm.currentParent(), cl) with pm.rowLayout() as rl: self.assertEqual(pm.currentParent(), rl) with cl: # set the parent BACK to the column layout self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentParent(), rl) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentParent(), self.win)
def test_nestedMenu(self): self.assertEqual(pm.currentParent(), self.win) self.assertEqual(pm.currentMenuParent(), None) with ui.ColumnLayout() as cl: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), None) cmds.button() with pm.popupMenu() as m: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), m) with ui.MenuItem(subMenu=1) as sm: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), sm) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), m) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentParent(), self.win)
def addCallback(self): """ Create UI and parent any editors. """ # delete window if pm.window(self.winName, ex=True): pm.deleteUI(self.winName) self._win = None self.applyMetrics() p = pm.currentParent() self.deleteViews() with pm.window(title=self.title) as self._win: self._mainLayout = pm.verticalLayout() pm.verticalLayout(self._mainLayout, e=True, p=p) self._win = self._mainLayout self.mainControl = self._mainLayout self.showDefaultView() pm.evalDeferred(self.refreshScriptJobs)
def test_cmdInit(self): with pm.formLayout() as fl: self.assertEqual(pm.currentParent(), fl) self.assertEqual(pm.currentParent(), self.win) with pm.rowLayout() as rl: self.assertEqual(pm.currentParent(), rl) # Since there can only be one top-level layout, # what happens is that before creating the row layout, the # parent is set to the window; but that automatically gets translated # to mean the top-level layout for that window, which is the form # layout... so the row layout has it's parent set to the form # layout self.assertEqual(pm.currentParent(), fl) with pm.columnLayout() as cl: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentParent(), fl)
def test_windowExit(self): self.assertEqual(pm.currentParent(), self.win) newWin = ui.Window() try: with newWin: self.assertEqual(pm.currentParent(), newWin) with pm.formLayout() as fl: self.assertEqual(pm.currentParent(), fl) self.assertEqual(pm.currentParent(), newWin) self.assertTrue(pm.currentParent() in (None, newWin, fl)) finally: pm.deleteUI(newWin, window=True) otherWin = ui.Window() # try NOT using with statement, to make sure the last newWin # statement's exit popped it off the stack correctly try: with pm.formLayout() as fl: self.assertEqual(pm.currentParent(), fl) self.assertEqual(pm.currentParent(), otherWin) finally: pm.deleteUI(otherWin, window=True)
def test_parentJump(self): cl = ui.ColumnLayout() rl1 = ui.RowLayout() with pm.rowLayout(parent=cl) as rl2: self.assertEqual(pm.currentParent(), rl2) self.assertEqual(pm.currentParent(), cl)
def test_rowGroupLayout(self): self.assertEqual(pm.currentParent(), self.win) self.assertEqual(pm.currentMenuParent(), None) with pm.textFieldButtonGrp( label='Label', text='Text', buttonLabel='Button' ) as tfbg: self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentMenuParent(), None) cmds.button() with pm.popupMenu() as m: self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentMenuParent(), m) with pm.menuItem(subMenu=1) as sm: self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentMenuParent(), sm) self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentMenuParent(), m) self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentParent(), self.win) fl = pm.formLayout() tfbg2 = pm.textFieldButtonGrp( label='Label', text='Text', buttonLabel='Button' ) self.assertEqual(pm.currentParent(), fl) with pm.columnLayout() as cl: cmds.button() with pm.popupMenu() as m: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), m) with pm.menuItem(subMenu=1) as sm: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), sm) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), m) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentParent(), fl)
def test_rowGroupLayout(self): self.assertEqual(pm.currentParent(), self.win) self.assertEqual(pm.currentMenuParent(), None) with pm.textFieldButtonGrp(label='Label', text='Text', buttonLabel='Button') as tfbg: self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentMenuParent(), None) cmds.button() with pm.popupMenu() as m: self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentMenuParent(), m) with pm.menuItem(subMenu=1) as sm: self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentMenuParent(), sm) self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentMenuParent(), m) self.assertEqual(pm.currentParent(), tfbg) self.assertEqual(pm.currentParent(), self.win) fl = pm.formLayout() tfbg2 = pm.textFieldButtonGrp(label='Label', text='Text', buttonLabel='Button') self.assertEqual(pm.currentParent(), fl) with pm.columnLayout() as cl: cmds.button() with pm.popupMenu() as m: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), m) with pm.menuItem(subMenu=1) as sm: self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), sm) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentMenuParent(), m) self.assertEqual(pm.currentParent(), cl) self.assertEqual(pm.currentParent(), fl)