Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 9ef2b7bcb8
Fetching contributors…

Cannot retrieve contributors at this time

76 lines (56 sloc) 2.618 kb
from pyjamas.ui.Sink import Sink, SinkInfo
from pyjamas.ui.MenuBar import MenuBar
from pyjamas.ui.MenuItem import MenuItem
from pyjamas import Window
from pyjamas.ui.HTML import HTML
from pyjamas.ui.VerticalPanel import VerticalPanel
from pyjamas import DOM
from pyjamas.ui.ContextMenuPopupPanel import ContextMenuPopupPanel
class Menus(Sink):
def __init__(self):
Sink.__init__(self)
self.menu = MenuBar()
subMenu = MenuBar(True)
subMenu.addItem("<code>Code</code>", True, self)
subMenu.addItem("<strike>Strikethrough</strike>", True, self)
subMenu.addItem("<u>Underlined</u>", True, self)
menu0 = MenuBar(True)
menu0.addItem("<b>Bold</b>", True, self)
menu0.addItem("<i>Italicized</i>", True, self)
menu0.addItem("More &#187;", True, subMenu)
menu1 = MenuBar(True)
menu1.addItem("<font color='#FF0000'><b>Apple</b></font>", True, self)
menu1.addItem("<font color='#FFFF00'><b>Banana</b></font>", True, self)
menu1.addItem("<font color='#FFFFFF'><b>Coconut</b></font>", True, self)
menu1.addItem("<font color='#8B4513'><b>Donut</b></font>", True, self)
menu2 = MenuBar(True)
menu2.addItem("Bling", self)
menu2.addItem("Ginormous", self)
menu2.addItem("<code>w00t!</code>", True, self)
self.menu.addItem(MenuItem("Style", menu0))
self.menu.addItem(MenuItem("Fruit", menu1))
self.menu.addItem(MenuItem("Term", menu2))
self.menu.setWidth("100%")
self.panel = VerticalPanel()
self.context = HTML("""Right-Click me<br/>to show a context menu.<br />
Left-click me<br />to do absolutely nothing.""")
self.panel.add(self.menu)
self.panel.add(self.context)
self.initWidget(self.panel)
self.context.setContextMenu(self)
def onContextMenu(self, sender):
event = DOM.eventGetCurrentEvent()
subMenu = MenuBar(True)
subMenu.addItem("<code>Code</code>", True, self)
subMenu.addItem("<strike>Strikethrough</strike>", True, self)
subMenu.addItem("<u>Underlined</u>", True, self)
x = DOM.eventGetClientX(event) + 2
y = DOM.eventGetClientY(event) + 2
popup = ContextMenuPopupPanel(subMenu)
popup.showAt(x, y)
def execute(self):
Window.alert("Thank you for selecting a menu item.")
def onShow(self):
pass
def init():
return SinkInfo("Menus", "The GWT <code>MenuBar</code> class makes it easy to build menus, including cascading sub-menus.", Menus)
Jump to Line
Something went wrong with that request. Please try again.