命令 (MEL/Python)
|
MGPickerMenuItem
|
跳转到: 概要. MEL例子. Python例子.
概要
MGPickerMenuItem (menuItemIDString, [addSubMenuItem=(string, string, string, string, string)], [command=boolean], [commandType=string], [divider=boolean], [dividerLabel=string], [exist=boolean], [image=string], [insertSubMenuItem=(int, string, string, string, string, string)], [label=string], [longDivider=boolean], [numberOfSubItems=boolean],[parent=string],[radialPosition=string], [subItemArray=boolean], [subMenu=boolean], [subMenuItem=int], [view=string])
MGPickerMenuItem 不可撤消, 可以查询且可以编辑。
该命令可以创建,查询,编辑子菜单项。
在查询和编辑模式下,你需要指定一个合法的菜单项id。
在创建模式下,不需要指定,但需要-parent标签指定该菜单项属于哪个菜单。
菜单项的id格式是:
commandButton1.rightmenu[0] //Picker按钮"commandButton1"的右键菜单里第1个菜单项的id.
selectButton1.leftmenu[1][3] //Picker按钮"commandButton1"的左键菜单的第2个菜单项的第4个子菜单项的id.
目前Picker只支持最多一层的子菜单,为避免菜单被设计地太复杂。
长名 (短名)
|
参数类型
|
属性
|
-addSubMenuItem(-asi)
|
string string string script string
|
 
|
|
只能用于编辑模式或创建模式,添加一个子菜单项。需要指定标签,图标路径,命令语言("mel" 或 "python"), 命令 及 marking菜单的方向 ("N", "NW", "W", "SW", "S", "SE", "E" or "NE").
* 要注意的是,即使该标签被用在创建模式,它返回的也是新加入的子菜单的id,而不是该菜单项本身的id。
* 另外,如果目前菜单项已经是二级子菜单,则该标签只会返回空id,因为不能再创建三级子菜单。
|
|
-command(-c)
|
string
|
  
|
|
-commandType(-ct)
|
string
|
  
|
|
菜单项的命令语言类型:"mel" or "python".
|
|
-divider(-d)
|
boolean
|
  
|
|
-deleteAllSubItems(-dai)
|
|
 
|
|
-dividerLabel(-dl)
|
boolean
|
  
|
|
分隔线标签,只有当菜单项是一个分隔线时才有效 (dividier=True).
|
|
-exist(-ex)
|
|

|
|
-image(-i)
|
string
|
  
|
|
-insertSubMenuItem(-isi)
|
int string string string script string
|
 
|
|
只能用于编辑模式或创建模式,在特定索引处插入一个子菜单项。需要指定索引值,标签,图标路径,命令语言("mel" 或 "python"), 命令 及 marking菜单的方向 ("N", "NW", "W", "SW", "S", "SE", "E" or "NE").
* 要注意的是,即使该标签被用在创建模式,它返回的也是新插入的子菜单的id,而不是该菜单项本身的id。
* 另外,如果目前菜单项已经是二级子菜单,则该标签只会返回空id,因为不能再创建三级子菜单。
|
|
-label(-l)
|
string
|
  
|
|
-longDivider(-ld)
|
boolean
|
  
|
|
是否是长分隔线,只有当菜单项是一个分隔线时才有效 (dividier=True).
|
|
-numberOfSubItems(-nsi)
|
|

|
|
-parent(-p)
|
string
|
 
|
|
在查询模式下返回该菜单所属的picker菜单id或父菜单项的id。在创建模式下,这个标签是必须的,用来指定你要添加到的是哪个picker菜单或父菜单项。
|
|
-radialPosition(-rp)
|
string
|
  
|
|
菜单项的marking menu方向: "N", "NW", "W", "SW", "S", "SE", "E" or "NE"。注意您需要指定父菜单的markingMenu标签为true才能起效。
|
|
-subItemArray(-sia)
|
|

