一半君的总结纸

听话只听一半君

#48 如何切换Model panels的menu bars的显示状态?

Maya用来切换panel menuBars的显示隐藏的命令是:

toggleMenuBarsInPanels

你可以在下面的 MEL script里找到他:

<MAYA_INSTALL_DIR>\scripts\startup\createPrefWndUI.mel

其实, 这个 function 的命名不”正确”. 虽然他名字里已经有toggle的字眼了, 但用的时候还是需要加上’true’/’false’ 的argument.

如果你想自己来切换:

global proc actuallyToggleMenuBarsInPanels()
{
  global int $gUseMenusInPanels;
  toggleMenuBarsInPanels( !$gUseMenusInPanels );
}

当你调用 ‘actuallyToggleMenuBarsInPanels’ procedure 来切换 有menus / 没有menus的时候. 当前的状态会被存贮在用户的global preference里.

上面这方法没有储存一个当前状态的值,他只是假设这个全局变量恰好反映的是当前UI的状态. 我们写代码时最好别这样,对于 ‘toggleMenuBarsInPanels’ function 我们不能查询当前是什么状态,所以我们只好混过去了.

如果你想切换 只是当前 active panel的 menuBar :

global proc toggleMenuBarInPanelWithFocus()
{
  string $panel = `getPanel -withFocus`;
  panel -e -mbv ( !`panel -q -mbv $panel` ) $panel;
}

这个切换是在当前session中完成的,不会影响用户的 preference.

Related How-To’s

Monday, May 21, 2001

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: