I am trying to set the text and background color in a popup menu via a script. This works, only the item of submenu 'Test2' keeps the default colors. What am I doing wrong? The script below is the script I used for testing.
from javax.swing import JMenuItem
from java.awt import Font
from java.awt import Cursor
from com.inductiveautomation.ignition.client.images import PathIcon
from javax.swing import JMenu
FONT_DROPDOWNITEMS=Font("Arial Narrow",Font.PLAIN,20)
def popupmenu( event ):
menu = system.gui.createPopupMenu([],[])
# Menu item 1
menuItem=JMenuItem()
menuItem.text='Test1'
menuItem.actionPerformed=dummyFunctie
icon=PathIcon()
icon.path='MOBZ/error-outline.png'
menuItem.setIcon(icon)
commonSettings(menuItem)
menu.add( menuItem )
# Menu item 2 (submenu)
submenu=JMenu('Test2')
# Submenu item 2a
submenuItem=JMenuItem()
submenuItem.text='Test2a'
submenuItem.actionPerformed=dummyFunctie
commonSettings(submenuItem)
submenu.add(submenuItem)
# Submenu item 2b
submenuItem=JMenuItem()
submenuItem.text='Test2b'
submenuItem.actionPerformed=dummyFunctie
commonSettings(submenuItem)
submenu.add(submenuItem)
submenu.setEnabled(True)
commonSettings(submenu)
menu.add( submenu )
menu.show(event,0,0)
def commonSettings(menuitem):
menuitem.background=system.gui.color('220,220,220')
menuitem.foreground=system.gui.color('0,0,0')
menuitem.setFont(FONT_DROPDOWNITEMS)
def dummyFunctie(event):
print 'dummy'
popupmenu(event)