|
|
只能用于查询模式, 返回所有子菜单项的id字符窜数组。
|
|
-subMenu(-sm)
|
boolean
|
  
|
|
-subMenuItem(-smi)
|
int
|

|
|
只能用于查询模式, 返回在特定索引值的子菜单项的id字符窜。
|
|
-view(-v)
|
string
|
  
|
|
决定你要查询哪个picker视图的菜单。要指定一个合法的视图id。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
标签可以在创建模式中使用
|
标签可以在编辑模式中使用
|
标签可以在查询模式中使用
|
标签可以在一条命令中多次使用
|
MEL例子
// You must make sure the picker item: commandButton1 is already in scene in order to test these codes.
// To form a picker menu id, use pickerItemId.leftmenu / pickerItemId.rightmenu
string $cmdButton = "commandButton1";
string $rightMenu = `MGPickerMenu -p $cmdButton -m "rightmenu"`; //This just retrieves the id "commandButton1.rightmenu" instead of creating it.
// We get a menu item id via -addMenuItem or -insertMenuItem flag of MGPickerMenu command:
string $menuItem0 = `MGPickerMenu -e -addMenuItem "First Menu Item" "/path/to/icon0.png" "mel" "print \"It works!\"" "N" $rightMenu`;
// We can add a menu item using MGPickerMenuItem command:
string $menuItem1 = `MGPickerMenuItem -parent $rightMenu
-label "Second Menu Item"
-image "/path/to/icon1.png"
-commandType "mel"
-command "print \"The MGPickerMenuItem in create mode works !\""
-radialPosition "N"`;
// We can also make a menu item a sub menu:
MGPickerMenuItem -e -subMenu 1 $menuItem0;
// Like we did above, add submenu items:
string $subMenuItem1 = `MGPickerMenuItem -e -addSubMenuItem "First SubMenu Item" "/path/to/icon.png" "python" "print 'Sub menu item works!'" "" $menuItem0`;
// We can also add a sub-menu item using MGPickerMenuItem command:
string $subMenuItem2 = `MGPickerMenuItem -parent $menuItem0
-label "Second SubMenu Item"
-image "/path/to/icon.png"
-commandType "python"
-command "print 'The MGPickerMenuItem in create mode also works for submenu item!'"`;
Python例子
from mgpicker import mgp
# You must make sure the picker item: commandButton1 is already in scene in order to test these codes.
# To form a picker menu id, use pickerItemId.leftmenu / pickerItemId.rightmenu
cmdButton = 'commandButton1'
rightMenu = mgp.MGPickerMenu(p=cmdButton, mode='rightmenu') # This just retrieves the id "commandButton1.rightmenu" instead of creating it.
# We get a menu item id via -addMenuItem or -insertMenuItem flag of MGPickerMenu command:
menuItem0 = mgp.MGPickerMenu(rightMenu, e=True, addMenuItem=('First Menu Item', '/path/to/icon0.png', 'mel', 'print "It works!"', 'N'))
# We can add a menu item using MGPickerMenuItem command:
menuItem1 = mgp.MGPickerMenuItem(parent=rightMenu,
label='Second Menu Item',
image='/path/to/icon1.png',
commandType='mel',
command='print "The MGPickerMenuItem in create mode works !"')
# We can also make a menu item a sub menu:
mgp.MGPickerMenuItem(menuItem0, e=True, subMenu=True)
# Like we did above, add submenu items:
subMenuItem1 = mgp.MGPickerMenuItem(menuItem0, e=True, addSubMenuItem=('First SubMenu Item', '/path/to/icon0.png', 'mel', 'print "Sub menu works!"', ''))
# We can also add a sub-menu item using MGPickerMenuItem command:
subMenuItem2 = mgp.MGPickerMenuItem(parent=menuItem0,
label='Second SubMenu Item',
image='/path/to/icon.png',
commandType='python',
command="print 'The MGPickerMenuItem in create mode also works for submenu item!'")
|