Lock Window Position
#############################################################
# Author: Tetsuya Wakao
# Date: 2009.05.16
# Sample script: Lock window position
#############################################################
# Import
import maya.cmds as mc;
#------------------------------------------------------------
# frameLayout tips
def frameLayoutFN(prnt,bstyles):
num=len(bstyles);
for i in range(0,num):prnt=mc.frameLayout(p=prnt,bs=bstyles[i],lv=0);
return(prnt);
#------------------------------------------------------------
# toggle lock state
def toggleWinLock(win):
v=30; h=4; #offset values
pos=mc.window(win,q=1,tlc=1);
if mc.window(win,q=1,tb=1):
mc.window(win,e=1,tb=0,s=0);
pos[0]=pos[0]+v;
pos[1]=pos[1]+h;
else:
mc.window(win,e=1,tb=1,s=1);
pos[0]=pos[0]-v;
pos[1]=pos[1]-h;
mc.window(win,e=1,tlc=pos);
#------------------------------------------------------------
# Main
def lockWindowSample():
hgt=30; wdt=200;
csw="characterSetupWin";
if mc.window(csw,q=1,ex=1):mc.deleteUI(csw);
win=mc.window(csw,t="Sample: Lock Window",tb=1,mnb=0,mxb=0);
ct=mc.columnLayout(p=win);
ct01=mc.rowColumnLayout(p=ct,nc=2,cw=[(1,hgt+2),(2,wdt)]);
ft=frameLayoutFN(ct01,["out","out"]);
btn=mc.button(p=ft,l="",w=25,h=25,);
mc.text(p=ct01,l=" <-------------------- Click here --");
mc.showWindow(win);
# Edit window elements
mc.window(win,e=1,h=hgt*2.25,w=wdt);
mc.button(btn,e=1,c="toggleWinLock(\'"+win+"\')");
#------------------------------------------------------------
# Executer
lockWindowSample();