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.