
You can use this class either to create a new menu in the menu bar (or in a menuitem in the menu bar) or you can use this class to create a pop-up menu.
#to start a pop up menu use the Execute method def mouseClick(x, y): item = menu.Execute(x, y) if item.Id == 10: [do this] else if item.Id == 100: [do that...]
There are 4 ways to insert new item in a menu. Each method needs the name of the menuitem as well as it's unique id. You can also optionnally sets a new menu for a specific item.
embeededMenu = FBGenericMenu()
menu.InsertLast("new new item", 67, embeddedMenu)
#A genericMenu contains a GenericMenuItem for each entry. You can iterate on the different menuitem
#using GetFirstITem/GetNextItem or if you already know the id of the item you can get it with GetItem.
item = menu.GetFirstItem()
while item:
print item.Name
item = menu.GetNextItem(item)
You can also delete a Menu item: this will remove the item from the menu as well as freeing its memory.To be notified when a menuitem is clicked, you can register using OnMenuActivate. This will send a FBEventMenu containing the name and the Id of the menu item that was clicked.
Public Member Functions |
|
| FBGenericMenu () | |
| Default constructor. |
|
| DeleteItem (FBGenericMenuItem pToDelete) | |
| Remove a menu item from the menu and delete
it. |
|
| FBGenericMenuItem | Execute (int pX, int pY, bool pRightAlign=True) |
| Starts the menu as a pop-up menu at a
specific location on screen. |
|
| FBGenericMenuItem | GetFirstItem () |
| Returns the first menu item (if existing) in
this menu. |
|
| FBGenericMenuItem | GetItem (int pItemId) |
| Returns the menu item corresponding to an
id. |
|
| FBGenericMenuItem | GetLastItem () |
| Returns the last menu item (if existing) in
this menu. |
|
| FBGenericMenuItem | GetNextItem (FBGenericMenuItem pItem) |
| Returns the menu item following an other
item. |
|
| FBGenericMenuItem | GetPrevItem (FBGenericMenuItem pItem) |
| Returns the menu item preceding an other
item. |
|
| FBGenericMenuItem | InsertAfter (FBGenericMenuItem pBeforeItem, str pItemName, int pItemId, FBGenericMenu pMenu=None) |
| Inserts a new menu Item AFTER another item.
|
|
| FBGenericMenuItem | InsertBefore (FBGenericMenuItem pAfterItem, str pItemName, int pItemId, FBGenericMenu pMenu=None) |
| Inserts a new menu Item BEFORE another item.
|
|
| FBGenericMenuItem | InsertFirst (str pItemName, int pItemId, FBGenericMenu pMenu=None) |
| Inserts a new menu Item at the first
position in the menu list. |
|
| FBGenericMenuItem | InsertLast (str pItemName, int pItemId, FBGenericMenu pMenu=None) |
| Inserts a new menu Item at the last position
in the menu list. |
|
Public Attributes |
|
| FBEvent | OnMenuActivate |
| Event Property: Register on this
property to be notified when a menu item is clicked by the user.
|
|
| FBGenericMenu | ( | ) |
Default constructor.
Used to create embedded menu (inside aniother menu item) or pop-up menu.
| DeleteItem | ( | FBGenericMenuItem | pToDelete | ) |
Remove a menu item from the menu and delete it.
| pToDelete | The item to remove. |
| FBGenericMenuItem Execute | ( | int | pX, | |
| int | pY, | |||
| bool | pRightAlign = True |
|||
| ) |
Starts the menu as a pop-up menu at a specific location on screen.
It returns the item that was clicked by the user.
| pX | X location in pixel on screen where the menu is to be popped. | |
| pY | Y location in pixel on screen where the menu is to be poppded. | |
| pRightAlign | All menu item will be align to the right justified (if true) or left justifed (if false) |
| FBGenericMenuItem GetFirstItem | ( | ) |
Returns the first menu item (if existing) in this menu.
You can then use GetNextItem to iterate on other menu items.
| FBGenericMenuItem GetItem | ( | int | pItemId | ) |
Returns the menu item corresponding to an id.
| pItemId | Id of the item we are looking for. |
| FBGenericMenuItem GetLastItem | ( | ) |
Returns the last menu item (if existing) in this menu.
You can then use GetPrevItem to reverse iterate on other menu items.
| FBGenericMenuItem GetNextItem | ( | FBGenericMenuItem | pItem | ) |
Returns the menu item following an other item.
Returns null if this is the last item in menu.
| pItem | Will return the item after pItem |
| FBGenericMenuItem GetPrevItem | ( | FBGenericMenuItem | pItem | ) |
Returns the menu item preceding an other item.
Returns null if this is the first item in menu.
| pItem | Will return the item BEFORE pItem |
| FBGenericMenuItem InsertAfter | ( | FBGenericMenuItem | pBeforeItem, | |
| str | pItemName, | |||
| int | pItemId, | |||
| FBGenericMenu | pMenu = None |
|||
| ) |
Inserts a new menu Item AFTER another item.
| pBeforeItem | The reference item. We will create a new item AFTER this one. | |
| pItemName | Caption of the newly added item. | |
| pItemId | Unique id of this menu item. | |
| pMenu | Optionnal. If this Item leads to another menu (embddedd) it can be specified here. |
| FBGenericMenuItem InsertBefore | ( | FBGenericMenuItem | pAfterItem, | |
| str | pItemName, | |||
| int | pItemId, | |||
| FBGenericMenu | pMenu = None |
|||
| ) |
Inserts a new menu Item BEFORE another item.
| pAfterItem | The reference item. We will create a new item BEFORE this one. | |
| pItemName | Caption of the newly added item. | |
| pItemId | Unique id of this menu item. | |
| pMenu | Optionnal. If this Item leads to another menu (embddedd) it can be specified here. |
| FBGenericMenuItem InsertFirst | ( | str | pItemName, | |
| int | pItemId, | |||
| FBGenericMenu | pMenu = None |
|||
| ) |
Inserts a new menu Item at the first position in the menu list.
| pItemName | Caption of the newly added item. | |
| pItemId | Unique id of this menu item. | |
| pMenu | Optionnal. If this Item leads to another menu (embddedd) it can be specified here. |
| FBGenericMenuItem InsertLast | ( | str | pItemName, | |
| int | pItemId, | |||
| FBGenericMenu | pMenu = None |
|||
| ) |
Inserts a new menu Item at the last position in the menu list.
| pItemName | Caption of the newly added item. | |
| pItemId | Unique id of this menu item. | |
| pMenu | Optionnal. If this Item leads to another menu (embddedd) it can be specified here. |
Event Property: Register on this property to be notified when a menu item is clicked by the user.
1.5.3